
EntityFactory class actually creates the entities based on information passed from the level data. Generally, this is a set of key-value pairs. Based on the value of one of the key-value pairs, it creates and returns the appropriate entity.Entity has a reference to its parent, with the exception of the World entity. The reason for this is so we can have related locations and orientations.EntityList class acts as an accelerator for the entity system. When an entity is added, it is checked to see if it implements IUpdate or IDraw. If it does, it's added to the appropriate quicklist for the helpers. It also routes messages.PriorityMessageQueue acts as the mailbox for the system. Each Message object has a time until it is delivered. Handy for objects sending themselves messages for later, or for staged items. MessagesWaiting only returns true if there are messages whose time has come.Camera object I'm using is always attached to an entity. When the camera is updated, it updates the view matrix based on the entity that it is tied to. If, for whatever reason, the camera is pointed to a null entity, I return an identity matrix.Curve functionality built into the XNA Framework, for example). For a cinematic, you could tie your camera to an object that gets moved along the curve. You could implement a logic system ala "SiN Episodes: Emergence" or "Half-Life 2" using entities as well.
posted by Michael Russell at
9/22/2006 12:07:00 PM
![]()
Subscribe to
Posts [Atom]

1 Comments:
Stumbled across your blog. Great post! I am myself currently trying to engineer an entity-based game engine using XNA/C#. I'm an absolute beginner to programming, so it has been an at times painful learning experience. Even though entity/component based engines seem to be ubiquitous, it's difficult to find any information on the engine architecture for such a system. I guess no one expects a beginner to try :)
Post a Comment
Links to this post:
Create a Link
<< Home