How Virtuality Games Were Made: Software, Tools and Toolkits

A Virtuality 1000CS headset

Virtuality's arcade games were made by a small team in Leicester working at the edge of what 1990s hardware could do. This article collects what has been publicly documented about how they were built, and is honest about what has not been found. Sources disagree in places, and the article says so.

Three names for one system

A 1991 W Industries description split the 1000 series into three parts. The Visette was the visor. Animette was the software platform, which handled Doppler-shifted sampled sound, networking between pods and all the graphics, and was described as including a developer's toolkit for outside programmers. Expality was the compute engine: an Amiga 3000 handling tracking, sound and music, with two custom Texas Instruments graphics boards, one per eye.

The people

Al Humrich wrote the software, and Terry Rowley, who came from a flight-simulation background, supplied the mathematics, including a procedural terrain generator. In a 1991 talk in Leicester, Rowley compared the pod with a 1970s military simulator that managed about 5,000 textured polygons a second, a benchmark the Amiga-based pod aimed to beat.

Developers who joined later say the team grew up coding on the ZX Spectrum, VIC-20 and BBC Micro. Matt Wilkinson came from Rare, where he had worked on console games, and joined a group building oil-rig explosion simulations. He has said console techniques could not be reused, because every game had to be designed around the player turning their head. Tarique Naseem has said he was software development manager and worked on Exorex, Zone Hunter and Flying Aces. Zone Hunter's credits list Andy Smith (design), Jason Woodward and Tarique Naseem (code) and Mark Hardisty (art). Martin Brownlow wrote Buggy Ball and Virtuality Boxing and later led Missile Command 3D for the Atari Jaguar, which he has said took about six months.

Making the games

Development was hands-on. One developer has said it was hard to get staff out of the machine during Buggy Ball, with weekly company tournaments. Dactyl Nightmare's pod networking only worked a few days before the show where its four-player version debuted. A test of Pac-Man VR at De Montfort University reportedly brought students queuing around the building.

Inside a 2000-series pod

  • Graphics: several sources say each eye was rendered by its own Motorola 88110 processor on a custom board inside a 486 PC. A developer called the unit 'a tricked-out 486 DX4.' Collectors call the original board set PIX, and later models moved to PCI boards.
  • Software: the pod booted MS-DOS 6.22 and then started the Virtuality software. Games look for the graphics accelerator and the Polhemus tracking card at startup, and Pac-Man VR can be told to accept a mouse in place of the tracker but still stops with an error mentioning a 'PIX library' without the board. That suggests Virtuality had its own graphics library for the boards. This is our reading and no source states it outright.
  • How games shipped: an archive catalogue entry for one game describes a CD of resources plus a floppy holding only the game code. That let one disc serve several games and let operators receive code updates on a new floppy. The disc also held an engineering test program and a supervisory program.
  • Tracking and networking: magnetic Polhemus trackers read the headset and hand controller. On the 1000 series, up to four pods were linked by thin Ethernet, each tracker on its own frequency to avoid interference.

Toolkits for outside developers

  • Animette's toolkit: described in 1991 as including position-sensing, sound and graphics programming systems for third-party developers. A 1992 joint venture called CyberStudio, between Spectrum HoloByte, W Industries and Horizon Entertainment, held rights to write and distribute Virtuality software in the US and Mexico.
  • Desette: a 1994 resource guide lists a $1,500 Virtuality program of that name for importing and viewing models built on other graphics platforms.
  • V-Space and V-PC: on 15 July 1994, IBM announced it would fit Virtuality boards into ValuePoint PCs at its Greenock plant, preloaded with Virtuality's 'V-Space' application toolkit and 'V-PC' operating system, plus the Visette 2 headset. The product, Project Elysium, launched on 26 July 1994 at prices from £6,600 to £47,000 for a networked system. It also included the V-Flexor, a hand controller with six-degree tracking, finger pressure inputs and snap-in modules. Elysium used the same technology as the 2000-series arcade machines. In April 1996 IBM signed a deal to resell Superscape VRT, which cost about £3,000 and ran on an ordinary PC, and an IBM manager said IBM was 'selling a service.' After Virtuality's 1997 insolvency, the German company Cybermind inherited the rights, said it had no plans for Elysium, and moved to open standards.
  • Rivals: contemporaries sold toolkits such as Sense8 WorldToolKit, Superscape VRT, Division dVS and VREAM.

We found V-Space and V-PC named in a single 1994 news item, and no manual, feature list or customer project.

What we still do not know

  • The programming language used for any Virtuality game, on any series.
  • The 3D modelling software the artists used, or how models reached the hardware.
  • How long most games took to make. Missile Command 3D reportedly took about six months, and nothing comparable was found for the arcade titles.
  • What V-Space and V-PC actually contained, and whether the arcade games used them.

If you worked on these machines, or hold manuals, brochures or other documentation, we would like to hear from you. Contact us or find us on the MallRats Discord.

What the community has worked out

MAME has a preliminary SU2000 driver with no sound, and hobbyist Kevin Mellott has published open breakout-board files for driving the Visette 2, which needs composite video, audio and about 9 volts. Simon Marston in Leicester has restored 1000-series pods and hosts manuals.

Building something new today

You do not need the original tools to capture the look and limits. A low-poly, flat-shaded style in Godot or Unity, around 1,500 polygons per eye per frame, game logic updating 20 to 25 times a second, and WebXR for browser play all echo the originals. Retro arcade VR game jams are a good place to try an idea.

Read more: Virtuality's Three Generations of Arcade VR Pods, What Was Virtuality? and See Virtuality in Action.

Sources

MallVR is independent software from Gainesphere Studios and is not affiliated with Virtuality or its rights holders.