Doom for Game Boy Advance

Doom for the Game Boy Advance was developed by David A. Palmer Productions and published by on October 26, 2001. Localized releases for the United Kingdom and Germany followed on November 16. It is based on the Atari Jaguar version of the engine used for the first series of console ports developed during the 1990s. Its game play is generally true to the PC original, albeit with less overall content. It was followed in 2002 by an independently produced version of Doom II.

Development
David A. Palmer Productions won the license to create Doom for the Game Boy Advance after approaching id Software with a tech demo on the Game Boy Color. John Carmack and Activision suggested that they instead develop a port of Commander Keen for the system, which proved successful enough to earn them the contract they originally desired. However, by that point, the Game Boy Advance had been released and was significantly more capable than its predecessor, so the project was re-targeted.

Initially lacking any code from id, the company's programmers Bryon Nilsson and Matt Hopwood proceeded to produce their own custom 3D graphics engine for the Game Boy Advance over the course of nine months, and according to David Palmer, it was around 95% complete, needing only additional optimization to hit the 30 frames-per-second mark. However, John Carmack then located a copy of the Atari Jaguar source code, and he and Activision proceeded to demand that it be used instead of the custom engine that had already been developed. This set back development and led to what Palmer believes is probably an inferior product to what could have been provided.

The final version of the game was still well-received by id and Activision and made a stir at that year's. It ended up selling 140,000 copies. However, this was still not good enough to guarantee Palmer a follow-up contract for Doom II, for which the company lost a bid to Torus Games. While unsubstantiated, and contradicted by known evidence, Palmer believed at that time that Torus was given access to his company's code in order to make their jobs easier.

Differences from PC
Most differences from the PC version are directly inherited from the Jaguar version of the game on which this port is based.

Maps
All maps in the game are simplified levels based on those used in Jaguar Doom, with less complex geometry, fewer textures used, and some areas removed. This includes several bugs directly inherited with these designs. As in the Jaguar version, no maps from Episode 4: Thy Flesh Consumed are present, as that version was created before the expansion episode's 1995 release.

The only secret level remaining is.

Individual map changes
This version inherits all of the changes from the Atari Jaguar maps.

Mechanics

 * There are no crushing ceilings.
 * The blur artifact and light amplification visor powerups are removed entirely.
 * Health potions and spiritual armor give 2% instead of 1%.
 * Sound propagation is unused (like the Atari Jaguar version), probably in order to conserve performance; all enemies are deaf as a result. Some monsters periodically become active before they enter line of sight, but this is generally attributable to off-screen monster infighting. Rare cases might be due to some other cause, such as a reject map bug, but this is unverified.
 * No animated or text intermissions appear for the first two episodes' completion; the only intermission that appears is at the end of the game.
 * Lighting affects level geometry, but not things; all enemies, items, and decorations are displayed at fullbright and thus "glow" in the dark (instead of just specific "bright" Things like lost souls or light source objects like lamps). Also, there is no real-time lighting from player gunshots.

Monsters
Neither cyberdemons nor spiderdemons are present. Barons of Hell and cacodemons are typically used as bosses instead, with the game ending on the equivalent of E2M9: Fortress of Mystery, which as in the Jaguar version is retitled Dis.

Spectres are situationally either removed or replaced with demons.

Cacodemons move much faster than normal.

Episodes
The game features an episode select screen like the original PC version, but the game itself is not actually divided up into episodes, and has no episode end screens. Instead, the game is set up as one continuous episode: all maps can be played back-to-back, with inventory from one episode carrying over to the next. Thus, the episode selection screen serves more of a "level select" function, allowing the player to start from later maps without having to play through earlier maps to reach them.

Graphics
The status bar is completely redesigned to be drawn via the Game Boy Advance's tile layer system. It more closely resembles the original PC status bar with a concrete-based texture, uses different fonts, has no percent signs, and lacks the "Arms" weapon display entirely.

The box of bullets is a brighter shade of green.

Censorship
Along with its sequel, this game is notable for being heavily censored in order to obtain a "Teen" rating from the, as the first party console manufacturer discouraged creation of mature-rated games for the platform, focusing its marketing heavily on the  demographic. All blood is green, both for monsters and when the player takes damage. Doomguy's face in the HUD does not bleed when health values are low, though it does take on a progressively disheveled appearance. Monster corpses vanish after a few seconds, and there are no gib deaths. Some impaled and hanging corpses are also removed.

When taking damage or collecting items, the screen appears to momentarily flash blue, rather than red for damage or yellow for items.

The ending intermission was modified. Episode 4's ending screen appears instead of the infamous shocking "bunny" ending.



Mechanics

 * The demon's death sound is replaced with the imp's death sound, in order to save ROM space.
 * Ultra-Violence mode is renamed "Nightmare"; true Nightmare! mode was removed altogether.
 * Collecting an invincibility power-up gives the screen a deep blue haze rather than use of an inverted black and white scheme, presumably to maintain visibility.
 * A "static lighting" option was added, which renders all sectors at full brightness. This was provided for performance reasons, as well as because of difficulties with the first-generation Game Boy Advance's dark unlit display, as the frame rate notably increases when the light calculation code is skipped.
 * Changes to the lighting engine also resulted in lessened depth perception due to the removal of depth shading (surfaces nearer the player are drawn brighter than surfaces farther from the player) and fake contrast (surfaces running north-south are shaded slightly differently than surfaces running east-west). Both of these features assist in depth perception by creating contrast between surfaces, but are not present in the GBA version of Doom, perhaps due to the added processing needed to render them. Note that the GBA can display 512 colors at once, which is more than the 256 colors supported by the vanilla Doom engine, so this is more likely a performance concern than a display limitation.

