-
Notifications
You must be signed in to change notification settings - Fork 0
Home
A premium collection of 11 classic game replicas built from scratch using Tauri v2, Phaser 4, and TypeScript.
Universal Retro Arcade is a self-contained desktop and mobile arcade application featuring 11 classic and early-2000s game replicas, all built from the ground up — no ROMs, no emulation, no third-party game engines beyond Phaser 4. The entire binary ships at under 15 MB (courtesy of Tauri v2's native WebView approach), runs natively on Windows, macOS, and Android, and pairs seamlessly with Xbox or PlayStation controllers.
Every game supports four difficulty tiers (Easy → Expert), stores per-difficulty high scores via IndexedDB, and can be played with a CRT post-processing shader toggled with Ctrl+Shift+C.
| Topic | Description |
|---|---|
| Installation | Install prebuilt binaries or run from source |
| Games | Detailed rules, controls, and tips for all 11 games |
| Controls | Keyboard, gamepad (Xbox/PlayStation), and touch |
| CRT Shader | How the GLSL CRT effect works and how to configure it |
| Development | Dev environment, project structure, adding a new game |
| FAQ | Common questions and troubleshooting |
| Security | Security architecture, sandboxing, Tauri IPC scoping |
| Workflows | GitHub Actions workflows guide, building & releases |
| # | Display Name | Scene Class | Genre | Primary Controls |
|---|---|---|---|---|
| 1 | Snake Evolution | SnakeScene |
Arcade | Arrow Keys / D-Pad |
| 2 | Neon Pong | PongScene |
Sports | W / S Keys / Left Stick |
| 3 | Astro Drift | AsteroidsScene |
Shooter | WASD + Space / Right Trigger |
| 4 | Brick Breaker | BreakoutScene |
Arcade | Mouse / Left Stick |
| 5 | Froggie Crosser | FroggerScene |
Arcade | Arrow Keys / D-Pad |
| 6 | Space Defenders | InvadersScene |
Shooter | Arrow Keys + Space |
| 7 | Tetris Pulse | TetrisScene |
Puzzle | Arrow Keys + Space |
| 8 | Minesweeper | MinesweeperScene |
Puzzle | Mouse / Touch |
| 9 | Pixel Runner | RunnerScene |
Endless | Space / A Button |
| 10 | Brave Bird | BirdScene |
Endless | Space / A Button |
| 11 | Cyber Chasm | CyberScene |
Platformer | Arrow Keys / Left Stick |
Plug in any USB or Bluetooth Xbox / PlayStation controller before launching. The HTML5 Gamepad API auto-detects it and maps all buttons. A 🎮 GAMEPAD CONNECTED badge appears in the lobby header on connection.
Press Ctrl+Shift+C anywhere in the lobby to toggle a hardware-accelerated post-processing pipeline. The shader applies barrel distortion, chromatic aberration, and vignette via Phaser 4's postFX camera pipeline. The preference is persisted across sessions in localStorage under the key arcade_crt.
Each game stores difficulty-specific high scores in localStorage using the key pattern arcade_score_<SceneName>_<DIFFICULTY>. Scores are displayed in the lobby's game list next to each entry.
On the lobby screen, type the characters B → I → O → S on your keyboard (any case) to trigger the BiosSystem Kernel diagnostic overlay — a neon flash reading:
⚡ BIOSYSTEM KERNEL ⚡
Tauri Quantum Core v2.0 — Active
All games accept a difficulty parameter passed from the lobby:
| Level | Color Code | Description |
|---|---|---|
| EASY | Cyan (#00ffcc) |
Relaxed pace, forgiving AI |
| NORMAL | Green (#00ff6e) |
Balanced arcade challenge |
| HARD | Yellow (#ffcc00) |
High speed, aggressive AI |
| EXPERT | Red (#ff2255) |
Maximum velocity. Extreme |
| Platform | Artifact | Architecture | Notes |
|---|---|---|---|
| Windows |
.exe installer |
x64 | Uses system WebView2 |
| macOS | .dmg |
arm64 / x64 | Metal-backed rendering |
| Android | .apk |
arm64 | Touch-optimized controls |
| Cloud / Headless | .tar.gz |
— | Remote score tracking server |
| Layer | Technology | Version |
|---|---|---|
| Desktop Shell | Tauri | v2.11.1 |
| Game Engine | Phaser | v4.1.0 |
| Build Tool | Vite | v8.0.14 |
| Language | TypeScript | ~6.0.3 |
| Rust Runtime | Tauri + serde | Rust 1.77.2+ |
Universal Retro Arcade enforces strict client sandboxing:
- Tauri v2 IPC Scoping: All API interactions between the Phaser frontend and Rust backend are strictly scoped with restricted capabilities configuration.
- IndexedDB State Verification: High scores and game states are bounds-checked at runtime to prevent local storage tampering.
- Shader Bounds Enforcement: GLSL post-processing scanline shaders are bounds-checked to prevent WebGL resource memory overflow issues.
For detailed security guidelines and disclosure policies, see the Security Architecture page.
Copyright © 2026 BiosSystem | Powered by BiosSystem Kernel