Maze War (also known as The Maze Game, Maze Wars, Mazewar or simply Maze) is 1974 computer game which originated or disseminated a number of concepts used in thousands of games to follow, and is considered one of the earliest examples of, or progenitor of, a first-person shooter.[1] Uncertainty exists over its exact release date, with some accounts placing it before Spasim, the earliest first-person shooter with a known time of publication.

Although the first-person shooter genre did not crystallize for many years, Maze War had a profound impact on 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 though walls as seen by other players. Occasionally in later versions, a duck also appears in the passage.

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.

It was originally written by Steve Colley (later founder of nCUBE) in 1972-1973 on the Imlac PDS-1's at the NASAAmes 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]

In 1974, 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 multiplayer game that could operate over the early ARPANET (the predecessor to the modern Internet).

The original Imlac networked version was limited to two players, with the Imlacs directly cabled to each other. At MIT, the game was expanded to a client-server system. 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.

At some point, a level editor was written so that the playing field could have different designs.

Also, a playing monitor was written. An Evans & Sutherland graphics terminal connected to the mainframe host could display a top-down map with all of the players' positions shown.

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 Tektronixoscilloscopes 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.

In 1977, 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.

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 SGIDogfight used broadcast packets and thus could not transit a router).

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.

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, MacroMindMazeWars+ 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.[3]

1987, MIDI Maze, a Maze War-inspired game for the Atari ST home computers, which used the MIDI interface for network connection

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.[4]
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 author of the Great Internet Mersenne Prime Search (GIMPS).