Escape
Escape is an interactive artwork that allows viewers to explore the world of Escape on a Game Boy-like console and learn about mathematical category theory through gameplay.
In modern society, mathematics underpins virtually all forms of technology, and its role has become increasingly significant in recent years. However, progress in mathematics education has been relatively limited.
Category theory is one of the most important concepts in mathematics, providing a fundamental tool for understanding, abstracting, and applying mathematical structures. Yet it is rarely covered in modern mathematics education. This artwork bridges that gap by inviting viewers to experience the world of category theory through an interactive game environment.
Gameplay
Players engage in a 2D top-down action game on a Game Boy-like console. The main character is controlled with four arrow buttons (up, down, left, right) and an A button for jumping.
The goal of the game is to escape from a large building composed of multiple rooms. Each room contains NPCs who can act as obstacles or collaborators. Players must avoid, manipulate, or work with these NPCs to progress.
NPCs move according to their own algorithms, and sometimes their movements form finite categories. To succeed, players need to understand the algebraic structure of these categories and strategically manipulate them to escape each room.
Hardware
Raspberry Pi 5
Case TBD
The Raspberry Pi 5 handles the main computation.
Software
OS: Raspberry Pi OS
Graphic Engine: Chromium
Development language: JavaScript
The game runs by launching Chromium in kiosk mode with an embedded HTML page. This setup transforms the Linux machine into a dedicated game console. Graphics are drawn using the HTML Canvas API and JavaScript. No external game engine is used; all object movements and interactions are calculated directly in JavaScript.
Editor
VSCode
VSCode Custom Editor Extension
VSCode plays a crucial role in this artwork. We developed a bespoke editor for creating and modifying the world map. Using this editor, we set the positions and directions of objects, map cells, and NPCs, enabling the formation of group-theoretic situations within the game environment.