Last night I started designing the object model for the Crate Game Engine using Umbrello. It’s an interesting tool, pretty useful for visualizing the design and getting some base code automatically generated. I don’t anticipate spending too many days on the design before I start hacking away at the code.

One major decision I still have is: what graphics api do I use? Do I grab something with layer and svg support like cairo? Something with sprites and collision detection like clanlib? Or something lightweight like sdl? I know that the graphics are going to be 2D. 3D requires more CPU power and video card support, probably not really a concern in today’s environment, but by avoiding 3D, I leave open the possibility of supporting more platforms, more easily. Also, 3D tends to aim towards realism, which in many cases makes it more difficult to understand what is going on in a scene. For those reasons, and the fact that I should not need collision detection right away, I am leaning towards the more simple.