1 Arcade Alley

Vegas-styled classic arcade cabinets on the web terminal — skill minigames in a fullscreen CRT overlay, without entering the pixel RPG.

1.1 Cabinets

Game Classic DNA Cost Goal
Strip Cross Frogger 5 chips Cross Las Vegas Blvd to the neon marquee
Neon Invaders Space Invaders 10 chips Clear the neon-sign wave
High-Roller Breakout Breakout 10 chips Smash the card-suit brick wall
Showgirl Beat Rhythm 15 chips Match kick / snare / hat for 5 rounds

1.2 Overlay

Selecting a cabinet opens a fixed CRT arcade overlay (chrome bezel, neon marquee, scanlines, coin insert, LED footer). Keyboard or on-screen controls; ESC / EXIT returns to the alley.

Playfields render at 720×840 (2× the CRT aspect) with procedural pixel sprites, multi-frame animations, dithered surfaces, neon shading, and lightweight particle FX — no external image assets. Canvas sampling is nearest-neighbor so the CRT upscale stays crisp.

1.3 Economy

  • Play debit counts as a wager (MGM Rewards handle).
  • Skill payouts scale ~0–3× the play cost.
  • Arcade tickets from score (score / 100, +2 on clear) redeem for small chip packs, a free-spin voucher flag, or a welcome-drink refill.

1.4 Persistence

Tickets, high scores, and redeem flags save in session.arcade / arcadeData.

1.5 Implementation

  • Overlay: docs/js/arcade/ArcadeCabinetOverlay.js
  • Games: docs/js/arcade/games/*.js
  • Shared gfx kit: docs/js/arcade/gfx/ (display, pixel, anim, fx, sprites)
  • Floor UI: docs/js/ui/arcade-renderers.js
  • CLI: lists cabinets only (mandalay_bay/activities/arcade.py)