Jump to content
  • Advertisement
  • entries
  • comments
  • views


Sign in to follow this  


I've changed quite a few things since my last entry. First of all, I hit a wall in my Unity rip-off component system. Quite simply, I found it really shitty to work with.

Instead, I took cue from Juliean and took a look at Alec Thomas's EntityX system, and then at Richard Lord's Ash. After pondering these over a bit, I threw out what I had and started again.

I now have:

  • Components: Purely data
  • GameObjects: A simple entity which "holds" components
  • Systems: Things which manage collections of Components or game objects
  • Messages: The way systems communicate

    I'm looking at adding in a "View" or "Node" system to let systems manage "Nodes", or groups of components. Ash has this concept, and it's quite interesting. It allows your system to say "subscribe me to objects with component A, B and D" without having to look them up.

    Anyway, now I picked up an old project idea and started to run with the new system to see how it worked, any I'm quite happy.

    I like using code names for projects. Mostly because I don't have to think of a game name on the spot - my latest project is called Ocyphaps. It's based on an old Amiga classic with trappings and inspirations from Terraria.
Sign in to follow this  


Recommended Comments

WIP names are important to me to help solidify the concept of the game in my mind - even in the very early stages. I usually pick some (really cheesy sounding) name that captures the main feel that I'm going for (e.g. "AdventureFar", "Wanderer", or something similar).


About Entity Component Systems, does your "Entity" hold the components, or do the systems? Also, do you connect components by signals-and-slots, or only by messages?

Share this comment

Link to comment

My GameObjectManager creates the components and then exposes Nodes to the systems who then hold them.

Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!