Showing posts with label roadmap. Show all posts
Showing posts with label roadmap. Show all posts

Thursday, September 30, 2010

Next on the list

In these days I'm working on an AngelScript interpreter that will be integrated with the Console and probably the Properties system.

Code base clean up
  • Code style cleanup: I'm not satisfied with current astyle options so I would like to make the code pretty and separate methods with a line, and also separate different classes that lives in the same source file.
  • Use RapidXML instead of TinyXML: RapidXML is fastest and has just one header file.
  • Merge OIS with InputManager class.
Faster and better UI
  • Use new Gorilla 2D drawing library for console and FPS (either by including it or forking the code if it fits better my needs), instead of Ogre's overlay. Gorilla can draw formatted text as well.
  • Replace current Intro game state implementation using Gorilla instead of CEGUI.
  • Fix console typing.
  • Implement a simple GUI system with Gorilla in order to avoid CEGUI dependency.
  • Replace current MainMenu game state implementation using Gorilla instead of CEGUI.
Advancement in scene rendering
  • Correct sun and ambient dynamic lighting (including nice sunshine).
  • Improve sun colour gradient and ambient light gradient colour.
  • Avoid using terrain's lightmap when using a dynamic sky.
  • Disable terrain's composite map until glitches are fixed.
  • Fix terrain's composite map glitches.
  • Implement camera and viewport setup from dotScene files.
  • Use SkyX cloud layers until volumetric clouds work fine with OpenGL.
  • Fix SkyX volumetric clouds glitches when rendering with OpenGL.
  • Load procedural grass.
  • Experiment with Deferred Shading instead of Forward Rendering.
Scripting interpreter and console
  • Fully function AngelScript interpreter.
  • Integrate AngelScript with Console.
  • Integrate AngelScript with Properties system.
  • Blinking console cursor and history support.

Wednesday, September 15, 2010

Updated roadmap

Here it comes, the updated roadmap.


Code base clean up
  • Code style cleanup: I'm not satisfied with current astyle options so I would like to make the code pretty and separate methods with a line, and also separate different classes that lives in the same source file.
  • Use RapidXML instead of TinyXML: RapidXML is fastest and has just one header file.
  • Merge OIS with InputManager class.
Faster and better UI
  • Use new Gorilla 2D drawing library for console and FPS (either by including it or forking the code if it fits better my needs), instead of Ogre's overlay. Gorilla can draw formatted text as well.
  • Replace current Intro game state implementation using Gorilla instead of CEGUI.
  • Fix console typing.
  • Implement a simple GUI system with Gorilla in order to avoid CEGUI dependency.
  • Replace current MainMenu game state implementation using Gorilla instead of CEGUI.
Advancement in scene rendering
  • Correct sun and ambient dynamic lighting (including nice sunshine).
  • Improve sun colour gradient and ambient light gradient colour.
  • Avoid using terrain's lightmap when using a dynamic sky.
  • Disable terrain's composite map until glitches are fixed.
  • Fix terrain's composite map glitches.
  • Implement camera and viewport setup from dotScene files.
  • Use SkyX cloud layers until volumetric clouds work fine with OpenGL.
  • Fix SkyX volumetric clouds glitches when rendering with OpenGL.
  • Load procedural grass.
  • Experiment with Deferred Shading instead of Forward Rendering.

Monday, September 6, 2010

Feeding Bullet with height values

Here we are: finally Ainur can feed Bullet the height values from the current prepared page.
The mandatori screenshot:
Bullet debug drawing in white, terrain wireframe in brown
Current implementation is not 100% complete: I still have to sort out problems moving from a terrain page to another.

So, the current roadmap is (not in this order):

Code base clean up
  • Code style cleanup: I'm not satisfied with current astyle options so I would like to make the code pretty and separate methods with a line, and also separate different classes that lives in the same source file.
  • Use RapidXML instead of TinyXML: RapidXML is fastest and has just one header file.
  • Merge OIS with InputManager class.
Faster and better UI
  • Use new Gorilla 2D drawing library for console and FPS (either by including it or forking the code if it fits better my needs), instead of Ogre's overlay. Gorilla can draw formatted text as well.
Advancement in scene rendering
  • Correct sun and ambient dynamic lighting (including nice sunshine)
  • Update terrain lightmap
  • Implement camera and viewport setup from dotScene files
  • Fix SkyX glitches when rendering with OpenGL
  • Load procedural grass
  • Experiment with Deferred Shading instead of Forward Rendering

Friday, January 2, 2009

Roadmap

Currently the Ainur Engine has the following features:

  • Modular and object oriented design
  • Game state management
  • IntroState does a nice slideshow of your images
  • TextFile and XmlFile resource managers
  • CEGUI support
  • Console done with CEGUI which is not yet enabled
  • Support for mouse, keyboard, joystick/gamepad (even Microsoft XBOX 360 gamepad)
  • Terrains with Editable Terrain Manager whith support for splatting, lightmap and colourmap
  • Grass support with PagedGeometry
  • Sky, clouds, starts, sun, moon and da/night cycle with Caelum
  • Bloom effect (which was taken from Ogre examples but it's not that great with Ainur because the lights seem too bright)
  • Resource locations with a simple XML file
  • CEGUI sets and cursors specified with a simple XML file
  • Configuration file for stages (AKA levels), implemented via INI-style file instead of XML (may use XML for this in the future)

Current planned features for Ainur Engine v0.1.0:

  1. Implement HDR and Motion Blur
  2. Fix Bloom weight
  3. Disable Bloom and use HDR
  4. Initial PostEffects infrastructure to handle compositors
  5. Water support with Hydrax
  6. Initial code for weather management
  7. Physics code to make the player walk (with three camera settings: first person, third person and free)
  8. MainMenu state implementation with Play Singleplayer, Options and Quit menu items
      Also, implementing this game state I will also implement a way to load/save graphics options
  9. Implement EditState to be used in the Stage editor instead of the PlayState which will be used for in-game preview
  10. Stage editor for terrains, grass, sky and water
  11. Loading IntroState images from XML

At the time of this writing, I already implement the first four points and I'm working on the 5th.