Archive:
Added the spanner collectable to the Chimera section, and created a level sequence that shows the shield being lowered. Wrote the code to return control to the normal player character and added new Game State
to track if the Chimera section has been completed. If it has, the control deck is powered up!
Modelled the Computer Room. The TVs aren’t on until the Chimera section’s been completed. When it is, and you press the button, and they’ll play some videos. Or maybe some Ascii art? I know just the man…
Zub’s gonna have to make a re-appearance. It’s only right and proper. Maybe on one of the screens?
Also started work on an electric floor trap, similar to the one in the first game.
I was sat in bed, last night, playing the build on the Steam Deck and Switch. Perf on the Switch was a little ropey in places, and the Moonbase’s reflections weren’t looking great on the Deck. This morning I decided to sort them out, as I want to demo the Steam Deck SKU to my publisher, next week, as the “First Playable” milestone’s due on the 28th. That’s a big one…
The Steam Deck issues took a long time to debug, but essentially, it boiled down to the console variable r.DistanceFieldAO
being set to 1 when it should be 0. I tried overriding this with a Linux specific scalability .ini, but it kept popping back to 1. Something, somewhere along the chain was overriding it, but the console’s output swore blind that it was being set to 1 by the scalability group… Whatever.
Ended up forcing it via a Linux device profile, which the Deck did then pick up. So now things look the same at Medium scalability in the editor, and on the Deck.
Performance wise, the Deck is solid 60 (at default scalability) apart from The Chapel, where it drops to 58 (shakes fist at the sky). But I’m going to leave that as is.
The Switch, on the other hand, was a bigger job…
Lights are expensive, and the Switch is aggressive about what can and can’t cast shadows. Rather than have two entirely different lighting setups, I want something that looks decent on PC (with all the beans), and “not gash”, on the Switch. And there were some reasonably easy fixes I could make to claw some perf back:
I added some quality switches inside the water’s master material, so it gradually went from a noddy, transparent quad, to an all singing, all dancing transparent effect, based on the engine’s scalability setting.
I changed all the torches in Willy’s mansion to remove the spotlights, in favour of a single, wide source-area light that I can place manually. This effectively halves the number of lights in each room. Yeah, you can see it’s a single spotlight if you know what to look for, but… most people won’t notice.
I also re-lit the entire Moonbase, adding single spots above each room, re-did the Ambient Occlusion, and changed the Post Process colour-grading, particularly in the shadows and mid-tones. There’s a smidge more contrast, less pronounced AO, and the Impossible Mission section now has a shadow casting directional light, to get rid of the horrible shrouds that you could see previously. It’s a massive improvement on the Deck, and a lot tidier on the Switch.
“Full Beans” PC doesn’t look quite as nice, but that’s mainly because I’m not leaning on Lumen for everything. Can’t win them all.
Switch performance – in handheld – is 30 everywhere, apart from The Chapel (still shaking fist). I think I might be able to get that back by forcing all materials to low in the Switch device profile. It looks like it's defaulting to medium, and there’s a big area of water in that room… I need to investigate it a little more. I’m guessing Docked-mode might be worse, because that’s 1080p, and if that’s the case, I’m going to have some painful choices to make before I ship…
I hope Switch 2 is out before I’m due to go gold.
(Future Gareth: I hope Switch 2 devkits are available before I die…)
Messed about with electricity, again, and stumbled across something very cool…
Niagara has a lovely feature: You can use a burst of invisible particles like a collection of Raycasts. The particle collisions give you end point data, that you can use to, say, draw ribbons. So far, so obvious. What I didn’t know; you can send this info back to a Blueprint via a tiny bit of bboilerplate So ofc, I couldn’t resist. I’ve now got an electric ball that floats around the room, and if you’re incredibly unlucky, one of the arcs can hit you and kill you.
And then it dawned on me. It really needs to be a Fat Worm, floating around, farting out Sparkies!
(Future Gareth: As cool as that was, I ended up taking it out. You couldn’t quite tell what was killing you, which felt a bit unfair. Still, it’s lovely feature that I’ll abuse at some point.)
Friends:
If you like any of my work, please consider checking out some of the fantastic games made by the following super talented people: