Tuesday, August 09, 2011

"first draft of the GPHI doc / wiki"

That was the first line of an email. About what was to be my new approach to writing games. The email was sent on the 17th of April 2006.

That's how long I've been doing data-oriented development without knowing it's name, or even having any other people to talk to about it.

GPHI was a new layer into our code base that took the idea of classes and turned it on its head. I found out in 2007 that what I'd invented was quite similar to the dungeon siege component model. I took all the components we normally had in our classes, or inherited from, and made them into managers. This mean that we had a manager update loop, not an entity update loop....

fast forward a short while and I went on to work on (but not finish before the company went belly up) a new rendering engine that didn't use a scene graph, but instead stored all the renderables in an array and sorted by whatever criteria necessary (material/mesh/shader/shader-constants), even changing per frame.

fast forwards to now... I still haven't been involved in the release of a data-oriented game, but I'm still plugging along, and pushing component oriented development, entity systems, stream and transform oriented approaches to game object processing and even writing a new language to help teach and maybe even be useful and productive with.

It's been a long time since I had that epiphany back in early 2006, the world has moved on a long way, but I feel quite happy that the road I started on is the one leading to the future.

1 comment:

James Howard said...

The more I work with Unity, the more I appreciate a component based model for a game engine. It's not perfect but is certainly refreshing how easy it can be to restructure code in comparison to an object-orientated approach.

It's also nice to write all my code in C# :)