
Show HN: My Isometric Voxel Engine 6 Months Later - gavanwoolery
http://www.voxelquest.com/1/post/2014/03/march-mega-update.html
======
OmarIsmail
The more I read the more skeptical I became, but at the same time, you
acknowledged all of the criticisms I was building up in my head. You have a
realistic timeframe (years, but public access this year), and you acknowledge
building a game, not an engine.

Your writing is clear and easy to follow, and your intelligence definitely
shines through.

I never thought I'd say this, but you may actually have a shot at pulling this
off. I mean the next Minecraft, Angry Birds, etc is going to come from
somewhere/someone, why not you?

Keep it up! And looking forward to the next update.

~~~
gavanwoolery
Thank you! The odds really are stacked against me, but on the other hand I
don't like to fight easy battles. :)

~~~
beachstartup
always remember, long odds = long payoff. and if you're not starving, the odds
are still good.

good luck!

~~~
gavanwoolery
Thanks! I could benefit from a little starvation actually; sitting in a chair
80 hours a week is not losing me any weight.

~~~
jhuckestein
One afternoon at Ikea and 40 bucks will buy you a nice standing desk. I know
it's become a cliche, but if you really do sit 80 hours a week, it may be
worth the initial inconvenience.

If you're interested I'll send you links to the components on Ikea

~~~
gavanwoolery
I own a geek desk actually (it raises to standing or sitting) , but I still
spend too much time in my chair. :)

------
jmduke
Honestly, the only incredibly disappointing part of this project is that there
currently doesn't exist a way for me to throw my money at you through the
internet.

In case you missed it, a link to be notified for the Kickstarter:

[http://ci4v8ia31.launchrock.co/](http://ci4v8ia31.launchrock.co/)

~~~
gavanwoolery
Thanks, I currently take pigeon delivery though. :) Yeah, I am holding off on
preorders until Kickstarter so that people are fully aware of the terms,
conditions, risks, etc. Also, I sincerely promise not to pull an Oculus.

~~~
asperous
I really want to warn each and one of you against giving Gavan Woolery any
money for this.

I was a big fan of him as a kid when he created a huge following around his
game project genesis. It was an open-world, sandbox voxel rpg.

As far as I remember he received thousands for development of the game
(admittedly much of it was from close friends and relatives, but I donated
money as well).

At the nearest opportunity Gaven abandoned the project, using it to get a job
at a game company and not even bothering to develop the project in his spare
time.

His brother tried his best to keep the project alive, and many lurked around
the forums generating hype and designing the game.

The updates from Gavan became less and less as if his heart was not in it any
more and years later people began giving up hope-- little by little people
left.

Eventually Gavan shuttered the site.

I understand that the project was overly ambitious, but looking through your
life I believe you have a tenancy for creating vaporware and not finishing any
you start.

I really believed in you Gavan and you were an inspiration for me to become a
programmer and to start projects of my own, but I will never forgive you for
abandoning the project the way you did.

Screenshots of game:

