Non Euclidean Game
We built a game with non-euclidean objects like the klein bottle or the boy's surface.
Unity Project
Built with Unity 2020.3.3f1 · download the source from GitHub
README
Non-Euclidean-Game
We built a game with non-euclidean objects like the klein bottle or the boy's surface.
Table of Contents
- Project Description
- Project Goals
- Project Ideas
- Meeting notes 18.12.2020
- Technologies
- TODO
- Project Status
- Screenhots from the game
- Inspiration
- Resources
- Presentation Resources
- Contributors
Project Description
In this project, we work on non-euclidean objects. We will help the user to better understand the complex geometry behind the boy's surface and the Klein bottle, by enabling him to explore these objects by themself. In the beginning, we will test our implementation on a donut to work out the flaws and get the basics, like moving and gravity right.
The gaming idea behind all of this is, that the player has to find out, on which object he currently is. Expanding on this idea we thought that we would add some guards of some sort that the player has to avoid.
| Boy Surface | Klein bottle |
|---|---|
![]() |
Project Goals
- build two non-euclidean surfaces that the player can walk on. Surfaces must consist of the Klein bottle and the boy surface
- subgoal: Just like Mario Galaxy
- subgoal two: World changes as the game progresses
- subgoal three: On the surface, there are rooms, tunnels, and so on
Project Ideas
- Add a gun
- Add a little story
- Add enemy model
- Add player model and animation
- Add skybox
Meeting notes 18.12.2020 (German)
- Kleinsche Flasche und Boysche FlÀche besser geeignet, da sie keinen Rand haben
- was passiert mit dem Spieler, wenn er in der Kleinschen Flasche an den Schnittpunkt kommt?
- Sonnensystem Idee: Spieler weià nicht auf welcher FlÀche er sich befindet und muss das rausfinden
- Jede Ausbaustufe eigenes AnfÀngerpraktikum
- Thorus statt Möbiusband
- Meshlab Programm (.ply, .obj)
- Binary spaced partition fĂŒr Portale
- Kleinsche Flasche durch Portal gehen und dann einfach links und rechts vertauschen
- Mesh suchen fĂŒr eine der FlĂ€chen
- Pymarid of Ra
- Irgendwo eine Markierung setzten fĂŒr auĂern oder innen fĂŒr WeltverĂ€nderung
- Meshgenerator
- Ziel ist Umgang mit Werkzeugen und Spiel zu haben
Technologies
- Unity Version 2020.2.6f1
TODO
- Look in the Projects tab.
Project Status
16.02.2021
Basic mechanics for walking on the mesh of the donut is implemented. But there are still some issues, for example, it is possible to walk under the mesh. In the next step, we will work more on the control mechanics.

17.02.2021
- GitHub README updated
- Control mechanics for the camera and the player are implemented and are working properly now. The player now can move in all directions and the directions in which he walks are determined by the direction the player is looking at. But in this iteration, there are also some flaws ...

03.03.2021
- Tried to figure out the problem with raycast, found out that somehow the GroundDetector forgets what it should detect

22.03.2021
- Raycast gravity is finished
- added bullet that is affected by gravity

24./25.03.2021
- implemented enemy ai
- searching for a solution for navMesh
27.03.2021
- created menu
- found tutorial for Klein bottle

29.03.2021
- found Klein bottle problem

01.04.2021
- portal functionality is imported
- added functional klein bottle
- added hollow donut
- merged all features
- added some low poly assets from the unity store
- started building final version of each level

05.04.2021
- Implemented Enemy movment

08.04.2021
- Game essentially finished
Screenshots from the game

Inspiration
Resources
- Mesh Deformation
- Bend 3d object (Mesh) at Runtime
- How to make plane look curved?
- Non-Euclidean Geometry
- Impossible non euclidean geometry
- Coding Adventure: Portals
- Portal Rendering with Offscreen Render Targets
- The Perspective and Orthographic Projection Matrix
- A Solution To Unity's Camera.WorldToScreenPoint Causing UI Elements To Display When Object Is Behind The Camera
- Impossible Geometry: Non-Euclidean Cubes
- True Non-Euclidean Space
- Möbius effect in Unity
- Möbius Transformations Revealed [HD]
- Möbius Transformations Revealed
- 3D-Moebius-Transformations-Vertex-shader-in-Unity-3D
- Rendering Hyperbolic Spaces - Hyperbolica Devlog #3
- 4-Dimensional Rotations
- Moebius transformations in 3d
- Dan-Piker
- Palace of the Counts of Barcelos
- Psuedo-Non-euclidean geometry in Unity [A response video of sorts]
- [Unity] First Person Controller [E01: Basic Controller]
- Asteroid Base
Presentation Resources
Contributors
Paavo Streibich, kf223@uni-heidelberg.de
Jan Straub, jan.straub@stud.uni-heidelberg.de
Comments
No comments yet. Be the first!

Sign in to join the conversation
Sign In