Persistence is Key!

Even in the busiest of times, it’s important to always persist. Always make concerted efforts towards your goals and never back down. We should all- …what? What do you mean we’re not talking about that kind of persistence? Ohhhh, I see now. Let’s take a look!

If you’ve pledged to the Subscriber tier or higher on my Patreon, you can download this build right now!

Day 7’s Progress

What Did I Do Today?

New Scene, Save Scene, Load Scene

Yep! You’ve guessed it! Today we’re actually talking about persisting your scene from one session to the next. Today I added some basic scene saving and loading, as well as some buttons to facilitate those actions. There’s also a new scene button so that you can start over from scratch without having to exit and restart the app.

These features are pretty slow right now, and may cause the editor to freeze for a bit, especially for larger maps. This is something I’ll have fixed before too long. I basically just need to move them off the main thread and add some sort of graphical loading bar so you can get a sense of how the process is going.

New Saving / Loading System

Live Stream #1

We did our first Live Stream for this month on Twitch! My thanks go out to everyone who came and kept me company while I play-tested what we have so far. If you missed the stream or want to see it again, you can always go back and watch the VOD!

I want to start doing a stream like this every Friday or so, so let’s all plan to hang out again on Friday, July 13th. I’ll post to Twitter and our Discord with the exact time once that’s decided.

Live Stream Build

Minor Changes

I cleaned up the voxel cursor and wall guide grid textures a bit. The wall guide is especially useful now, with its individual line patterns denoting different measurement increments. I also modified their shaders a bit so that they’re no longer affected by light.

Trees should no longer spawn over empty blocks, which only really affects the “Terrain with Trees” option, but it does help to tidy up the resulting map quite a bit.

Finally, as an internal optimization, I added a few unbounded getters/setters for voxel data. This allows the many algorithms to skip checking repeatedly if the current voxel is a valid location before processing, and is especially useful when I’m looping over all the values and know for a fact that the voxel will be valid.

Last Day In This Office

That should do it for today’s progress. I’ve gotta shut down this PC and finish packing everything. There likely won’t be a Day 8, as I’ll be loading everything starting from around 9am and who knows how long it will take to get everything moved, unloaded, and set back up. I’ll see you guys on the other side!