Public
Khachapuri, power-ups and perfect drops. Carbs against gravity.
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.

Supra Stack: One Hundred Feasts

Carbs against gravity. An original Canvas 2D khachapuri stacking game, hosted on Val Town with no build step.

Version 3.0.0

Supra Journey now contains 100 playable, individually named levels across ten illustrated chapters and 300 optional stars. The first five levels retain their original goals. Complete a level's stack target to earn one star and open the next stop. Two optional objectives offer replay value; replaying never reduces the saved best stars or score.

The chapters are Bebo’s Kitchen, Balcony Gardens, Riverside Market, Lantern Streets, Vineyard Picnic, Seaside Boardwalk, Forest Hideaway, Snowline Bakery, Sky Carnival, and The Grand Supra. Each chapter has ten levels and a cosmetic serving-plate reward. The original heirloom plate remains unlocked at level 5.

23 discoveries arrive at varied, fixed intervals of three to five levels after the opening five levels. This is a designed progression, not a reshuffle on every retry. Discoveries include mechanics, powers, scenery and reward milestones, not 23 separate power-ups. Gentle recipes break up the more demanding combinations.

Controls

Tap the game or press Space to drop. P or Escape pauses; switching tabs pauses automatically. Original powers: 1 for Slow Bake, 2 for Cheese Glue, 3 for Bebo’s Blessing. Each run starts with a charge of each; every fifth landing refills one, cycling through the three.

The additional Bebo’s Basket slot uses key 4 or its touch button. Choose one available power in a level's Recipe & Basket menu. Each run includes one free basket charge. Six basket powers unlock:

LevelPowerEffect
9Dough RiseRestore up to 40 pixels of bread width.
17WindbreakSilence wind and tray movement for three drops.
26Tea BreakFreeze the moving bread and tray for up to five seconds; dropping remains available.
35Soft ApronPreserve at least 80% of the smaller loaf on the next non-perfect partial landing. Does not rescue a complete miss.
44Sweet SpotIncrease the perfect-landing window for three drops.
64EncorePreserve the combo through one non-perfect landing without counting it as a perfect.

Recipes and scenery

Journey recipes introduce golden loaves, a smooth breeze, rocking and tidal trays, rhythmic movement speed, mixed-size bakes, stronger mountain gusts, and basket refills. Wind affects horizontal aiming only. Trays move only during aiming. Once a loaf drops, its horizontal position and the tray stop changing, so the advertised landing remains predictable.

Golden loaves double base points. Supra Fever awards double points for five drops after a five-perfect streak. These bonuses can combine. Pantry recipes refill the basket every sixth landed loaf; golden-hands recipes refill it on each third combo-perfect. Basket charges cap at two.

Day, dawn, golden hour, dusk, night and height-based lighting changes complement garden petals, riverside markets, seaside waves, lantern streets, vineyards, woodland fireflies, snowy bakeries, carnival balloons and the grand family table. Snow, petals, rain and fireflies are decorative rather than hidden hazards.

Bebo retains nine expressive moods, eye tracking, blinking, head tilts, clapping, contextual encouragement and the reaching-hand rescue animation. Original cheese strands, falling crust, score pulses and height-record markers remain. Reduced-motion preferences are respected. Classic and Daily Bake remain available with the original movement rules.

Persistence

supra-stack-v1 retains original best scores, skins and twelve achievements. supra-journey-v2 is deliberately retained for expanded level progress, basket preferences and viewed introductions. The app attempts a one-time raw backup of an existing Journey save into supra-journey-before-v3 before writing expanded data. Users who completed the original five levels continue at level 6.

Progress is browser-local on the same origin, not account-synced. Storage failures do not prevent play, but progress may then last only the current visit. Friend challenge URLs do not form a verified global leaderboard. No ads, payments, lives or energy timers were added.

Files

  • main.tsx: staticHTTPServer entrypoint, /health and /source.
  • index.html, style.css, journey.css, campaign.css: the interface and responsive layouts.
  • script.js: core state, collisions, original powers, input, sound, scoring and persistence.
  • campaign.js: 100 level definitions, ten chapters, unlock schedule and optional goals.
  • journey.js: map, chapter atlas, recipe previews, introductions, basket, rewards, Bebo integration and progress.
  • world.js: themed Canvas scenery and campaign-only mechanics.
  • renderer.js: original procedural bread artwork, table and scenery.
  • bebo.js: original animated SVG grandmother.
  • verify-campaign.ts: maintainer import/configuration checks and hashes of the four primary tested source files.

Validation and scope

164 local Chromium checks passed, including automated timing-based completions of all 100 levels, the 300-star path, progression and chapter transitions, power contracts and combinations, pause behavior, bounds, legacy-save migration, replay retention, Classic, deterministic Daily Bake, denied storage, reduced motion, and layouts from 320 to 1440 pixels wide. No JavaScript page errors were reported by that test run.

Browser navigation was unavailable in the build environment. Those browser tests therefore loaded the app in memory and emulated localStorage, including reinitialization from saved data. They were not live-origin browser end-to-end tests, nor a substitute for human difficulty balancing. Hosted HTML/module responses are checked separately through Val Town; runtime verification confirms module imports and that the four primary deployed sources match the locally tested SHA-256 hashes.