One of the classes I took in London was called Virtual Environments, which was an introduction to the technology and techniques behind immersive virtual reality systems. The focus of the course was a semester-long project for which we were to work in teams of three to create a haunted house environment that would run on UCL's CAVE system. CAVE stands for "Cave Automatic Virtual Environment" - it's a cube-shaped room that's about 10 feet square where three walls and the floor have 3D projections on them controlled by a pair of 3D glasses with a head tracker in them. Users can interact with the environment with a handheld wand controller equipped with a joystick and some buttons.
Above is a typical view of the room that the user would have. When the CAVE is running in a closed room with the lights off, the darkness is very oppressive. There's also a soft audio clip of rain playing in the background. After a short acclimation period where the user starts getting used to the room and the way the wand works, weird things start happening. At first the flashlight dims, then flickers out. After a moment of almost pure darkness (with a hint of moonlight from outside), the TV in the corner erupts into static and flickering lights.
The TV had some more sophisticated lighting, but those features are only enabled on the pro version of Unity, which was available in the CAVE, but unfortunately costs $1500 otherwise.
After the TV shuts off and the flashlight comes back on, the rainstorm turns into a thunderstorm. We did this programmatically by taking a short clip of thunder claps and sporadically playing random samples from it at varying pitches and volumes. It ended up being a cheap way to make a very convincing thunder effect. At this point the simulation was in a sort of sandbox state. The flashlight is a method of interacting with the objects in the room - some of them behave in odd ways when the flashlight shines on them. The rocking chair rocks back and forth on its own, pictures fall off the wall, a tea set floats in the air pouring tea for an invisible guest. There's also a gramophone in the room that plays music that gets distorted and off-key in the light of the torch.
After another interval where the user has free reign to interact with the environment, the weirdness ramps up to a climactic point. Distant, distorted singing is heard, and as it appears to come closer, a ghostly doll head appears in front of the user amid more frantic thunder and lightning. Also the TV catches fire.
The doll head was programmed to follow the user based on the information coming from the head tracker, so no matter which way you turn, it appears to hover at about arms length directly in front of you. After about 15 seconds, the head flies away and things return to normal. The storm audio continues to play softly outside, and the objects in the room no longer react to the flashlight.