← All diary entries 2026-07-04

First playable, and the voxel pivot

2026-07-03 to 2026-07-04

This is the burst where Vexalia stopped being a design document with code behind it and became a game you could sit down and play, badly, for a few minutes.

07-03 was setup and confirmation: git initialized for the first time (the “Initial commit” you’ll find at the root of our history bundles everything from the three days before), the first eight species locked in as canon (Aerun, Ferrik, Emberu as starters, plus five wild species), and a Meshy API key configured so we could try AI-generated 3D models for creatures. We also lost 18 minutes to a Unity domain reload that froze solid. We killed the process, relaunched the editor, and lost nothing, because everything was already committed. That is the whole point of committing often, and it paid for itself on day one.

07-04 is the day we threw the Meshy models away. We had two generated Aerun models in hand, and they were fine, but “fine” was the problem: Meshy produces one smooth, merged mesh, and Vexalia’s whole fusion fantasy depends on creatures being built from swappable, inheritable parts. A smooth mesh cannot inherit a wing. So we built our own pipeline instead: VoxelGrid, a palette system, a part library, an assembler that snaps limbs and heads and tails onto a body from a recipe. Slower to start, but it is the only way fusion ends up looking like genetics instead of a costume swap.

Everything else that day happened around that decision. The main menu became “The Cradle,” a walkable voxel diorama of the settlement, and immediately had dead buttons, because the UI generator had wired up thirty buttons with zero onClick listeners and there was no EventSystem in the scene either. We fixed both. The VEXALIA logo got redone after an early pass read as “generic voxel font,” this time pulled straight from the brand study PDF (Vexar cyan, Fire orange, the works). We got a first playable battle, wired the capture QTE into it, and tested it live: our first capture attempt missed and burned the turn, the second one caught the Lunep at 88%.

The best bug of the day, honestly, was the settlement running off the edge of its own floor. We built the map at 80×80 and then put buildings at z=-43, which is off the map. Floor became 120×120, players got clamped at ±55, and we added a rescue check for anyone who still managed to fall through. It happens.

By the end of the day: a full Bootstrap-to-Combat play loop, a fusion cinematic at a three-pedestal Forge altar, and a settlement with a name, Lumen’s Hope.

Fusion at the Forge altar The capture QTE zone bar