Any outside engine will find its limitations within VS.Deus Siddis wrote:Please note however #1 is not so much a question of whether to do this at all (at some point) has merit, but which engine to use. The original choice was OGRE, though this project never completed. But just the same, id Tech 4 would have to have a compelling overall advantage versus OGRE, as well as Irrlicht and Crystalspace and any others (open scene graph? delta3D?).charlieg wrote:Open source is meritocracy. There has to be 1) a compelling reason and 2) somebody doing the work. "It'd be cool to use ID Tech 5!" That isn't either #1 or #2. I know I'm simplifying and stupifying your position, but you are thinking aloud rather than making a technical case for it.
VS (the game) has unusual characteristics not suited for most of the mentioned engines.
Ogre comes prebuilt with 32-bit floating point, which is inadequate for the distances and scales found in VS. It can be rebuilt with 64-bit floating point, but for one, it doesn't solve all numerical issues (since it still relies heavily on GPU math which is normally carries at the lower 32-bit precision) and poses distribution problems (most linux distributions already have some version of Ogre in their repos, but, of course, compiled with 32-bit floating point).
Another issue is dataset compatibility: we wanted to migrate to Ogre's native file formats, so we had to develop conversion tools, figure out how to organize the assets, etc. A lot more work than just switching rendering engines.
The project trying to replace VS' built-in rendering engine for Ogre tried to address those issues, and largely succeeded. There were some unhappy decisions on the way, though, and Ogre was at the time a lot less sophisticated, and the project became too complex for me alone and my limited timetable to finish. For instance, now I believe an intermediate step where VS would load the existing assets into the Ogre engine at runtime would have been better, it would have been a smaller, attainable project. I always dream of re-taking the project and getting it to completion though.
Crystalspace will pose its own set of trouble, probably, if one tried to adopt it. For one, crystalspace is a whole game engine, not just a rendering engine, so we're talking of porting an entire game and its dataset - huge task.
The same goes for ID software's, but add the fact that Doom 3's rendering engine is specifically designed for indoors, it's completely inadequate for space settings.
So, technically speaking, the best candidate for replacing VS's graphic engine is, in fact, Ogre, since it's a) just a rendering engine, b) has comprehensive authoring tools, which we miss, c) has already been studied, and d) introduces a lot of new functionality we want.
The others (crystalspace, ID's, etc) I believe aren't even worth the trouble. Worse, many of them are designed for entirely different game types.