i recently started looking into Simon3D as a new engine for residual. not because Simon3D is so good a game (but it aint so horrible either), but rather because it only seems to use 1 proprietary data format for textures/models/scenes (which is documented on the internet), and also most logic seems to be in script files.
i already decrypted the script files, and would like to start developing an interpreter in residual. but before this, i have some issues i'd like to discuss, and since nobody answered me in IRC i try to do it via this forum post.
biggest problem i see: this tinygl which is currently used probably is a software only renderer, no HW acceleration.
this is sufficient for Grim Fandango, since only the actors and some objects are 3D, the rest is pre-rendered. but since for Simon3D everything is 3D, i think this would be much too slow (or bad-looking otherwise).
also, while making pure opengl (or similar to opengl) calls is flexible, it requires pretty good 3D knowledge and a lot of boilerplate code, and there are not many convenience functions available.
as a solution to this as well as the above problem i would like you to consider implementing some more abstract 3D engine as a rendering backend. i for example have made some good experiences with the irrlicht engine. it is open source (BSD), has multiple renderer backends (D3D, OpenGL, 2 software renderers one of which produces high quality graphics), pure C++, etc. this way residual could still support low-end systems like mobiles without HW acceleration, but still development would be much easier i think.
i understand ScummVM comes from a "few-dependencies" mentality, but i really think for supporting more 3D titles than only GF some architectural advancements are needed.
lets discuss
