Multiple entries built a fight; this one steps back out. With the combat engine finished and waiting for content, work shifted to what that content lives in: the world between battles — terrain, buildings, sound — plus the first real character kit so at least one fighter finally swings his own moves.
Audio Layer
The game is no longer silent — only silent when it chooses to be. A tiny AudioManager handles one call: Sfx.Play("id"). It checks Resources/Audio/SFX/<id>; if the clip exists, it plays, and if not, it quietly no‑ops.
Every system already fires those calls: battle swings, hits, menu moves, dialog blips, encounter stings, and footsteps that speed up when you sprint and stop when the game pauses. Adding audio is now just dropping a correctly named .wav into the folder.
Lae’s Maeal Kit
Lae finally has his real Maeal martial‑arts kit: iron palm, heel‑drop kick, flowing stance. Skills enter through a level gate (skillId@level) defined directly in the sheet, and the menu shows earned moves alongside the next one greyed out with its unlock level.
It’s only one character’s kit, but it proves the full pipeline — from spreadsheet row to in‑game technique with its own pose.
Terrain Rebuild
The old dual‑grid tilemap was holding everything back, so it was replaced with a full splat terrain system.
You paint directly in Scene view; underneath, you’re writing a control map — terrain type + wind — stored in 8‑unit chunks that spawn as you reach them.
Key choices:
- Hard edges, noise‑perturbed so grass meeting dirt looks hand‑drawn, not blurred.
- Each terrain type has a height, and lower ground picks up a soft shadow where it meets higher ground.
- Shader tiles pixel art exactly, picks a variant tile per cell, animates water, and uses a wind channel for shimmer.
- Fully lit through the 2D lighting stack.
- A detail scatterer places grass, flowers, pebbles, and ripples procedurally based on terrain type.
- It’s finally a ground system you can build a world on.
Tile‑Based Buildings
Next came something to stand in front of: a tile‑based building system on the same 48‑pixel grid as terrain.
A building is a live hierarchy of sprites that sorts as one unit based on its front baseline — stand below it and you’re drawn in front; walk behind and it occludes you. Steps and flat ground sort separately so the player walks on them.
Collision is hand‑authored, not inferred. Everything is lit like the overworld.
The authoring tool mirrors the terrain painter: atlas palette, marquee‑select blocks, stamp onto the grid with a ghost preview. Roofs stack in courses for a pitched look. It’s still being rounded out, but the workflow is right — you paint a building the way you paint the ground.
Where It Stands
The world is finally forming around the battle:
- a terrain system to build on,
- a building system to populate it,
- a sound layer ready for clips,
- and one character fighting with his own kit.
Combat is a finished engine waiting for content; the overworld is now a set of tools waiting for a world.
Still ahead: the rest of the roster’s kits, zone enemy blocks, actual audio assets, and finishing buildings — then the part that matters most: building the places the game happens in.
I will be live from time to time in the discord lounge channel, so come by, chat, and check out the progress in real time.