Skip to content

Latest commit

 

History

History
51 lines (38 loc) · 1.92 KB

README.md

File metadata and controls

51 lines (38 loc) · 1.92 KB

NonEuclidean-Godot

A Non-Euclidean space in Godot for Windows, Linux and Mac OSX, written in GDScript. To see what this is about, check this out: https://www.youtube.com/watch?v=xQ1b8cmUa8w . Obviously, this is a fake Non-Euclidean space. Godot isn't capable of Non-Euclidean spaces yet. Also, just mentioning: this project was poorly done, just demonstrating what I could do with io12's godot portal demo (https://github.com/io12/godot-portal-demo).

screenshot

Controls

  • F1 (Toggle Help)
  • F2 (Toggle FPS Counter)
  • J (Toggle Mouse)
  • Esc (Quit)
  • F11 or Alt + Enter (Toggle Fullscreen)
  • Alt + 3 (Toggle Fly)
  • R (Restart Scene)
  • WASD (Move Player)
  • Numpad - (Decrease Speed by 1)
  • Numpad + (Increase Speed by 1)
  • Numpad Multiply (Reset Speed)
  • Mouse (Look around)

Features

  • Fake Non-Euclidean space
  • Textures for low-end computers (GLES2)
  • Occlusion Culling (for performance)
  • Seamless player teleportation
  • Be able to teleport any sort of body through the portal seamlessly
  • Actual Non-Euclidean space (would most probably never happen, but who knows ¯_(ツ)_/¯)

Compiled binaries

If you want to play the game on Windows, Linux or Mac OSX, I have already compiled the binaries in the bin GLES2 and bin GLES3 folders.

How does it work?

Rendering

Each side of the tunnel has a camera attached to it, mapped to a ViewportTexture on each MeshInstance of the sides of the tunnel. These cameras move based on the player position so that the angles look realistic (3D).

Credits

Big, very, seriously, very big huge thanks to @io12 for sharing his project on github (https://github.com/io12/godot-portal-demo) so I could use his code for proper camera angles! Also, thanks @HackerPoet for inspiring me to do this :D (https://github.com/HackerPoet/NonEuclidean)