The unorganized codebase soon grew out of control, so I started from scratch. Or more precisely ported the program structure from my former project Sodipodi. When choosing name for the new project, I discovered Omar Khayyám - a Persian mathematician, who sort of discovered the inherent link between geometry and algebra. And thus the program was born.
As of now, Khayyam is evolving in several directions based on what I am interested in any given moment.
- Scene builder. My game is still in design stage, but at least I have the main character - Sara.
- Virtual photography tool. It was partially inspired by HongFire hentai game modding community and partially by Poser and DAZ applications.
- Animation editor. This came from the need for some decent animations for Sara.
- Model importer and converter. Implemented step-by step as needed.
- 3D engine. Mostly for learning, but also because I think I have some ideas, how it can be done right.
1. Scene builder
Khayyam itself is not game engine and never will - the two-level DOM structure is too heavy for gameplay. Instead there will eventually be an engine based on libsehle.
There will be custom object formats. At least an octree-based map node, skeletal figures and static objects. Those can be imported from Blender Collada files, optimized and written to custom format.
2. Posing application
The Poser figure loading and manipulating is still very flaky. This will get better eventually, so expect that in some future date Khayyam will be able to render (with the help of POV-Ray) everything Poser and DAZ studio can. Virtual photography is becoming more and more used, and Linux definitely needs a free application for that. The fist milestones are unlit objects (like backgrounds) and smoothscale channel implementation for full body morphs.
3. Animation editor
Animations will be integrated globally into Khayyam document structure, so you can render not only still pictures, but full animation sequences.
4. Model converter
While several popular models are supported, the actual features vary a lot. There will be more model and animation formats (like MD5 animations) and more features. I also plan to support more game model formats - definitely all future Illusion games, but probably some others too.
5. 3D engine
The big missing parts are proper shadow map algorithms, particle effects and post processing.
Other than that, Kahhaym will have some UI overhauls in future. Tools will have their own dynamic property pages. Some extra tools, like bone and object pickers are needed. And there have to be UI controls for constraint placement. Also I am particularly not happy with Gtk+ default style - which wastes enormous amount of screen space. At least the animation editor needs more compact style
|Sara and african elephant (DAZ 3D model)