Unity 3D

NYU Game Center
(Spring 2022)

Foghorn is the prototype of a multiplayer horror game concept.

It is about a group of survivors shipwrecked on a mysterious island engulfed by fog, and a haunting humanoid figure tracking them down.

Main features include a rough enemy AI that scans for the player. To lose them, break line of sight with the enemy for a short period of time.

A game of rays

Foghorn plays with raycasting. Rays are used to mimic lines of sight for both the player and the enemy. The game fails if the player stays in the enemy's line of sight for too long. The core gameplay is about maintaining / breaking line of sight.


To play into the theme of lighthouses and line of sights, the enemy has a unique design for its face. Its face light changes based on its state. The enemy has two states: scanning & following.

- Scanning (Yellow light)

While scanning, the enmey casts a ray from its eye-level. It will turn its head back and forth in a scanning motion, until the either 1.) player is found by ray; 2.) player's sight ray detects enemy.

- Following (White - Red light)

While following, the enmey always focuses its ray on the player while tracking the player's position. Its face light changes to white and slowly lerps to red as it gets closer to the player.

Environment, visuals, shaders

The level features a few distinctive areas (most are only blockouts). The starting area situates the player in a way that guides them through the use of elavation and landmarks. The extensive use of trees also provide safety.

The horror effects are achieved through extensive use of custom textures, shaders, and custom blit passes.

Lighting in the scene is set up in a way that compliments the custom fog effect (created in engine) anywhere you look. The name is Foghorn after all.


To ensure I have more in depth control of the behavior of the lighthouse, I've decided to create my own lighthouse model in Blender.

I wanted it to serve a few main purposes:

  • landmark, player guidance
  • provide a sense of mystery
  • behave unexpectedly at scripted moments to surprise the player

The lighthouse would give a false sense of safety if I play my cards right.