Maze War
Maze, later expanded and renamed to Maze War, is a 3D networked first-person shooter originally developed by Steve Colley, Greg Thompson, and Howard Palmer for the Imlac PDS-1 computer. It was largely developed between the summer of 1972 and fall of 1973, at which point it included shooter elements and soon after was playable over ARPANET between multiple universities. It is considered the earliest first-person shooter; ambiguity over its development timeline has led it to be considered, along with Spasim (March 1974, on PLATO), to be one of the "joint ancestors" of the genre.
Maze War | |
---|---|
Maze War played on an Imlac PDS-1D at the Computer History Museum event. | |
Developer(s) | Steve Colley, Greg Thompson, others |
Platform(s) | Imlac PDS-1, Macintosh, NeXT Computer, Palm OS, Xerox Star, X Window System |
Release |
|
Genre(s) | First-person shooter |
Mode(s) | Single player, multiplayer |
Although the first-person shooter genre did not crystallize for many years, Maze War influenced first-person games in other genres, particularly RPGs. The Maze War style view was first adopted by Moria in 1975, an early RPG on the PLATO network, and further popularized by Ultima and Wizardry, eventually appearing in bitmapped form in games like Dungeon Master, Phantasy Star, Eye of the Beholder and countless others.
Gameplay is simple by later standards. Players wander around a maze, being capable of moving backward or forwards, turning right or left in 90-degree increments, and peeking around corners through doorways. The game also uses simple tile-based movement, where the player moves from square to square. Other players are seen as their names, figures or later eyeballs in the Xerox version. When a player sees another player, they can shoot or otherwise negatively affect them.[1] Players gain points for shooting other players, and lose them for being shot. Some versions (like the X11 port) had a cheat mode where the player running the server could see the other players' positions on the map. The original MIT Imlac version had cheat keys to knock out a wall in the player's local Imlac maze copy, which made it possible to walk through walls as seen by other players. Occasionally in later versions, a duck also appears in the passage.
Innovations
Features either invented for Maze War or disseminated by it include:
- First-person 3-D perspective. Players saw the playing field as if they themselves were walking around in it, with the maze walls rendered in one point perspective. This makes the game one of the first, if not the first first-person shooter. It also could be considered a very early virtual reality system.
- Avatars. Players were represented to each other as eyeballs. While some earlier games represented players as spacecraft or as dots, this was probably the first computer game to represent players as organic beings.
- Player's position depicted on level map. Representation of a player's position on a playing field map. Unlike the playing field of a side-view or second-person perspective, this is only used for position reference as opposed to being the primary depiction of play. It does not normally depict opponents. The combination of a first-person view and a top-down, second-person view has been used in many games since.
- Level editor. A program was written to edit the playing field design.
- Network play. Probably the first game ever to be played between two peer-to-peer computers, as opposed to earlier multiplayer games which were generally based on a minicomputer or mainframe with players using either terminals or specialized controls, in 1973.
- Client-server networked play. An updated version may well have been the first client-server game, with workstations running the client connecting to a mainframe running a server program. This version could be played across the ARPANET, in 1977.
- Observer mode. In the 1974 and 1977 versions, a graphics terminal could be used by observers to watch the game in progress without participating.
- Internet play. While not the first game to feature this, it certainly was a very early example running over the early Arpanet.
- Modifying clients in order to cheat at the game.
- Encrypting source code to prevent cheating.
Versions
1973, Imlacs at NASA
It was originally written by Steve Colley (later founder of nCUBE) in 1972–1973 on the Imlac PDS-1's at the NASA Ames Research Center in California. He had written a program for portraying and navigating mazes from a first-person perspective. The maze was depicted in memory with a 16 by 16 bit array. Colley, together with Greg Thompson, and Howard Palmer developed the MazeWars program at NASA in Jim Hart's Computation Division 2nd floor lab. Colley writes:
Maze was popular at first, but quickly became boring. Then someone (Howard or Greg) had the idea to put people in the maze. To do this would take more than one Imlac, which at that time were not networked together. So we connected two Imlacs using the serial ports to transmit locations back and forth. This worked great, and soon the idea for shooting each other came along, and the first person shooter was born.[2]
1973, Imlacs at MIT
The original Imlac networked version was limited to two players, with the Imlacs directly cabled to each other. In the fall of 1973, Greg Thompson brought the game with him when he went away to college at Massachusetts Institute of Technology (MIT). There at J. C. R. Licklider's MIT Project MAC Dynamic Modelling Laboratory, Greg with Dave Lebling expanded Maze Wars into a full multiplayer game that could operate between Imlacs over the early ARPANET (the predecessor to the modern Internet). According to Lebling, the version of the game Thompson brought did not have shooting in it yet: "you wandered around in a maze, and that was it." In addition to the network connectivity, they added the shooting, and Lebling wrote a maze editor where players could create mazes with a text file of '1's for walls and '0's for spaces.[3] As described in the history of interactive computing book The Dream Machine:
"Students would come from all over Tech Square to play, and would occasionally find themselves in a shootout with the director of Project MAC himself."[4]
The clients ran on Imlacs which had 56 kbit/s serial connections, allowing them to communicate with a PDP-10 computer running MIT's Incompatible Timesharing System (ITS). A server program on the mainframe coordinated up to eight Imlac clients playing against each other. By using terminal servers, Imlacs at other colleges that were connected to the ARPANET could connect to the server at MIT and play against players located across the United States. The server program would also implement robot players and drive a playing monitor that would display a top-down map of the maze showing the locations of human and robotic players on an Evans & Sutherland LDS-1 Line Drawing System. Later a level editor was written so that different playing fields could have different designs.
1976, TTL at MIT
For a class in the fall of 1976, Greg Thompson (computer design), Mark Horowitz (display processor) and George Woltman (firmware) built a "hardware" version of Maze entirely from 7400 series TTL circuits, essentially creating a Maze computer with 256 16-bit instructions and 256 bytes of RAM, dedicated solely to playing Maze for up to 4 human players and 4 robots. Arcade games such as Pong had used this approach before. The TTL version of Maze used Tektronix oscilloscopes to display vector graphics. This was natural, since the Imlacs also used vector displays. This version introduced a full third dimension, by having a four-level maze with players able to climb up and down between levels. Robots players were also implemented in the firmware. Their skill level was controlled by simply adjusting the clock rate of the system. The game was so popular that even though it had been built as a MIT 6.111/6.112 class project it was kept assembled and operational for over a year.
1977, Xerox
In 1977, Jim Guyton, a staff member at Xerox's Palo Alto Research Center (PARC) rewrote Mazewar for the Xerox Alto and other Xerox Star machines. This was the first raster display version of Mazewar. It made use of the Alto's Ethernet network, using the Xerox PUP network protocol. The Data General servers used on the network were capable of gatewaying games to remote office locations, allowing people at several Xerox sites to play against each other, making Mazewar capable of being played in four different configurations: peer to peer with two Imlacs, client-server with Imlacs and a PDP-10, in pure hardware, and over Ethernet and PUP.
Several programmers at PARC cheated by modifying the code so that they could see the positions of other players on the playing field map. This upset the authors enough that the source code was subsequently stored in an encrypted form, the only program on the system to receive this protection. This is interesting in light of the fact that this laboratory housed many of the most important programming developments of the time, including the first graphical user interfaces.
1986, Digital Equipment Corporation
In 1982, Jim Guyton showed Christopher (Kent) Kantarjiev Mazewar at RAND.
Kent later interned at Digital Equipment Corporation's Western Research Lab (DEC WRL) in Palo Alto during his Ph.D. studies. Several former PARC employees worked at WRL, and one of them, Gene McDaniel, gave Kent a hard copy of the Mesa source code listing from the Xerox version of Maze, and the bitmap file that is used for the display.
The X Window System had been newly released as a result of collaborative efforts between DEC and MIT. Kent wrote a networked version of Mazewar, which he released in December 1986. This version used UDP port 1111, and could be played by Unix workstations running X Window across the Internet. This was probably the second game which directly used TCP/IP, and the first which could be played across the Internet (1983's SGI Dogfight used broadcast packets and thus could not transit a router).
1992, Oracle SQL*Net
Using Kent's code and earlier code from MIT, Jack Haverty and others at Oracle created a version of Maze running over Oracle SQL*Net over TCP/IP, Novell SPX/IPX, DECnet, and Banyan Vines at Fall Interop 92 on a number of workstations, including Unix machines from Sun, IBM, and SGI, as well as DEC VMS workstations and MS-Windows. Attendees could play against each other at stations placed throughout the Moscone Convention Center in San Francisco.
Other versions
- 1982, Snipes by SuperSet Software. This used semaphores in a shared file which resided on a network drive. It was written as a demonstration program for SuperSet's local area network system, which became Novell NetWare.
- 1987, MacroMind MazeWars+ for the Apple Macintosh computer. Fully 3D (multiple vertical game levels) and could be played over AppleTalk networks. It was distributed by Apple with new Macintosh computers for some period of time. Later the 1993 title Super Maze Wars by the Callisto Corporation was distributed with some Macintosh computers.[5]
- A version has been written for NeXT computers
- A version has been written for Palm OS
- A version has been written for iPhone and iPod Touch
Retrospective
A 30th anniversary retrospective was hosted by the Vintage Computer Festival held at the Computer History Museum in Mountain View, California, on November 7, 2004.
Maze alumni
- Steve Colley subsequently worked on very early versions of Mars rover technology for NASA, and found that his 3D perspective work on Maze Wars was useful for this project.[6]
- Greg Thompson subsequently was CTO at nCUBE, a Sr. Director at Cisco, CTO for Multimedia at Huawei, and is currently a mentor at the i-GATE Innovation Hub in Livermore CA.
- Howard Palmer later became a Senior Engineer at Netscape, Chief Architect at Resonate, and is currently a software developer at Stanford University.
- Dave Lebling went on to form Infocom in 1979, creating the space of text based interactive fiction games like Zork and Enchanter.
- Mark Horowitz became a founder of Rambus, Chair of the EE department at Stanford University, and is currently a professor at Stanford.
- George Woltman subsequently was a programmer at Data General and became famous as the founder of the Great Internet Mersenne Prime Search (GIMPS) and author of Prime95 and mprime.
References
- Malcolm Ryan (2009-12-17). IE2009: Proceedings of the 6th Australasian Conference on Interactive Entertainment. Australasian Conference on Interactive Entertainment. ISBN 978-1-4503-0010-0. Retrieved 2011-04-20.
- Excerpted from Colley's reminiscences for the 30th anniversary of Maze War, http://www.digibarn.com/history/04-VCF7-MazeWar/stories/colley.html
- Moss, Richard (2015-05-21). "The first first-person shooter". Polygon. Retrieved 2020-06-17.
- Waldrop, M. Mitchell (2018). "The Intergalactic Network chapter". The Dream Machine. pp. 308–309. ISBN 978-1-7322651-1-0.
- "Super Maze Wars". Macintosh Garden. Retrieved 2014-09-03.
- Steve Colley. "Stories from the Maze War 30 Year Retrospective". Retrieved 2009-07-04.
Sources
- Thompson, Greg (1974). "Assembler source of the Maze War game for the Imlac PDS-1D".
- Thompson, Greg (1974). "Assembler listing of the Maze War game for the Imlac PDS-1D".
- Imlac, Corp. (1973). "IMLAC PDS-1D Programming Guide" (PDF).
- Imlac, Corp. (1970). "IMLAC PDS-1 Preliminary Technical and Operator Manual" (PDF).
- Imlac, Corp. (1972). "IMLAC PDS-1D Schematics" (PDF).
- Auerbach, Corp. (1977). "Imlac Corp. PDS Graphic Display Computer" (PDF).
- Thompson, Greg (1976). "The (hardware) MAZE game MIT 6.111/6.112 class project report" (PDF).
- Thompson, Greg (1976). "MIT 6.111/6.112 class specifications of boards used in the Maze Game project" (PDF).
- Oracle, Corp. (1992). "Flyers from the Oracle Maze demo at Interop 92" (PDF).
- Uban, Tom (2004). "Maze War (1973) First 3D First-Person Shooter ever!". Video recorded at Digibarn's Computer History Museum event.
- Pinchbeck, Dan (2007). "Counting barrels in Quake 4: affordances and homodiegetic structures in FPS worlds". Situated Play: Proceedings of the Third International Conference of the Digital Games Research Association (DiGRA): 8–14. CiteSeerX 10.1.1.190.2966.
- Hitchens, Michael (2009). "B.J.'s family: a survey of First Person Shooters and their avatars". Proceedings of the Sixth Australasian Conference on Interactive Entertainment. doi:10.1145/1746050.1746054. ISBN 978-1-4503-0010-0.
- Guinness World Records (2010). "Record-Breaking Games/Shooting Games/Introduction". Guinness World Records 2010 Gamer's Edition. pp. 46–47. ISBN 978-0-7440-1183-8.
- Wolf, Mark J. P. (2012). "BattleZone and the Origins of First-Person Shooting Games". In Call, Josh; Whitlock, Katie; Voorhees, Gerald (eds.). Guns, Grenades, and Grunts: First-Person Shooter Games. ISBN 978-1-4411-9144-1.
- Olivetti, Justin (2012). Engadget (ed.). "The Game Archaeologist: Maze War".
- Handy, Alex (2005). Computer Games Magazine July 2005 (ed.). "The First First-person Shooter" (PDF). pp. 45–47.
- Moss, Richard (2015). Polygon (ed.). "The First First-person Shooter".
- Norman, Jeremy. HistoryofInformation.com (ed.). "Maze War, the First Networked 3D Multi-User First Person Shooter Game".
External links
- The DigiBarn Computer Museum's Maze War 30-Year Retrospective: (Collection of Maze War's history, stories and references)
- The DigiBarn Computer Museum's Maze War 30-Year Event Pages: "The First First-person Shooter" (Additional text, images and screenshots)
- Powerpoint presentation given at the Computer History Museum November 7, 2004 "The aMazing History of Maze"
- Demo video of Imlac Maze War by Tom Uban at the Computer History Museum event YouTube version
- PC Gaming History video of First Person Shooter History - Maze War for Xerox Alto & Xerox Star!
- Prior Art video of Xerox Alto Maze War
- Ad and press release for MacroMind MazeWars+