Skip to content

A high-performance, modular puzzle adventure built with TypeScript and HTML5 Canvas. Featuring procedural maze generation (Recursive Backtracking), a dynamic 3-star time-trial progression system, local data persistence, and a polished glassmorphism UI.

License

Notifications You must be signed in to change notification settings

ABiR994/Maze-Runner

Repository files navigation

Maze Runner 🎮

Maze Runner Logo

A high-performance, modular, and immersive web-based puzzle adventure built for the modern browser.

Explore the Live Game →

TypeScript Vite Vercel Tailwind CSS HTML5 Canvas Jest


✨ Features

  • Procedural Maze Generation
    Every sector is unique. Leveraging the Recursive Backtracking algorithm to ensure complex, perfectly solvable mazes every session.

  • Dynamic Star Progression
    A competitive 3-star rating system based on speed and efficiency. Race against the decaying time-bar to secure a perfect rating.

  • Persistent Progress
    Your journey is saved. Unlock new sectors as you progress and return to your highest level anytime via local data persistence.

  • Arcade-Style Fluidity
    Silky-smooth movement using linear interpolation (lerp) and a high-performance requestAnimationFrame render loop at 60fps.

  • Immersive Glassmorphism UI
    A professional "Sector Control" interface featuring backdrop blurs, glowing HUD elements, and animated floating modals.

  • Intelligent Path Highlighting
    An adaptive energy trail that tracks your progress through the maze and intelligently erases itself during backtracks.

  • Keyboard & Touch Optimized
    Seamless control via WASD, Arrow Keys, or On-screen Joypad for high-speed navigation on any device.

  • Accessibility & UX
    ARIA-compliant structures, high-contrast visual cues, and focus-managed menus ensure a seamless experience for all players.


🚀 Tech Stack

Layer Technology
Engine Vanilla TypeScript
Rendering HTML5 Canvas API (2D Context)
Styling Tailwind CSS v3
Build Tool Vite
Persistence Browser LocalStorage API
Testing Jest + ts-jest
Animations CSS Keyframes + Canvas Lerp
Deployment Vercel (Edge Network)
CI/CD Vercel (Auto-deployment)

🛠️ Installation & Setup

  1. Clone the repository:

    git clone https://github.com/your-username/maze-runner.git
    cd maze-runner
  2. Install dependencies:

    npm install
  3. Development Mode: Launch the Vite development server with Hot Module Replacement (HMR):

    npm run dev
  4. Run Unit Tests: Verify core logic (Maze Gen, Player Physics, Storage):

    npm test
  5. Production Build: Generate an optimized, minified bundle:

    npm run build

🏗️ Architecture

Maze Runner is built with a strictly decoupled architecture for long-term maintainability and performance, optimized for high-speed delivery via Vercel's Global Edge Network:

  • GameEngine: The central orchestrator managing state transitions, input handling, and the core game loop.
  • Renderer: A pure drawing layer that handles all Canvas operations, lighting effects, and path logic with zero side effects.
  • Maze: A standalone logic class for procedural generation and efficient grid validation.
  • Storage: A modular interface for managing persistent player data, unlocking sectors, and tracking star ratings.
  • UI Components: Modular classes (HUD, Menu, Modal) that manage the DOM-based interface independently from the game canvas.

🤖 Built With

This application was architected and developed using OpenCode and Antigravity, leveraging advanced agentic coding workflows to ensure clean architecture, professional UI design, and rigorous git discipline.

"Engineering is the art of making the complex feel simple."


📜 License

Distributed under the MIT License. See LICENSE for the full text.


Find the exit. Beat the clock. Master the maze.

About

A high-performance, modular puzzle adventure built with TypeScript and HTML5 Canvas. Featuring procedural maze generation (Recursive Backtracking), a dynamic 3-star time-trial progression system, local data persistence, and a polished glassmorphism UI.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published