I’ve begun a study of how fighting games are made and have decided to start a FGSL (Fighting Game Study Log) blog post series posting my findings and progress developing fighting game code.
Besides being a huge fan of fighting games I’m very interested in how you program a well made fighting game. To do my study I’ve decided to build a fighting game engine and game prototype. Experience making a fighting game is invaluable into learning how making a good fighting game is done. I need to try, fail, and learn about the different techniques that would be used to make a complex fighting game system. I don’t know how long this project will take offhand, I imagine it will go on quite a while at a slow but steady pace. I’ve found so far I’m spending more time reflecting on design than I am programming.
As a software developer, I’m very interested in how I would be able tomanage the relatively complex state machine logic of a fighting game character. I have some ideas which I’m implementing now but I’m sure I’ll learn a lot in the process and have a much better solution in the future.
Right now the game is done in C++ and uses OpenGL for rendering. I’m not using an engine because for this particular project there’s a level of control I want over game loop timing and device input that an engine typically abstracts away too much for my liking. I will get into more specifics on the libraries and technology I’m using in the FGSL blog post.
Over the course of this study I will be posting FGSL blog posts about my findings. They will roughly break up into a few different categories such as :
Design : I will focus on different design issues in fighting games. These posts will be high level and won’t involve any programming code or implementation details.
Development : Progress on the development of the fighting game I’m writing.
Implementation Spotlights : Articles on how I implemented a specific design feature. These will include code samples.
Thoughts : On topic fighting game posts that don’t necessarily fit into the other categories
I’m hoping to gain a lot of new knowledge across many different disciplines by doing this study. Some of the categories of knowledge I hope to improve in from this study include game design, c++, game programming, complex finite state machine implementation & art. I hope my findings also prove useful to other people studying similar topics.
Here is a image of the game as it currently stands, the progress of this photo actually reflects where I am development-wise in blog #004 in this series.
The past 6 months I’ve been working at United Front Games and it’s been really great. It’s a lot of hard work but it’s really interesting work and I’m learning a ton from some of the very seasoned programmers I work with.
The first game I’ve worked on at UFG is now announced : Sleeping Dogs Definitive Edition. It’s been great working on a game I’m personally interested in. It really drives me to want to make the game as good as I possibly can.
I decided to participate in the 3 hour game jam. The title is pretty self explanatory. They announce a theme on Friday then you have to make a full game in only 3 hours before the end of Sunday. Submissions are then put to the vote during the week and a winner is announced the following week. This weeks theme is “Opposite”.
My entry is called 3 Hour Opposite. As you can see I spent a lot of time working on the title. The game involves you eating small cute green creatures and randomly the stat of the world will change from non-opposite to opposite. When the world changes state to opposite the creatures you are eating are now hunting you.
I managed to get the basic game done in the 3 hours along with about 30 mins of me getting re-acquainted to Haxe/Haxeflixel. I had used Unity the previous week and got stuck troubleshooting for so long I didn’t have anything to show after 3 hours. The lesson is if you are doing a ultra-short game jam then make sure you use your most comfortable development stack.
I plan to spend some more time on this game in the week. I suspect I need about another 5 hours to get the game I want to make. It will be interesting to see how many gains I get for the time spent in the next version of the game.
If you’d like to play the game you can play it here :
Every new year I make a list of new things I want to learn, two of those things are to write more and play more indie games, preferably lesser known ones. So when I saw that IndieRetroNews was looking for writers I figured that would be a great way to achieve both those goals. Plus I’m a big retro game fan so the overall focus of the site is quite compatible with my tastes.
So far I’ve written 3 articles. On my first article I was nervous to pull the trigger on publishing it but that fear is subsiding with every article I write.
I recently entered the week-long Cyberpunk gamjam sponsored by itch.io and presented by Deviever.
Due to work I was only able to really spend about 4-5 half days on the game working casually. It was quite fun but I did make some mistakes in relation to the scope and timeline. I’ll address that in a post-mortem that I’m working on.
During development I made a dedicated blog for the development of the game. I updated this very frequently. Whenever I had something new to show, even if it was generally minor I would post about it. This served as a good way to determine how effective I’ve been as well as serve as motivation to continue development. I think I’ll be definitely doing this in the future.
The game was developed using the Haxe OpenFL HaxeFlixel stack and development went great. The development stack will definitely be a key positive in my post mortem.
Redid the Onyx Jaguar website in anticipation for the release of some games. Onyx Jaguar is the group of artists/developers I developed NekoRush and Cult Retribution with. Hopefully it will have a nice history of artists collaborating on varied projects.
The previous version was visually unappealing. Not saying this one is beautiful but it’s definitely an improvement over the last one.
I did all the visual stuff in Brackets.io and it was amazing. Suddenly making webpages is so fun when you can code in one screen and see realtime feedback in the other.
My css coding in particular must have sped up 10x. Not only that but with the instant feedback I got a better understanding of some of the layout modifiers like float and display.
In order to save time the news feed is the website reading the Onyx Jaguar tumblr account and transforming it for the website. The about page is Presskit.io . Both of those things really cut down my dev time. I’d estimate it at 8-10 hours including learning Brackets.
Presskit + Tumblr + Brackets + PHP = Interesting and fun solution