<< Back to Developer Musings
Training Mode (February 18, 2015)
10 years ago it was almost unheard of to have any kind of training or tutorial mode in a game. Since then, games have gotten much more complex and game developers have gone to great lengths to provide new players with brief introductions to their games. Games like Call of Duty or Halo have invented slick ways of incorporating game-play instructions right into the core of their game intros. Other games provide no-risk training modes like VR missions to quickly teach their game mechanics.
With Mobile gaming, the need for a tutorial and onscreen instructions is almost a necessity because we're dealing mainly with casual gamers that have short attention spans for games they don't understand. Officer Bumble's a fairly simple game, but I still decided early on that it should include a comprehensive training mode to teach players the core mechanics of jumping and ducking. I brainstormed a few scenarios and thought a star trek-like holodeck would make a pretty funny backdrop. I wanted to avoid any distractions created by scrolling, so I fixed the background into place and threw Bumble onto a treadmill. Finally, I thought it would be funny to have a machine throw things at you - similar to a machine that might lob tennis balls at you. I dubbed this machine the Robothrower 2000 and sent this magnificent Windows Paint concept to my artist:
And here's what he came up with:
Programming a training mode is a lot of work, and believe me, the temptation was there to just skip it altogether or do a half assed job. However, I felt that training mode could end up being a game-in-a-game, in that I wanted you to be able to continue training and try to wrack up a high score in there before even starting your first game.
Having completed the Android version of Officer Bumble, the first thing I did in the iOS version was code training mode. This turned out to be a blessing in disguise because each feature in training mode acted almost like an independent unit test! First I had to get images displaying, then text, then animations, then collisons, and by the end of my coding of training mode, 75% of the entire game was already written! In future projects, I think I'll start with training mode first and use that to test game-play elements and get the core functionality of the game built up from there.
One thing that came up in late beta testing was that players were skipping training mode altogether and going straight into the game without knowing what to do. To alleviate this, I decided to add a one-time prompt at the beginning of level 1 that visually shows you that you have to tap on the left side of the screen to duck and the right side of the screen to jump. This small measure made all the difference in the world as I slowly introduced new beta testers into the game.
In more complex games, such as a city builder or RTS, I can only imagine the difficulty that a training mode will present. Even so, any future project that I tackle will start with a training mode and I'll get beta testers onto that before I even start the core game. Training mode isn't just a necessity these days, it's also an incredible asset because you get a chance to try things in a sandboxed environment without having to worry that you're going to blow up your core game.