Linger Postmortem

The first few days of the VR Jam were tricky. So many possibilities, so little time. But after doing some tests I decided on creating Escher’s Relativity in VR. I was pretty sure if I could pull something like this off (with all the weird gravity issues) it could be a potential winner. I had already begun working on it, when I stumbled upon a forum post of someone else who was doing Escher’s Relativity. Apparently my idea wasn’t as original as I thought. And because I didn’t want to be in direct competition with someone else, I decided to create something completely different. Having watched the movie Paranormal Activity the night before I was inspired to make the best haunted house experience possible.

Not having enough 3d modeling experience to create all the models needed for a full-fledged house, I asked my friend Tristan Bronkhorst to join the team. And just before the deadline for milestone 1 we had an empty untextured house ready to be haunted. The following week we worked together on perfecting the model, texturing the house and filling it with all kinds of furniture to make it come alive. Apparently I have a hidden interior designer side I did not know about, because I really enjoyed experimenting with different layouts, colors and textures. It was all great fun to do, but I wasn’t fully aware that, considering the deadlines, time could have been better spent on actually working out how this house should become haunted. It wasn’t supposed to be the house interior experience, but the haunted house experience. Another week went by too fast and when it was time to submit the video for milestone 2 I was pretty content about what was created. Next week would be more than enough time to haunt it… I thought.

After taking a day off to get some rest after much work and little sleep, my body decided to be a jerk about it and take revenge for the neglect. So the next 2 days were spent being too sick to actually get any work done. Again, no biggie, because 4 days is still more than enough to get this haunting started, right?

So, I finally started working on programming all the bits and pieces which were needed to give the poltergeist experience. I decided there should be some paranormal currency, which could be spent by the poltergeist AI to create hauntings in the house. So I implemented the EMF (Electro Magnetic Field) value, which increases while you walk around the house and depletes when the poltergeist does something. Next I researched real-life haunted house phenomena and the different stages of paranormal activity which can be experienced in such houses. And with this information I designed five different stages, which are layered on top of each other.

  • Stage 1: Hearing strange noises around the house.
  • Stage 2: Lights and other electrical appliances turning on or off and doors opening or closing by themselves.
  • Stage 3: The noises will get far more violent. Furniture around the house will start to move, fly and shake.
  • Stage 4: Paranormal activity will get more frequent en violent. Appliances can start to do things on their own and in the corner of your eye you might see something or someone.
  • Stage 5: Manifestation of the entity living in the house. It’s the final countdown! Du du du dun.

To save some time (because I was already running out) I rigged most paranormal activity to trigger at random locations, not taking into account the actual position of the player or the direction he or she is facing. There are some things that can only happen if the player is upstairs or downstairs (like the piano), but most of it is random. So with some actual haunting going on in the house, I did another thorough playthrough and discovered a problem. The house, although atmospheric, was just way too small. Of course I knew the house was a little on the small side, but now it became apparent that in about 5 minutes you could see the whole house. Nobody was just going to stand there, waiting for the stages to rise. The best solution on such short notice was to add some kind of game element to the experience. Give the player a job to do and they will hang around a little longer. So I decided to let the player cleanse every room with holy water and connect this cleansing with the actual rising of the stages.

Now we had a house, different types of paranormal activity, different stages of haunting and some sort of gameplay mechanic to keep the player occupied for some time. For the final sprint I had worked through the night for 30 hours straight and as the sun came up again I submitted my entry for the VR Jam 2013 just 2 hours before the actual deadline. I wasn’t fully content though. The game still had no ending, because I did not have time to implement something for stage 5. And the actual gameplay of cleansing every room was not ideal (and tedious), because if the player cleansed every single room downstairs and went upstairs, they would not see and experience 80% of the interesting hauntings downstairs (because everything was random, remember). But there was no time left and so I finally went to bed.

After a couple of days I decided to try and quick fix some things, which were still bothering me before I released it for other people to experience. I got rid of a lot of bugs, changed the gameplay from cleansing rooms to cleansing energy spots which appear at locations where the (invisible) poltergeist is walking, added an actual ending to the game, tweaked some haunt settings to get a better experience and polished everything up with a splash screen, icons and a readme file. And I released this version, version 0.2, on the official forums.

What went wrong

  • The house was too small for the experience I wanted. A bigger house means that you could just make a path from A to B and create perfect scares along a predefined path. With all the furniture in it, it sometimes even feels too small to walk around in.
  • Spent too much time on designing the house which could have been spent actually designing the horror experience. I think the experience would have been much more powerful with a very simple house and perfectly designed jump scares.
  • I relied too much on random events instead of scripted events. Sometimes Linger can really scare the hell out of you. Doors close just at the right moment and the plate in the kitchen gets thrown towards your head just when you look away. But there are also times when the house feels pretty dull. You hear some noise, you see something on the ground, but nothing is really scary.

What went right

  • If it works, it works. Although the random factor is a problem, if the stars do align, Linger can be a really scary thing to experience.
  • The house, although small, feels right. All the little details really make the house feel real and makes the experience believable.
  • The audio. Having spent a lot of time finding just the right audio files I think the audio is one of the best things in Linger. The sound of fingers tapping on the windows, the sudden slamming of the doors or the violent rumbling of the closet still makes me shiver.
  • The shadows, especially from the lights in the living room. There is something scary about shadows, especially moving ones.
  • Your own reflection. Although the current implementation is a little buggy, I still get a kick out of seeing my virtual self in a mirror.

Linger 2.0?

There was little to no response to the released version of Linger. I think there can be a lot of reasons for this. A flood of new (and some of them really awesome) VR jam entries were released in the same week, so maybe it got a little lost in the stream. Or maybe people just didn’t think it was any good. :) Finding the energy and inspiration to work on something, even though there doesn’t seem to be any interest for it, can be pretty hard. Don’t get me wrong, I did enjoy working on Linger immensely. And I learned a lot about the creation of VR apps as well as the technical and design side of things. But I’d rather put this newfound experience in a brand new videodream. I’m bursting with ideas and I hope to show you guys some teasers of this new videodream very soon.

If I were to ever create a Linger 2.0 there would be a number of things I would change:

The house would be much bigger and the game mechanic of cleansing would be fully scrapped. The user would just have to explore the house and experience the haunting. Maybe there are clues to be found around the house, which tell the backstory of the poltergeist. And all the paranormal activity would be fully dependent on what the user is doing.

  • Doors slam shut just after you walked through them.
  • Someone suddenly stands behind you if you look in the mirror.
  • You see the shadow of a person in the corner of your eye which disappears when you look at it.
  • Items are only thrown at you if you look at them.
  • More household appliances will do weird stuff when you walk by.

Other stuff would be nasty sound effects like moans, screams and laughter, marks suddenly appearing on walls, floors and windows, if the poltergeist is nearby, you would have hints that the air is colder around you, whispers in your ear, hovering objects, being violenty pushed by an unseen force, breaking of objects thrown around and animated objects like dolls.

Well, let’s just say, enough ideas, if I were to ever continue working on it. ;)