Fixed a bug with the initial experience. The Crone wasn’t getting setup correctly when returning from the new Stone Henge map. Should probably have tested that last week…
Also went through ALL the SetInputMode calls in the code. Someone I gave the build to wasn’t able to get past one of the placeholder screens, and I’m fairly sure it’s because the game wasn’t actually in focus. On first run it triggers the Windows Firewall, so when you click the firewall alert you can leave the game “fullscreen” but not actually in focus. Some input works, but not all… Most games get over this by forcing a click on the intro screen of the game, but I’m joypad only, so that’d be a bit rubbish.
Added a few “Set Focus To Game Viewport” calls and now I’m hoping for the best.
After that, spent a couple of hours merging environment pieces into instanced static meshes, based on a chat in the comments of my last YouTube video. Works a treat and is an instant perf-win, but I’m still going to hold-off for a bit before I convert any of the maps over. Maybe when I jump to UE5 I’ll bake down Ytene and Henge End, but not today. Hit the Revert button, in P4V.
Did some more placement / level design in East Ley. Got the houses to a decent state, and messed about a bit with the ground blends. Tomorrow I need to get my wispy mist onto the ground, and see how it pans out, I’ve got something in my head, but I’m not sure how close I can get to it…
I’ve also upgraded the engine to 4.27.0 and stripped out all the unnecessary plugins I could find. Took a little while rebuild everything, but I think it’s all good.
Thought I’d fix an easy camera bug this morning, but it took me much longer than expected. The camera’s forward distance and speed wasn’t ramping down when the player started charging for a spin attack. For the life of me I couldn’t work out how this was being done, there were no overt calls to set the camera’s distance and speed, and adding them wasn’t having the effect I wanted. In the end, it turned out that the player character’s Tick was dynamically changing camera speeds in certain “modes”, which, er, is absolutely the wrong thing.
In my defence, it’s one of the oldest bits of code in the game. It’s been doing that forever… And now it’s not.
Rest of the day was spent making some nicer “spooky” trees.
During the move to 4.27 I noticed some warnings pop up in the build regarding members in structs. I’d been lazy and not added default values, so I went through everything and fixed them all up. Turned out I’d been doing that everywhere, so there was a shit-load of code to go through… :/
After that I went through and did a “final” blockout of East Ley. Added specific pieces to force pathing, and settled on the locations of the Dolmens the player will have to find. Added the new trees, and the result is much, much better…
I’ve also done a full integration of Fluid Ninja. This is the first map area where I’m going to use it: I want the mist to react to the player’s movement. Integration was zero hassle, but I’m still not happy with what I’ve implemented…
Few more hours on the Mist. I think I’ve got something close to what I want, but it’s causing hitches in the editor. I thought I’d make a packaged build to see if it was happening in a “final” build, as well… And, er, fuck. Got a 100% crash during cook, that didn’t show itself in editor, or during the version upgrade.
It’s somewhere in Niagara, but doing what, I have no idea. There’s no usable log output to give me a clue and UAT is actually in the middle of compiling shaders, which I think is a red-herring? I’ve re-rolled the upgrade, I’ve removed Fluid Ninja, I’ve gone back to where I was on Monday, basically everything I can think of, to no avail… It’s incredibly fucking annoying.
I think the only thing left to do is to go through every Niagara “thing”, recompile it in editor, re-save it, refresh everything I can think of that uses it, and pray.
I’ve had a day.
Went through all the Niagara Emitters and VFX, and fixed up every warning / deprecation… and it made no difference to the packaging crash. So maybe it was the shader compiler...
Flipped everything over to debug mode and got to the point where I was manually deleting materials, one by one, to see if the cook would get any further. And it wouldn’t.
I think, to debug this properly, I’d need to rebuild the engine and tools from source, including the compiler worker, so I can have spit out more debug, and attach with VS. But man, I’m not going to bother with that right now. Could be another couple of days of fighting… at least.
Mid-afternoon I decided to bite the bullet and rolled back source control to Monday morning, before the engine upgrade, and then copied this weeks “new” code over, and rebuilt everything on 4.26.2.
The next few hours I sat with 4.27 and 4.26 open, copying over the East Lay block out, and remaking various uassets for materials and textures. Fortunately you can literally cut and paste from one editor to another, so in the end I didn’t lose any work, just a load of time.
Well, I did lose all the work I did fixing up the Niagara emitters, so I’m going to have to go through and do all of that again. That’s a job for when I next have a hangover.
Anyway, I’m back on 4.26.2, I have Fluid Ninja in, and my mist’s working in packaged builds. TFFT.