Saturday, December 31, 2005

iGobController (t.a.g.)

This is the category of technical posts that discuss the introduction of separate classes to drive behaviour of characters in specific states.

The name "controller" comes from the initial idea that this part of the soft acts as virtual joysticks for the various objects. The "tracker" controller, for instance, would have "pressed right" if the hero is on the right of the tracking monster. Controllers arise from the desire to keep the game engine game-agnostic, and to provide a clear API line between reusable code and project-specific code, while keeping the interpretation cost low.

Further evolution of the game project suggested that behaviour needs one extra level of flexibility: some part of a behaviour (i.e. walking on sloped ground) is shared by several characters (heroes and baddies) while other part (i.e. reading DPAD) is ignored by most monsters, but shared by most (but not all) the states of the hero. This sub-division is referred to as "chained micro-controllers" in this blog.

No comments: