Difference between revisions of "Automap"

From DoomWiki.org

[checked revision][checked revision]
(Add this here also)
(Rewrite and reorganization)
Line 1: Line 1:
[[Image:Automap.png|frame|[[E1M4: Command Control]] in automap mode. Only the lines the player has seen are visible.]]
+
[[File:Automap.png|frame|[[E1M4: Command Control]] in automap mode. Only the lines the player has seen are visible.]]
The '''automap''' is a map displayed when the user presses the appropriate key (the tab key by default). As all [[levels]] in [[Doom]], [[Heretic]], [[Hexen]], and [[Strife]] are [[Doom rendering engine|flat when viewed from above]] (it is not possible in [[vanilla]] to have [[room over room|rooms over rooms]]), the map is easily generated by the software and easily comprehended by the player.
+
The '''automap''' is a feature of the [[Doom engine]] which allows the [[player]] to view his or her current position in the [[level]] and any of the walls (formed from [[linedef]]s) which have been seen so far. The automap is toggled on or off using the tab key by default, and is available in [[Doom]], [[Heretic]], [[Hexen]], and [[Strife]], with minor differences in each game.
 
 
By contrast, some of Doom's close contemporaries such as ''{{wp|Descent (computer game)|Descent}}'' and''{{wp|The Terminator: Future Shock}}'' had 3D automaps that many found too challenging to navigate.{{cite web|author=Adams, Ernest|title=Designer's Notebook: Cartographic Cartwheels|url=http://www.gamasutra.com/view/feature/131684/designers_notebook_cartographic_.php|publication=Gamasutra|publishdate=19 June 1998|accessdate=29 August 2016}} Most of Doom's fully 3D successors, starting with ''[[Quake]]'' and including ''[[Doom 3]]'', have either abandoned the idea of a top-down map, or circumvented the problem of displaying a Z-axis by artificially dividing each level into 'floors' or 'zones'. The automap returns as a feature in [[Doom (2016)]], having been informed by such geometry-simplifying implementations as those used in the ''{{wp|Metroid Prime}}'' series of 3D adventure shooters.
 
 
 
== Controls ==
 
 
 
Several keys perform actions inside the automap:
 
 
 
* F: Toggles follow mode. If follow mode is on, the map remains centered on the player, and if not, it is possible to scroll the map using the arrow keys while the player remains stationary.
 
* M: Marks the current position with a number. Up to ten markers may be placed, numbered 0 through 9; further uses of the M key will cause the existing set of numbers to be sequentially erased in favor of the new positions. (In [[Doom95]], this function is extremely buggy and may even cause the program to crash.)
 
* C: Clears all marked positions.
 
* G: Toggles grid on/off.
 
* +: Zooms in.
 
* -: Zooms out.
 
* 0: Zooms out fully. If pressed a second time without leaving automap mode, returns the map to its previous scale.
 
* Tab: Exits automap and returns to normal view.
 
 
 
If one of these keys has also been mapped to a gameplay function (e.g. firing or running), the above table overrides that key's default behavior during automap mode. All other keys can be used as normal, however.
 
  
 
== Automap behavior ==
 
== Automap behavior ==
  
[[Image:Am_stretch.png|right|thumb|320px|A rectangular room in [[E1M3: Toxin Refinery (Doom)|E1M3]] is distorted in the automap, due to incorrect [[Aspect ratio|aspect ratio correction]].]]
+
The map shows all [[wall]]s the player has seen since entering the level. Seeing just a small piece of a wall will make its entire [[linedef]] visible on the map. As all [[levels]] supported by the [[Doom rendering engine]] are flat when viewed from above (it is not possible in [[vanilla]] to have [[room over room|rooms over rooms]]), the map is easily generated by the software and easily comprehended by the player.
  
