|This article needs additional citations for verification. (March 2010)|
|Publisher(s)||Silicon Graphics Incorporated|
|Release date(s)||1985 as a free demo|
|Mode(s)||Single Player, Multiplayer|
Dogfight is a demonstration program initially written by Gary Tarolli (later founder of 3dfx) at Silicon Graphics, Inc. It represents landmarks in two key areas of Internet development: games and multicasting, and notable advancement in creating rendered virtual environments.
Dogfight might more properly be referred to as three programs, flight, dog, and shadow. Flight is a flight simulator, dog is an air combat game in which multiple people use the flight interface to control their aircraft, and shadow is an observation program that allows a user to see what a user of either dog or flight sees.
The following planes were available:
Later versions added:
flight was written in the summer of 1983 for the SGI IRIS series of computer workstations. IRIS' used Motorola 68000 family CPUs, and could provide approximately 1 MIPS and draw about 500 polygons per second.
In 1984, networking capabilities began to be added. Initially, two stations were connected by serial cables. This allowed about 7 frames per second. By SIGGRAPH 1984, XNS support was added, allowing play over an ethernet.
Probably in early 1985, dog was created, and dog and flight were shipped as demonstration software included with SGI workstations. In 1986, UDP broadcast protocol capability was added (using port 5130). Information was transmitted via broadcast packets and at frame rate, meaning that the program made intensive use of network resources and even a small number of players was capable of saturating an Ethernet. So while it was probably the first game to use the Internet Protocol Suite, the game could not pass through a router, and thus could not be played across the Internet itself.
Due to the expense of the SGI workstations and computer networks at the time, many system administrators removed dogfight from newly installed systems in order to prevent abuse of resources, or limited play to restricted off-peak hours.
By 1988, with the introduction of SGI's 4D series of machines, Dogfight had forked, with one version running on most SGI machines of the time (3000 series, 4DxxG's, Personal IRIS, GT, GTX) and another for use only on the higher-end GT and GTX machines, and could interoperate, with both versions playing in the same game. Slower systems ran around 12 frame/s, while faster systems might do as well as 25 frame/s. Source code was available from SGI upon request if a non-disclosure agreement was signed, and the code was used by many programmers as an example of how to use UDP networking on SGI equipment. A program called atc (Air Traffic Control) was added to Dogfight.
For the IRIX 3.3 version, circa 1989, IP Multicast capability was added, and the game became playable between any compatible hosts on the Internet, assuming that they had multicast access (which was quite uncommon). The multicast address is 220.127.116.11, making this only the third multicast application to receive an address assignment, with only the VMTP protocol (18.104.22.168) and the Network Time Protocol (22.214.171.124) having arrived first.
The manual page for the IRIX 6.5 (circa 1998) version of the program lists the following:
- Gary Tarolli (original version)
- Network communications David "Ciemo" Ciemiewicz (UDP Broadcast) and Andrew Cherenson (IP Multicast).
- Rob Mace (involved by 1988, listed as responsible for IRIX 6.5 version, as well as the geometry for F-14, F-18, and 727 aircraft, and the new instrument panel)
- Barry Brouillette ("contributor", geometry for F-16 and P-38)
- Marshal Levine ("contributor", new instrument panel)
- Thad Beier (F-18 geometry)
- Marc Ondrechen (727 geometry)
- Sound effects by Chris Perry and Chris Schoeneman
- History of IRIX
- IRIS users discussion list archive, 1988
- Lecture, by Dr. JongWon Kim for course DIC 1623, Fall 2005, at Gwangju Institute of Science and Technology
- Unix Manual Page from SGI IRIX version 6.5
- Unix Manual Page including references to an earlier version of the game, before multicasting was added.