
Cyber Mario — Public Testing Beta
September 14, 2025·3 min read
Welcome to the Cyber Mario testing beta — a neon-soaked platformer engineered for the open web.
It’s fast, punchy, and built to feel great on both keyboard and gamepad, desktop or phone.
🚀 Play the Beta
The game runs right here, in the blog — no install, no sign-in.
Launch it here → Play Cyber Mario
Grab a controller if you’ve got one. Press ~ to open the map.
See how far you can push your chain, and tag your best flag-pole bonus.
Neon on. Coins up. See you in World 1-1.
🎮 How to Play
- Move: Arrow keys / A-D or left stick
- Jump: Z / Space / A (Xbox)
- Fire (when powered): X (Xbox) / K (keyboard)
- Slam: Press Down while in the air
- World Map: Press ~ (Backquote) or click World Map ▾
- Reserve power-up (SMW-style): Press R to drop from the top-center box
The HUD keeps things clean: hearts, time, coins, and your running score. A lightweight profiler HUD (Ctrl+Shift+D) is available for devs who want frame timing and draw-call stats.
✨ What’s New in the Beta
A SMW-inspired Reserve Box
Pick up a mushroom/wing/fire while you’re already powered? It gets tucked into a top-center reserve box. Tap/click it or press R to deploy — perfect for clutch saves or boss runs.
World Map with True Unlocks
The World Map auto-filters and shows lock icons on levels you haven’t earned yet. Beat 1-2 to unlock 1-3, and so on — first level in each world is always open. Locks match the castle lock styling for a consistent vibe.
Course-Clear Summary (Single Modal)
Finish a level and see a single, consolidated summary: coins, enemy KOs, chain max, flag bonus, time bonus, clear bonus, and the total. From there, confirm and roll into the next course.
Controller UX on Desktop
A small controller indicator sits at the top-right: grey when disconnected, cyber-lime when a pad is live. You’ll also get toasts on connect/disconnect and a one-click controls sheet tailored for Xbox mapping.
🧠 Design Notes
Controls That Forgive (and Reward)
The jump logic includes coyote time and a jump buffer, so late jumps still register, and you can chain stomps or slam attacks without fighting your inputs.
Scoring That Feels Right
Like SMW, score is lifetime-style across a run and tallies only when you clear a course. Sub-levels contribute to their parent; dying mid-course won’t corrupt your saved totals.
Sub-Levels & Checkpoints
Ducts, pipes, and side rooms act as segments; their loot and KOs feed the parent level’s totals. Checkpoint flags provide a one-time respawn with remaining time preserved.
📟 Tech Under the Hood (for the curious)
- Pure Canvas + React single page with careful draw batching
- PWA niceties: manifest, theme color, iOS icons, and full-screen helpers
- Mobile polish: orientation nudge, input-zoom prevention, touch-gesture hard locks, and dynamic viewport sizing
- Local storage: world-clear state and scoring durability live client-side now, with a clean path to a server later
- Performance tools: an optional on-screen frame budget profiler for FPS/ms and tile/draw counts
(If you like peeking behind the curtain, many of these features are wired directly in cyber-mario.js — reserve box, world map, controller UI, summary modal, mobile UX helpers, and more.)
🗺 Progression & Unlocks
- First level of each world is always playable.
- Subsequent levels unlock once you’ve cleared the previous main level.
- Sub-levels never appear in the map and always roll up to their parent.
- Your cleared worlds persist in
cm_worlds_cleared_v1(browser storage).
🔊 Audio & Feel
A chill chiptune loop sets the mood. Jumps, wins, and the occasional Boo cackle round out the soundscape. Toggle BGM on/off from the HUD anytime.
📱 Devices & Performance
- Desktop: Chrome or Edge recommended; gamepad strongly supported.
- iOS/Android: Mobile-first tweaks reduce accidental pinch-zoom and keep the canvas full-bleed.
- Debug HUD: Enable when needed; it’s hidden by default so players stay immersed.
🧪 What to Test Right Now
- Map unlocks after clearing a level (1-2 → 1-3, etc.)
- Reserve box behavior when picking up a second power-up
- Course-clear modal totals vs HUD totals
- Gamepad mapping: A = Jump, X = Fire; slam + world-map shortcuts
- Sub-level coin/score roll-up into the parent course
If you spot glitches, capture a short clip or screenshot plus the level ID and what you were doing just before it happened.
🛣 Roadmap
- Boss pass with telegraphed patterns and arena locks
- Particle polish on stomps, bricks, and flag bonuses
- Optional leaderboards (opt-in, seed-based submission)
- Achievements and time-attack variants
Enjoyed this post? Give it a clap!
Comments