This is pretty cool. Props for doing a massive amount of work and creating something open and extensible.<p>--<p>I just tried reading the code to learn how MineTest does voxel meshing, and it didn't go so well.<p>(Voxel meshing is about turning blocks into triangles efficiently, and it's surprisingly tricky. Mikola Lysenko wrote a great exposition of the problem and several solutions way back in 2012: <a href="https://0fps.net/2012/06/30/meshing-in-a-minecraft-game/" rel="nofollow">https://0fps.net/2012/06/30/meshing-in-a-minecraft-game/</a> )<p>I was curious which approach MineTest chose, and I still don't know. I think I found the files where the meshing happens, mapblock_mesh.h/cpp. The code quality is... less than perfect.<p>There are 200+ line C++ functions. There's commented out code and preprocessor "#if 0" ignored code.<p>There's a struct that looks important, but it's called "MeshMakeData", and I don't know what it represents. The comment above just says "Mesh making stuff":<p><a href="https://github.com/minetest/minetest/blob/0a16e53b40d347db7dcd04cb694d0f8f2ed1a5a7/src/mapblock_mesh.h#L40" rel="nofollow">https://github.com/minetest/minetest/blob/0a16e53b40d347db7d...</a><p>The file that seems to run everything, game.cpp, is almost 5000 lines long.<p>--<p>For an example of really clean game code, check out Quake or Doom 3. Both have:<p>* short and sweet main() methods<p>* comments that guide the reader and explain what does what<p>* clean decomposition<p>* short, readable functions, and...<p>* reasonably small files<p>So far, MineTest, at least in part, took the "big hairy ball of C++" approach.<p>Good luck with future development!
A minetest developer just recently published a sphere-shaped planet version of minetest:<p><a href="https://forum.minetest.net/viewtopic.php?f=14&t=15643" rel="nofollow">https://forum.minetest.net/viewtopic.php?f=14&t=15643</a><p><a href="https://www.youtube.com/watch?v=ztAg643gJBA" rel="nofollow">https://www.youtube.com/watch?v=ztAg643gJBA</a><p><a href="https://www.youtube.com/watch?v=joFWr3JzBOI" rel="nofollow">https://www.youtube.com/watch?v=joFWr3JzBOI</a><p>That's just the thing I love about these smaller voxel games - they may not have a huge userbase, but there is innovation happening.
It's worth noting that Minetest is available on Ubuntu (and possibly Debian?) via apt (apt-get). Not sure how dated it may be, but it's still playable and useful.
As a longtime MC user, I have to say this is really cool. OTOH, it doesn't have MC's amazing mod ecosystem, which is a huge part of why that game is so great.
One of the best 'downloads' page I've seen<p><a href="http://www.minetest.net/downloads/" rel="nofollow">http://www.minetest.net/downloads/</a>
Unfortunately this doesn't seem to expose nearly enough features to the programmer of mods. No way to do direct rendering of your own, add AIs, or many other much needed things.<p>You can basically just define blocks and HUD items and that's it.<p>Good work on writing the engine, just needs a little more work on the API side.
There's also a fork Voxelands <a href="http://www.voxelands.com/about.html" rel="nofollow">http://www.voxelands.com/about.html</a>