[https://plus.google.com/photos/118320659623423727582/albums/...](https://plus.google.com/photos/118320659623423727582/albums/4961215391797805073?banner=pwa)

Archive of website:

[https://web.archive.org/web/20070311023308/http://www.playge...](https://web.archive.org/web/20070311023308/http://www.playgenesis.com/index2.htm)

~~~
gavanwoolery
Hi Andy, to set the record straight:

I received about $700 total, and I was living with my parents (most of that
$700 was from my family, but there were several other people who donated). I
actually still have a list of the donations, and I covered this topic in my
Kickstarter page (which is not yet public). I probably should have returned
the original donations as it was not a huge amount of money, but I was
planning to surprise my original backers with something -- cat is out of the
bag now I guess. I still remain friends with many of the original Genesis fans
like David Sahlin, Collin Popel, and Seiji Tanaka.

My parents were very supportive, but at the same time I had been living with
them 8 months post college, and it came to the point where they were hinting
more and more that I get a job and move out. After I launched, it became
pretty clear that I was not going to support myself off of Genesis even though
the reception was very positive (there was no equivalent of Kickstarter at
that point in 2006, unfortunately). Not more than 2-3 months after launching I
got an offer at my the startup my brother worked for (which was not lucrative,
just $35k year to work 80 hour weeks). I put in 10,000+ hours of work into
Genesis, no one was more disappointed than me to shut it down. I did what I
could and released the source code, hoping that I could return to it later. I
made several attempts over the next couple years to make Genesis-related
projects (most of my failed game engines) or make something that could support
me to do so. For the most part, I've been working 80 hours or more trying to
make up for it for the past decade.

The only situation in which my current project will become vaporware is if I
run out of money and have to get another job, and I am really hoping this does
not happen because I have put so much work into it again. Thank you for
bringing this up, if I can do anything else to make up for Genesis please let
me know.

~~~
gavanwoolery
Also, the silver lining in this is that it led to where I am now. My honest
opinion of Genesis is that it was doomed from the start: I was a young, naive
coder and did not know enough to make a project that ambitious work (even now,
I still have my doubts in myself). I learned a lot over the following decade
that hopefully puts me in a more capable position now. Also, for a bit of
further clarification, my first job was at Goowy Media (not a game company),
although I got job offers from EA and a few other companies but I did not want
to work in the game industry (it is fun if you are independent, but mostly
pretty bad conditions otherwise)...

All of that said, I myself am going to warn people against giving me money.
This is obviously a very ambitious, very risky project and I want everyone to
have a very realistic idea of what I am up against. Some people are willing to
take that risk for the chance of producing something new and interesting, but
not everybody.

~~~
tinco
I'd say go for it if it will support you to finish the project. I think now
that kickstarter is common people are a bit more accustomed to giving money to
projects and not necessarily expecting immediate results.

~~~
gavanwoolery
Thanks! Yes, unfortunately many people have differentiating ideas about what
Kickstarter should/shouldn't be, so I really have to tip toe through a
minefield not to piss anyone off.

------
javanix
Very very pretty graphics. I love that it doesn't _look_ like voxels.

I wonder if you could use this to import and export meshes from a physics sim?

If you could turn the brick wall, for instance, into a Havok mesh, simulate
knocking it down, and then convert the results back into voxel land you could
do some really neat turn-based persistent-world destruction stuff.

~~~
gavanwoolery
That would be cool...there is some 3D Studio Max Pluggin IIRC that does a lot
of pretty cool voxel destruction stuff...don't remember the name. I have
thought of doing more interesting fractures though, could be a cool effect
(i.e. use a voronoi point cloud to fracture a wall into several sharper
pieces).

~~~
AsakiIssa
To nudge a brain cell or two, the plugin is RayFire (
[http://rayfirestudios.com/](http://rayfirestudios.com/) ) and is a really
awesome tool for destruction!

~~~
gavanwoolery
Yes that's the one!

------
Scaevolus
The memory requirements make it sound like you're not using hierarchical
decompositions (sparse voxel octrees, etc), is there a reason for that?

How well-supported are dynamic features like animated characters or
destruction? (Voxatron-style)

I'd hold off on your claims on AWESOME EMERGENT AI before you actually have it
up and running. The capabilities are simple to describe, but actually
implementing them in a way that's performant and not horribly buggy has
stumped well-funded teams of experienced developers.

~~~
GhotiFish
yah, my eyes rolled on the AI as well. Toady has being trying to develop
exactly this for years and years and years with dwarf fortress, and he's by no
means a dumb individual.

~~~
gavanwoolery
My own eyes rolled preemptively when I started talking about AI. :) The main
reason I talked about it a bit is because a few people have asked me to
discuss it in the past. But yeah, for now it is just talk, we will see what
comes of it. Even if I fail in that respect, there is enough room for a game
in other areas.

------
makmanalp
Wow, great work, this reminds me of a lot of demoscene stuff where, when faced
with space limitations, programmers aggressively used procedural generation
combined with prerendering and caching.

The most iconic example I can think of is .kkrieger, the 96kb first person
shooter that has (relatively) amazing graphics:
[https://en.wikipedia.org/wiki/.kkrieger](https://en.wikipedia.org/wiki/.kkrieger)

Video here: [https://www.youtube.com/watch?v=2NBG-
sKFaB0](https://www.youtube.com/watch?v=2NBG-sKFaB0)

There might be valuable lessons to be had in that domain that might save you
some time.

~~~
baggers
If you are into this kind of stuff do check out the following if you haven't
already: [http://procworld.blogspot.no/](http://procworld.blogspot.no/)
[http://www.atomontage.com/](http://www.atomontage.com/)

~~~
gavanwoolery
I have kept in contact with both of them a tiny bit (through twitter,
blogging, etc); both Bran and Miguel are very talented people and I consider
them some of the top in the field of voxel engines -- Ken Silverman as well.

------
ebbv
I started watching your video and what you have so far looks neat but you lost
me when you started talking about how proud you were of the emergent AI when
you haven't even started coding it yet. Yeah, you might have some good ideas
about how you want the emergent AI to work but that's very different from
having it working. Execution is the hard part.

My point is, talk about what you've done more than what you intend to do.
Everybody can talk about what they intend to do, almost nobody does it. What
you've done so far is interesting enough, talk about that for now.

~~~
gavanwoolery
You are actually probably right. I was tired so did not plan this video too
well. :) I kind of just wanted to hint at what I had planned for AI but I got
carried away. I agree that talk is not worth much. :/

~~~
wowtip
You are very humble.

No, usually talk is not worth much, but seeing what you have achieved so far
without help increase the value of your talk, even if awesome talent for
coding gfx not automagically = awesome talent for coding AI.

~~~
gavanwoolery
Thanks! Sometimes I'm not humble, and it usually produces a negative reaction
so I usually have to actively remind myself to try to be humble. :)

------
TTPrograms
Really great work! A few quick questions - is the engine restricted to
rendering from a fixed viewpoint as in your demo, or is that just a facet of
the game you want to build with it? Also, would it be possible to speed up
rendering by identifying occlusion from the viewpoint and not rendering those
voxels as opposed to the "building up" demoed in the video?

Really great stuff!

~~~
gavanwoolery
Thank you! Yes, no occlusion culling yet, that could speed it up quite a bit
(but additionally the user can cut away at any predefined layer interval, so
maybe everything needs to be rendered?).

Rendering does not have to be fixed point, I've thought up ways to do first
person view, but it would require projecting each chunk onto a sphere and
wouldnt work well for non convex chunks. Anyhow for now I have to pick my
battles so only isometric at the moment :)

~~~
bane
Does it support rotating around the main viewpoint at 90 degrees? I can
imagine some really cool tactical battle sims, since the buildings have
interiors, but things getting hidden by buildings might make it a bit fussy.
Being able to quickly rotate around a building, even at fixed angles (a la sim
city) would solve that.

Come to think of it, a simcity + simtower combo game would be great. Zone out
an area, then choose what goes in each building and slice away sections of
buildings to watch the ants go about their business.

~~~
gavanwoolery
Could do 90 deg rotations fairly easily, but it would require a rerender (or
rendering several views simultaneously). Right now you can cutaway at several
levels so I guess it kind of works for seeing behind buildings.

------
donutdan4114
This looks amazing. Very impressive. I hope this is successful, because you
deserve it.

~~~
gavanwoolery
Thanks so much! I don't know if I deserve anything, but it definitely has been
buckets of blood, sweat, and tears. :)

------
hetid
This is really cool, but I fully expect you to fail.

Something simple to say like emergent AI can be ridiculously complex in
practice. I bet you really have all the experience you claim to have, but I
still don't expect you to get very far.

You have quite a few descriptions of how the game will end up, but saying
things like "it will be fun and all these other things" dismisses how you're
going to make it that way.

I think the coolest promise was that the game would be deterministic.

I'm not sure if you have lots of experience making games, but in my experience
games written from the ground up never really become complete games.

If you're not already, you may want to consider hiring a team or getting help
developing this so that you can focus on the things you think you can do most
effectively or that are most crucial to the final gameplay.

Anyway, I really hope this is going to be all you say it will be.

Good luck. :)

~~~
gavanwoolery
You are definitely right - the odds are severely stacked against me (and I say
this with no hint of sarcasm). So why am I doing what I am doing? Well, I feel
that someone has to try. Big companies don't seem to be trying much. Maybe I
can rally enough of a team and financing that there is less risk, but I also
want people to be aware of the risk.

Trust me, I doubt myself more than anyone else, every day, but at the same
time I really just want to try, even if it means failing. :)

~~~
mahyarm
Even if the AI isn't 'emergent' or whatever overly ambitious goal you have,
you still have a lot of stuff left that can make a great game. Hell minecraft
AI is randomly generate monsters as you move and make them beeline towards
you.

~~~
gavanwoolery
That's true...in the about page on the site, I state that I will be happy if I
can accomplish a fraction of my goals, or something like that. :)

