Voxel Quest
  • Home
  • News
  • Videos
  • Gallery
  • Contact or Subscribe
  • downloads and source

First real preview!

9/9/2013

15 Comments

 
Picture
Picture


EDIT: I uploaded an HD version of the video which can be found here.


More screenshots are located here.

I am happy to present the first peek at the Voxel Quest engine.

For those who don't already know, Voxel Quest is a RPG that attempts to simulate a world without bounds or artificial constructs.  It's also my billionth attempt at making a game, let's hope it works out. :)

Obviously it is still early in development and there is much room for improvement, but I am already thrilled with the progress that has been made (especially given the majority of this engine was built in the past month, outside of the editor / GUI shown previously).  The engine is one hundred percent procedurally generated (amazingly one single algorithm generates the rocks, bricks, dirt, etc).  Everything is generated in real time - nothing you see here is pre-rendered, cached, pre-computed, or otherwise generated by an outside program.  Of course, caching would improve performance greatly and will be implemented in the future.

It features solid voxel models -- the cut-away areas are black for now just because I have not come up with a good way to calculate lighting while still having the chunks be seamless, but I can think of a few potential ways.  Each chunk/page is generated via pathtracing (an interesting optimization I use renders volumes inside of a hexagon rather than a back-faced cube, requiring only one vertex lookup rather than two texture lookups).  Every single pixel you see is a voxel.  It generates billions of voxels in seconds.  Every single voxel is unique, there are no repeated patterns.  It uses some fairly clever (if I dare say) methods for reducing memory usage (not sparse voxel octrees though).  If every voxel were one byte and it used a naive storage solution, it would consume over 20 gigabytes of memory in under one minute of runtime.  But that is not the case. :)  In terms of system requirements, so far everything is pretty good: system memory usage is 512 MB to 1 GB on average, and GPU memory operates under a fixed pool that is user configurable, but should probably be a minimum of 512 MB, although requirements could be scaled by a factor of 8 just by halving the output resolution (which still looks good).  Nothing is cached yet but once that is implemented performance should increase dramatically (as it is chunks start re-rendering once the memory pool reaches its end).


To put this accomplishment in perspective, this is what a Minecraft map would look if every voxel were about one pixel large.  Of course, having a static isometric perspective lends many performance benefits, but nonetheless the sheer work that goes into the generation of the volumetric patterns and lighting is noteworthy.

Every voxel (or page/chunk of voxels) can have a unique set of properties that determines how the rocks are formed and how much dirt, grass, sand, or snow is on top of it.  If you look through the screenshots you can see that the rocks are able to take the shape of bricks, or stones that are flat on one side, or angular rocks (which can also be smoothed to and flattened to form more cobblestone-like patterns).  The grass is rendered in screen space - there are literally a million blades of grass in this scene, although it can be lowered for better performance without much visual deterioration.

You can place solid chunks of terrain, or use a "soft" brush to grow and shrink the terrain, or smooth it out.  Although many of these functions will be used in the game engine, the player probably won't have direct access to them except in a special sandbox/editor mode.

I also demonstrate moving around the light.  For right now there is only one light but lighting already operates in screen space as well so I could put in hundreds of lights with little performance hit.  All shadows are ray-traced right now, and even though the shadows are also in screenspace, I still think they look good.

I think this technology could open up some interesting gameplay elements.  I think it would be really cool to crack open a stone and see what's inside it (geological accuracy be damned, it would be great if it showered out gems and gold).  I am really looking forward to implementing the more complex structural shapes (round towers, slanted roofing, etc).  Also I will soon be working on particles and water.

I am pretty tired at the moment so I can't write much today but I wanted to get this release out.  I will let the screenshots and video speak for themselves, and I would be happy to answer any questions if you have them.  Let me know what you think as well!
15 Comments
Pedro link
9/9/2013 06:27:42 pm

Great work, looks very promising :)

Have you thought about how to implement Level of Detail? That would - i guess - make it a bit faster, i'm guessing :)

Reply
Gavan Woolery link
9/10/2013 04:42:59 am

Yes - actually its fairly easy to scale down (just tweak one or two variables). But there are hundreds of other optimizations I have on the backburner. :)

Reply
Pedro Assunção link
9/11/2013 01:36:42 am

Cool, so now all you need is the trickiest part: Turning it into a game ;)

Gavan Woolery
9/11/2013 02:03:43 am

@Pedro - Yes, that part is not to be underestimated! The devil is in the details, as they say.

Wonka
9/9/2013 09:06:07 pm

Amazing results!
I look forward to see more of your work on this project :)
Have you been thinking about releasing engine codes? I would love to see how you dealt with it and learn something from your solutions :)

Have a nice day, hope to see the game done in no time :)

Reply
Gavan Woolery
9/10/2013 04:46:32 am

I would like to open source it several years from now if possible (depends on the circumstances). Regardless, I'd be happy to share insight from a higher level perspective on any questions you have about the code.

Reply
Ellipsis link
9/9/2013 10:04:20 pm

This looks great.
You're on Hacker News main page by the way.
https://news.ycombinator.com/item?id=6358394

Reply
Gavan Woolery
9/10/2013 04:47:16 am

Thanks! Yes, I shamelessly submitted the HN story. :)

Reply
Michael
9/10/2013 12:51:45 am

Holy shit, those are some great looking graphics. Hats off.

More importantly, it's fresh and different at the same time. Awesome job.

Reply
Gavan Woolery
9/10/2013 04:47:40 am

Thanks!!

Reply
Gavan Wooelry
9/10/2013 06:47:15 am

Thank you!

Reply
Equity Market Tips link
3/23/2014 08:09:10 pm

i agree with your blog content & also like images which you used in your blog & i know that your mission is to provide access to the same high quality content provide through your content.

Reply
Art Studio link
5/18/2016 06:00:22 am

Hi, This page is very informative and fun to read. I am a huge follower of the things blogged about. I also love reading the comments, but it seems like a great deal of readers need to stay on topic to try and add something to the original topic.

Reply
gmod free trial link
6/1/2016 05:04:48 am

Hi, This page is very informative and fun to read.

Reply
Voltas 8 kg semi automatic top load washing machine link
10/26/2020 04:48:45 am

Hurrah, that is the thing that I was searching for, what a material! present here at this site, thanks administrator of this site.

Reply



Leave a Reply.

    RSS Feed

Legal Information