Programmer
Platform:
Windows PC
Language:
C++
Tools Used:
Unreal, Visual Studio
Duration:
3 weeks
Completion:
November 2017
Team Size:
1
Haunted House
A 3d exploration game built with C++ in the Unreal engine for an Advanced Game Engine Architecture module at the University of Bolton

The game involved finding and recording evidence of a haunting, through the use of various devices. These devices would react at certain times to indicate the player is near something unusual. The player can then use a tablet to record the evidence. The game would end when the player's camera runs out of battery or when the player has collected 3 pieces of evidence.
This game was made over the course of 3 weeks, with the project being treated like a game jam. First I created a simple 1st person character, and a basic level to test the movement in. For the items, I decided to use an interface system to allow for lots of different items with the same code to activate them from the character. I set up a generic item class that had a mesh and a function to activate the item. Other items would derive from this base item class, and use their own unique meshes, and implementation of the activate item function. The Player class stored the currently held item and called the function on a key press.



Next I needed to create the haunted objects that these devices would react strangely to. This was achieved through the use of a trigger box and a messaging system. The player would subscribe to a "Anomaly Message", that would be published by the trigger box when the player entered it. I then added functions to the items that held the functionality for reacting to the haunting. Different items had different reactions such as the torch turning a red colour and the compass's needle spinning wildly. Finally I set up a function to be called by the player when the message is received and, using the stored held item, would call the appropriate function on the device.


In general I am happy with how this project went. The limited amount of time I had didn't cause any issues, although with more time I would have liked to add more items. Because of the time constraint the game doesn't look as pretty as I would have liked as I focused all of my energy into coding and testing the mechanics. With that being said I did learn some new techniques like messaging which turned out to be very useful, and got more practice with using interfaces.