------
forgottenpaswrd
Congrats!, great work.

This has lots of useful applications. E.g Do you know those graphics about a
submarine of the WW2, or a Spanish galleon in which you could see what is
inside, like in the book "incredible cross sections"?

With your tech you could make this but dynamic and alive!! peering what you
are interested in. While most of the scene is static, you could move some
things a little and make it alive.

You should contact one of those amazing artist and show them what you have.
There is no way they would resist an offer of working on something like this.

~~~
gavanwoolery
I have a copy of Stephen Biesty's castle cross-section book sitting on my
desk. He provides great reference material. :)

------
bane
I was expecting more minecrafty looking, totally unexpected and awesome. I
thought it was all bitmaps at first until you started sectioning through the
buildings. Really awesome stuff. The world sizes are amazing.

~~~
gavanwoolery
Thanks! Minecraft has kind of defined the new voxel, but I like the old-school
Nova Logic look. :)

~~~
comatose_kid
Very nice work, really great to see how it's improved as a result of your
sustained effort.

Also - I remember that Nova Logic game (Commanche?).

~~~
gavanwoolery
Yes, Commanche was my first experience with voxels...I was never huge into
flight sims but I played it just for the graphics. :)

------
aswanson
Gavan, this is amazing. Im trying to learn game development and graphics
myself. Could you give me pointers on how to get started (tools, books, online
tutorials, etc)? I want to get to this level of skill one day.

