Sunday, March 16, 2008

Core Concepts

Actor

This is probably the most important class in the whole thing. It's not an Actor like in PhysX. It's a more general concept that gets used throughout the whole framework. It's basically a class with a 'stepping' interface.

Stage

Normally this wouldn't be it's own separate class. This is a class that acts as a container for Actor children and also manages / propagates the stepping. This may get implemented as a template instead. It's up for debate.

Space

This is what can be thought of as a Game Object. It has a position, orientation and pointers to various components. This may or may not be a confusing name. Some may think that spaces are fixed. There is a class called Place for that.

Shape

This is a space that that has geometry used for collision testing. It does not have to be a solid.

Group

Most people cram as much stuff into a base class that they can get away with. I like to break things out into branch and leaf nodes. It saves space in the base and compartmentalizes behavior. But that's just my opinion.

Place

This class extends Group and the name explains it all. A Space that doesn't move.

World

This class is used to implement the root for the whole space heirarchy. Actually, any Place derivative could be used as well.

No comments: