First, a quick introduction. My name is Andrew and I’m the resident programmer here at UBS. Every now and then I’ll post about my experiences programming games or any other interesting thing I happen to be working on.
Today I’m going to talk about game architecture. I don’t mean designing buildings to put in the next GTA, I mean architecture in the software engineering sense of the word. How your code is organized to make it easier to maintain and extend. Specifically I’m going to talk about how to manage the entities in the game world.
A warning: this article has turned out to be quite lengthy and you’re probably going to need some knowledge of software engineering to understand it properly. But if you don’t then you probably wouldn’t be too interested anyway, so it all works out in the end.