~~~
gavanwoolery
Hi - my advice is probably cliche but you are your own best teacher. That, and
Google. I did not really have Google when I started game dev (resources were
very poor 20 years ago, at least). Build things yourself if you are interested
in how they work, otherwise I advise prebuilt engines like Unity or GameMaker.
I used to be very poor at math in school but gamedev helped me learn it. I
started out on the DirectX tutorials that came packaged with the DirectX SDK
(I had done other stuff prior, but DirectX was where I really got into 3D
programming). There are plenty of good OpenGL tutorial sites out there but
Google will know the links to everything better then me. :) If you want to
really learn 3D programming, write a software renderer, you will learn a lot
and its not as difficult as it might seem (although it is quite hard).

------
GhotiFish
The lighting in this engine looks amazing.

I'd love to see more detail on it. If you stuck a light source in your glass
house, would you see convincing shadows?

~~~
gavanwoolery
Thanks! The lighting is actually quite inaccurate, but to the average player
it looks "ok" I think. There is a kind of faked scattering effect on the
windows -- if a light is behind a window, it lights it up a bit. If you stuck
a light in the glass house, you would see shadows but they would likely be
cutoff by the screen space errors.

------
billrobertson42
Is it a case of "Source (will be) Available to Licensees?"

If so, I think trying to call it, "open source," puts you in the position
where you might be perceived as being disingenuous. I also think it's less
clear that way.

~~~
gavanwoolery
Yes, you are actually right, I'm correcting it now.

~~~
pygy_
While we're picking nits, OS X is a UNIX, but not a Linux flavor.

You also mention _dice roles_ in the third bullet of the "The Game" section.

Great project, I wish you the best of luck.

~~~
gavanwoolery
Thanks, I will correct this (I was tired) :)

------
cyphax
Ooooh this is absolutely gorgeous, it's like a moving painting! I love the
style, I was very impressed by the video so now I'm going to read all about it
because this is the first time I hear about it. ;)

------
VikingCoder
Neat!

