I’m taking the game development specialization from Michigan State on Coursera. Its a bit too basic in terms of tech, but that doesn’t necessarily mean that it isn’t valuable. Truthfully, the past however many months, I never fully committed to finishing one of my prototypes. I had a habit off switching game engines very quickly and then giving up. The last 2d prototype I was trying to build a year or so ago went from cocos2d to unity to unreal to haxeflixel to gamemaker and then back to unity, and it all happened within the first 8-10 hours. I probably wrote a maximum of 20 lines of code. I was even tempted to just build my own engine. After all, we sort of had to build our own mini game engine for our senior project back in college. I won’t lie, however, I most likely wouldn’t have been able to do it. Not only has it already been a long time since I graduated, but my primary role was the modeler of the team, and very rarely did I ever look into the architecture of the code, so even knowing how to start would have been a problem.
Anyway, in terms of the Coursera course, its very helpful in terms of forcing me to focus, and that is what makes it worth it for me.
The assignment was to add onto the Super Sparty Bros project. Its a very simple mario style platformer. You can add whatever you want, new assets, new sounds, new levels, etc. I decided to turn Super Sparty Bros into an RPG since I have a very deep love for the Final Fantasy series.
The first thing I did was edit the sprites to include an attacking and defending animation. I used piskel http://www.piskelapp.com/ and tried my best with the limited experience I have with pixel art.
The bulk of the addition was the actual RPG elements. For any enemy collision, the battle scene loads. After a battle, the previous level is reloaded. It was a bit tricky figuring out how to properly set the player, enemy, and environment transforms back to their previous positions. I used a singleton class to the store the positions and other attributes of every moving object in the level. I was definitely missing some stuff though, as enemies would often fall through moving platforms on the level scene reload.
Since the project was peer-reviewed, I wasn’t too keen about adding any extra input outside of what was given. Based off of the feedback from previous reviews, not everyone taking the class spoke english. Adding the typical RPG battle menu with a list of actions in english wouldn’t have been a very accessible idea. Therefore, every action in the Sparty Fantasy uses the directional buttons. I assumed that if someone couldn’t understand what was on the screen in the battle scene, they would naturally press the buttons that they were already familiar with, and since Super Sparty Bros already used directional input, I made that the method for executing actions.
The whole thing overall is a very tightly-coupled mish-mash of undocumented and unorganized code. When I look at the code now, I’m not too sure why I did some of the things that I did. It’s all very sloppy, and it irks me a lot. It’s ok though. It was honestly the first time that I spent building something in unity for more than a couple of hours, so a lot of the code was just me figuring how to make stuff work.