Archive:
Removed the placeholder for “Ball Room West” and replaced it with a little lava ball. I had much bigger plans for this – a few enemies moving about, fireballs, etc – but it’s such a pain in the arse to place things on and around the sphere that I gave up. I’d need to write a couple of editor extensions to do it properly, and nah, not at this point. Filled it with paint and moved on. Meh.
Also went through the documentation for PSO Precaching, and hitch removal on Windows. UE gets a bad rep for hitches and stutters when you first encounter objects, due to shader and pipeline state object compilation. You could mitigate this on older versions of the engine by playing through the game, logging all the PSOs you encounter, and then passing that on to the build tool so they could be included as part of the cook. 5.4, which I’m on, replaces that with automated pre-caching and async compilation of the PSOs, but I needed to enable it. Probably because I’ve migrated engine versions a couple of times?
Anyway, I now have a short-cut that clears the PSO cache every time I run the game, so it acts like a first-run and I can keep an eye out for hitches. Cooking the build took the entire afternoon, though. It looks like the entire data cache was invalidated. Sigh.
The PSO Precaching didn’t remove all the hitches on its own, so I ended up playing through the build until midnight, logging all the PSOs so they could be bundled. The combination of the two works like a charm, I’m not seeing any shader/pso compliation hitches on my machine, even when I’ve cleared the cache. The start-up time on first run is a little long – 15-20 seconds when I limit the game to 4 cores – which is less than ideal, but it’s a one-time thing. Second boot is as close to instant as it’s going to get. The real question is, can I do the same for the Linux sku, using my Steam Deck?
Tbh, I enjoyed playing through, having made a lot of little flow changes recently. Things are feeling better, but I did uncover five or six niggly bugs. I fixed most of them this morning, added a new Boombox room to Moonbase, and a Jefferies Tube that leads out and drops you down onto a new, hidden section, on top of Moonbas’s entrance. I’m using the height-based materials for all the platforms up there, so you’ll never know unless you find the Jefferies Tube. Bugger, should have made that a Minter joke, now I think about it…
I think I need to add two or three rooms before I call Moonbas “good enough”. I want to use the robots from the Toaster Room, and I’d love to sneak a bit of Paradroid styled bas-relief in there somewhere. It’s the most obvious inspiration for the whole joke, after all.
Got the Toaster Robot in. Does the 4 way movement thing that a few of the baddies in Head Over Heels did, so it should be pretty recognisable to players of a certain vintage.
I’ve not been entirely happy with the lighting in Moonbas when the engine’s at full-beans. There’s been noticeable noise in the Lumen captures, and the metal’s not been picking up the emissives in the way I was expecting, so I deep dived into the docs and forum posts to see if I could improve it, and after a lot of fettling, I think I’ve improved it quite a bit. Screen traces were stopping the emissives being added to the reflections, and my SkyLight was too bright, which was washing everything out. The trick is finding a balance between full-beans, and everything scaled down for the Switch – most of the post-processing turned off, no lumen, limited number of lights – but it’s getting there.
Added another room to Moonbas: floor parts that appear/disappear on a timer, and one of the circle laser emitters, constantly firing. Surprisingly tricky combination, that’s taken me a fair while to balance. But it’s near the end of Moonbas, so I’m allowed some difficulty spikes.
Checked out yesterday’s lighting changes on the Steam Deck, and it’s close. The shadows in Willy’s Mansion are too dark, but other than that, it’s not too bad. I need to do the PSO caching for the Linux version, so I’m wondering if I can yoink the files off the Steam Deck… It should be possible, I just need to work out where the dev builds are installed.
More annoyingly, I found a bunch of bugs; things that have been working forever, like half the Boom Boxes in Willy’s, that have suddenly broken. I must have changed a header, at some point, or I’ve done a bit too much live coding, and they’ve gone out of sync. Next time, I’m going to try and keep settings in Data Tables
, so code changes don’t start breaking things that I’ve already placed in the editor. It’s about the only fragility I’ve noticed with Unreal Engine, and it’s time-consuming to find and fix stale data.
Fixed the Boom Boxes (ffs), tweaked re-spawning on the rolling ball levels to stop the ball pinging off into space, and fixed the fact that one of the dynamic materials in those rooms was never hooked up (wut?!), tweaked the lighting on all the levels (again), fixed (I hope) one of the puzzles in Antesher, discovered that the main menu breaks when you return from the settings screen (I have no idea how I hadn’t spotted that up to now) and added the last room to Willy’s: Nomen Luni. A free Boombox, for getting that far.
I also changed The Backstairs. The number of lights was giving the framerate a bit of a kicking on the Steam Deck. Now you need to use the Wand light, conveniently cutting the number of lights in the room. Ship it!
Friends:
If you like any of my work, please consider checking out some of the fantastic games made by the following super talented people: