iGaming Lab
Client-Experiment

Mini Maze

Canvas · deterministic loop
Interactive client experimentWeiter Standalone
Loading Mini Maze runtime…
engineering.case-study

Die Systemgrenze von Mini Maze im Detail.

Was Spieler erleben, wofür die Implementierung tatsächlich verantwortlich ist und wo die Aufgaben eines Produktionssystems beginnen.

01

Hintergrund des Spiels

A maze is a deterministic navigation puzzle: reach a goal while respecting a fixed set of walls. This demo is included as a client-engineering boundary rather than a wagering game, focusing on rendering, input normalization, and collision behavior.

02

Funktionsweise

  1. Move the player with keyboard, touch, or on-screen controls.
  2. Each requested step is checked against the fixed collision map.
  3. Valid moves update the canvas and counters; blocked moves leave position unchanged.
  4. Reaching the goal completes the local run.
03

Backend-Architektur

The entire loop runs in the browser with PixiJS. Input, player position, collision checks, elapsed time, and completion state are local; there is deliberately no backend or RNG boundary.

InputPixiJS loopCollision mapGoal stateUI feedback
04

Systemgrenzen

Input Adapter
Keyboard, touch, and button commands.
PixiJS Loop
Rendering and frame updates.
Collision Map
Which deterministic moves are valid.
Goal State
Completion and local feedback.
05

Kritische Engineering-Entscheidungen

  • Use a fixed maze so behavior is repeatable.
  • Normalize multiple input methods into the same movement command.
  • Check the next bounding box before mutating position.
  • Keep this client-only to make its trust boundary explicit.
06

Fehlerbehandlung

  • Unsupported input does not mutate state.
  • A blocked move is ignored rather than clipping through a wall.
  • Refreshing the page resets the run because no persistence is promised.
  • There is no server reconnect or reconciliation path because no authoritative backend state exists.
07

Fairness / RNG

No RNG is used. The map, movement step, collisions, and goal are deterministic.

08

Konzeptionelles Datenmodell

MazeState- playerX- playerY- moves- elapsedTime- completed
CollisionMap- walls- bounds- goal