PROJECT: Liminal Space Horror Game - Dev Time ~ 2 Months

Player taking damage + death

Pump shotgun all animations

Lever action shotgun all animations.

Mannequin draining lights example more clearly shows its only in a nearby radius

"Weeping angel" enemies. They drain nearby powered objects to move around.

Revolver all animations

Enemy path finding to gun shot noise source.

The ominous fountain. Used water caustics shaders. Also found a good compute shader that could create a caustic simulation and push that texture to a spot light. Then I converted those spot lights into volumetric lights to get the beams of light effect.

Debug view of sound system + enemy vision system at work. The yellow spheres show the radius of the sound emitted by a sound source

Enemy jumping onto player camera to attack.

Notes:

  • This game was going to be a roguelike, however making a fully 3D roguelike with the kind of graphical fidelity I wanted was definitely overscoping. So I was happy to leave this as a test bed for prototyping weapon systems, weapon animations, complex enemy behaviour in 3D space, learning the lightmapping system and combining many complex shaders/postprocessing effects.
  • All assets used are free for commercial and personal use ( most assets were under CC0 )
  • All animations were done by me. I used the AnimationRigging package to expose the rigs on models then animated by hand with Unity.
  • I gained a lot of experience using Unity's lighting system here. I utilised Light Probe groups for realtime lighting effects based on lightmap data.
  • Every gameplay system showcased was written in C# by me.
  • I maintained a modular design approach in all systems here
  • Bullets are real objects that eject out, they transition from being rendered just by the first person camera to being rendered by the player's world space camera. It can be glitchy sometimes as the view frustrum of both cameras are different.
  • I created a modular power system, with a fuse box that the player can interact with. The player can switch on and off power in certain areas. This was going to be used as a tactical choice as the mannequins are only a threat when there is power flow to drain.
  • There is an optimised vision system for enemies. I wanted to have enemies have semi realistic sight lines without causing frame drops. The idea was to raycast in an approximate way that would over time approach a total result with zero error. I defined where to raycast using a Poisson disk sampling which I felt was actually quite a good approximation since this gives a uniformly distributed set of points all equally distant from one another. This approximation only failed in ways that would make the player feel like they should have gotten seen but just got away with it. Which those moments of tension are important in a horror game I feel. I used a Fast Poisson Disk Sampling algorithm I found which made this possible to do quickly.
  • There is an optimised sound listening system in the game. This system utilises a modified observer pattern.
  • The ammo UI was inspired by Hunt: Showdown. I love old guns. The long reload times and long times in between shots created a lot of tension in Hunt, so I decided old weaponry would be the first available weapons in my game.
  • The leaping spider heads were influenced by head crabs from Half Life, and the face huggers from Alien. In the game the player can shoot them off once they jump on to avoid taking damage.
  • The mannequins were obviously very influenced by the weeping angels from Doctor Who.