Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 29 Dec 2011
Offline Last Active Feb 12 2013 05:59 AM

#4898178 Isometric (2.5D) Voxel Engine (Destructible Terrain & Platform)

Posted by on 30 December 2011 - 10:21 AM

Greetings Forum,

To begin with, recently I decided to work on Isometric engine. However, it was simply too boring.

So, I came up with an idea to make Voxel based isometric terrain for the game.

Before the main post, the programming language I use is BlitzMax which is rather slow.
However the code I have written can be simply rewritten in C++, since the syntax is only thing that differs.
I have attached the files to the thread, Terrain demo's works on OpenGL, in case you have some problems, tell me. Tile system demo works on DirectX.

I may compile it for DirectX or vise versa in a minute.

1. Voxel Based Terrain

Note: Demo Applications Are Attached To The Post

At first, I made isometric tile based terrain which supported some height values (1st part).

Secondly, I used Cubic Spline Interpolation for both, X and Z axis to create smooth edges for the terrain.
That way I created prime voxels. (2st part)

Later, I found a solution to draw voxels properly (3rd part), though the method is rather too slow for real time rendering.

4th part shows how I implemented texture displaying on the terrain.

Terrain collisions already have been implemented.
In the end of terrain development I also implemented lighting + map bumping.

The practical use of engine's terrain would have been: export the voxel terrain as image tiles and use it in the game.
That was the progress with voxel terrain:

Posted Image

Real-Time Lighting Implementation:
Posted Image

Posted Image

2. Voxel Based 3D Tile System + Destructible Terrain
Note: Demo Applications Are Attached To The Post.

Well, to play with voxel engine was quite fun!
I have accomplished terrain system in just couple of hours and wanted to try something more complex.
The next step was to create 3D tile system. I did it and implemented Destructible Environment as well.
I found a lot of optimization methods, but I had one simple problem to which I still do not have a solution.
Unfortunately, I didn't found any proper way to create fast real time 3D voxel bumping/day lighting.

My results so far
Posted Image

Posted Image

3. Voxel Engine Basic Platform & Physics (OpenGL)
I've also attached demo file so you can check it out :}
Controls: Space and Arrow keys.

My achievements:
  • Fast voxels drawing with depth
  • Simple and basic lighting
  • 256 colors for voxels
  • Create or move loaded voxel objects

Enjoy, I hope you find this interesting!
Waiting for feedback :}

Attached Files