9 ms·
Every Version of Voxel Quest
- adrianm 10y agoThis is a beautiful gesture. Thank you for releasing this!
- gavanwoolery 10y agoNot sure I would qualify it as beautiful, but you're welcome regardless!
- AnthonBerg 10y agoI'm with adrianm on this one. Thank you.
- smlacy 10y agoAs a Google Drive folder of ZIP files. VAT DA FUK!
- gavanwoolery 10y agoMEIN GOTT DER EIST FILES EWERYVER! Ooh...I could instead zip them all into one giant file and turn it into a torrent. (evil laughter)
- monkpit 10y agoSource control is for wimps
- web007 10y agoSnapshots 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.
- pault 10y agoPlease do. I'm surprised there isn't already one.
- gavanwoolery 10y agoAwesome, thanks! Also, after getting back into heavy git usage these days, I appreciate its value much more. Wish I had started a private repository from the beginning, but too late now of course.
- Mathnerd314 10y agoStep-by-step guide: http://stackoverflow.com/questions/2759858/is-there-a-way-to-easily-convert-a-series-of-tarballs-of-a-source-tree-into-a-gi http://stackoverflow.com/questions/2759858/is-there-a-way-to... The hard part is writing down all the commit messages, reconstructing the development from twitter / blog posts.
- simcop2387 10y agoJust 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
- partycoder 10y agoCreating assets for voxel games can be a bit challenging. I wonder what they came with to solve this problem.
- gavanwoolery 10y agoAside 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.
- danso 10y agoWow, 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 10y agoOr taunting them...
- akavel 10y ago@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 10y agoWill do...I will also attempt to make a few "ready to run" versions with necessary dlls
- gavanwoolery 10y agoLooks 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.
- tbirdz 10y agoVery 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 10y agoVoxels 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.png http://www.gavanw.com/uploads/9/5/4/0/9540564/218641_orig.pn... 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. :)
- tbirdz 10y agoCool! I'll definitely have to try it out when I get some free time. And hey, there's nothing wrong with reinventing the wheel when you're just trying to have some fun!
- cousin_it 10y agoYour 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_orig.png http://www.voxelquest.com/uploads/9/5/4/0/9540564/5660133_or...
- gavanwoolery 10y agoImportant 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 10y agoDo you plan on updating the github repo to this? Moving VoxelQuest to a github organisation might be good too.
- gavanwoolery 10y agoYes, 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 10y agoRandom 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
- gavanwoolery 10y agoScorched Earth is another popular suggestion :)
- Eiriksmal 10y agoDwarf 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 10y agoI'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 10y agoMost 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).
- simcop2387 10y agoI 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.
- gavanwoolery 10y agoAwesome, I'll take a look in a bit and link it :) Appreciate it.
- bsagdiyev 10y agoAdding 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 10y agoThanks I'll repost this and other links when I check back in the morning. :)
- deleted 10y ago[deleted]
- simcop2387 10y agoI've just redone this setting GIT_AUTHOR_NAME and GIT_AUTHOR_DATE so that it'll reflect the proper author and date, giving a nicer looking history. This also means I did a force push, so if anyone checked it out with the intent of using it, then you should start over. (also, i posted this again before it had finished pushing. give it a few minutes)
- simcop2387 10y agoand yet again, it looks like i didn't have all the archives when i did this. only some of them. I'm going to attempt to do this again with all the files from the torrent but i suspect github won't take such a large archive.
- Eiriksmal 10y agoYou'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 10y agoHat 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.
- z3t4 10y agodont forget documentation
- gavanwoolery 10y agovariable names as documentation! (runs away)
- andybak 10y agoDo 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 10y agoThey 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 10y agoMaybe start a wiki for docs? That way other people can fill in the gaps. So. Any chance of a binary or two? :-)
- gavanwoolery 10y agoAs soon as I get a little bit of time :)
- gavanwoolery 10y agoAlso I should add I will probably push out some more "stable" ready to run builds soon. Not all snapshots are stable or even necessarily boot up.
- jaunkst 10y agoMaybe 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 10y agoI 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 10y agoWell I think it's great. Nurture it as best you see fit. Definitely an interesting project in my books.
- jokoon 10y agoI 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 10y agoThe 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 10y agoYep 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 :)
- imdsm 10y agoOk, time to integrate this with Dwarf Fortress.
- intended 10y agoOh dear lord Moore, in who's law we trust, protect our processor from the conflagration we art about to commend it unto.
- gavanwoolery 10y ago'Tis the season (to use your computer as an alternative space heater)
- pani00 10y agoThis is the worst source code organization I have ever seen.
- deleted 10y ago[deleted]
- kybernetikos 10y agoI haven't looked, so I have no idea whether I agree or disagree, but I don't actually care - it's low value comments like these that discourage people from sharing their work with the world. I would much rather live in a world where sharing was easier rather than harder.
- gavanwoolery 10y agoI concur :) As mentioned, in the short term it was either no source or release it as is. I'll try to release cleaner versions over time.
- pani00 10y agoI am looking forward to it. Don't get me wrong, I think the stuff you did there is impressive and I can't imaging where it gets when you have a proper source code with people contributing. I would start with putting header guards in the files and remove the f_xxxx_ from your file (e.g. advanced-renamer can do that for you). Another suggestion would be to put everything the .exe needs into the "bin"-folder, currently your .exe loads some shader from your "src"-folder (or I did something wrong). I would also make a "third-party" folder in "src" and put all third-party stuff in there (also the LodePNG, zlib and bullet stuff in your main.cpp).
- gavanwoolery 10y agoAgreed - lots of strange source organization in there. At this point I would organize it much better than I had. :)
- lomnakkus 10y agoKudos for just releasing instead of handwringing over anthing more complicated. I find that it's surprisingly hard to do!
- mrfusion 10y agoHow hard would it be to port this to the vive?
- gavanwoolery 10y agoVery 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 10y agoOh no, not PNG screenshots, please!
- gavanwoolery 10y agoyou're welcome >:)
- ComodoHacker 10y agoNot sure what you mean. Is there a way to submit updates to your website?
- Ericson2314 10y agoI 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.
- wjnc 10y agoHow 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?
- time4tea 10y agoSlightly 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 10y agoI 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)