Welcome to GLAM, the Responsive Horror Experience

Derrick's mother has never allowed him upwards past the 2nd floor of his house. His father's workshop takes up all of the space from the third floor to the attic. Our story begins begins with Derrick reminiscing about the times before his father left 16 years ago, supposedly to produce chemical weapons for the war. Derrick then sets off in search of the truth behind his father's disappearance. You, the player, enter the story when Derrick decides to embark on this adventure. Soon, your worst fears will be realized, and this only makes your journey with Derrick more terrifying.

How it Works

Using the Frictional Games HPL Engine for Amnesia Custom Stories, an API based loosely off of C++ and AngelScript, in conjunction with Emotion Recognition by Microsoft Cognitive Services, we developed a modification to the Amnesia Custom Story "The Attic" which interprets your emotions through your laptop's webcam in order to provide you with a personalized horror experience. During the calibration phrase, a variety of different scares are provided, and your reactions to each are rated on a relative scale of fear--what one might call a "fear factor." After the initial calibration phase, the rest of the maps are provided with your fear factors. These maps are thus weighted so that a higher fear factor for a certain type of scare will result in a higher probability of those scares occurring.

Technical Difficulties

At approximately midnight, during this noon to noon hackathon, we realized that the HPL Engine does not fully implement C++ or AngelScript, and is thus incapable of reading or communication with outside files in any way while running. This resulted in an all-nighter for parts of the team, as we scrambled to implement a python script "boss.py" that would be able to determine the events occurring in the HPL Engine through changes to its log file, and act accordingly in using OpenCV to take photos and the Emotion API to analyze them. After the fear factors have been calculated, boss.py appends a method declaring them to the rest of the map files for their use in choosing scares.

The Future of GLAM

In the future, we'd like to implement the emotion calibration throughout the game so that users don't becomes too comfortable with any one type of scare. Additionally, we'd be interested in adding both a heart rate monitor for further calibration information and a VR component for a more immersive experience.

Built With

  • angelscript
  • c++
  • hpl
  • microsoft-cognitive-services
  • microsoft-emotion
  • python
Share this project: