Sunday, December 13, 2009

Why yet another 3D Engine?

The plan for this blog is that I want to use it to write about the development of my private 3D stuff. The first question that comes to mind is: Why does the world need another 3D engine? The answer for this question is: It probably doesn't. But I don't care that much because my motivation is really something else: I just want to play around with different design and architecture decisions without having to fight against an existing code base. Additionally most of the existing open source engines are in my mind not really suited well for the current consoles and multi-core pcs. Most of the design choices in engines like ogre, irrlicht or nebula (To name some of the more popular engines) are directed not only be performance and scalability concerns but also by ease of learning, extensibility and generality. That is perfectly fine and probably the best for a wide acceptance. My "engine" has a different set of requirements though:

  • I want to be able to try to find optimized solutions for specific problems
  • The "engine" has to be flexible enough to let me try different approaches
  • Even though I only have a PC at home I will try to make find solutions that work nicely on current consoles. (I only work on consoles at work)
  • It is not really important to me that everything is completely bug free and/or feature complete. I obviously have to do that at work but it makes experiment a lot quicker if I don't have to develop a feature to 100% completion.
  • The "engine" is currently only used by me and even if I'm releasing the engine to the open I will not fear breaking the interface to any module. Compatibility requirements can really slow development down a lot.
The reason I put the word "engine" in quotes is that I generally don't like monolithic engines and motor3d will be a loose collection of (hopefully) orthogonal modules that can be mixed and matched (ok, this is the goal anyways..)


Post a Comment

<< Home