The map shows all [[wall]]s the player has seen since entering the level. Seeing just a small piece of a wall will make its entire [[linedef]] visible on the map.
+
[[File:DescentAutomap.gif|thumb|right|A confusing view in ''Descent'''s automap for comparison.]]
 +
By contrast, some of Doom's close contemporaries such as ''{{wp|Descent (computer game)|Descent}}'' and ''{{wp|The Terminator: Future Shock}}'' had 3D automaps that many found too challenging to navigate.{{cite web|author=Adams, Ernest|title=Designer's Notebook: Cartographic Cartwheels|url=http://www.gamasutra.com/view/feature/131684/designers_notebook_cartographic_.php|publication=Gamasutra|publishdate=19 June 1998|accessdate=29 August 2016}} Most of Doom's fully 3D successors, starting with ''[[Quake]]'' and including ''[[Doom 3]]'', have either abandoned the idea of a top-down map, or circumvented the problem of displaying a Z-axis by artificially dividing each level into 'floors' or 'zones'. The automap returns as a feature in [[Doom (2016)]], having been informed by such geometry-simplifying implementations as those used in the ''{{wp|Metroid Prime}}'' series of 3D adventure shooters.
  
 
The lines in the automap are color-coded.  Red lines indicate solid walls. Yellow lines indicate changes in ceiling height (e.g. [[door]]s).  Brown lines indicate changes in floor height.  Light gray lines indicate areas which have not yet been visited (made visible by the [[computer map]] powerup).  This color scheme may vary depending on the source port being used.
 
The lines in the automap are color-coded.  Red lines indicate solid walls. Yellow lines indicate changes in ceiling height (e.g. [[door]]s).  Brown lines indicate changes in floor height.  Light gray lines indicate areas which have not yet been visited (made visible by the [[computer map]] powerup).  This color scheme may vary depending on the source port being used.
Line 30: Line 14:
  
 
Regardless of the view size setting in-game, the automap fills the entire screen and displays the [[status bar]].
 
Regardless of the view size setting in-game, the automap fills the entire screen and displays the [[status bar]].
 +
 +
=== Hidden areas ===
 +
 +
During the design of a level, linedefs can be [[Linedef#Linedef flags|flagged]] by the author so as not to appear on the automap even if the computer map powerup is obtained.  However, the {{c|iddt}} [[Doom cheat codes|cheat code]] will display all lines.  Linedefs can also be flagged to appear on the map even before they have been rendered.
 +
 +
To avoid giving away [[secrets]], concealed doors can also be marked so as to initially appear red on the map, as though they were solid walls.
  
 
=== Multiplayer ===
 
=== Multiplayer ===
Line 37: Line 27:
 
When an external [[demo]] lump is viewed using the [[Parameter#-playdemo|{{c|-playdemo}}]] [[command line parameter]], the automap can be accessed, and the [[IDDT|automap cheat code]] works. The automap is not accessible during a [[Demo#Built-in demos|built-in demo]], or while running a demo with the [[Parameter#-timedemo|{{c|-timedemo}}]] or [[Parameter#-fastdemo|{{c|-fastdemo}}]] switches; pressing the tab key in these modes brings up the game menu.
 
When an external [[demo]] lump is viewed using the [[Parameter#-playdemo|{{c|-playdemo}}]] [[command line parameter]], the automap can be accessed, and the [[IDDT|automap cheat code]] works. The automap is not accessible during a [[Demo#Built-in demos|built-in demo]], or while running a demo with the [[Parameter#-timedemo|{{c|-timedemo}}]] or [[Parameter#-fastdemo|{{c|-fastdemo}}]] switches; pressing the tab key in these modes brings up the game menu.
  
== Hidden areas ==
+
== Controls ==  
  
During the design of a level, linedefs can be [[Linedef#Linedef flags|flagged]] by the author so as not to appear on the automap even if the computer map powerup is obtained. However, the {{c|iddt}} [[Doom cheat codes|cheat code]] will display all lines. Linedefs can also be flagged to appear on the map even before they have been rendered.
+
Several keys perform actions inside the automap:
 +
 
 +
* F: Toggles follow mode. If follow mode is on, the map remains centered on the player, and if not, it is possible to scroll the map using the arrow keys while the player remains stationary.
 +
* M: Marks the current position with a number. Up to ten markers may be placed, numbered 0 through 9; further uses of the M key will cause the existing set of numbers to be sequentially erased in favor of the new positions. (In [[Doom95]], this function is extremely buggy and may even cause the program to crash.)
 +
* C: Clears all marked positions.
 +
* G: Toggles grid on/off.
 +
* +: Zooms in.
 +
* -: Zooms out.
 +
* 0: Zooms out fully. If pressed a second time without leaving automap mode, returns the map to its previous scale.
 +
* Tab: Exits automap and returns to normal view.
  
To avoid giving away [[secrets]], concealed doors can also be marked so as to initially appear red on the map, as though they were solid walls.
+
If one of these keys has also been mapped to a gameplay function (e.g. firing or running), the above table overrides that key's default behavior during automap mode. All other keys can be used as normal, however.
  
== Heretic ==
+
==Other games==
 +
=== Heretic ===
 
[[Raven Software]] introduced a few changes to the automap in [[Heretic]]:
 
[[Raven Software]] introduced a few changes to the automap in [[Heretic]]:
 
* A parchment-like texture is used as a background behind the automap, stored in the {{c|AUTOPAGE}} [[lump]]. This was also retained in [[Hexen]].
 
* A parchment-like texture is used as a background behind the automap, stored in the {{c|AUTOPAGE}} [[lump]]. This was also retained in [[Hexen]].
Line 50: Line 50:
 
* The player appears as a sword rather than a simple arrow.
 
* The player appears as a sword rather than a simple arrow.
  
== Doom 64 ==
+
=== Hexen ===
 +
Along with the enhancements and changes made in Heretic, the automap in [[Hexen]] will be remembered between levels in a [[hub]], and the total time played on the current save slot will be shown in the upper right-hand corner of the map, up to a limit of 5 days. If this limit is surpassed, the timer will change to an [[Easter egg]] message which states, "YOU FREAK!!!"<ref>[[Hexen source code]] file [https://github.com/chocolate-doom/chocolate-doom/blob/raven-src-release/src/hexen/am_map.c#L1397 am_map.c], line 1397, in the [[Chocolate Doom]] GitHub repository.</ref>
 +
 
 +
=== Doom 64 ===
 
[[Doom 64]] offers the choice between wireframe mode and textured mode; in textured mode it renders the floor subsectors from a top-down view. Doom 64 also rotates the automap so that the player arrow is always [[Angle|pointing]] towards the top of the screen. A few more minor differences exist as well, such as pulsing the player arrow and changing the position where the level name is displayed.
 
[[Doom 64]] offers the choice between wireframe mode and textured mode; in textured mode it renders the floor subsectors from a top-down view. Doom 64 also rotates the automap so that the player arrow is always [[Angle|pointing]] towards the top of the screen. A few more minor differences exist as well, such as pulsing the player arrow and changing the position where the level name is displayed.
  
== Source ports ==
+
=== Source ports ===
 +
[[File:Am_stretch.png|right|thumb|A rectangular room in [[E1M3: Toxin Refinery (Doom)|E1M3]] is distorted in the automap, due to incorrect [[Aspect ratio|aspect ratio correction]].]]
 
Several source ports have extended the automap with additional features. For example, [[Boom]] allows one to color-code [[secret]] sector boundaries, linedefs with teleport or exit [[linedef type|type]]s, and locked doors (with their key color as in Heretic). [[PrBoom+]] and [[ZDoom]] offer a textured automap. Overlay mode is often implemented, which displays the map superimposed over the regular game view. [[PrBoom]] adds a rotate mode as in Doom 64 (originally from [[LxDoom]]). Source ports implementing [[room over room]] techniques may also offer additional features to adapt the automap to these effects.
 
Several source ports have extended the automap with additional features. For example, [[Boom]] allows one to color-code [[secret]] sector boundaries, linedefs with teleport or exit [[linedef type|type]]s, and locked doors (with their key color as in Heretic). [[PrBoom+]] and [[ZDoom]] offer a textured automap. Overlay mode is often implemented, which displays the map superimposed over the regular game view. [[PrBoom]] adds a rotate mode as in Doom 64 (originally from [[LxDoom]]). Source ports implementing [[room over room]] techniques may also offer additional features to adapt the automap to these effects.
 +
 +
Source ports must treat the automap specially with respect to [[aspect ratio]], since it is not rendered using the same code as the player's view of the map. This is easily done via the addition of scaling multipliers to the {{wp|linear transformation|transformation}}, however.
 +
 +
=== Strife ===
 +
In [[Strife: Quest for the Sigil]], the automap state will be remembered between levels in hubs, and a special item called the [[scanner]] can be used to temporarily reveal the positions of all [[actor]]s (in the same way as Doom's {{c|iddt}} cheat code) if a [[Map (Strife)|map]] has been found for that level. Actors revealed by the scanner are color-coded to represent what type of object their arrows represent (such as an [[item]] or a [[monster]]).
 +
 +
In the [[Strife: Veteran Edition]] re-release, dynamic objective markers will be placed on the automap or turned off when the player is given objectives or completes them during [[conversation]]s. These appear as a small red "X" in the software renderer, and are augmented with translucent strobing concentric circles when the high-quality hardware renderer is in use.
  
 
== Trivia ==
 
== Trivia ==
[[Image:MochaDoomAutomapStrobeDemo.gif|right|thumb|320px||A demonstration of the normally disabled automap's "funky strobing effect" feature, re-enabled during [[Mocha Doom]]'s development for testing purposes.]]
+
[[File:MochaDoomAutomapStrobeDemo.gif|right|thumb|A demonstration of the normally disabled automap's "funky strobing effect" feature, re-enabled during [[Mocha Doom]]'s development for testing purposes.]]
 
* The <tt>iddt</tt> [[Doom cheat codes|cheat code]] can be used to display all [[linedef]]s and [[Thing]]s on the map. Zooming in closely on the player while this is active shows the letters "ddt", a reference to [[Dave Taylor]] who wrote the automap code. [[Boom]] modifies this: the letters "jff" are visible instead, a reference to [[Jim Flynn]].
 
* The <tt>iddt</tt> [[Doom cheat codes|cheat code]] can be used to display all [[linedef]]s and [[Thing]]s on the map. Zooming in closely on the player while this is active shows the letters "ddt", a reference to [[Dave Taylor]] who wrote the automap code. [[Boom]] modifies this: the letters "jff" are visible instead, a reference to [[Jim Flynn]].
 
* [[id Software]] planned to include [[Automap asteroids|a secret minigame]] in the automap, but it was never completed.
 
* [[id Software]] planned to include [[Automap asteroids|a secret minigame]] in the automap, but it was never completed.

Revision as of 16:11, 29 August 2016

E1M4: Command Control in automap mode. Only the lines the player has seen are visible.

The automap is a feature of the Doom engine which allows the player to view his or her current position in the level and any of the walls (formed from linedefs) which have been seen so far. The automap is toggled on or off using the tab key by default, and is available in Doom, Heretic, Hexen, and Strife, with minor differences in each game.

Automap behavior

The map shows all walls the player has seen since entering the level. Seeing just a small piece of a wall will make its entire linedef visible on the map. As all levels supported by the Doom rendering engine are flat when viewed from above (it is not possible in vanilla to have rooms over rooms), the map is easily generated by the software and easily comprehended by the player.

A confusing view in Descent's automap for comparison.

By contrast, some of Doom's close contemporaries such as Descent and The Terminator: Future Shock had 3D automaps that many found too challenging to navigate.[1] Most of Doom's fully 3D successors, starting with Quake and including Doom 3, have either abandoned the idea of a top-down map, or circumvented the problem of displaying a Z-axis by artificially dividing each level into 'floors' or 'zones'. The automap returns as a feature in Doom (2016), having been informed by such geometry-simplifying implementations as those used in the Metroid Prime series of 3D adventure shooters.

The lines in the automap are color-coded. Red lines indicate solid walls. Yellow lines indicate changes in ceiling height (e.g. doors). Brown lines indicate changes in floor height. Light gray lines indicate areas which have not yet been visited (made visible by the computer map powerup). This color scheme may vary depending on the source port being used.

While it is possible to walk around in automap mode, the map itself will not update: the lines shown in the map are marked by the rendering process, which does not occur while the automap is turned on. As the Doom instruction manual notes, playing in automap mode is a dubious long-term strategy, since monsters cannot be seen. Certain source ports avoid the entire issue by including the automap in a heads-up display.

Regardless of the view size setting in-game, the automap fills the entire screen and displays the status bar.

Hidden areas

During the design of a level, linedefs can be flagged by the author so as not to appear on the automap even if the computer map powerup is obtained. However, the iddt cheat code will display all lines. Linedefs can also be flagged to appear on the map even before they have been rendered.

To avoid giving away secrets, concealed doors can also be marked so as to initially appear red on the map, as though they were solid walls.

Multiplayer

In cooperative mode, all players show up as arrows on the automap, with colors corresponding to the players' colors (red, green, brown, and indigo). In deathmatch mode, however, opponents are not visible on the map.

Demo playback

When an external demo lump is viewed using the -playdemo command line parameter, the automap can be accessed, and the automap cheat code works. The automap is not accessible during a built-in demo, or while running a demo with the -timedemo or -fastdemo switches; pressing the tab key in these modes brings up the game menu.

Controls

Several keys perform actions inside the automap:

  • F: Toggles follow mode. If follow mode is on, the map remains centered on the player, and if not, it is possible to scroll the map using the arrow keys while the player remains stationary.
  • M: Marks the current position with a number. Up to ten markers may be placed, numbered 0 through 9; further uses of the M key will cause the existing set of numbers to be sequentially erased in favor of the new positions. (In Doom95, this function is extremely buggy and may even cause the program to crash.)
  • C: Clears all marked positions.
  • G: Toggles grid on/off.
  • +: Zooms in.
  • -: Zooms out.
  • 0: Zooms out fully. If pressed a second time without leaving automap mode, returns the map to its previous scale.
  • Tab: Exits automap and returns to normal view.

If one of these keys has also been mapped to a gameplay function (e.g. firing or running), the above table overrides that key's default behavior during automap mode. All other keys can be used as normal, however.

Other games

Heretic

Raven Software introduced a few changes to the automap in Heretic:

  • A parchment-like texture is used as a background behind the automap, stored in the AUTOPAGE lump. This was also retained in Hexen.
  • Linedefs of locked doors are colored with the color of their respective keys.
  • In the easiest skill level, keys themselves are shown on the automap, making it easier to find the way out.
  • The player appears as a sword rather than a simple arrow.

Hexen

Along with the enhancements and changes made in Heretic, the automap in Hexen will be remembered between levels in a hub, and the total time played on the current save slot will be shown in the upper right-hand corner of the map, up to a limit of 5 days. If this limit is surpassed, the timer will change to an Easter egg message which states, "YOU FREAK!!!"[2]

Doom 64

Doom 64 offers the choice between wireframe mode and textured mode; in textured mode it renders the floor subsectors from a top-down view. Doom 64 also rotates the automap so that the player arrow is always pointing towards the top of the screen. A few more minor differences exist as well, such as pulsing the player arrow and changing the position where the level name is displayed.

Source ports

A rectangular room in E1M3 is distorted in the automap, due to incorrect aspect ratio correction.

Several source ports have extended the automap with additional features. For example, Boom allows one to color-code secret sector boundaries, linedefs with teleport or exit types, and locked doors (with their key color as in Heretic). PrBoom+ and ZDoom offer a textured automap. Overlay mode is often implemented, which displays the map superimposed over the regular game view. PrBoom adds a rotate mode as in Doom 64 (originally from LxDoom). Source ports implementing room over room techniques may also offer additional features to adapt the automap to these effects.

Source ports must treat the automap specially with respect to aspect ratio, since it is not rendered using the same code as the player's view of the map. This is easily done via the addition of scaling multipliers to the transformation, however.

Strife

In Strife: Quest for the Sigil, the automap state will be remembered between levels in hubs, and a special item called the scanner can be used to temporarily reveal the positions of all actors (in the same way as Doom's iddt cheat code) if a map has been found for that level. Actors revealed by the scanner are color-coded to represent what type of object their arrows represent (such as an item or a monster).

In the Strife: Veteran Edition re-release, dynamic objective markers will be placed on the automap or turned off when the player is given objectives or completes them during conversations. These appear as a small red "X" in the software renderer, and are augmented with translucent strobing concentric circles when the high-quality hardware renderer is in use.

Trivia

A demonstration of the normally disabled automap's "funky strobing effect" feature, re-enabled during Mocha Doom's development for testing purposes.
  • The iddt cheat code can be used to display all linedefs and Things on the map. Zooming in closely on the player while this is active shows the letters "ddt", a reference to Dave Taylor who wrote the automap code. Boom modifies this: the letters "jff" are visible instead, a reference to Jim Flynn.
  • id Software planned to include a secret minigame in the automap, but it was never completed.
  • In the Doom source code, there is still a residue of an implemented but unused automap strobing effect, which would cause the automap to slowly fade to a low lighting level and then back to full brightness cyclically. This feature is either left as dead code or altogether eliminated in most source ports.

See also

References

  1. Adams, Ernest (19 June 1998). "Designer's Notebook: Cartographic Cartwheels." Gamasutra. Retrieved 29 August 2016.
  2. Hexen source code file am_map.c, line 1397, in the Chocolate Doom GitHub repository.