Run Run Don’t Die is a platformer game with a hat throwing mechanic (we know, Mario). The game is fairly difficult and features a built-in speed running interface that tracks your best time. Upon beating the game’s hard mode, the player will be able to enter their name in the online high score table (http://theindieaccord.com/butler/run/). When we started run run it had a couple purposes, we wanted to get back into gamemaker studio, we wanted to work to finish a fun little project, and we wanted to explore the sort of speed running type games where repetition and precise movement is the key.
The difficulty obviously limited our audience a little, so we had to be careful about how we designed the game. We knew the game was going to be short, so our first idea was to require the level to be done in one shot. However, we quickly realized that this would be extremely difficult, and would reduce the chance anyone would finish the game. Our solution was to have 3 checkpoints that didn’t affect your time score. This let the player save some progress, but each time they died the timer would keep counting, so if you could do the whole game without dying you would have a higher spot on the leaderboard.
However, even this was hard. After some early testing and feedback from the community, we finally came up with the solution. We would split the game into an easy and hard mode. In the easy mode each big obstacle for followed by a checkpoint so that the player would only have to learn it once. This avoided forcing the player to rerun obstacles that they already knew in order to even attempt the new obstacles. Then, after they had beaten this mode and figured out how the obstacles worked, they were able to run the harder mode. Only the hard mode allows access to the highscore table. In this mode we added native split support (something common in speed runs). This means you can see exactly how many frames each section took you, and improve on your movement as you iterate. In order to make these speedruns truly fair we had to take out all randomness in the game, which sounds easier than it is. This means that every ghost, spike, and slime had to be in the exact same location and have the exact same speed the first time you see it. This allows the player to get consistently better at the game. One of these speedruns can be seen in the youtube video below:
We wanted to develop the game quickly as an exercise, so visually we went with a premade asset pack (https://kenney.itch.io/kenney-donation) for the background and focused on creating a solid and well animated character. These animations are part of what make the character feel so solid to control. It is very satisfying to watch the character jump, throw the hat, then front flip to the hat and continue the movement all while being 100% under your control.
We learned a lot about difficulty based on user feedback during the testing phase. We learned how to use difficulty to lengthen the game without making it artificially hard and painful to play. We also learned how to quickly develop and iterate an idea into something fun and playable very quickly. We are happy with letting run run be a little game that we used to learn, and a little friendly platformer with some friendly competition on the leaderboards.