After a long quiet period I can now announce that this project has moved to a new website and domain! You can find full details and downloads at http://www.volumesoffun.com. In particular you should see this page.
Up until this point there have been two parts to the project - the PolyVox voxel terrain library and the Thermite3D engine which uses it. Going forward the focus will be shifted to PolyVox only, although we also have a game built on PolyVox which will be announced soon. It uses Ogre, so you'll hear about it here
Latest screens from projects using PolyVox:
***** End of Update *****
***** Update for November 2009 *****
Hi all, it's me again. I just wanted to share with you the latest updates to my project.
Firstly, I have decided to switch to the zlib license. This is much more permissive that the GPL which I was using previously, and allows commercial use amoung other things. I have updated SVN with the new license and will do the website when I get a chance.
Secondly, I have been preparing a new demo which will accompany an article I have been writing about voxel-based game engines. I would therefore like to invite people to test it just to make sure it works on other computers. It demonstrates very basic editing of voxel based terrain. Please read the readme file for instructions.
You can download the demo here: Terrain Editor Demo
If it won't run you might need this: Visual C++ Redist
And now the obligatory screenshot of the terrain editing in action:
Hope you like it!
***** End of November 2009 Update *****
***** Update for August 2009 *****
Following on form my previous update in July, I have spent the last month or two working with an artist to build a simple game around the Thermite3D game engine and the concept of fully destructible environments. The game will be called 'Apophis 2036', and involves defending the earth from the incoming Apophis asteroid. There is no game play yet, but we do have a destructible model of the Earth (see screens below).
One of the drawbacks of the voxel-based Thermite3D engine is it does not support traditional UV texture mapping (because geometry is generated on-the-fly, there is no chance for the artists to assign UV coordinates). This work on a destructible Earth has given a good opportunity to demonstrate how texturing can be performed without explicit UV coordinates:
- The surface of the Earth is based upon NASA's Blue Marble data set, converted into a cube map. The normals of the Earth are then used to look up the appropriate colour.
- The rock just under the surface is done with triplaner texturing (as has been seen in previous screenshots).
- Perhaps most interestingly, the lava in the core is generated using real-time 4D Perlin noise on the GPU. This means that it is actually animated (I might make a video at some point). To shade each fragment, it's world-space x,y,z position along with the current time are fed into the Perlin noise generator (ported from GPU Gems 2). Four octaves of Perlin noise are combined and the result looks up into a lava-coloured gradient texture.
************** End of August 2009 Update ************
***** Update for July 2009 *****
Hi guys, I've just released the July 2009 version of my engine. The main changes include:
- Support for larger and non-cubic volumes. The previous demo only featured volumes of 256x256x256 voxels, where as the new version contains some maps which are 1024x1024x256.
- An optimised version of the Marching Cubes algorithm in PolyVox, which now runs 2-3 times faster than before.
- A multithreaded surface extractor which improves load times and interaction.
- The start of a new material system, so that every voxel no longer has to use triplanar texturing. This will be built upon in future releases.
- Some new artwork, courtesy of Jaz Wilson.
If it won't run, you might need the Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)
Source code (under the GPL) is available from SVN here: http://sourceforge.net/svn/?group_id=44243
There are some performance issues to be resolved, so start by loading a small or mediam map. Move the camera around with W,A,S,D, and the mouse. The tank's turret can be controlled and fired through the panel provided but the tank can't be moved at the moment.
More information about the project is available on the project home page at http://www.thermite3d.org/
Download from here: DOWNLOAD
Source under GPL: SOURCE
Just unzip the file and run the .exe. Controls are:
Mouse: Look around
WASD: Move camera
Left Mouse Button: Destroy scenery(the most important control!)
1-0: Change damage size
c: Toggle collision detection (buggy)
I recommend using the OpenGL renderer as the D3D one may have texturing problems. Also be aware that it takes 10 seconds or so to start up. You also need a fairly good machine/graphics card but hopefully this will improve in later releases...
Like I said, it's a very early release (and the source is really horrible) but hopefully it gives you an idea of things to come.