Game
Floating Sandbox
7 years ago

Z-Buffer Work Is Finally Complete


Finally, after 21 days of work and 34 commits, the re-design of the depth management subsystem is complete!

Depth management in previous versions was exclusively based on depth sorting: ships were being drawn connected component by connected component, from the furthest to the nearest. This worked fine for a small number of connected components, but it caused a lot of lagging whenever a ship would be reduced to smithereens. The following screenshot is from 1.8, showing the FPS rate right after an anti-matter bomb has exploded on the RMS Titanic (the normal RMS Titanic FPS rate on my 2010 laptop is ~21):

5d0935f19848f.png

As you can tell, the large number of connected components - and thus the large number of OpenGL batches - caused the FPS rate to almost get halved, down to ~10 FPS.

The new depth management strategy makes instead heavy use of OpenGL’s depth test. Each vertex is assigned a “plane ID”, which is simply a sequential integer starting from zero and incremented for each connected component. Plane ID’s of vertices are then passed to the shaders, which use them as Z coordinates. This way I can now render all connected components in a single pass! Here’s the same screenshot from before, but from the upcoming 1.9.0:

5d0935f322053.png

The FPS rate is now ~22 - even faster than when the Titanic was whole :-)

I’ll now switch to working on a few low-hanging thinghies, before packing and publishing a shiny new 1.9.0 release. Stay tuned!



6 comments

Loading...

Next up

1.12 Screenshot #1

Sneak Peek at the New Water Flood Algorithm

Floating Sandbox at LVL UP Expo 2025!

Short intro of us 💕✌️

We're an eletro duo based in Seoul 🇰🇷 Heavily influenced by the 90s.

Our new album #Xennials is all about the nostalgia of that era 💽 CD listenin 📟 beeper beepin 💾 floppy disks floppin days 😎

Stream now! 🎧

https://open.spotify.com/album/3YwWhnHWVy5cA8XOpbaGRA?si=8E9awqU…

Been working lately on lots of 'behind-the-scenes' boring stuff that no one really cares about, so here’s a guy playing the sax for some reason.

#screenshotsaturday

🍒Did you like the game? A demo is available for free on Steam.

✌️ Thanks for playing IndieGameiacs!

⚙️ Free Demo: http://bit.ly/UniDuni

📺 Full Video: https://youtu.be/5qEbVXg7GaQ

#steam #uniduni #clops #screenshotsaturday

Have a good Boi

I have added rewards for quests so that villagers can give you something in return for your hard work helping them. 🥳

I want to know - what's your favourite quest reward?

Updated the chest in the maze, adding sound, particles and better animation. But what's in the chest?

The whole squad is here!

Interested? Follow me!