Voxelium
A voxel game I made from scratch in C++ and OpenGL (I'm aware that I could have used a game engine but it's more fun this way)

what it is
It's a Minecraft-ish sandbox, but with more realistic terrain generation, better and more optimized graphics and cool lighting.
what's in it
- Endless worlds from a seed, with oceans, beaches, mountains, deserts and forests
- Caves, ravines, flooded caves and old mineshafts naturally generated
- Lighthouses, shipwrecks, desert ruins and pyramids. There's also a cool easter egg under the pyramids too :D
- Actual physics for the water (waves and all) and sand shifting via particles and gravity
- Rain that makes puddles, snow that piles up and melts, and thunderstorms with actual lightning
- Crabs, turtles, fish, glowing jellyfish, birds, butterflies and fireflies. You can punch all of them and they will run (thats all they do)
- No build height limit, lamps in 25 colours, and save files that are only a few KB because they only store what you changed

problemos i encountered
- A NaN turned the seabed into solid black rectangles and then a different NaN later put black squares on the screen every time it rained
- The mountains were random spikes, then walls, then 40 block deep trenches running in straight lines through the hills, took about five tries to get actual mountain ranges
- Tree tops looked unlit for ages. They were lit, the auto exposure was just staring at the sky
- If you walked away from spawn nothing would generate, and you would only see glitchy chunks
- Funny memory leak (the game was eating 20 gigs)

how it works
Chunks are greedy meshed into 16 byte quads with no vertex buffers, the GPU does the culling, and the whole visible world is one indirect draw call. Lighting is flood filled on its own thread. The renderer has cascaded shadows, SSAO, volumetric light, bloom and TAA, and the water is tessellated near the camera. Libraries are GLFW, glm, Dear ImGui, FastNoise2, stb, miniaudio and unordered_dense, everything else is written from scratch.
