Skip to content

INSANE

Keep the pictures moving while the player chooses

Vince Lee’s INSANE engine supported interactive streamed animation at LucasArts. Its history connects Rebel Assault’s CD-ROM video to reusable systems in later adventures.

INSANE, the Interactive Streaming Animation Engine, was developed by Vince Lee at LucasArts. It grew out of the problem behind Rebel Assault: keep animation and sound arriving from a CD-ROM while allowing the player to affect the action.

The next picture has to be ready

A CD drive can deliver a steady stream, but seeking to another part of the disc takes time. Interactive animation makes that awkward. The program may need different footage depending on a choice that has only just happened.

A 1997 Game Developer technical account uses Rebel Assault II to explain the approach. It describes buffering and interleaving possible branches so that the next section can begin while the drive seeks. The arrangement of material on disc becomes part of the interactive design.

The useful distinction is between showing a movie and sustaining a response. A movie has a known next frame. A game needs a plan for several possible next frames, along with the sound and logic that make the change feel continuous.

Parts that other games could use

In a later interview, Lee recalled breaking the engine into reusable modules before work on The Dig and Full Throttle. He described cutscene use in both games and the interactive road sequences in Full Throttle.

ScummVM’s independent reimplementation exposes that integration from another direction. Its INSANE code holds road-sequence state and works with the SMUSH movie player and the surrounding SCUMM engine. Those names identify cooperating parts, rather than interchangeable labels for one decoder.

iMUSE tackles a related timing problem for music. INSANE’s problem is the moving image: how to prepare enough of the future that the player’s next action can still receive a timely answer.

Sources

Checked. Verified against primary sources and signed off by a person.