The Voxel Quest website is slowly coming to life, give it a look. I have posted a fair amount of info about the game in the "about" section. I have also attached a screenshot of the current hex layout and perspective below:
I've updated my site a little bit with a screenshots and videos section, containing most of my (game-related) work over the past decade from various projects and clients. I've added some screenshots from my engine from a few months ago. I have added in isometric rendering and now all generation is done on the GPU, meaning it goes way faster (can generate billions of voxels in a few seconds) -- screenshot below. Also, I'm building up a site for my new game, appropriately called Voxel Quest. More details to come when I get a break from work! Not the "really cool" update I was hoping to provide (which is not really that cool, just some stuff I was hoping to get out for the new terrain engine).
That's all I'll say for now. :D
Just a quick update, I know I have not posted for a while - I have been pretty hammered at my "day job" but I am continuing to work on the engine as I get time - right now it is a lot of "non-visual" progress, as in backend, resource management, saving/loading data, and UI layout.
Added in some volumetric water. The water is not simply a plane (as is typical in many games) - it consists of a full set of voxels (you can kind of see this in the cutaway view shown below). Right now, the water is also shaded differently based on how close it is to an object, but I want to make it a bit more dramatic. I also need to add some depth to the water so that it is more occluded as it gets deeper. Additionally, I want to add refraction and probably animated waves - so as you can tell, this is still far from complete.
Just a quick update...mostly have been busy with work but in the free hours I've managed to get a lot done, even though visually it may not seem like it.
I rebuilt almost the entire engine. It is much cleaner, less code, better organized. No copy-paste code. The same routine handles all chunk generation and scheduling. Multithreading works a lot better now - rather than redundantly processing chunk edges, it synchronizes the chunk processing. Noncoindentially, I seemed to have completely eliminated the crashes I encountered every so often. (Word to the wise: do not try and use C++ vectors inside a thread, even if each one is exclusive to its own thread.) I also implemented better mipmap generation and handling. Overall, rendering performance is up 2-10 times faster depending on settings, and chunk generation is (as promised!) over 100 times faster, although there is still much room for improvement (particularly in terms of choosing visible chunks to render). But for now, I am very happy with performance and probably won't optimize it much more for the time being.
I wrote my own GUI and text-render from the ground up. It can render without shader state changes, meaning it can all be compiled into a single display list. It is generated almost entirely on the GPU (text is read from a bitmap though). It uses uniform spacing and character widths, intentionally (all part of the old-school look :D). Still in the early stages but here is a screen shot (characters have backgrounds just for the hell of it, but can easily be disabled).
Overall, I am very happy with the progress made, the engine feels much cleaner, faster, and stable.
Article for AltDevBlogADay:
Here are two videos I uploaded. Keep in mind its still very unoptimized and there is a lot of room for improvement. It is running at over 60 fps, but input is not threaded or smoothed correctly so it may appear a bit "jerky." Everything is being generated on the fly (very slow, but I strongly believe I can make it load over 100 times faster with optimization). Also, it can be (pre)generated and cached to disk for near-instant load times. Here you go (also, direct links here and here):
Just a quick update, since I got a lot of questions about texturing - any voxel can have its own custom material properties. Here is a very simple example I whipped up, and included a kind of crude grass and dirt texture (dirt is really just a solid color, dithered by voxel towards where the grass grows). In my opinion, this is very crude and was kind of hastily put together - I promise the future versions will look a lot better :). I am also pleased with initial reactions - my visitors have skyrocketed to over a thousand in one day (not a lot, but that is up from 1-10 visitors per day ;) ). I included one shot with a smooth simplex noise (and crappy looking) terrain and another with a sharper (I think better looking) voronoi-based terrain.
Improved the shading a bit, created an interesting voro-noise texture that looks surprisingly like my ray-casted stuff, even though I started more or less from scratch without referencing the old code. Believe it or not, this runs in realtime on a (good) mobile radeon chip, in the range of 60-70 fps (can easily go up past 200 if settings and view distance are tweaked). Performance is probably 2-3x better on a real (discrete) graphics card. It is still horribly unoptimized but runs quit well regardless. I could do some 3D mipmapping to really improve performance.