I do think the grass looks like those old cartoons where the character is
wearing a plaid outfit, and as they move, the plaid pattern stays still...

~~~
gavanwoolery
Yes this is a screen-space artifact - there are ways around it, just have not
implemented a fix yet. :)

------
mindstab
What is the music? is it an original creation? or a remix? because it reminds
me very heavily of star control 2

~~~
gavanwoolery
Good ear! The music is inspired by Star Control 2, and I composed it in a old
fashioned tracker similar to what might have been used to produce the SC
music. It is the first song I have made, mostly because I had an impulse to
learn at least a little bit about music.

~~~
wowtip
Got a Rob Hubbard / Populous I vibe to it. Not bad for a beginner. :)

~~~
gavanwoolery
Thanks!

------
richardwhiuk
Sounds awesome. "The entire program is only" \- I think you left off halfway
through?

~~~
gavanwoolery
Oops...thank you, fixed that.

------
SixSigma
Bah, my comment on your site went to an error page on submit.

It was: any plans to give an opening for player written AI to function in game
- writing your own group companions sounds fun too, could even use a similar
codepath as multiplayer

~~~
gavanwoolery
Yes actually; I had not thought of that directly, but any AI rule can be
modified, in addition to entity property sheets.

------
hnriot
Maybe this appeals to the younger gamer community, but having been involved
back in the 90s with Renderware (which got eaten up by EA), a competitor to
Rendermorphics that became (sort of) DirectX I would expect graphics engines
to be much further along. This still looks like things we were playing with in
the 90s. I'm sure its not, and I'm sure these voxels are clever, but when will
rendering engines stop looking like Sonic The Hedgehog. Having switched to
other areas of software development I haven't paid any attention to these
engines.

~~~
gavanwoolery
Thanks - 90s games were the basis for most of the inspiration. It has niche
appeal, so I understand if it turns some people off. :)

~~~
hnriot
I had no idea that was your intention and I get the volumetric pixel thing,
since I moved into working on other areas I haven't stayed current. Texture
mapping on low poly count models was where I left things, back then the
hardware didn't have the horsepower for anything much. Best of luck with the
project.

The irony is that back then we thought if we could just get more than 50
polygons per second we'd be in with a chance of making something good and now
flappy bird with 80's style sprites captures the whole world's attention. I
got out of that world when MSFT was ruining sw dev by turning the nice simple
apis into COM.

------
kyberias
It looks great. It bothers me a bit that the game is named after the rendering
technology. It's fun to create a game engine that renders stuff but it takes
way more than that to design a game.

~~~
gavanwoolery
Yeah, originally VQ was just a placeholder name - it is not a great name in my
opinion.

------
whage
All this done by one man? How much time in total? This is awe-inspiring

~~~
gavanwoolery
Yes, just me so far - about 7 or 8 months total at this point.

------
tbastos
Seems like the perfect engine for a remake of Ultima Online... the best MMORPG
ever _nostalgia_

~~~
gavanwoolery
Yep never played UO but I appreciate everything it stood for in the early
days. I did play the rest of the Ultimas though, and really loved 6 and 7.

------
Marcus316
This is quite impressive!

Have you set fire to any of the materials in your generated world yet? It
would be interesting to see a fire spread through one of your houses ... fire
is usually one of the things either done well or done horribly in a game (in
my opinion, anyways) ...

~~~
gavanwoolery
That's an interesting idea (are you a pyromaniac ;)? Right now I have so many
things prioritized above types of destruction, but if I ever have time or
other employees I will think about that.

------
eigenvalue
I love these stories of lone (perhaps obsessive) developers laboring in
seclusion for months, only to emerge with some awesome new thing that we can
all get excited about. Must be a great sense of accomplishment, and a strong
incentive to keep grinding away.

~~~
gavanwoolery
There are actually a lot of people that doubted me, some very close to me, and
above all, myself. I have had positive reactions in the past, but you never
know when people might be "over" your work. There is no feeling quite like
seeing people light up when you reveal something that you have poured your
life into, and that feeling is multiplied by the inverse of your confidence.

joy = timeSpent * positiveReaction * (1.0-selfConfidence) :)

