Final Year Project Showcase
My strongest language would probably be c# as I use it constantly by itself and with the Unity Game Engine. The Games Development course has a large emphasis on group projects and as a result, I have learned how to work well in teams,
how to communicate to reach a common mindset, and how to use essential software for code management such as Github, Jira, and Azure Dev Ops.
This Project is a 3D horror Game made using Unity that features eye tracking and a procedurally generated map.
You are trapped in a building with a random layout every time with a killer that wants to hunt you down.
Within this building, there are 3 keys scattered in random rooms that open up a safe containing a gun.
It is up to you to safely traverse the building and kill the killer.
The building is almost completely dark so you must rely on your trusty flashlight to light the way. The flashlight points to where your eyes are looking on the screen so you better not turn away!
This Project uses eye tracking from an external device called a Tobii Pro Nano . This device enables me to track multiple things needed for my project.
Gaze Data for where the user is looking on the screen. In my project, the user can shine a flashlight where they are looking. This is essential for the gameplay as the map is almost completely dark.
eye validation to tell how many eyes are open and detected by the eye tracker. When the player has the gun, they can aim down the sights by closing 1 eye.
Procedural Map Generation
This is the main focus of the project. The map and Its contents have a completely random layout. No 2 playthroughs will be the same; the game will look different every time. I will give a brief run-through of what I did to accomplish this below.
Map LayoutThis is the random generation of the placement of the rooms. Some examples of what these can look like are below: The map layout is decided on a 50 x 50 grid with each room being a cell on that grid. The rooms start looking like this:
a random direction from the starting room is picked and appropriate corridor rooms are placed. After a random distance, the corridors then turn into curved corridors. more corridors are spawned from these curved corridors and this keeps repeating until eventually they hit the limits of the grid or are about to be placed inside another room. Many checks are done to ensure the rooms do not overlap. afterward, the special rooms that may contain a key are spawned next to some of the available corridors. the wall between them is broken. This is the basic description of the map layout algorithm.
Not only is the map Layout random, but the rooms themselves are also randomly decorated. each room is decorated using a "Chunk and Tile" decoration method.
This consists of treating the room as a chunk that contains many tiles. Each tile can be a potential spot to place an obstacle. Certain obstacles can only be placed near walls and there are many tiles that do not allow obstacle placement at all.
The path must also be traversable by both the player and the killer.
Basically, the rooms can turn from looking this:
(Note the pink shapes are placeholders for actual assets)
an example of the tiles in this room are color-coded down below. Blue means it is against a wall, red means that objects cannot be placed, and green means it is in the center portion of the room. Tile layouts differ based on a bunch of factors but these are the basics.
This game features a killer doctor that wanders the halls in search of you. He has several different states that change depending on the situation. At the start, he is wandering the walls navigating through the rooms and the obstacles placed. If you walk into his line of sight, he starts chasing you at a faster speed. If you happen to break out of his line of sight, he will continue to keep running in the direction he last saw you going.
Players can hide in a wardrobe to avoid the killer. This has risks however. If the killer sees you enter a wardrobe, he will place a beartrap at the entrance which will trap you. He will come running straight to you after this and if you do not break free in time he will kill you.
The killer is a full 3D model with different animations for states such as walking,running, being killed, or attacking the player.
Other Notable Features
Other notable features include:
-First person movement and camera movement for the player
-wardrobes that the player can hide in to avoid the killer
-traps and obstacles that can alert the killer
Phone: 087 444 8487