This project was creates as a part of the Computer Graphics course at Reykjavík University. It's a 3D maze game where you have to reach the goal in the middle while avoiding the ghosts on the map.
It was creates in cooperation with @ertolv.
The actual game looks much nicer and even contains music. It's definitely worth a try if you have 5 minutes to spare :)
Type | Controls |
---|---|
Movement controls | [W] , [A] , [S] , [D] |
Vertical control | [SPACE] , [SHIFT] |
Rotation controls | [<] , [^] , [v] , [>] |
Camera switch | [M] |
Return to Home | [H] |
Debug information | [P] |
You can also use the mouse to rotate the view :)
This game uses:
- PyOpenGL and pygame for rendering
- PyGLM for beautiful math.
- Esper for the ECS architecture
You can use to install these requirements:
pip install -r requirements.txt
Use python src/main.py
to run the game.
We choose an entity component system as our game architecture. The documentation is found in .docs/ecs.md
and is definitely worth a read. The lighting system with our addition of light attenuation is documented in .docs/lighting.md
. Have fun reading them :D.
(I don't take responsibility for any spelling mistakes. Feel free to fix them, it's sadly not my strong suit)
I'm not quite sure when it happened and why, but we swapped the y and z value of the world. This means that x and y are basically the floor while z controls the height above the floor. This is a bit unusual for 3D games, but it seems to work so yay.
This project was extracted from a previous repository containing several projects.