Hyperbolic Game Engine

The goal of this project was to design a 2D hyperbolic game engine in p5.js using the Poincaré disk as the hyperbolic model. The inspiration for the game engine came from the arcade game “Asteroids”. In that game one can steer a spaceship and shoot lasers on flying asteroids to get points and reach different levels.

In this project the basic structures that can be used in every game strategy, such as movement, steering and collision detection in hyperbolic space are defined.

We also created different game modes. One single player version where the goal is to shoot asteroids and a multiplayer version where the goal is to shoot one another. Also a simple Euclidean asteroids version is included.