Hi there! Welcome to this thirtieth installment of your favourite Weekly Update blog!
This one is another short and sweet update, as I'm preparing the demo ready for the end of the month.
So without any further ados, let's get right to it!
Remove offsets
One particular thing I want to talk about is actually a very annoying bug with floors, particularly drawing on the floor map.
It used to have meaningless offset everywhere. I was never really able to reliably center floor shapes to a particular position on the floor map. This meant that sometimes connections between two rooms actually had non-walkable floors under them.
This meant that the player had to jump over it in the very cramped space under the doorframe to get to the other room (unless they were ok with taking any effect that floor had).
After a nice refactor I was finally able to make sense out of this. Now connections always have a patch of walkable floors around them.
Reflection probes
For each special room, there's a reflection probe to generate some kind of cubemap to use for reflections in it. It used to be part of the actual room geometry, which was disabled until the player opens their doors.
This effectively meant that those probes were only rendered when the room got enabled. This induced a framerate drop, which was really noticeable...
And the way Unity deals with reflection probe made it impossible to keep the generated runtime cubemap of a problem when disabling it.
The simplest solution was to put the probe outside of the inner geometries and build all cubemaps one frame after generating the level.
This way the probes can keep their cubemaps and the special rooms were still hidden from the player. Best of both worlds if you ask me.
Wall extensions
Previously levels were technically opened. This meant that with enough skills players could actually jump over the wall and get to the next room.
But because the player bypassed the loading trigger no enemies would spawn. They were stuck there until they go back to the last cleared room and activate that trigger.
To remedy this I've added another set of walls extending upwards keeping the player in check.
Each level can also have their own extended wall design.
However, right now there are only placeholders trees.
Minor Updates
- Fixed visual bugs which made floor geometries let light pass through them if directional lights faced up;
- Fixed many geometries using bad reflection settings;
-
Fixed navmesh links so that agent using them won't slide awkwardly to the center of the link;
- Fixed the direction of navmesh links so that agents won't willingly fall into hazardous floors to cross a blocked path;
- Fixed some oversight with the map generation putting weird kinds of floors at weird places;
- Fixed a bug with player steps sounds not playing in the right audio channel making those completely bypass the SFX volume settings;
- Fixed bugs that left holes in some special rooms walls;
- Fixed a bug that made players able to "reselect" highlighted pickable items when in pause;
- Made a bunch of memory optimizations here and there.
Next Week
Well, we're staying on track for minor fixes, optimizations and gameplay balancing and so on.
We're already in February, so some kind of demo is on its way.
I'll continue to tightening everything up for the playable demo, which will hopefully be on time.
Aside from that, it's the usual suspect of capacities, special rooms, enemies, bosses, etc.