8 ms·
The first version of Voxel Quest (with source) has been released
- deleted 10y ago[deleted]
- spacelizard 10y agoThanks Gavan! This is exciting, I've been waiting for this for a while. The code looks super hacky, but that's to be expected :) Hopefully it gets ported to Mac and GNU/Linux soon. If not, I'd definitely like to try and port it over when I get some spare time. Cheers!
- gavanwoolery 10y agoYour welcome. :) The porting process should not be all that difficult - mainly a few things have to be done: 1) Create a bash script to replace the batch scripts 2) Rebuild dependencies for the right platform 3) Ideally have some sort of cross-platform build generation like cmake 4) Pray to your gods
- Lord_Nightmare 10y agoI was looking into how to run lzz using gnu make on osx and while https://stackoverflow.com/questions/11186528/makefile-rule-for-lazy-c https://stackoverflow.com/questions/11186528/makefile-rule-f... gives some nice hints, I agree that cmake might make more sense in the long run, even if it is less "standard" than gnu make. Also, drop by on Freenode #VoxelQuest sometime. We're still hanging around in there.
- gavanwoolery 10y agoI've seen your name in the chat, and I apologize for rarely going in there! User "Talvieno" tells me it is often active in there. I need to automatically log in as I rarely manually fire up most of my chat applications. (PS I am in the chat now http://www.voxelquest.com/chat.html http://www.voxelquest.com/chat.html)
- erlehmann_ 10y agoCmake is probably overkill. DJB redo can handle multiple dependencies easily. My implementation only depends on Unix standard utilities like stat and md5sum: http://news.dieweltistgarnichtso.net/bin/redo-sh.html http://news.dieweltistgarnichtso.net/bin/redo-sh.html
- laumars 10y agoI've started the process of writing a Linux port. I already have a few shell scripts I can push back into your git repo, but still having a few issues compiling: $ g++ -Wall -I./SFML-2.1/include compiled/main.cpp -I./glew/include -I./freeglut/include -o voxelquest compiled/main.cpp:124:19: fatal error: gl/gl.h: No such file or directory #include <gl/gl.h> ^ compilation terminated. I can't seem to find gl.h anywhere in your project sources. Any ideas where I can find it? edit: nevermind. It was already installed on my system. Seems to be a few cases where you've used lowercase gl paths in your includes which is breaking on Linux because the paths are in uppercase. Easily fixed with a `sed` script though.
- gavanwoolery 10y agoCool! I am going to work on porting to OSX today
- erlehmann_ 10y agoAs you seem to use shell scripts to build the game, I suggest to use redo, which provides dependency management for shell scripts: http://news.dieweltistgarnichtso.net/bin/redo-sh.html http://news.dieweltistgarnichtso.net/bin/redo-sh.html Where can I find your code?
- JdeBP 10y agoI don't speak for M. Woolery, but one can find my code here: * http://jdebp.eu./Softwares/redo/ http://jdebp.eu./Softwares/redo/ * http://jdebp.eu./Softwares/redo/grosskurth-redo.html http://jdebp.eu./Softwares/redo/grosskurth-redo.html * http://jdebp.eu./FGA/introduction-to-redo.html http://jdebp.eu./FGA/introduction-to-redo.html
- erlehmann_ 10y agoThanks. I thought your web site was permanently offline!
- erlehmann_ 10y agoPlease do not use Bash, but Bourne Shell (sh). Bash-specific shell scrips are more complex and slower than sh and not portable. Bourne Shell scripts run unmodified in Bash.
- gavanwoolery 10y agowill do :)
- amenghra 10y agoCongrats, nice milestone!
- gavanwoolery 10y agoThanks! One down...three or four more iterations to go :)
- modeless 10y agoLooks beautiful! I can't figure out how to use the "edit buildings" mode or the green box cutaway.
- gavanwoolery 10y agoThanks :) For the edit buildings mode: Assuming you just started up, press "g" twice. Move your cursor over a building, it should display a white box around it. Click on the building. Press "v" to toggle it on and off. Anything more complicated than that you have to get into the code, but you can do some neat things just by editing the shader (GenerateVolume.c"), saving it, then pressing "r" (refresh shaders) in the program (and then press "c" to clear the chunks and refresh them). Future iterations have much more complex methods for adding arbitrary geometry, as demoed in the videos. The green box cutaway: Hold down ctrl (and keep it held), Move it while holding the left right mouse button to get it at the appropriate z level (up/down) You will likely ALSO need to move it on the XY axis holding the left mouse button just to keep it in view. That probably sounds confusing, but in isometric mode keep in mind that xyz in worldspace all project to another xy axis in screenspace. You can see in some videos how I move the cutaway cube down along the z axis while keeping it in the screen by moving it back up along the ground plane (xy). At 6m44s in this video you can see how it should function when you move the green cube if it is at the right z level: https://youtu.be/R0ul1674F1k?t=6m44s https://youtu.be/R0ul1674F1k?t=6m44s
- veli_joza 10y agoCongratulations on your release! What's the reason behind weird prefixes in source files (like f00300_singleton.hpp)?
- gavanwoolery 10y agoAll files get concatenated in alphabetical order. Its a strange technique but it escapes what is known as "header hell" where you have hundred of headers cross-referencing each other. Supposedly it also speeds up compile time. See: http://stackoverflow.com/a/373179 http://stackoverflow.com/a/373179
- erlehmann_ 10y agoI doubt it speeds up compile time on subsequent builds, as any change in one part of the project means that everything has to be recompiled.
- smaddox 10y agoNot quite. It presumably only concatenates the headers, which are read any time a dependant file is complied. The advantage is that the compiler doesn't have to open and read a header every time it encounters an include at the top of a dependent file. Instead, the dependency tree is given once, and each header is opened once. This is apparently the same approach taken in the Plan9 source code to reduce compile times, and by basically any language with a module system (except module systems allow you to give the dependencies in each file).
- oneeyedpigeon 10y agoLooking good! For those of us that can't actually run it yet, here's the latest video: https://www.youtube.com/watch?v=tyuRNC8Edds https://www.youtube.com/watch?v=tyuRNC8Edds
- gavanwoolery 10y agoThat was a montage of old videos meant to be used for this site: http://www.sixdf.com http://www.sixdf.com but I ended up just making another custom video that was less chaotic. Here is a video of the latest iteration of the engine: https://twitter.com/gavanw/status/728244177952071680 https://twitter.com/gavanw/status/728244177952071680
- jokoon 10y agoError loading shader 129. Water loaded at first execution, not at the second one. I deleted and re-extracted, still no water, only bridges and slow-loading trees without leafs. I guess the hardware requirement for this are quite unusual, I have an ATI 6870.
- gavanwoolery 10y agoAnother user hit the same error, I will look into it. I built it mostly on nvidia hardware so there are some things to work out for amd
- jokoon 10y agoGood luck with that, I wish you will try, but I would not spend too much time trying to fix it. I can remember a recurring bug I had on a blizzard game which happens on the same level all the time, and they refused to fix it because they said it was caused by the AMD driver. That's a bad sign for AMD.
- timwaagh 10y agovoxels! this reminds me so much of that old outcast game. good times.
- eigenvalue 10y agoGreat to see this finally get a release, I've been following the story since the first post. Curious why you aren't looking to generate income from VQ though. Also, the initial world construction process seems to take a very long time on a pretty fast machine. Perhaps a progress bar of some kind that lets the user know approximately how much longer it will take would be helpful. Keep up the great work!
- gavanwoolery 10y agoProgress bar would be good, just a level above the polish I ever reached. I do not want income from it because I feel this makes me more obligated, and I do not know how much time I can spend down the road (I will still spend time, I just don't want additional obligations hovering over my head) :) World construction takes a few seconds on my computer, although IIRC some of it is tied to the GPU, but mostly it uses the CPU.
- deegles 10y agoI contributed to your Kickstarter and am perfectly happy with this outcome. I'm excited to see what what you do next! Don't feel obligated to put any more of your most valuable resource (time) into this project!
- phodo 10y agoGavan - one idea for you is to do a mini tutora on the source code on Udemy or one of those sites. It would not have the obligations you allude to yet still provide you with some income for your work. Of course doing the tutorial would require some efforts but you can keep it raw and not put too much effort into it. Almost like a walkthru that handmade quake or handmade hero are doing. Just my two cents. Thanks for your work!
- nikolay 10y agoDoesn't seem to work on macOS under Wine: $ wine VoxelQuest.exe err:process:create_process L"Z:\\Users\\username\\Downloads\\vqprecomp\\bin\\VoxelQuest.exe" not supported on this installation (x86_64 binary) wine: Bad EXE format for Z:\Users\username\Downloads\vqprecomp\bin\VoxelQuest.exe. $ wine.bin(52265,0x407fc000) malloc: *** error for object 0x401c2f08: pointer being freed was not allocated *** set a breakpoint in malloc_error_break to debug