FGSL #003 Thoughts : Getting back into it

2015-03-24

The last few months at work have been a tad exceptional and I’ve had to focus solely on work and use what little time I have to relax and spend time with friends and family. Now that things have begun to settle down I’ve promised myself I’d doone hour of development a day on personal projects. Any kind of development is fine as long as I’m learning.

One of the projects I want to spend time on is the fighting game studyproject I’m working on.So I’ve spent the mandatory weekend setting up my new computer with all my software and bringing over my projects.

I’ve now put the project up on source control. Needless to say the project is almost definitely going to chagne significantly in the future so I wouldn’t recommend forking it or anything at this point but in the interest of opennessit’s up on github.

I’ve also setup Trello for keeping track of milestones. Finally I setup Slack on the recommendation of a friend and because it seems to be the new team communication thing so I might as well get familiar with it. To be honest on a project with one team member it seems a bit excessive but maybe I can do something like use the slack feed to have a realtime project progress widget for the website.

The github page for the project can be found here :https://github.com/AlexMcGilvray/FightingGameStudyLog

The trello page for milestone #001 is available for here.https://trello.com/b/lhuXvdTa/fighting-game-study-log

The next blog post will be focusing on the milestone more in depth.

Tags: fgsl

What I’ve been playing #001

2015-03-22

Dark Souls 2

Been grinding away at Dark Souls 2. Im only just realizing that the game consists of a hub with 4 major paths through the game. In a way its like Demons Souls but less obvious. I think they wanted it to feel like a continuous world like Dark Souls but it eventually becomes obvious that you are in a hub world.

The bosses are easier than the previous souls games. Much easier. Ive only run into one boss that took a handful of tries to beat and thats the dearest spider.

So far Im not quite as engaged as the previous games. I think its more of a world design issue rather than me just starting to get tired of souls games. If Bloodbourne has good world design and similar gameplay then Ill know whether or not Im getting tired of the Souls gameplay style.

Strider

I played Strider once when I first got my PS4 about 3-4 months ago. I played for about 5 mins on the first level and turned it off. I thought the combat was a little simplistic and the lack of Strider stopping movement when attacking made it initially feel like there was a lack of impact.

Im glad I went back because man is this a good game. The game has a lot of ability unlocks and you need to get the first charge unlock before the game really starts coming together. Once you have a few abilities the fact Strider doesnt stop allows for some pretty fantastic looking combat.Once you get past the first level you enter a metroidvania style world and then game becomes really really good. I stopped playing Dark Souls 2 to play more Strider!

Im about 15-20% through the game so far and now that the difficulty is ramped up Im having a blast. I plan to finish the game this weekend.

Heres a video of one of the earlier boss fights. Just to note I captured this with the ps4 video capture. Its pretty cool but it still lacks a lot of key features. Ill address that in a separate article.

Rogue Legacy

I played Rogue Legacy about a year back and got briefly addicted to it before work and school started taking up all my gaming time.

Ive now come back to it because it came out on Playstation Plus for Vita and PS4. In my opinion the Vita is the best platform for the game. The style of game lends itself perfectly for quick plays when commuting, when in bed at night or when youre pooping.

Ive now beaten the game once and started the new game+ type mode. My suspicion is that this game has multiple post-completion modes that make the game harder and harder.

This video shows a run that has a lot of the different gameplay elements that appear int the game. Castlevania-esque fighting and exploring, challenge rooms, bosses and leveling up your character.

Hearthstone

Ive been periodically playing Hearthstone. This is also the first F2P game Ive spent money on. To the tune of about 150$. The game is fun but possibly a tad shallow. It certainly has me coming back all the time though.

I find personally I have a lot of trouble building decks. With a 30 card deck size you really have to focus on one set of synergy for cards. I tend to try to do too much with my decks which causes me to never get the combination of cards I want.

Ive also noticed that high cost cards are really risky. Especially with cards like polymorph that can just completely shut down a card before you can use. Alexstraza gets around this with a battlecry ability that when used at an opportune time is worth it even without the 8/8 create you get. Her ability is to set a players health to 15. You can use this to cause massive damage to your opponent or heal yourself in a bind.

Im trying to play this less these days because it can be a massive time suck when you keep wanting to play just one more game.

Heres a screenshot of one of the more interesting game states I managed to achieve.

Heres one with 5 Kel Thuzads which IIRC was achieved by Echo of Mediva and Faceless Manipulator

Heres one with 2 of that new guy that spawns a Leper Gnome after an enemy dies. Via Faceless Manipulator. That was fun.

Injustice

