Monday, August 23, 2010

New build system and Linux compatibility

Study of Bullet and terrain collision continues, but I think it's the time to add Linux support to the engine (and MacOS X as well).

So I decided to move the build system from plain VisualStudio solutions to CMake.
Supporting Linux and MacOS X means OpenGL so once CMake conversion is done, it will be time to update SkyX and Hydrax shaders to GLSL or Cg.

The source code repository is also having a refresh. Last night the source code repository was moved to Mercurial because it feels more comfortable and makes working on it more pleasant.
Looking at the Google Code administration page, I noticed that we might run out of space shipping the "test" game with the engine itself, so my old idea to have a separate project for it might be not that bad.

Some more refactoring is also planned, like moving from TinyXML to RapidXML and merging OIS 1.2 with XInput support with Ainur's Input Manager. OIS seems not much developed and probably since it has all the features it needs it would be better to make it part of Ainur.

Sunday, August 15, 2010

Physics is coming!

It's no news that this project was put on hold many times, because it's just a pleseant way to have fun learning a lot of new things and in fact since I don't know anything related to graphics there's a lot of stuff to learn for me :P

Now the code is refactored and update to the new Ogre3D stuff and support for physics using PhysX was deleted, it's time to try Bullet and implementing basic physics in order to release the first alpha version of the engine to the crowd.

Sunday, August 8, 2010

Restarting the project (again)

The Ainur engine is one of my (many) pet projects and it's no news that it was put on hold and I work on it sometimes. These days are the days of Ainur come back!

Ogre3D was updated to 1.7.1, ETM was gone replaced by Ogre::Terrain, Caelum was gone too replaced by SkyX. Today we have Ogitor, which is a nice scene editor that I'm planning to extend and let it export dotScene files with skyx, hydrax and paged grass parameters.

Ainur scene loader was refactored, now loads dotScene file and there's now a game (previously know as Killing Zone as a separate project) shipped with the engine to be used as a demo.

SkyX is a nice sky simulation with volumetric clouds but has some shortcomings:

  • Sunset colour is a horrible yellow, it needs to be changed to a better orange/red gradient
  • It has no integrated moon and sun lights, this means I need to bring my own implementatio
The demo scene already loads a terrain with entities, sky, grass and water although water has some problems with the underwater material. Sun and moon lights are implemented but needs more work.

Depth shadows are supported and they are really cool but I'm going to think about SSAO and also HDR in the near future.