hardware | software

Hardware: General Architecture | Alignment and Masking | Rigging lasers | Computer-controlled lasers
Software:
The choice of LithTech | 2D input ->3D world | Iterations on interactivity | Implementing a storyline

Implementing a storyline

LithTech being primarily a first-person shooter engine, it is not directly designed for an application that needs to follow a storyline but is rather based on space-based triggers placed in the world. We needed to implement the tools that would allow us to have such storylines as "go to the following place in 30 seconds, start orbiting around an object for 45 seconds, and once the orbiting is done, follow the path to the next dinosaur".

There were a few options for object movements:

- an object (typically the camera) is rotating around the vertical axis of another object (typically a dummy object placed conveniently).

- an object following a path of a given number of dummy objects. This was convenient for moving dinosaurs along a path. The transition from one object to another generated a very slight discontinuity that is barely visible in the case of dinosaurs moving, but is not suitable for moving a camera with first-person perspective, in which case the discontinuity becomes very apparent.

- an object following a Bezier curve described with 4 control points. This is typcially used for camera movement along a path. Although a little precision is lost because of the nature of a Bezier curve (the curve does not cross exactly all control points), this movement is smooth and convenient for a first-person perspective.

Each of these movements interpolates the position as well as the orientation of the moving object with respect to the dummy objects that define the path or the center of the orbit. It is possible to specify how long each movement will last, and each movement is given a name. Once a movement is finished, we check wchich one it was thanks to its name and are able to trigger the next appropriate motion. This approach defines our simple yet efficient implementation of a storyline in the LithTech engine.

 

Go to Top