Introduction

 

When I began thinking about what I would do for my final project I knew I wanted to create something unique. I wanted it to have a certain charm, and I wanted to make it as story driven as I could. The Unknown Path is the the culmination of those ideas coming together. Certain details of the game I want to be a mystery, so no everything will be unveiled in the following description. I hope you enjoy it and that the end takes you by surprise. (By the way... an alternate ending is possible)


Story

 

You are dropped into a seemingly endless hallway made by two giant walls to your left and right. A mysterious creature of unknown origins is floating in front of you emitting light all around it. You notice lava all around you and the sky is pitch black. The creature beckons you towards it, seemingly eager for you to complete a task. You have no choice but to follow.

Gameplay

 

The controls for The Unknown Path include the WASD keys for forward, stafe left, backwards, strafe right, and the mouse for camera movement. Clicking and holding down the left mouse button and moving the mouse allows the camera to be rotated. Pressing the space bar enables you to jump. At the end of the game, under certain circumstances, the terminal will display the amount of times you died and the time it took you to finish in seconds.

Because different computers run at different speeds the rate of falling, moving, jumping, and the demon floating may be unnaturally fast or slow. I have allowed these speeds to be modified if you access Main.cpp:

Falling speed can be controlled by the FALL #define at the top of file.

Move speed can be controlled by the W #defie at the top of main.

The speed of the light creature can be directly controlled in the demonTimer function.

The goal is to reach the end of the hallway by navigating the platforms around you and hopefully find a way out... but the creature of light may have other plans for you. Do not fall into the lava below you or you will restart at the nearest checkpoint.

Graphics

 

The graphs, are laid out as follows:

    Models

    • Light creature is made with a sphere and two cones
    • Platforms are all made of rectangles of different scales
    • The Pedestal is made of a cylinder and a cone
    • All of the text objects are just heirarchical models using cubes and discs

    Shading

    • Phong shading is used
    • The only source of light is eminating out of the light creature

Special Technology

The physics in this game are primary based around an occupancy grid mapped to all platforms (This was the most time consuming part of making the game). You are constantly in a state of falling unless you are touching the top of one of the grids or jumping. It is possible to hand on to the tops of platforms when jumping from underneath them.

Getting the light creature to moving along the z-axis involved translating it the same distance you move during the game. The up and down movement is based on a timer function and a sin curve.

The process of jumping and moving at the same time involves jumping being mapped to two separate keyboard functions.