System Shock’s Procedural Music System
There’s a surprisingly long history of procedural music systems in videogames. Because the early MIDI tech was already playing notes on the fly, there were some sophisticated systems built to take advantage of that and also compose or arrange the music.
For example, System Shock 1′s dynamic music system. The music, composed by Greg LoPiccolo (And Tim Ries), is built out of different chunks that are assembled procedurally. This blogpost from one of the devs of the Kickstarted reboot explains some of the details:
The music for each level is not contained in a single file, but instead each level’s music is built procedurally from different musical building blocks, controlled by parameters in the game. The core set of each level’s musical building blocks are named with a gameplay state (“W”alking, “P”eril, “C”ombat) and a section (“A”,”B”,”C”,…). “WA” can play into “WB”, unless the game state changes to peril, at which it may play into “PB”. This kind of interactive system provides both varying intensity, which mirrors the pacing of the gameplay, and linear sections, which give the music a sense of forward momentum and structure. This procedural music system is then made more interactive by having various layers which represent the various enemies that are overlaid on top of the core level music, based on the proximity of enemies of that type. These layers are used to represent these enemies across the entire soundtrack, giving each enemy type a theme of sorts! Very cool, stuff!
(Greg LoPiccolo would also go on to be the project lead on Thief, Guitar Hero, and Rock Band, to name a few other games that depend on dynamic audio systems.)