
Cinematic Disaster is a short action-command turn-based RPG game created by me, Pranav Rumala, and Jordan Andrews. I was the Lead Programmer for the game, and primarily worked on the combat part of the game.
GameMaker
GameMaker was the game engine we chose to use, since all of us had experience with working in that engine. There were numerous features that were utilized for our game that are built into the engine, such as the Sprite Editor, Tileset Editor, and Code Editor. Being built in helped streamline our production compared to using external tools and importing them into the game. This especially helped with working on each other’s parts if we had too much to get done.
My experience with GameMaker was before they added new UI tools, so that feature was something I had to learn during the project. Learning how to use the new UI Layer and how different elements interact differently when put into the UI Layer compared to other layers was engaging and, in a simple word, ‘fun’ to understand and utilize within the game.

Turn-Based Action Command Combat
The combat section of the game was what I primarily focused myself on, and is where the majority of the code I contributed is. The inspiration for the combat style was primarily from the game Paper Mario: The Thousand Year Door, which featured turn-based combat similar to that of JRPGs, but with button inputs during attacks to deal more and take less damage. This unique style of combat was an interesting challenge to code, combing turn-based and real time actions, along with coding each attack uniquely.
Some of the many aspects of combat I coded:
- Player and Enemy Attacks: Every enemy has a unique way of attacking, to force the player to learn how to dodge different attack timings. Same is true of player attacks, each is a unique attack that the player has to learn the inputs and timing of.
- Status Effects: Certain attacks and items gave status effects to their target. I had to code the effects of the status effects, as well as showing the icon of the status effects currently affecting the target.
- Defense Skills: To become different from other similar turn-based games, the player is able to choose defense skills that would change how they would dodge attacks, from changing the timing window to dodge attacks, to preventing status effects, to dealing damage on hit, among other things.


Alongside coding the combat of the game, I also was in charge of the balancing of the enemies and player actions. Damage numbers, health, and other aspects of combat were written down, approved by the rest of the team, and implemented into the game by me. Making sure the difficulty progressed gradually and making sure the battles didn’t take too long were the focus of my balancing efforts, and it shows in the final product.
GitHub Desktop
GitHub Desktop was our software of choice to use the version control software, GitHub. As the lead programmer, I was in charge of managing the software, merging the changes between our three individual workspace branches, and dealing with any bugs and issues that arises from said merging.
Sometimes GitHub Desktop would be unable to automatically merge two branches together, often due to either tech problems from one of our less tech savvy team members, or from multiple people editing the same instance. These issues would need to be resolved by direct interaction with the code of GameMaker itself. I gained a deeper understanding of how GameMaker works and the relationship between the different files in the project folder by interacting with the code within those files.
Final Thoughts
Being able to work on a project with a small group was an important experience, as I took a more creative and lead role in the project. Navigating through the intricacies of the GameMaker engine and cooperating with the other members of the team were some of the highlights went making this project. I cannot thank Pranav Rumala and Jordan Andrews enough for helping with this project, as it would not have been made without them.
Link to itch.io page: https://pranavrumala.itch.io/cinematic-disaster-rpg

