Make Music with Quake3 Arena

q3apd was a project developed in 2003 by Steven Pickles and Julian Oliver to expose the events in a game of Quake3 Arena, whether multiplayer or otherwise, to external programs used by artists to the ends of making music, graphical art or controlling mechanical events. It is the belief of the artists that the richness of activity in a 3D computer games is ripe for aesthetic and scientific investigation, merely needing some means of getting that information out of the game and into another tool.

q3apd has now been used by many artists and researchers in the creation of artwork. q3apd has been toured from Europe to America and Japan in game-based performances by Oliver and was exhibited in an installation context at the LoveBytes Festival 2006, Sheffield, U.K for one month.

In this installation the movement, position, health, viewangle and item status of 4 software agents in combat was sent to the synthesis environment Pure Data and used to make an auralisation of activity in the arena: a musical re-presentation of the flows and gestures of artifical life in combat. The LoveBytes link to the installation is archived here.

Exhibition outcomes

  • q3apd 2006 - LoveBytes Festival

  • q3apd 2003

  • Video footage

  • YouTube video of LoveBytes 2006 installation (low quality)
  • OGG/Theora (high quality, 84M. will play in VLC)


  • LoveBytes 06

    Selected third-party work made using q3apd

  • n0tb0t by Walter Langelaar.
  • Composition/Performance within the Quake III engine, Robert Hamilton

  • Example use of using q3apd with Pure Data

    q3apd is free software but was made before QuakeIII itself was released under the General Public License, to later become the ioquake3 project. For this reason you still need to use the official QuakeIII release to use q3apd.

    q3apd was made for Linux and as such will only run on that platform.

    First grab the latest Quake III point release. We used version 1.32. make a directory called 'pd' in /usr/local/games/quake3/, or wherever quake3 is installed on your system (this is the default install path on a Debian system). `cd` into this new directory and unzip this package of modules ensure that this machine is on the same network as the machine with PD on it. Run the q3apd.pd patch (from the above archive) in PD on this machine (ping it to be sure). In the terminal, exec Quake III with:

    yourbox:~$ quake3 +set sv_pure 0 +set fs_game pd +devmap (yourmap)

    once the map is loaded pull down the console in q3a with the '~' key and type:

    /set fudi_hostname localhost
    /set fudi_port 6662
    /set fudi_open 1

    'netsend', an object used in PD and MaxMSP systems to send UDP data over a network, is is now broadcasting. at this stage you should see plenty of activity in the pd patch on the PD machine. enjoy!