Research phase

Filed under Game development by Jussi Lepistö

I’ve been doing some research and brainstorming for both the engine (still without a new name) and Red Nebula. I’m trying to design a new scene management package for the engine, including a new renderer. What’s certain at this point is that it’s going to be based on entities with components. Entities are more or less dumb containers for components, which describe the behaviour of the entity. Data lives in either the entity, its components, or both, depending on the exact design. Evolve Your Hierarchy is a good article on what it’s about and why you should do it.

This thread on Gamedev.net has been really helpful for getting them brain juices flowing, and as I wrote there, I’ve got a couple of alternatives I want to think about further:

  1. Very similar to the misguided attempt of creating a unified scene graph for Spineless, but on a higher level, based on game entities, not low-level scene graph nodes. Entities contain just data, while subsystems (or workers as I called them) contain all the logic of how to deal with the data. There are no components per se.
  2. Components define only behaviour, while entities contain components and their (possibly shared) data.
  3. Entities are solely containers for components, while components contain both behaviour and data.

At the moment I’m mostly leaning towards the first alternative, though the other two have their advantages too, and all of them seem quite elegant to me. I’ll have to think more about this first, and input is of course always welcome.

Brainstorming for Red Nebula has piqued my interest in reading sci-fi again, so I started reading Iain M. Banks’ Use of Weapons. I really like his stories and writing style; they’re definitely “high sci-fi” in the sense that technology is really advanced – space battles generally last only fractions of a second – and there are actions sequences and such, but they’re not corny adventure stories or anything. I think the genre is called “hard sci-fi”. The other sci-fi writer I really like is Philip K. Dick, though his style is completely different and not that much centered on technology.

I’ve also done some coding, but not much. Mostly just stubs for the new scene package and small fixes here and there. I should get resource management out of the way at some point, before starting to really work on scene management.

3 responses so far

3 Responses to “Research phase”

  1. Mick says:

    Pfft, I can’t believe I’d misspelled that for a year. I must be vowel-blind.

    Banks and Dick are my two favorite sci-fi authors as well, so that bodes well :)

  2. Jussi Lepistö says:

    I corrected the title in my post too. :)

    Expect more game (and sci-fi) related posts in the future when I’ve got the engine side in a sufficiently usable state.

  3. ravuya says:

    If you like Iain M. Banks, you might want to check out Neal Asher — his books are clearly based on Banks’ style (and he cops to it).

    There’s advanced AI, neato weapons and a pretty thick backstory, as well as characters you can have some empathy for. He does have a real fixation on parasites, though.