Jump to content
Posted 08 November 2011 - 01:04 PM
Posted 08 November 2011 - 05:24 PM
Posted 09 November 2011 - 04:15 PM
I would also be interested in knowing about any lightweight open-source graphics engines. I'm not so interested in full game engines as there are lots of those, and I'd rather handle integration myself. Some ones that I've found include:
Visualization Library (Ignore 'visualisation' in the name - it actually appears quite low level)
Linderdaum (more restrictive license)
Multiplatform abstraction. The code base would be platform agnostic, and allow DirectX and OpenGl builds. This will be of specific help for more difficult platforms such as the Ipad.
The code base is mature.
The source is free and documented.
The licensing is an MIT license, which is flexible and does not require source code redistribution.
There are some third party tools that integrate with the engine, to allow asset loading etc. These could replace the need for using <redacted engine> formats and remove the need for conversion in engine. These tools are unofficial however so may not be entirely useful.
By specification, features must be implemented on both DirectX and OpenGl, this leads to a situation where specific technologies fail to overlap and gaps are left in the API.
The multiplatform abstraction is large and consists of two major classes. These are almost impenetrable so would leave us in a difficult position were we to need lower level functionality or hacks for the Ipad. It also create a lot of redundant function calls, eating CPU cycles unnecessarily changing state.
The animation system is robust, however does not include physics based animation. This would lead to issues of integration when a 3rd party solution is found, potentially requiring much work.
The scene management would be largely obsolete as the game and <redacted engine> will provide that and is matured in the in-house development pipeline.
As a personal observation and its maintainers. Few of the developers involved work in rendering technology in the games industry. This means that the engine may make assumptions on its use that are incorrect in real time development. Eg proper object abstraction vs performance.
If we modify the engine we may have to spend time committing our code back to the main project or risk creating a fork that is incompatible with the trunk patches and updates.
Although many small independent projects have been released using the engine, few AAA quality projects have employed it. Torchlight is one such game. The graphical style does not use dynamic lighting and is heavily dependant on high quality art assets. Indeed early developer posts indicated that a fix function pipeline was used.
Posted 09 November 2011 - 07:01 PM
Posted 09 November 2011 - 08:15 PM
I would roll my own.
And this is not just due to my biased desire to write game engines, but because you said yourself that it is possible to do exactly what you want on your own, and that eliminates the risks, hassles, and limitations of other renderers.
Plus the fact that you mentioned iPad. It isn't like you are going to be writing a Frostbite 2 renderer.
This is something small enough to manage in-house and directly meet your needs, and furthermore give you a foundation on which you can improve as you see fit in the future.
Posted 10 November 2011 - 03:42 AM
Posted 10 November 2011 - 08:56 AM
Every time you add a boolean member variable, God kills a kitten. Every time you create a Manager class, God kills a kitten. Every time you create a Singleton...