![]() |
![]() |
This project was created as part of the Media Design 2 elective within the Bachelor of Science in Media Systems program at HAW Hamburg. It was developed during the summer semester of 2025.
The project was supervised by Prof. Ralf Hebecker.
All documentation and programming were primarily completed by human contributors, with assistance from DeepL and ChatGPT.
MagicMirrorBox is an interactive puzzle game inspired by classic 2D escape room mechanics. A single player uses a laser beam and manually rotatable mirrors to hit a designated target. The game is intended for use in exhibitions or live escape room settings. The objective can be customized to fit the context, whether it's deciphering a numeric combination by mirror order or revealing a shape to guide progression in the experience.
This game targets puzzle enthusiasts who enjoy logic-based challenges and spatial reasoning. It’s particularly appealing to players interested in physics-inspired mechanics, as it involves understanding object orientation, angle dynamics, and interactive feedback. The game is suitable for a wide age range but requires a level of patience and curiosity to experiment and iterate through possible solutions.
As part of a broader escape room scenario, the game initializes when players enter the room. However, it only becomes interactable upon entering a specific button code, usually revealed by a previous puzzle. This code unlocks the Mirror Puzzle.
Interaction is controlled via three face buttons on one side of the KUTI table:
The objective is to rotate mirrors so that the laser beam reflects through all correct points and reaches the final target. The final path may form a symbol or clue, useful for subsequent puzzles.
The current prototype is developed for Windows and should be playable on any Windows PC that can run Windows 11. Download it here:
https://anskarr.itch.io/magicmirrorbox
![]() Prototype set up directly on the KUTI table |
Video showing gameplay from the late-June prototype | ![]() Early cardboard prototype from the concept phase |
![]() Prototype screenshot (early progress) |
![]() Mid-game screenshot |
![]() Completed level screenshot |
The prototype currently demonstrates core gameplay functionality: laser reflection, mirror control, and goal-oriented beam routing. All mechanics are functional, though visually and structurally unpolished.
Laser Thickness Consistency:
The beam's width varies depending on its reflection distance, causing visual inconsistency. This will be resolved in future iterations to ensure a stable and uniform beam appearance.
Layout and Puzzle Difficulty:
Despite using a moderate number of mirrors, the challenge level is disproportionately high. Layout refinement and difficulty balancing will enhance accessibility without compromising depth.
Potential for Two-Player Mode:
The KUTI table includes three unused buttons on the opposite side. These could enable two-player cooperation or competition, adding a social dimension to the gameplay.
Visual Feedback and Art Style:
Textures and art assets will be unified for a consistent visual style. The UI will be improved to better highlight the currently selected mirror and clarify mirror cycling.
Level Structure and Game Flow:
Future versions will offer multiple levels and clearer visual/auditory cues for starting and completing a game. Improved structure will guide players through the experience more effectively.
A physical version using real lasers would be cost-prohibitive and raise safety concerns—especially in public or child-accessible environments. A fully digital version eliminates these issues and enables more flexible development and deployment.
The game is built for the KUTI Gaming Table, featuring a 1280×1024 px, 5:4 TFT display and an integrated Raspberry Pi 3B. In the final version, the game will run natively on the Pi.
For development purposes, a PC or laptop is connected to the KUTI table using HDMI and an I-PAC2 microcontroller. This modular setup allows developers to use the KUTI's display and buttons without needing to flash the game onto the Pi after each change—streamlining iteration and testing.
Upon puzzle success, the game provides:
The full cost of 8,981 € / 9,011 € includes the following:
| Name | Utilization | Source | Price |
|---|---|---|---|
| KUTI Gaming Table | Core hardware, includes buttons and Pi 3B | kuti-spiele.com | ~1,500 € |
| I-PAC2 Microcontroller | Translates button inputs to PC | ultimarc.com | ~40 € |
| Laptop / PC | Development & debugging | Lenovo E14 Gen 7 | 739 € |
| Unity + C# | Game engine & code base | unity.com | Free (≤ $200K revenue) |
| Aseprite / Clip Studio Paint | For creating visuals and sprites | aseprite.org, clipstudio.net | ~20 € / ~50 € |
| Wiring Kit | Connects KUTI buttons to I-PAC2 | ultimarc.com | ~30 € |
| HDMI-VGA Cable | Connects display to laptop | Amazon | ~10 € |
| USB-A to Mini-USB Cable | Connects I-PAC2 to laptop | Amazon | ~2 € |
| Labor Cost | Development, design, testing | — | 7,000 € |
Labor Breakdown: