Saturday @ Second Half #4 — RTX ON
Happy Saturday!
Last week, we had our first full week back on MS80, and took a lot of inventory of features as we wrap up the pre-production phase of the game.
This week, we were off on Tuesday and Wednesday for Lunar New Year! We spent the rest of the short week doing some art and tech experiments.
New Batteries & Capacitors
Laura and Rasmus worked together on a new design for the game's batteries and capacitors! They communicate the voltage level of the object as well as its capacity and current charge super clearly.
This is part of our push to reimagine our art style with simpler materials.

Laura designed some new batteries and Rasmus built them!
Rasmus also built some new variants of switches. One of them is useful for toggling between two different power sources, like for switching voltages.

The other variant is a new switch model with a rocker. It changes color based on its state and has the traditional "I" and "O" labels for on and off.

We're experimenting with different visuals for manual switches.
Friday Game Designing— Harry
Hello, dedicated denizens of the Second Horse Half Games Blog.
We took a couple of days off this week for the Lunar New Year. Today has been pretty productive though, and the team came together for our big weekly sync and we've given ourselves some goals for next week!
One of them is to revive our hitherto somewhat-neglected Game Design Document, and to turn it into something that we maintain much more regularly and can better integrate tasks with. This is a good thing for a number of reasons, not least being it'll give us (and hopefully, you!) a better sense of progress as we continue development.
I also made a new test level. It's called the Dreaded McBunker. It is an underground bunker and it is dreadful. Too dreadful to even show you an image of. Please imagine a dreadful bunker, and then commit that idea to paper via writing implement of your choice and mail it to us in what way seems best to you.
In more interesting news, Laura has been working on a new look for our player character, P! Hopefully more on that later.
Cake for dinner.
Be good!
RTX ON— Lucien
In between doing important things like filing taxes, I kickstarted a fun tech project this week: raytracing! We know that we'll need some sort of solution for global illumination in the game but I hadn't thought very deeply about it.
I watched Tomasz Stachowiak's fantastic talk on rendering in Tiny Glade, another game written in Rust, and was inspired to take a crack at getting software raytracing implemented in the engine. It turned out to be really easy!
Rasmus and I pair programmed a quick software raytracer using the same Rust crate as Tiny Glade, obvhs. We were able to trace some simple scenes and write them to images in about an hour:


On Friday and Saturday, feeling the rush of how easy the CPU work was, I ported the raytracer to the GPU using the sample code from DGriffin91's Tray Racing benchmark. Everything mostly worked out of the box, after a little work massaging the two-level BVH support.
Here's The Cauldron from the gamescom demo, raytraced with 1 ray per pixel:

That's over 8 million rays per frame, against our full LoD 0 geometry. It takes about 2.5ms on a 3070 at 4K! That's way more rays than we need to build a diffuse lighting approximation, so I'm extremely happy with the result.
Okay, so the regular renderer looks better, but that's not THE POINT.
In theory we could get some big performance improvements by using hardware raytracing, like Nvidia RTX, but then we'd lose a lot of hardware support and we don't need the extra performance right now.
Next Week
For Harry and I, the big task next week is to revive and finish our Game Design Document. Not having a real document for the team to unify around has been a pretty big snag for the team, and I'm excited to fix that.
Laura will be working on polishing our new character prototype as well as finishing some art direction and material exploration we've been doing. I'm excited for everyone to see that stuff because it's fantastic!
Eryn has been finishing up some major editor features and will be starting to work on gameplay code with me and Rasmus. It'll be good to get out of the tech jungle and get to focus on gameplay again.
See you all next week!