One of the major design considerations for Infestation was how big to make the game world. Many early (and successful) games in the tower defense genre set the world size equal to the screen size. Locking the world size to the size of the viewport has the advantage of simplifying a great number of tasks, including camera, input, and artwork.
While this is great for some games, it wasn’t a direction I wanted to go in for Infestation. The main actors in this game are the bugs, and one of the main design goals for the game is to duplicate the feeling of revulsion that you get when seeing a grotesque bug in contrast with a clean environment. I didn’t feel that we could achieve that goal and still give the player enough room (and time!) to defend their food while keeping the world size confined to the size of the phone’s screen. I also wanted to be able to make use of the high-resolution displays of the WP7 to show off the awesome artwork that Mike’s been working on.
The solution that I’ve come up with (so far…) is to allow players to pan and scale the camera around the game world. One concern that I had with doing this is that other games I’ve played that also feature camera panning (like Star Wars: Battle of Hoth) is that I never felt like I was actually making use of the entire playable space. I tended to neglect anything that wasn’t directly in my view, and frequently forgot that there was more playable area than I could see. Essentially, I missed out on a chunk of the game!
How I intend to prevent this problem in Infestation is simple: I’m going to show UI hints that will hopefully stay out of the way while communicating - simply - the needed information to the player. In my next post, I’ll discuss the details of how I’m accomplishing this along with some code.
Being new to game programming, everything I encounter in the process of developing a game is a fresh experience. Game design aspects like the one discussed here can seem trivially simple, but in the hands of a newbie like me, require forethought and research. I believe it’s details like this that help make for an enjoyable game since they allow players to forget about how they interact with a game, and get down to the reason they’re there in the first place: playing a game!