Subscribe:Atom Feed

"On Me Head"

Posted: 04 June, 2021

Tuesday 01.06.2021

Had to do some invoicing / paperwork this morning, so a boring return to work after an impromptu few days off…

Decided to ease-in by looking at UE5. Or more precisely, seeing what would be involved to migrate over to it. Turns out, not a lot. One line of code, in fact: a pointer reference to Actor had been removed from the FHitResult struct, and replaced with a getter…

That’s not to say there’s not some work to be done:

  1. There’re some deprecated modules in Niagara that need fixing up
  2. My overwold map needs to be converted to the new world partitioning system
  3. The new lighting system requires some attention…

That last one, the move to Lumen, is going to take a bit of time. SSAO and SSR are entirely replaced which has a big effect on the look of the final scene. Shadows are a smidge darker and the overall scene is a bit desaturated (when not fully lit).

My entire Time of Day system will need some work to rebalance the colours, and perform well with the virtual shadow maps. I’ve also spotted some changes to the height fog, and volumetrics that I’m using in Ytene that will also require an entire re-work.

But it comes with some massive improvements. Emissive textures now count in the GI pass, which is subtle, but glorious. It means things like the VFX from pots breaking give a subtly glow to the impact point as the emission fades out. The reflection on metals is waaaay better. And there’s proper colour bleed from walls and floors. Soft shadowing is also a lot, lot nicer, and controlled more conveniently by the source radius and light’s angle, so I’ll need to setup all the torches to make the most of it…

But I’m going to wait… I’ll definitely have to move to UE5, but not before Epic ship Fortnight on it.

Wednesday 02.06.2021

AI... Decided to add another couple of helper functions to the AIAction base-class -- to get the distance to player and PlayerState.

Created a little spider “watcher” that will move from one location to another, based on the distance to the player, and whether or not the player's wand is on. Idea being, they’ll run out from under the trees to have a bog at the player, and being spiders, they’ll probably put the willys up a few people, as well.

Because of the way emissive will work in UE5 I decided to make my spiders blink. Should look nice when I upgrade…

Thursday 03.06.2021

Added a little “turn on the spot” animation to the watching spiders. And created some smaller variants that’ll be static, under the leaves. It’s nice and freaky as you walk into Ytene now.

The recent duplication of stuff when testing out UE5 got me thinking about how things are organised on disc. Up to now it’s been around asset type, which was fine when most things were static/discreet assets, but now that I’m making more features it’d be better to have everything grouped around things, rather than types. So, I did the unthinkable, and rearranged the entire project hierarchy to reflect that.

Which meant making a couple of packaged builds to look for warnings/missing assets and fixing them up. For the most part UE4 handles this perfectly fine, but at the start of the project I used to hard-code references to assets in the C++ constructors, which is dumb. Don’t be me.

Including history, my git repos have now popped 80gig, so I’m going to need to do something about that at some point. Git and Git-LFS are great, but I’m definitely maxing out where they’re comfy. I should be using perforce, really, so I’ll look into setting that up on a remote co-loc…

At some point…

Friday 04.06.2021

Came up with a reasonably good idea for how attacking spiders can get into the world: they can jump out of the trees. This has the added benefit of allowing me to put more glowing eyes in the world, and lets me make a proper ceremony out of each spider’s spawn-in sequence. So spent most of the day on that:

Next week I’ll turn the projectile into a sticky blob, and start messing around with the player’s movement if they get caught by it…