Howdy everybody! This past week has been a busy one with Explore, but I want to take today to talk to you about one of my favorite classes this semester, Mobile Game Programming.
Just this past Monday, we presented our first group project: Magnet Runner. This game was my first time programming from scratch in Objective C and my first full-fledged iOS game. In Magnet Runner, you are a space-age astronaut (Megaman, to be exact, as our group had no in-house artists) who is running away from his exploding spaceship. As you run, you must avoid crashing into walls and floating shrapnel, but to maintain control, you must utilize the electricity running through the floor to alter the direction of “gravity”. The core gameplay consists of running through a field of obstacles at a steadily increasing speed, avoiding them and floating shrapnel. To avoid the obstacles, you can reverse the direction of gravity by tapping anywhere in the world, playing off of the space theme and electromagnetism. In addition to this, the game keeps all of the score data saved between playthroughs, storing it to the device when the app is not running. This allowed us to implement multiple profiles and a true high-scores list. By changing your username, you can actually switch back and forth between active accounts.
Our next project for this class looks to be even more exciting! While we don’t have an official name for our next project, the game will be centered around tactics and resource management. The style is very similar to that of Advance Wars for the GameBoy Advance, using a tile map to hold units and structures and taking a turn based combat system for moving around the map, building units, and having units perform various actions. The key element where our game shines is that it is truly multiplayer. By using an online database via Firebase, our plan is to store the core map and unit data within an online database specific to the instanced battle. This would allow players on both ends to see the actions of units in real-time, but could allow for a style of play much like that of Words With Friends, where each player can have multiple battles occurring simultaneously and can enact one turn at a time. By enforcing this one-turn limit and making the game asynchronous (each player can be playing the game at a different time as opposed to real-time gaming), it brings down the gameplay into short “snack”-size bits which are much more successful and applicable on mobile platforms. Players can play for a short span of 3 to 5 minutes on a single battle turn without losing the core elements of fun in the game, or they can play longer on multiple battles if they wish.
What really gets me excited is how easily we were able to advance to such a complex level of game design. By no means is the programming itself easy, but through our continued exposure to the concepts and with tools like cocos2d and Firebase, we have been given the tools to take an idea and run with it (no pun intended), learning as we explore various areas in our work.