Monday, February 23, 2009

Basic Terrain Editor

This update in itself probably does not deserve a full blog update however its been too long since I have reported any Engine Progress and some nice features have been added.

The video below shows my sandbox terrain editor. This is running in Engine Real time. By changing the size of the target area and using the mouse wheel it is possible to raise or lower segments of terrain. As the terrain changes the terrain texture is recalculated (for modified areas).

Key features:
  • Dynamic Vertex Buffer Object updating when terrain is updated
  • Dynamic Texture Updating when terrain is updated (from a set of source textures and height values (Optimal, Min, Max)
  • Screen to World projection allowing Decade to know where in the world the user is selecting with the mouse.
  • High level functionality of demo is 100% scripted (which calls Engine functions bound to script engine)

A GUI system is also in development. This system is based on my experience of C#. It is possible to register events for each GUI component on the engine or script level. These events are fired under the specified circumstances. e.g. Mouse Enters, Mouse Leaves, MouseLeftClicked etc...

Version 2 of the Terrain Editor should make use of this GUI system and also support features such as
  • Adding areas of Water
  • Adding areas of vegetation
  • Erosion Filters on selected area or whole terrain
  • Texture splashing for better terrain details. (Roads, coast line etc...)


  1. very interesting and inspiring implementation in .gm

    keep going

  2. wow yeah great work, Was a while since you updated. 8 months?