Project Description
Labyrinth was the final project for CS 480 - Computer Graphics at the University of Nevada - Reno. This project encompassed everything the class had learned throughout the semester working with OpenGL to create the classic game of Labyrinth. The objective is to guide a ball to a goal by tilting a game board and avoiding the holes.
Project Overview
Platform: Windows, Linux
Language: C++
API: OpenGL, ASSIMP, Bullet
Development Time: 2 Weeks
Team: 3 Programmers
Skills
Lighting and Shading
Callbacks
3D Graphics Rendering / Graphics Pipeline
UV Texture Mapping
3D Game Physics
Matrix Rotation / Translation / Scaling
Screenshots
Controls
Move the mouse up/down and left/right to rotate the board about its axes. Be careful, as the movement is very sensitive.
The score counts up over time until the ball reaches the ‘FINISH’ area. Thus a low score is preferable.
Keys 1-3 toggle progressively harder lighting settings, ie. ‘difficulty’. Harder levels will make the score count up more slowly.
Keys WASD rotate the camera around the ball. This can be done whether or not the game is paused.
The mousewheel zooms the camera in and out.
Hit ‘r’ to reset the game. A new game starts automatically when the ball falls off the board.
Hit ‘p’ to pause/unpause the game.
Hit ‘ESC’ to exit the program.
These settings are also available through the right-click menu.
Hit ‘v’ to toggle a useless pseudo first-person mode. This will help you empathize with the ball.