I realized I have essentially built a basic system for a 2D platformer after I finished recording the videos for our 2D Unity class. “Why waste a perfectly good prototype” I thought, so I decided to make a game out of it whenever I can find time.
There were a few different ways I thought about the design:
I knew I didn’t have a lot of time to craft levels, so I decided to take cues from the endless genre popular among mobile games and tweak it to fit the platforming gameplay – less focus on the running and more on the shooting and the jumping.
Instead of having the levels generated outside of player’s view, I experimented with having the levels form in front of the player – by falling off the sky. By using the built-in physics in Unity and calculating where props and enemies need to drop, this set up allows for different platforms to form dynamically and randomly, and creates different challenges as the player progress. I also found that the way things fall off the sky is one of the first things playtesters commented on – a unique way for some fun visual stimulation.
I accidentally duplicated the player one time and ended up with an interesting prototype where the player would have to control to avatars at once. I found it quite a novelty so I played around with the idea a bit (mroe: Playtesting – One Player, Two Avatars?). I posted the prototype to various social media and forums, and after gathering all the feedback I decided not to go forward with that design. It’s a fun experiment, but it made the game much slower and harder to balance. I might go back to re-visit this idea, perhaps turn it into an action puzzle game :)
Without going into too much detail, here’s a list of misc. design items that went into the final game:
A lot of the design elements are results of playtesting. I posted the game on Facebook groups, Twitter, Reddit, and various forums to get feedback, as well as showing it to friends and fellow game developers at conferences and networking events. Seeing how people play your game without giving them any instruction gave me a lot of information as to how I can make the game easier to pick up. I always discover that oftentimes people will not play the game as designed – something you won’t notice until playtesting with new players.
I’ve also integrated Google Analytics in the game to give me insights into how people play the game when I am not watching over their shoulders. Analytics not only gave me usage data (returning players, session length – both encouraging numbers), but also information on how people play it. People use the fireball jump way more than what I had intended, likely due to the fact that people are familiar with games like Flappy Bird or Tiny Wing where the primary objective is to jump/fly over long distance. I am planning to add a short tutorial because of this finding. I also track how many coins are collected worldwide – not really that useful as a data point just yet but fun to imagine the game as a goldmine where all players are creating a global virtual economy (hint: a future feature).
As with any project, once you start working on it, you start having new ideas about how it can be more interesting and more polished (note: you can ALWAYS find new things to polish even after it’s “done”). I have a few interesting ideas I’d like to try on Pocket Fireball and I’ll be sure to share them with you along the way. Leave a comment if you have any suggestions – don’t be shy! ;)