SERVICE MANUAL ยท CABINET โ„–001 "BULAN"

HOW WAU! WAS BUILT

THE BRIEF WE GOT, THE ONE TRICK WE PUSHED, AND WHAT FOUR HOSTILE CRITIQUE PASSES FOUND. NOTHING BELOW IS DECORATION. IT'S THE REPAIR LOG.

01 / THE BRIEF, AS RECEIVED

ONE PAGE FROM THE DIRECTOR. A PLAYABLE ARCADE SITE โ€” THE WHOLE PAGE IS THE GAME. FLY A WAU BULAN OVER PIXEL PADI FIELDS AT NIGHT.

SIGNATURE TECHNIQUE
A COMPLETE CANVAS GAME LOOP โ€” HOLD TO CLIMB, RELEASE TO DIVE, DODGE STORM CLOUDS AND HORNBILLS, WIND GUSTS SHOVE YOU. SCORE + BEST IN LOCALSTORAGE.
PALETTE
NIGHT #0B1020 ยท MOON #F4E9C8 ยท KITE CRIMSON #D64545 + GOLD #E0B64F ยท CRT SCANLINES
TYPE
PRESS START 2P (DISPLAY) + VT323 (TEXT)
COPY VOICE
ATTRACT-MODE ARCADE CABINET โ€” ALL CAPS, SHORT, COCKY
PROVE
A WEBSITE CAN BE A GAME PEOPLE REPLAY โ€” PURE INTERACTIVITY

02 / THE ONE TRICK, PUSHED DEEP

EVERYTHING HANGS OFF ONE PHYSICS LINE AND ONE WIND STATE MACHINE. THIS IS THE ACTUAL SHIPPED SOURCE โ€” THE HOLD/RELEASE FEEL AND THE GUST THAT CHEATS FAIRLY:

/* the whole game, honestly */
var speed=60+Math.min(100,score*0.4);
kite.vy+=(hold?-560:340)*dt;
if(gust.phase==="blow")kite.vy+=gust.dir*230*dt;
kite.vy=Math.max(-135,Math.min(175,kite.vy));

/* gust machine: idle โ†’ warn (arrows flash) โ†’ blow โ†’ idle */
if(gust.phase==="idle"&&gust.t>gust.next){gust.phase="warn";gust.dir=Math.random()<0.5?-1:1}
else if(gust.phase==="warn"&&gust.t>1.1){gust.phase="blow"}
else if(gust.phase==="blow"&&gust.t>1.4){gust.phase="idle";gust.next=6+Math.random()*6}

CLIMB IS STRONGER THAN GRAVITY (โˆ’560 VS +340) SO HOLDING FEELS BRAVE; THE VELOCITY CLAMP KEEPS DIVES RECOVERABLE BY ONE HUMAN THUMB. THE GUST ALWAYS WARNS FOR 1.1 SECONDS BEFORE IT SHOVES โ€” THE GAME IS UNFAIR, NEVER CHEAP. EVERYTHING IS DRAWN IN CODE: THE HORNBILL, THE MOON, THE PADI, THE KITE. ZERO IMAGE FILES.

03 / THE CRITIQUE LOG

EVERY PASS: SHOOT THE REAL PAGE ON DESKTOP + MOBILE, READ THE SHOTS LIKE A HOSTILE ART DIRECTOR, FIX EVERYTHING, THEN ADD ONE DELIBERATE UPGRADE.

PASS 1 โ€” FIRST LIGHT

  • THE HERO KITE READ AS A RED UMBRELLA, NOT A WAU BULAN โ€” FLAGGED FOR A FULL SPRITE REBUILD.
  • HUD TEXT SAT NAKED OVER THE LIVE STARFIELD โ€” HARD PIXEL SHADOWS ADDED EVERYWHERE TEXT MEETS SCENE.
  • THE RUNNER ON THE GROUND VANISHED INTO THE DARK PADI โ€” LIFTED TO A MOONLIT NAVY SILHOUETTE.

PASS 2 โ€” THE KITE EARNS ITS NAME

  • KITE SPRITE REBUILT: SWEPT WINGS, GOLD LEAF MOTIF, SEPARATED BULAN CRESCENT, WING-TIP TASSELS.
  • UPGRADE: A STREAMING RIBBON TAIL โ€” 22 TRAILING SEGMENTS ALTERNATING CRIMSON/GOLD THAT WHIP WITH VELOCITY.+RIBBONS
  • CRT BOOT FLASH ON LOAD SO THE FIRST FRAME FEELS LIKE A TUBE WARMING UP, NOT A PAGE LOADING.

PASS 3 โ€” HOSTILE READ, SESSION TWO

  • MOBILE HERO KICKER WIDOWED ("0 / MERCY" SPLIT MID-PHRASE) โ€” REBROKEN INTO TWO BALANCED LINES.
  • THE ANGIN MINI-CANVAS READ AS A BROKEN IMAGE โ€” THREE FAINT DASHES. NOW THICKER STREAKS + FLASHING GOLD WARNING ARROWS, SAME LANGUAGE AS THE IN-GAME HUD.
  • HUD TOGGLE BUTTONS HAD MUDDY BORDERS UNDER THE CRT LAYER โ€” CONTRAST BUMPED.
  • DEAD ZONE UNDER THE CABINET SPEC CARD โ€” FILLED WITH A COIN SLOT: "MASUKKAN 20 SEN".
  • UPGRADE: THE GRAZE SYSTEM โ€” SHAVE PAST A HORNBILL WITHOUT DYING AND THE CABINET PAYS +25M, GOLD SPARKS, A TOAST. RISK NOW HAS A PRICE TAG.+GRAZE

PASS 4 โ€” LAST COAT OF PAINT

  • THE HOLD/RELEASE DEMO BOXES IN THE MANUAL READ AS DEAD PIXELS โ€” REBUILT AS MINI-KITES WITH RIBBON TAILS AND A STRING.
  • FOOTER PAGE-WEIGHT STAT WAS A PLACEHOLDER GUESS โ€” REPLACED WITH THE MEASURED NUMBER.
  • UPGRADE: KELIP-KELIP โ€” FIREFLIES BLINKING OVER THE PADI, PRE-WARMED SO FRAME ONE IS ALREADY ALIVE.+FIREFLIES

ZERO CONSOLE ERRORS ON BOTH VIEWPORTS IN THE FINAL HARNESS RUN. THE CABINET PASSED INSPECTION.