I got Injustice for free on Playstation Plus for ps4. Since there arent many games for ps4 Im interested in Ive been messing around with this game here and there.

When I first heard about this game I was turned off because of the environments having set pieces you can use in game. This felt like it would hurt the balance too much. Whether or not thats true its not as bad as I thought it would be.

The game is solid fun and has a bit of an MK9 feel but without the block button. So thats already a good bonus.

I dont know many characters in the DC universe and the roster looked a bit bland to me. I dont think this is because of the characters themselves but the brown, dark toned look of the game causing a lot of characters to resemble each other in tone. Compared the highly saturated and colorful Marvel Vs Capcom its quite a profound difference.

Desert Golfing

Oh man this game. I first heard about it because a friend of my co-workers authored it. Later I heard about it on the Giantbombcast. Finally I broke down and spent the 2$ and got a copy for Android.

This is one of those games that made me step back and think about how I design games. I think I go too wide too fast when developing a game. For example if i were working on a platformer I might get a player with some basic movement then move on to working on a set of levels and then some enemies. The problem is that because I didnt focus enough on making the movement and feel of the game good at the stage when I made the player, the rest of the game suffered.

Desert Golfing on the other hand is one small gameplay idea distilled and refined to perfection.

The game is insanely simple but theres something about it. The fact the levels are generated from a fixed seed meaning everyone has the same near-infinite set of levels is pretty cool. Its like everyone is playing through the same experience together. Considering the game slowly changes color and gets small changes in environment over a very long time is really interesting.

I think many of us playing this game are all secretly thinking that if we just play far enough into the game, well find something. Im currently approaching hole 200. A friend of mine on Twitter is approaching hole 3000. Im sure there are people out there much further into the game.

One other awesome thing about the game is that YOU CANT RESTART. You have to live with your badplays. Theres no main menu. When you start the game you just start on the last hole you played with your accumulated score on one side of the screen and your current hole score on the other. This is so great because it means that people who are competing aren’t able to factor in practicing a certain level in order to memorize the shots required to get a good score.

Tags: what_i_have_been_playing

FGSL #002 : How I’m building the project

2014-10-15

I thought to start out the series it might be worthwhile explaining how I’m going to build the fighting game.The game is being built using C++. No particular engine is being used, just a handful of libraries to help development. In the game’s current iteration I’m using the following api’s and libraries

  • OpenGL for rendering - GLFW for handling window management as well as keyboard and mouse input. - RapidJson for handling data mangement such as character frame data - ImGUI for handling debug gui elements

I’m using GLFW because I’m fairly familiar with the library. It’s a great way to get a window up so you can start focusing on your game and rendering code. I’m using OpenGL to render because it’s most familiar graphics API to me and I’d like to be able to target all the desktop OS’es at the very least. Right now I’m not being too careful about which spec I’mtargetingbut I’ll probably end up going for OpenGLES2 compliance since that’s the feature set I need and it tends to run on a lot of devices.

You can find out more about GLFW here :http://www.glfw.org/

RapidJson is the solution I chose when looking for Json soulutions via Google and various Json library comparison articles. I’m very happy with the library, it’s very easy to use. The reason I chose to use Json for data representation is really just so I can learn a new data definition format. I could have just as easily used XML but seeing as I’m very familiar with XML I figured I’d try something new. So far it’s working out great. I like the way you can declare arrays of data. Great for frame data definitions.

You can find out more about RapidJson here :https://github.com/miloyip/rapidjson

Here’s an example of some of the current frame data code definitions.

{

"looping": false,

"frame_data":
[
{
"lifespan": 72,
"hitbox_body":
{
"x": 10,
"y": 10,
"width": 150,
"height": 350
},
"hitbox_attack" :
[
{
"x": 100,
"y": 100,
"width": 45,
"height": 100,
"damage": 5,
"knockback" : 0.4
}
]
}, 

{
"lifespan": 114,
"hitbox_body":
{
"x": 10,
"y": 10,
"width": 150,
"height": 350
},
"hitbox_attack" :
[
 {
"x": 50,
"y": 100,
"width": 245,
"height": 50,
"damage": 5,
"knockback" : 0.4
}
]
}
]
}

```ImGUI is a simple immidiate mode GUI system that is renderer agnostic and took essentially no effort to get hooked up in my rendering pipeline. I need a lot of diagnostic information when developing this game and didn’t want to spend a bunch of time making GUI elements. This library fit my needs perfectly. Small and un-intrusive. Exactly what I want in a GUI library.

Here’s a screenshot of the game with debug consoles enabled.

You can find out more about imgui here :[https://github.com/ocornut/imgui](https://github.com/ocornut/imgui)
Tags: fgsl