
Every Version of Voxel Quest - shawndumas
http://www.voxelquest.com/news/every-version-of-voxel-quest-ever
======
danso
Wow, those gorgeous screenshots that you went to the trouble to include, it's
almost as if you're tempting people to take you up on continuing your open
source work.

~~~
gavanwoolery
Or taunting them...

------
simcop2387
I took a stab at importing this into git. I've only got the voxelquest files,
and not the others in there right now. I haven't looked it over too well but
it was all done in zsh, so I might have made a mistake somewhere.

[https://github.com/simcop2387/voxelquest](https://github.com/simcop2387/voxelquest)

EDIT: check it in a few moments, it's still uploading.

~~~
bsagdiyev
Adding on: if anyone feels the need to hoard all 11GB of the archives like I
do I've made a torrent to soften the download a bit.
magnet:?xt=urn:btih:e52b16bdf2eda8b678d5104517dba6ba05fb6089&dn=vqfiles

~~~
gavanwoolery
Thanks I'll repost this and other links when I check back in the morning. :)

------
adrianm
This is a beautiful gesture. Thank you for releasing this!

~~~
gavanwoolery
Not sure I would qualify it as beautiful, but you're welcome regardless!

~~~
AnthonBerg
I'm with adrianm on this one. Thank you.

------
gavanwoolery
Important update, looks like Google drive limits file size to 20MB for public
files. I will get a workaround up in a second.... (edit, fixed, drop box link
is now on the site and appears to be serving larger files, although many are
still in the process of uploading)

~~~
cheiVia0
Do you plan on updating the github repo to this?

Moving VoxelQuest to a github organisation might be good too.

~~~
gavanwoolery
Yes, at some point, and looks like some others are already doing this. This is
more of a short term patch between now and then, as I already feel I have been
sitting on the source for too long.

------
Mathnerd314
Random idea of the day: Nethack + Voxel Quest Engine

edit: an old idea:
[https://news.ycombinator.com/item?id=6359100](https://news.ycombinator.com/item?id=6359100)

~~~
Eiriksmal
Dwarf Fortress + Voxel Quest would only run on supercomputer clusters deep
inside university research centers. But those 1-2 brave souls to get it
working would surely experience the ultimate of pleasures.

~~~
pault
I've been wanting a voxel quest DF client since I first saw voxel quest on HN.
Does the voxel rendering really add that much overhead? I assumed that the
majority of the rendering would be offloaded to the GPU, allowing the CPU to
continue choking on how many well crafted tables the dorfs have seen today vs.
the condition of their socks.

~~~
gavanwoolery
Most of the versions rely more heavily on the GPU. The fluid simulation runs
on the CPU and is actually quite intensive (no surprise there). The most
recent version uses the CPU to generate voxels, although it is also the least
"stable" version and most people probably won't use it, but it is also the
most flexible version (no GPU shader instruction limit, easier to run offline,
etc).

------
tbirdz
Very interesting. Do you have resources you could recommend about working
with/programming with voxels? Or how using voxels differs from using polygons
in practice?

~~~
gavanwoolery
Voxels are ideal for representing volumetric objects and perform better in
some edge cases for alternative rendering methods. Polygons are faster in most
cases and tend to perform better for dynamic objects (i.e. a mesh with
skeletal animation). Many claim that voxels have a more "pure" or timeless
aesthetic, in the same way pixel art does over vector art, but that is
subjective of course.

My recommendation is to dive in and code the simplest thing you can think of.
When I first started this, I built a software voxel renderer, isometric, using
just a pixel buffer (the original intention was to be able to dynamically
create isometric pixel art).

[http://www.gavanw.com/uploads/9/5/4/0/9540564/218641_orig.pn...](http://www.gavanw.com/uploads/9/5/4/0/9540564/218641_orig.png)

I later ported it to the GPU (much harder, and much much faster).

I am mostly "self taught" but would be lying if I said the wealth of
information on the web did not help (particularly when hitting obscure bugs).
Anyhow, the point is the best part of the journey, in my opinion, is
discovering things for yourself, even if you are reinventing the wheel. :)

~~~
cousin_it
Your isometric screenshots like this one [1] give me the idea of a 3D
Lemmings-like game. Throngs of little critters walking stupidly through the
environment, turning at right angles, sometimes building little cubical
stairs, sometimes blowing themselves up to create spherical holes in
everything. I wonder if that's the right gameplay idea for voxels.

[1]
[http://www.voxelquest.com/uploads/9/5/4/0/9540564/5660133_or...](http://www.voxelquest.com/uploads/9/5/4/0/9540564/5660133_orig.png)

~~~
david-given
The bad news is that there already was a Lemmings 3D. It wasn't a hit:

[https://www.youtube.com/watch?v=av994EHazuo](https://www.youtube.com/watch?v=av994EHazuo)

You'll want to try and avoid its mistakes!

~~~
cousin_it
That was based on Minecraft-like big blocks though, not small voxels.

------
jaunkst
Maybe allow others to contribute on a private repo. I love this project and I
also am having a hard time with my personal projects but when I do I would
love to contribute to this, as I am sure many other skilled developers would
be. Just a thought. Open source would be great but even private election could
get you to a release and fit your business model sooner.

~~~
gavanwoolery
I have no business model :) Its all just for fun at this point. I made the
mistake already of trying to turn my hobby into a business.

~~~
jaunkst
Well I think it's great. Nurture it as best you see fit. Definitely an
interesting project in my books.

------
imdsm
Ok, time to integrate this with Dwarf Fortress.

~~~
intended
Oh dear lord Moore, in who's law we trust, protect our processor from the
conflagration we art about to commend it unto.

~~~
gavanwoolery
'Tis the season (to use your computer as an alternative space heater)

------
partycoder
Creating assets for voxel games can be a bit challenging. I wonder what they
came with to solve this problem.

~~~
gavanwoolery
Aside from the sprites, which are 2D pixel art I bought from a third party,
everything is generated algorithmically. You can find many examples of people
doing this kind of algorithmic generation, sometimes to great effect, on
shader toy (i.e.
[https://www.youtube.com/watch?v=yMpG6qEb8js](https://www.youtube.com/watch?v=yMpG6qEb8js))
and other places. I went down the path of procedural generation simply because
I am not a great artist, and generating these assets by hand would have been
pretty much impossible (given that they are volumentric and contain millions
of unique voxels).

For technical people, I find this method of generating art to be quite
empowering. If you can describe things in logical/mathematical terms, you can
generate whatever your mind can think up. It generally is not going to win
over a skilled artist for most applications, but even traditional pipelines
often employ many procedural techniques.

------
Ericson2314
I hope the linked post gets updated with an official repository once one is so
deemed. Something about being a programmer would make me inordinately pleased
with such bookkeeping.

------
time4tea
Slightly OT... this is amazing and a generous contribution. I'm wondering
though how come no version control from the start? For me this is the very
first thing, just before setting up some sort of CI build... for any project
at work or home. I kinda thought that this was universal. is it games that
don't do this...or is there a wider population that manage versioning by daily
or weekly zip files?

~~~
gavanwoolery
I have using version control since about 2006, but am only recently becoming a
better git user. In retrospect, if I knew what I know now about git, I would
have of course done it in a heartbeat. For a one man project I was hesitant to
use other methods due to large, non-text files (which of course you can work
around, with a little hassle)

------
Eiriksmal
You're welcome for giving you this idea, Gavan. Where's the h/t, brah!?

PS: Amazon sucks at life and my package is still lost. Can you bring some
spare thermal grease on Monday?

~~~
gavanwoolery
Hat tip to Eric for any brilliant idea I ever had. Also, I don't know if I
still have any spare thermal grease, but I will check.

------
akavel
@gavanwoolery - is there a chance you could also upload a single file with all
the smaller ones (snapshots) inside? GDrive is taking forever for me on
"Preparing download - Zipping" message... Also, I don't seem to see any 70MB
files on the list?...

Tx!

~~~
gavanwoolery
Looks like google drive limits public files to 20 MB! Obviously I was not
aware of this limitation, but I am working on a fix right now.

------
wjnc
How unique is @gavanwoolery? Would something like 'reverse kickstarter' be
viable for building an engine and small game out of this? I for one would
happily donate for any programmer building this towards an OSS-engine and demo
game. If we 'instruct' the programmer to build MVP-api's could something like
that work? Then others could pick that up and build from there. I know I am
massively underestimating the thousands of hours put in and to be put in, but
somebody any ballpark on hours etc?

------
jokoon
I once downloaded and tried a version, did not seem to render correctly. Maybe
my ati 6870 is a little slow, I don't know. I'm still excited about this, gpu
voxels sound powerful.

~~~
Lord_Nightmare
The reason for this (at least as I understand it, which could very well be
incomplete and/or wrong, as I have little background in dealing with shaders)
is that the version on itch.io (which is compiled from source code on github
at
[https://github.com/gavanw/voxelquestiso](https://github.com/gavanw/voxelquestiso)
or
[https://github.com/gavanw/vqisosmall](https://github.com/gavanw/vqisosmall) )
has a bug in (at least) one of the shaders, compiled from
/src/glsl/GenerateVolume.c:

[https://github.com/gavanw/voxelquestiso/issues/10](https://github.com/gavanw/voxelquestiso/issues/10)

The bug (or how I understand it, which, again, could be wrong) is that that
specific shader is mixing sampler2D and sampler3D uniforms, which is forbidden
by the Opengl 3.3 shader spec.

The reason it works at all on NVidia cards is that apparently NVidia's shader
compiler plays fast and loose with that part of the shader specification and
allows mixing sampler2D and sampler3D elements, while ATI/AMD and Intel's
shader compilers will fail to compile that shader. Failure to compile the
shader results in voxel quest only rendering the 'ocean' tiles, tree tiles
(without lighting), and building tiles (again, without lighting), and
everything else as background/sky gradient.

Someone committed a "fix" to one of the github trees which more or less
patches out that shader or the offending part of it, but this just means it
renders the wrong way on ALL cards, including NVidia ones.

Hopefully it will eventually be fixed properly in an opengl shader spec
compliant way.

LN

~~~
gavanwoolery
Yep agreed - I found that someone's fix broke it, and then I got employed and
did not have time to go in and fix it, but you can look at older commits in
the repository. AMD drivers may encounter fewer bugs in newer versions of the
code, but I am not certain. I will try to clean up these things over time,
when I get it :)

------
andybak
Do these run in any usable form for those of us who wish to have a look? i.e.
is there merit in someone providing an .exe (or is it worth non-game-devs
figuring out how to build the thing)?

~~~
gavanwoolery
They do run, but I will have to provide instructions regardless as it is a bit
confusing without knowing all the controls (i.e. how to drop entities into the
world, take control of them, toggle debug commands, etc).

~~~
andybak
Maybe start a wiki for docs? That way other people can fill in the gaps.

So. Any chance of a binary or two? :-)

~~~
gavanwoolery
As soon as I get a little bit of time :)

------
smlacy
As a Google Drive folder of ZIP files.

VAT DA FUK!

~~~
web007
Snapshots are so pre-CVS.

If someone else hasn't already done it I'm gonna pull these into a git repo to
see how everything changes.

~~~
simcop2387
Just did this a few minutes ago, looks like i got them all in order so viewing
the diffs should be doable.

[https://github.com/simcop2387/voxelquest](https://github.com/simcop2387/voxelquest)

------
mrfusion
How hard would it be to port this to the vive?

~~~
gavanwoolery
Very hard! Most modern hardware will already struggle to keep up to speed, and
not dropping frames is super important for VR. But if you lower detail
settings appropriately, it is definitely "doable" \- additionally you will
have to work around any screenspace effects like SSAO.

------
ComodoHacker
Oh no, not PNG screenshots, please!

~~~
gavanwoolery
you're welcome >:)

~~~
ComodoHacker
Not sure what you mean. Is there a way to submit updates to your website?

------
z3t4
dont forget documentation

~~~
gavanwoolery
variable names as documentation! (runs away)