------
htk
Just say the game is to create walls and poke holes in them and call it a day!
I would buy it!

~~~
gavanwoolery
Minecraft already did that. I have to raise the bar. :) But yeah, alpha access
will be probably not a whole lot more than that. :)

------
math0ne
I was like what's so special about another vocal engine. after watching the
video I see now that if you can have a super super detailed voxel engine all
other engines corps be rendered irrelevant.

~~~
gavanwoolery
Thanks! I have a niche corner that does not satisfy all requirements, so I
think there is still a ton of room for other types of engines.

------
e12e
It's looks like an interesting project. I wonder if there are technical
similarities with Project Spark?

[http://projectspark.com/](http://projectspark.com/)

------
ErikBjare
In my days of playing with voxels in Blender I never thought something like
this was even remotely a valid usecase. Incredible work Sir, I'm speechless!

~~~
gavanwoolery
Thanks! :)

------
bas
Looks great! I love the lighting on the inn/house.

~~~
gavanwoolery
Thanks - the night lighting was only implemented a few days ago. :)

------
efnx
@gavinwoolery - How did you get started working with voxels, graphics, etc?
What are some good resources for learning about this stuff?

Awesome demo.

~~~
gavanwoolery
Thanks - I started in QBasic when I was maybe 15 and made a solid volume in
Mode 13H. It ran at about about 1 frame per minute.

I am mostly self taught, which is good and bad. Bad, because it takes way
longer, good because you learn how to derive solutions yourself and learn why
things work the way they do. My recommendation is to either start with a set
of OpenGL/DirectX tutorials or just get some pixels on the screen any way
possible, and build a software renderer from there -- that is if you want to
learn. If you want to make a game, your best bet is to use an existing engine,
although I'm hardly a shining example of that.

~~~
efnx
Great advice, thanks. Are there any good resources specifically for
volumetric, cube or voxel rendering? Is it completely different than polygons?

~~~
MzHN
This may not be exactly what you're looking for, but it made some of the
concepts "click" for me.

[https://youtu.be/gNZtx3ijjpo](https://youtu.be/gNZtx3ijjpo) (three parts).

------
everyone
Holy sh*t!! That is very very impressive!! This guy is obviously an amazing
game programmer.. I hope one day to be that skilled!

~~~
gavanwoolery
Th*nks!

------
sawyer
You forgot to include the pre-order form!

~~~
gavanwoolery
Yes sorry! There is a kickstarter signup page though (hint hint) :)

------
3rd3
Is central perspective possible or is the isometric view hardcoded into the
shaders?

~~~
gavanwoolery
Other perspectives are possible. Some work would need to be done to change the
perspective, but it is doable. For now, only isometric because it is ideal for
tactical games and board games (I think?), and I need to limit what implement.

------
albertzeyer
Maybe I missed that. But why is the view always from 45° angle? Is that fixed?

------
diziet
@gavanwoolery -- what kind of Hardware is the demo running on?

~~~
gavanwoolery
A single GTX 780, which is...I know, very yikes. It runs on far less, but you
have to sacrifice visual detail. That said, if current patterns are an
indication, a GTX 780 or equivalent will cost about $200-$250 or less (right
now about $500 on Amazon, $700+ when it came out), in a few years when the
game is released.

~~~
diziet
Ah, so it's GPU bound. So we'll have to wait quite a while for the tech to
appear on mobile devices -- the smaller viewport might help, though given the
current device resolution soon overtaking monitors...

How low level is the rendering/generation, is there potential for 5x
optimization if you get closer to hardware?

~~~
gavanwoolery
Right now its just OpenGL, glsl, C++ - most of the generation occurs in GLSL,
and the rest is basically rendering fullscreen quads. There is a potential for
improvement with something like Mantle because there are so many requests sent
to the GPU.

------
wonderyak
This looks wonderful.

The map generation looks particularly great.

~~~
gavanwoolery
Thanks! Map generation was actually far more complex than I thought it would
be (in particular, generating meaningful networks of roads that don't criss-
cross too much).

------
ljak
It looks a lot like Little Big Adventure.

------
dllthomas
Very pretty.

