A leaner, faster VAEL (and the tutorial skeleton dies)
Tutorial fix. The training skeleton in the block, parry and riposte lesson couldn't be killed. It sat at 99,999 health until a riposte landed during the "kill" step, but the riposte everyone throws straight after the parry landed while the step was handing over and was ignored, so the skeleton never died. Now:
- the skeleton is mortal from the moment you parry;
- an early riposte counts, and can finish it outright;
- plain hits can finish it too;
- if the parry timing just won't come, after 12 misses the lesson moves on instead of trapping you.
- Rain and snow: the collision heightfield (what stops rain at roofs and canopy) re-rendered every metre you walked. It now steps with you every 8 m and covers a wider area.
- Night sky: its lighting map was fully rebuilt and filtered every frame, and nothing reads it (ambient light is a colour, reflections are off). It's now spread over frames.
- Corruption: it pushed every fog, light and sky setting four times a second even when nothing had changed. Now it only does so when the value moves enough to see.
- Minimap: it re-drew the whole map (lakes re-triangulated, trails dashed piece by piece, bezel, vignette) every frame. Now the land is recorded once around you and only moved and turned each frame; it's re-recorded every 8 m, on entering a room or on changing depth. The bezel, vignette and view cone are drawn once, and the dial's ticks turn as a layer.
- Compass: the band is drawn once, and the strip only redraws when you turn (or a few times a second for its markers).
- UI colours: colour changes made over and over (party status, downed/reviving banner, extraction, corruption, the skill tracker, mythic rainbows) are skipped when the colour hasn't changed. Each one made the text re-lay out. Mythic rainbows and the hotbar's rainbow update 20 times a second.
- HUD text: stamina text only re-formats when the whole numbers change; the run timer once a second; the skill tracker's text every 0.3 s.
- Idle redraws: the full-screen fishing overlay only redraws while there's something on it, the contract tracker only while its bar moves or glows, and slot-machine bulbs only when they change.
- Voice chat: in push-to-talk, the microphone audio is dropped while the key is up instead of being filtered and resampled in script (about 48,000 samples a second).
- Traps and the chasm: they now only look at the dead that are awake near a player, with a quick distance check before the exact one. The chasm no longer copies the whole enemy list every tick.
- Distance and view checks:
- Sanctuary NPCs (the merchant, traders, keepers) and casino dealers only animate when near and in view.
- Gate portals and graves stop pulsing their lights when nobody is near.
- Dungeon props: batched props (candles, skulls, bones and so on) are split into 24 m cells, so the ones behind you or deep in the fog are culled. Before, they were one never-culled batch per depth.
- Co-op host: each enemy is packed once per snapshot, not once per client.
- Smaller: thunder is preloaded (no hitch on the first strike), foot planting uses constant names, and first-person head hiding doesn't rebuild a list per item.
- Removed unused code and files: an old
Scatterclass, a debug probe, orphan.uidfiles, side outputs of the model tool, about 20 unused functions (including the ~100-line pre-GearView armour builder) and about 15 unused constants. - Everything removed is backed up outside the project in.
- New prints the CPU cost of each depth and the Sanctuary.
VAEL is a co-op dark fantasy extraction dungeon crawler for PC, in active development. Get playtest news by email, or read the wiki.