Skip to content

We built a game with non-euclidean objects like the klein bottle or the boy's surface.

License

Notifications You must be signed in to change notification settings

JanMStraub/Non-Euclidean-Game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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

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.

First test of the "gravity" code


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 ...

First implementation of camera and player movment


03.03.2021

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

Raycast Test with test course


22.03.2021

  • Raycast gravity is finished
  • added bullet that is affected by gravity

Raycast Test with test course II


24./25.03.2021

  • implemented enemy ai
  • searching for a solution for navMesh

27.03.2021

  • created menu
  • found tutorial for Klein bottle

Klein bottle tutorial


29.03.2021

  • found Klein bottle problem

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

Functional Klein bottle Functional Klein bottle 2


05.04.2021

  • Implemented Enemy movment

Enemy movment test Enemy movment on bottle


08.04.2021

  • Game essentially finished

Screenshots from the game

NEG1 NEG2 NEG3 NEG4 NEG5 NEG6 NEG7 NEG8

Inspiration

Resources

Presentation Resources

Contributors