Component Based Game Architecture

I touched on Component Based or Entity Based Game Architecture very briefly in my FOTB talk. This video covers a bit more, but same basic principles. It then goes into some of the specifics of the Push Button Engine, but even if you don’t go with that engine, it’s a pretty good intro to the concept.

This entry was posted in ActionScript, Flash. Bookmark the permalink.

12 Responses to Component Based Game Architecture

  1. wonderwhy-er says:

    Wow. I was brainstorming problems with OOP and making physics engine and flexible enough UI library in the beginning of this summer and came to very alike structure because of the same problems he mentioned. I heard of PBE but this probably is final and biggest drop to go and check it out. I wonder if I will find answers to few problems I have not solved yet in such project decomposition.

  2. Interesting video Keith, I was in your session at FOTB and have been developing a simple Asteroids game and ran into similar problems. I had two classes that extended from enemy, one that follows and one that shoots, but I wanted one that both shot and followed. So the idea of a component-based game architecture really makes sense. It’ll be good to see your code examples of how this could be implemented without requiring development overheads, such as creating public methods on the entity to access the component’s methods. Admittedly, I haven’t checked out the PBE source, so that could answer the questions I have surrounding component-based architecture.

    Mark (@mark_star)

  3. pedro says:

    Hi! what do you think about pushbutton engine?

  4. Kent says:

    I remember reading something like this in one of the game programming gems books. Nice video!!

  5. dan says:

    I’m quickly becoming keen on component based architecture, I always knew there was something iffy about oversized parent classes.. This might be of interest: http://cowboyprogramming.com/2007/01/05/evolve-your-heirachy/

  6. Prankard says:

    Looks great 🙂 Having problems organising my OOP at the moment, although I think I just need more practice.

  7. Matt says:

    Interesting… I’ll have to take a look at that.
    Speaking of components… you should update minimalDesigner.

  8. Tom says:

    I have just released my opensource project which combines entity architecture and DI. This is more a framework than a full game engine

    http://wiki.github.com/tdavies/Ember/

  9. dimumurray says:

    One of the key tenants of OPP is to “favor composition over inheritance”. Component-based frameworks take that principle and make it far more concrete.

  10. James says:

    Thanks for the article, I recently wrote something similar and had a scope of what people are doing with this type of development.

    Not so much code but mainly ideas:
    http://boxhacker.com/blog/2012/02/22/game-components-infrastructure-for-xna/

Leave a Reply