2026-06-02

Redesign Direction — Cuteness and Feel as the Yardstick

If I had to pick just one criterion for the rebuild, it was "cute, and deliberately designed." The old version drifted into a horror tone because I started bolting on assets before ever nailing down the mood.
This time I pinned the mood down in writing first.

Mocha the adventurer rabbit — the cute mood I was trying to bring back

I settled on the mood "cozy twilight burrow." A warm, calm storybook evening.
The dirt is warm milk chocolate (#8a5a3c), and the fog is a gradient melting from peach into deep amber.
My reference points for that sense of warmth were Alto's Adventure and Monument Valley.

The problem is that picking colors on a whim, anywhere you please, turns into programmer art fast.
So I built a limited palette and pinned all of it in one place, constants.ts.
Rabbit fur, pink, dirt, fog, amber glow — and I banned writing color literals inside components.

export const PALETTE = {
  TUNNEL_DIRT: "#8a5a3c", // warm milk-chocolate dirt
  FOG: "#e89b6d",         // peach→amber fog
  CRYSTAL: "#ffc46b",     // amber glow (bloom target)
  RABBIT_FUR: "#fff4e0",
  RABBIT_PINK: "#ff9eb0",
} as const;

The second decision was to drop the physics engine.
The old version had a rapier dependency that was only declared; this time I removed it from the dependencies altogether.
What this genre needs isn't an accurate rigid-body simulation — it's feel.
I have to hold, as numbers in my own hand, exactly how acceleration builds and what curve a jump traces.
Handing that to a simulator actually means losing that control.

With the direction set, what to draw became clear.
The next post looks at the actual result as a Before/After.

Next: Before / After →