As I said earlier, it is rather tempting to fire up the IDE and just hack together a nice tech demo. This is OK if you want to prototype experimental game mechanics and see if those actually work. However, once you do that, throw away the prototype. Pick up a pen and some paper, sit down in a comfortable chair, and think through all high-level aspects of your game. Don't concentrate on technical details yet—you'll do that later on. Right now, you want to concentrate on designing the user experience of your game. For me, the best way to do this is by sketching up the following things:
■ The core game mechanics
■ A rough backstory with the main characters
■ A rough sketch of the graphics style based on the backstory and characters
■ Sketches of all the screens involved, as well as diagrams of transitions between screens, along with transition triggers (e.g., for the game-over state).
If you've peeked at the Table of Contents, you know that we are going to implement Snake on Android. Snake is one of the most popular games ever to hit the mobile market. If you don't know about Snake already, look it up on the Web before reading on. I'll wait here in the meantime . . .
Welcome back. So, now that you know what Snake is all about, let us pretend we just came up with the idea ourselves and start laying out the design for it. Let's begin with the game mechanics.
Core Game Mechanics
Before we start, here's a list of what we need:
■ Something to write with
In this phase of our game design, everything's a moving target. Instead of carefully crafting nice images in Paint, Gimp, or Photoshop, I suggest creating basic building blocks out of paper and rearranging them on a table until they fit. We can easily change things physically, without having to cope with a silly mouse. Once we are OK with our paper design, we can take photos or scan the design in for future reference. Let's start by creating those basic blocks of our core game screen. Figure 3-11 shows you my version of what is needed for our core game mechanics.
Was this article helpful?