Sound
Unlike the Jaguar version, Doom for Game Boy Advance features a full soundtrack during gameplay. However, no track is played in the intermission screen. All music is shifted ahead - E1M1 uses E1M2's music, E1M2 uses E1M3's music, and so forth, until E3M3 is reached. Most tracks are significantly simplified, and some have been creatively remixed in an effort to make them sound better on the GBA's limited sound hardware. Generally, the melodies are played back using the legacy Game Boy PSG sound channels, with samples only being used for drum sounds and sound effects.

It appears that the game does not use a software mixer altogether, playing hardcoded samples through the two Direct Sound channels instead. Presumably for this reason, the game lacks volume control for music and sound effects; simple on/off toggles are present, however. Channel A is used for weapon sounds, player grunts, item pickup sounds and map sounds (doors opening, etc.), while channel B plays back the music percussion samples and monster grunts. All samples are played back in mono and can be frequently observed cutting out during gameplay as only one sound can be played back at a time per channel. Moreover, certain samples exhibit noticeable clipping, such as DSPOSACT (former human action sound).

Saving
Game progress can be saved between levels. There are four save slots available to use. Saving requires changing the answer to the "Save Progress?" question to "Yes" and confirming, and then selecting a slot. A second question must then again be answered "Yes" to confirm overwriting the save file. Unlike in the PC version of the game, a save cannot be named, and will instead be automatically named for the level number reached on that save slot.

As a possible bug, the game does not prompt the player to save upon entering the E1M9 secret map. It must therefore be completed in the same session it is entered.

Bugs

 * When a message indicating a collected item, etc. is displayed on-screen, receiving a new message (e.g. collecting another item) does not reset the amount of time the message is displayed; the new message(s) will disappear at the same time the first message was supposed to disappear, occasionally making them near-impossible to read.
 * In vanilla Doom, the Tower of Babel appears to be "built" during episode 2: with each intermission screen, the tower becomes a little larger, growing from a foundation to a full tower. This does not happen in GBA Doom.
 * When the player drops off a high ledge, he makes the pain sound instead of the usual "oof" sound, even though that sound is still present for pressing unusable linedefs.
 * Punching walls and inanimate objects produces the same impact sound effect as punching a monster.
 * A bug makes palette index 0 transparent, even in contexts where it should not be.
 * There is a minor bug related to vertical tiling of textures; all but one "tile" of the texture will be horizontally offset by one pixel, which can cause a slight visual disconnect in some surfaces with patterns or features that run the vertical length of the texture (such as SUPPORT3).
 * There is a bug related to item collection, where if the player comes in contact with two or more items at once, neither item will be collected unless the player can pick up all such items. For instance, if a clip and a stimpack are directly adjacent, and if the player has 100% health, he will not be able to collect the clip, regardless of his bullet amount, since he is not allowed to collect the stimpack. This can generally be averted if the player can maneuver to a position where he is not touching multiple items at once, but may be impossible in tight spaces or if the items are very close. This bug was also present in the PlayStation version of Doom, and was inherited from the Atari Jaguar version.
 * The "You are here" indicator on intermission screens often does not point at the correct location; this is particularly true for Episode 3, where the locations do not correspond to the background graphic in any discernable fashion.

Single-player maps


Secret level
 * MAP16: Tower of Babel
 * MAP21: Erebus
 * MAP16: Tower of Babel
 * MAP21: Erebus
 * MAP21: Erebus
 * MAP21: Erebus
 * MAP21: Erebus
 * MAP21: Erebus

Multiplayer
Like the Jaguar, the Game Boy Advance game supports multiplayer gameplay. This version allows from two to four players via use of the. A cartridge and system are required for every player joining the game; there is no upload-based limited play feature.

The GBA version of Doom also comes with eight brand new deathmatch-only levels. These are the only officially released multiplayer-only levels for the classic Doom games, and are, along with American McGee's id Map01, the only official multiplayer levels ever released. These levels have so far not been released on any other system. Their author is presently unknown.

Weapons

 * Fists
 * Chainsaw
 * Pistol
 * Shotgun
 * Chaingun
 * Rocket launcher
 * Plasma rifle
 * BFG9000

Enemies

 * Zombieman
 * Shotgun guy
 * Imp
 * Demon
 * Lost soul
 * Cacodemon
 * Baron of Hell

Regional variations and gallery
The cover art consists of a modification of the original Doom cover art, combined with the standard Game Boy Advance packaging template and an overlay of a distinctive circuit board pattern, which is also used along with a tab-folder-like design on the reverse side of the box. The basic design of the GBA box art was later reused for the independently produced port to the Pocket PC. Other than minor differences in color and language, the European releases' box art is identical to the North American regional release.

The game cartridge labels all consist of the familiar Doom logo on a plain black field. European releases bear some additional region-specific certification marks for electronic products which necessitate the logo being uncentered, however.

There was no Japanese release of this game.

Speedrunning
In the final days of 2017, speedrunners of this version of Doom discovered an out of bounds glitch which allows Jaguar-based ports to be completed in considerably less time than their PC counterparts.

Doom for Game Boy Advance has been completed in less than 10 minutes with the use of multiple out of bounds techniques. As of 2019, it is the fastest version of the original game.