top of page

Alone In The Dark

Game: AAA, Eden Games, Atari

Position: Game/Level designer

​​Platform: PS3, 360, PC

Release date: 2008

TRAILER

Description

 

After an internship to complete my studies at Supinfogame I was hired as a Designer on Alone In The Dark to work on several sequences of the game. Some of them were already begun, others had to be designed from scratch.



I had the opportunity to deal with:



  • Documentation : Ms Word Level/sequence description, Excel production follow up, Visio LD.
  • Level Building: Objects integration, scripting and tuning objects, use visual 'kismet like' graph, set NPCs and their behaviors, ingame cameras, short cinematics, etc.
  • Modeling: Level layout and LPM objects. Eden's tool was almost like Maya.
  • Physics: Create and tweak Havok mechanisms. ex: furniture (doors, table, etc.), scenary parts (walls, windows, rocks, wrecked cars), complex objects (balanced bus, ropes, tow truck, etc).
  • LUA scripting: Most of the interactions of the game were scripted: launching and event, breaking a mechanism, follow a path, etc. It was much more complex sometimes (bus balance or symbols management for instance).
  • Optimization: optimize collisions, physics, scripts, pathdata, memory management/streaming.
  • Debug: export to 360/ps3 targets and debug with simple asserts or Visual Studio, fix bugs from the TTP data base.
     

 

Game missions

I mainly worked on three sequences of the game. As I worked on several parts of the sequences I won't describe my work on each of them. There are a lot of similar aspects between them. There were linear sequences where the player had to do what we wanted him to do in a defined space. And there were open sequences where the player could do actions in the order he wanted in the open world of Central Parc.



For the linear sequence, I'll take the example of 'Down the fissure' and for the open one 'The Eye of Central Park'. The following are parts where I had the biggest input. Of course, I worked with other people to design/enhance/finish some parts of them.



A video of the third sequence 'Enter the MET' can be found at the bottom of this page.





Down the fissure

















Player Goal: Guide Carnby through the pieces of collapsed building until reaching the sewers.



Main Production Tasks:



  •  Gameplay situation proposals on paper and brainstorming on blackboard with the rest of the team to find interesting situations. Writing the level document.



  •  Layout of the level: Modeling the level from the beginning to the end in order to be walkthroughable. This was a rough version of the scenary. 











 




                                                                                                ( layout modeling)


  •  Collisionning/IA: This was done during all the production of the level. There was no automatic collisions tool. We had to place collision volumes manually. It was cubes and capsules most of the time. A lot of them had to be tagged to prevent actions from the player such as gripping for example.

The pathdata uses the collisions to create the graph. Specific boxes had to be created to limit the path.



  •  Scenaric scripting:



      - Basics: place the checkpoints, prepare the monsters with their groups and parameters, add some triggers, add the death zones, add the ropes, add the objects such as the corpses, items, objects Carnby can handle, etc.

      - Objects creation: create the physics elements ( havok physics body with constraints and rough models) such as the broken wall, the bus doors, pieces or rocks, etc.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                                     ( adding behaviors with scripts and linking them)



     -  Advanced: Grouping and managing objects to optimise the game, tuning monsters, enhance memory map.



    - Balanced Bus: This was the most tricky part of the sequence. It couldn't be done totally in physics, it's too random. But we didn't want something like "move the corpses and the bus suddenly moves". So we've had to create a half scripted/half physics situation.

































                     (balanced bus actor)                                                                                    (script exposed properties)

 

A physics programmer helped on this one. There are 4 zones attached to the bus. These zones get the weight from objects. Then the script uses the weights to change the rotation acceleration of the bus.









The Eye Of Central Park







 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Player Goal: Find and light all the alchemist symbols, get to the top of the Belvedere and reveal the Block house.



Main Production Tasks:



  •  Design: A first design draft was made by another member of the team. Finally, it couldn't work. So another designer and I were asked to find a design we could make in a few weeks only. We came up with the idea to use hidden symbols around the Belveder. This had been used only once in the game in the Sequence 'Room 943'.



  •  Scenaric scripting:



        - Basics: checkpoints, adding items, fire plans, furnitures, phone calls and sms...



       - Monsters: I've had to implement the 'living scare' and 'shaderz'. The living scare is the monster looking like a fissure, moving on the ground and walls. The 'shaderz' are the pools of black water.

 For the fissure there was a lot of collision tuning involved to be able to generate a nearly perfect pahtadata. Paths had to be integrated for the fissure at specific moments: when it arrives, when it grabs Carnby, etc. Hook points had to be added too. With the help of the programmer of this monster, this scene was used to tune the movements of the fissure, for all the rest of the game.



     - Symbols: They're the heart of the gameplay of this sequence. Six of them have to be found and lit. Most of the management of one symbol si done with one script. It checks several parameters such as the distance, the spectral power, and of course the fact Carnby is using his light and is targeting the symbol.





Here is the script: Symbol.lua



























 

 

 

 (behaviors of a symbol)

 

 

Other sequence: Enter the MET

bottom of page