Wednesday, May 11, 2005

Interface Stack Model in Game Development

Today, I started programming a prototype for our upcoming Poopy Pirates educational adventure game. I haven't had much opportunity to work on games lately, what with all the PHP/mySQL stuff I've been doing, so it was fun getting into game development again.

Of course, since this is the rapid prototyping process, the goal is to get a playable approximation of the final game out as quickly as possible. Ideally, this is throw-away code, and when we go to build the final project, I'll be able to rewrite the game engine from the ground up from a complete design document. But realistically, chances are good that this will be pretty close to the final code, mod game asset swapping. So I find myself balancing between speed of development and flexibility for future use.

Thankfully, the Interface Stack Model that I used in Sacraments (detailed in a Director Online article I wrote) is a flexible and lean architecture that you can use for pretty much any game. It excels at allowing "exceptions" to intrude into the main game engine by popping up dialog boxes or cutscenes that pause the main action while you interact with the user. It's quick to set up and work with, works with any context - sprite-based 2D, Imaging Lingo 2D, 3D, or any combination of the three - and nicely compartmentalizes each game interface.

This is the first time I've used it beyond Sacraments, and it's already working very well, allowing me to easily and seamlessly drop in cutscenes from some exuberant rat commentators about what the player is doing without having to have any of the other code be aware of them taking over the interface while they talk. I'm pretty happy with this scheme.

No comments: