Difference between revisions of "Super NES"

From DoomWiki.org

[unchecked revision][checked revision]
(Multiplayer: XBAND restoration)
(29 intermediate revisions by 10 users not shown)
Line 1: Line 1:
 
[[Image:SNES_Doom_Box_Art.jpg|thumb|300px|Box art for the North American Super Nintendo version of [[Doom]]]]
 
[[Image:SNES_Doom_Box_Art.jpg|thumb|300px|Box art for the North American Super Nintendo version of [[Doom]]]]
'''Doom''' for the {{wp|Super Nintendo Entertainment System}} was developed by {{wp|Sculptured Software|Sculptured Software, Inc.}} It was released on [[Timeline#1995|September 1, 1995]], near the end of the system's life cycle. The cartridge features a {{wp|Super FX|Super FX 2}} chip, and was one of only three Super NES games to feature a colored cartridge, with the NTSC version being available in a red casing. The game does not use the [[Doom engine]], but is instead powered by a custom engine programmed by Randy Linden called the [[Reality Engine]]. It was published by [[Williams Entertainment]] in North America and Europe, and by {{wp|Imagineer (Japanese company)|Imagineer}} in [[Doom in Japan|Japan]]. Distributor {{wp|Ocean Software}} cooperated on the European release.
+
'''Doom''' for the {{wp|Super Nintendo Entertainment System}} was developed by {{archived link|https://en.wikipedia.org/wiki/Sculptured_Software|Sculptured Software, Inc.|https://web.archive.org/web/20171005075818/https://en.wikipedia.org/wiki/Sculptured_Software|archive.org}} It was released on [[Timeline#1995|September 1, 1995]], near the end of the system's life cycle. The cartridge features a {{wp|Super FX|Super FX 2}} chip, and was one of only three Super NES games to feature a colored cartridge, with the NTSC version being available in a red casing. The game does not use the [[Doom engine]], but is instead powered by a custom engine programmed by [[Randy Linden]] called the [[Reality Engine]]. It was published by [[Williams Entertainment]] in North America and Europe, and by {{wp|Imagineer (Japanese company)|Imagineer}} in [[Doom in Japan|Japan]]. Distributor {{wp|Ocean Software}} cooperated on the European release.
  
 
== Details ==
 
== Details ==
Line 21: Line 21:
  
 
==Levels==
 
==Levels==
 +
Internally the Reality Engine does not address levels in an "ExMy" fashion but simply has a series of lookup tables which point to the levels' various portions of data. These lookup tables have comments and named entries in the source code referring to them by their PC names, as well as {{wp|Null pointer|zeroed gaps}} representing the levels which were not translated from the PC version which are skipped over by the code when playing the game, so the same naming scheme used for PC is maintained for the levels here.
 
{| {{prettytable}}
 
{| {{prettytable}}
!Level name
+
!Level name  
 
|-
 
|-
|[[E1M1: Hangar (Doom)|E1M1: Hangar]]
+
|{{maplinkgen|E1M1|Hangar|Super NES Doom}}
 
|-
 
|-
|[[E1M2: Nuclear Plant (Doom)|E1M2: Nuclear Plant]]
+
|{{maplinkgen|E1M2|Nuclear Plant|Super NES Doom}}
 
|-
 
|-
|[[E1M3: Toxin Refinery (Doom)|E1M3: Toxin Refinery]]
+
|{{maplinkgen|E1M3|Toxin Refinery|Super NES Doom}}
 
|-
 
|-
|[[E1M4: Command Control (Doom)|E1M4: Command Control]]
+
|{{maplinkgen|E1M4|Command Control|Super NES Doom}}
 
|-
 
|-
|[[E1M5: Phobos Lab (Doom)|E1M5: Phobos Lab]]
+
|{{maplinkgen|E1M5|Phobos Lab|Super NES Doom}}
 
|-
 
|-
|[[E1M7: Computer Station (Doom)|E1M6: Computer Station]]
+
|{{maplinkgen|E1M7|Computer Station|Super NES Doom}}
 
|-
 
|-
|[[E1M8: Phobos Anomaly (Doom)|E1M7: Phobos Anomaly]]
+
|{{maplinkgen|E1M8|Phobos Anomaly|Super NES Doom}}
 
|-
 
|-
|[[E1M9: Military Base (Doom)|E1M8: Military Base]] (secret level, accessible from E1M3)
+
|{{maplinkgen|E1M9|Military Base|Super NES Doom}} <span style="font-size: smaller;">(secret level, accessible from E1M3)</span>
 
|-
 
|-
|[[E2M1: Deimos Anomaly (Doom)|E2M1: Deimos Anomaly]]
+
|{{maplinkgen|E2M1|Deimos Anomaly|Super NES Doom}}
 
|-
 
|-
|[[E2M3: Refinery (Doom)|E2M2: Refinery]]
+
|{{maplinkgen|E2M3|Refinery|Super NES Doom}}
 
|-
 
|-
|[[E2M4: Deimos Lab (Doom)|E2M3: Deimos Lab]]
+
|{{maplinkgen|E2M4|Deimos Lab|Super NES Doom}}
 
|-
 
|-
|[[E2M6: Halls of the Damned (Doom)|E2M4: Halls of the Damned]]
+
|{{maplinkgen|E2M6|Halls of the Damned|Super NES Doom}}
 
|-
 
|-
|[[E2M8: Tower of Babel (Doom)|E2M5: Tower of Babel]]
+
|{{maplinkgen|E2M8|Tower of Babel|Super NES Doom}}
 
|-
 
|-
|[[E2M9: Fortress of Mystery (Doom)|E2M6: Fortress of Mystery]] (secret level, accessible from E2M2)
+
|{{maplinkgen|E2M9|Fortress of Mystery|Super NES Doom}} <span style="font-size: smaller;">(secret level, accessible from E2M3)</span>
 
|-
 
|-
|[[E3M1: Hell Keep (Doom)|E3M1: Hell Keep]]
+
|{{maplinkgen|E3M1|Hell Keep|Super NES Doom}}
 
|-
 
|-
|[[E3M2: Slough of Despair (Doom)|E3M2: Slough of Despair]]
+
|{{maplinkgen|E3M2|Slough of Despair|Super NES Doom}}
 
|-
 
|-
|[[E3M3: Pandemonium (Doom)|E3M3: Pandemonium]]
+
|{{maplinkgen|E3M3|Pandemonium|Super NES Doom}}
 
|-
 
|-
|[[E3M4: House of Pain (Doom)|E3M4: House of Pain]]
+
|{{maplinkgen|E3M4|House of Pain|Super NES Doom}}
 
|-
 
|-
|[[E3M6: Mt. Erebus (Doom)|E3M5: Mt. Erebus]]
+
|{{maplinkgen|E3M6|Mt. Erebus|Super NES Doom}}
 
|-
 
|-
|[[E3M7: Limbo (Doom)|E3M6: Limbo]]
+
|{{maplinkgen|E3M7|Limbo|Super NES Doom}}
 
|-
 
|-
|[[E3M8: Dis (Doom)|E3M7: Dis]]
+
|{{maplinkgen|E3M8|Dis|Super NES Doom}}
 
|-
 
|-
|[[E3M9: Warrens (Doom)|E3M8: Warrens]] (secret level, accessible from E3M5)
+
|{{maplinkgen|E3M9|Warrens|Super NES Doom}} <span style="font-size: smaller;">(secret level, accessible from E3M6)</span>
 
|}
 
|}
  
Line 90: Line 91:
 
* Rockets are much stronger, able to take out enemies such as the [[baron of Hell]] with only three shots instead of five to six required in the PC version.
 
* Rockets are much stronger, able to take out enemies such as the [[baron of Hell]] with only three shots instead of five to six required in the PC version.
 
* The [[plasma gun]] is significantly stronger and uses fewer sprites in its firing sequence.
 
* The [[plasma gun]] is significantly stronger and uses fewer sprites in its firing sequence.
* In wider areas, it is possible for the player to collide with his own fired projectiles (such as rockets and plasma) if the projectiles are fired while the player is running.
+
* In wider areas, it is possible for the player to collide with their own fired projectiles (such as rockets and plasma) if the projectiles are fired while the player is running.
 
* The [[BFG9000|BFG]] does not display an explosion graphic as it does in all other versions; it simply fires a round that looks like a baron fireball and causes a ripple effect without the animation.
 
* The [[BFG9000|BFG]] does not display an explosion graphic as it does in all other versions; it simply fires a round that looks like a baron fireball and causes a ripple effect without the animation.
* All three of the aforementioned weapons utilize the imp/cacodemon/baron fireball launching sound effect when fired.
 
 
* In a rather humorous fashion, the cyberdemon's rockets fire out backwards. This is an unfortunate side effect of the developers using single-angled sprites, seeming to forget that the player and cyberdemon share this projectile.
 
* In a rather humorous fashion, the cyberdemon's rockets fire out backwards. This is an unfortunate side effect of the developers using single-angled sprites, seeming to forget that the player and cyberdemon share this projectile.
* Many sound effects have been simplified. They are sampled at a lower rate, and there is far more reuse than there is in the PC version. [[Demon|Pinky demons]] share the imp's pain and death sounds, lost souls share the cacodemon's awakened sound (also reused as both monsters' idle sound) and rocket and [[barrel]] explosions share the generic fireball explosion sounds. Lost souls use their own death sound, which is actually the marine's falling/activating dummy walls grunt, instead of the fireball explosion as their death sound.
+
* Many sound effects have been simplified. They are sampled at a lower rate, and there is far more reuse than there is in the PC version. [[Demon|Pinky demons]] share the imp's pain and death sounds, lost souls share the cacodemon's awakened sound (also reused as both monsters' idle sound) and rocket and [[barrel]] explosions share the generic fireball explosion sounds. Lost souls use their own death sound, which is actually the marine's falling/activating dummy walls grunt, instead of the fireball explosion as their death sound. Zombiemen and shotgun guys only use one of their three PC death sounds, imps only use one of their two original death sounds, and the player's non-hitscan weapons utilize the imp/cacodemon/baron fireball launching sound effect when fired.
 
* This is the only version of Doom to use cylindrical collision on actors. All other versions use rectangular bounding boxes, with fixed alignment no matter which [[angle]] the actor is facing.
 
* This is the only version of Doom to use cylindrical collision on actors. All other versions use rectangular bounding boxes, with fixed alignment no matter which [[angle]] the actor is facing.
  
 
==Development==
 
==Development==
Randy Linden, the port's sole programmer, initiated the port of Doom for the Super NES on his own initially, as he was fascinated by the game.
+
[[File:Super NES dev cart.jpg|thumb|right|Super NES development board used by Randy Linden.]]
 +
[[Randy Linden]], the port's sole programmer, initiated the port of Doom for the Super NES on his own initially, as he was fascinated by the game.
  
 
Since Doom's source code was not yet released at the time, Linden referred to the [[Unofficial Doom Specs]] as a means of understanding the game's lump layout in detail.<ref>[https://www.gamasutra.com/view/news/343989/Inside_the_work_to_get_Doom_on_the_Super_Nintendo.php An excerpt of Fabien Sanglard's "Game Engine Black Book: DOOM" describing the SNES port]</ref> The resources were extracted from the IWAD, with some (notably sprites such as the player's sprites and the original status bar face sprites) unused due to technical limitations.
 
Since Doom's source code was not yet released at the time, Linden referred to the [[Unofficial Doom Specs]] as a means of understanding the game's lump layout in detail.<ref>[https://www.gamasutra.com/view/news/343989/Inside_the_work_to_get_Doom_on_the_Super_Nintendo.php An excerpt of Fabien Sanglard's "Game Engine Black Book: DOOM" describing the SNES port]</ref> The resources were extracted from the IWAD, with some (notably sprites such as the player's sprites and the original status bar face sprites) unused due to technical limitations.
  
According to an interview, due to lack of development systems for the Super FX, Linden wrote a set of tools consisting of an assembler, linker, debugger, dubbed the ACCESS<ref>[https://github.com/RandalLinden/ACCESS Github page of the ACCESS program (currently empty)]</ref>, on his own [[Amiga]] before beginning development of the port proper. For the hardware kit, he utilized a hacked ''{{wp|Star Fox}}'' cartridge and a pair of modified Super NES controllers plugged into the console and connected to the Amiga's parallel port. A serial protocol was used to further link the two devices.
+
According to an interview, due to lack of development systems for the Super FX, Linden wrote a set of tools consisting of an assembler, linker, debugger, dubbed the ACCESS<ref>[https://github.com/RandalLinden/ACCESS Github page of the ACCESS program (currently empty)]</ref>, on his own [[Amiga]] before beginning development of the port proper. For the hardware kit, he utilized a hacked ''{{wp|Star Fox (1993 video game)|Star Fox}}'' cartridge and a pair of modified Super NES controllers plugged into the console and connected to the Amiga's parallel port. A serial protocol was used to further link the two devices.
  
After developing a full prototype, he later showcased it to his employer, Sculptured Software, which helped him finish the development. In the interview, Linden expressed a wish that he could have added the missing levels; however, the game, already the largest possible size for a Super FX 2 game at 16 megabits, only has roughly 16 bytes of free space. Linden also added support for the Super Scope light gun device, the Super NES mouse, and the XBAND modem for multiplayer.
+
After developing a full prototype, he later showcased it to his employer, Sculptured Software, which helped him finish the development. In the interview, Linden expressed a wish that he could have added the missing levels; however, the game, already the largest possible size for a Super FX 2 game at 16 megabits, only has roughly 16 bytes of free space. Linden also added support for the Super Scope light gun device, the Super NES mouse, and the XBAND modem for multiplayer. Fellow programmer [[John Coffey]], himself a fan of the Doom series, made modifications to the levels, but some of those modifications were rejected by id Software.{{cite web |author=[[Randy Linden|Linden, Randy]]|title=Randy Linden Interview (SNES Doom Programmer)|url=https://youtube.com/watch?v=P5PknJvplKg|publication=Cacodemontube (YouTube)|publishdate=2 May 2020|accessdate=8 August 2022}}
 +
 
 +
On July 14, 2020, Linden released the first phase of the source code on Github under the GPLv3 license, with the second phase following on July 16 and the third phase the next day. According to a reply on a thread on NESDev regarding the source code release<ref>[http://forums.nesdev.com/viewtopic.php?p=252270#p252270 Re: SNES Doom Source Released! Now What?]</ref>, the source code release for both the port and the ACCESS toolchain would be each divided into four such phases.
  
 
==Multiplayer==
 
==Multiplayer==
Line 111: Line 114:
 
Deathmatches would last until one player achieved five frags, which are displayed on the status bar as in the PC port, or any player hit an exit switch. The game would then return to the level select menu. This would continue until one player or the other disconnected.
 
Deathmatches would last until one player achieved five frags, which are displayed on the status bar as in the PC port, or any player hit an exit switch. The game would then return to the level select menu. This would continue until one player or the other disconnected.
  
Some limitations of the port are further evident in this mode, as player sprites are also only visible from one angle, both players appear green in color, and they always display the "firing" attack frame. When a player dies, he or she simply disappears, leaving no corpse or gibs. While music still plays, sound effects are disabled, either due to performance or game synchronization concerns.
+
Some limitations of the port are further evident in this mode, as player sprites are also only visible from one angle, both players appear green in color, and they always display the "firing" attack frame. When a player dies, their body simply disappears, leaving no corpse or gibs. While music still plays, sound effects are disabled, either due to performance or game synchronization concerns.
  
Since the demise of the XBAND network in April 1997, it is no longer technologically possible to trigger the game's multiplayer component, and no emulators have yet been created that can replicate it.
+
With the demise of the XBAND network in April 1997, it became technologically impossible for a time to trigger the game's multiplayer component. While no emulators have yet been created that can replicate it, with the release of the source code it has become possible to run the game on the original hardware against community-created replacement XBAND servers.{{cite web|author=
 +
Cacodemontube |title=Doom SNES Compiling (Part 3) - XBAND Multiplayer RESTORED &amp; Debug Mode|url=https://www.youtube.com/watch?v=Z89BinL0tAI|publication=YouTube|publishdate=25 Aug 2022|accessdate=26 Aug 2022}}
  
 
== Easter eggs ==
 
== Easter eggs ==
Line 143: Line 147:
 
* According to [[John Romero]], the Super Nintendo port of Doom was developed secretly by Sculptured Software and then brought to id fully complete in order to request permission for it to be published. Romero states that id's response was, "Oh hell yeah!"{{cite web archived|author=[[John Romero|Romero, John]]|title=Doom History 1994|url=http://planetromero.com/2009/01/doom-history-1994|publication=planetromero.com|publishdate=15 January 2009|accessdate=26 October 2015|archiveurl=https://web.archive.org/web/20150108101506/http://planetromero.com/2009/01/doom-history-1994|archivedat=archive.org}} The involvement of Williams in its publishing would later lead to that company also handling ports to the [[PlayStation]] and [[Nintendo 64]].
 
* According to [[John Romero]], the Super Nintendo port of Doom was developed secretly by Sculptured Software and then brought to id fully complete in order to request permission for it to be published. Romero states that id's response was, "Oh hell yeah!"{{cite web archived|author=[[John Romero|Romero, John]]|title=Doom History 1994|url=http://planetromero.com/2009/01/doom-history-1994|publication=planetromero.com|publishdate=15 January 2009|accessdate=26 October 2015|archiveurl=https://web.archive.org/web/20150108101506/http://planetromero.com/2009/01/doom-history-1994|archivedat=archive.org}} The involvement of Williams in its publishing would later lead to that company also handling ports to the [[PlayStation]] and [[Nintendo 64]].
 
* This version of Doom and [[Doom II for Game Boy Advance]] were the only official console versions to use custom engines instead of the original Doom engine.
 
* This version of Doom and [[Doom II for Game Boy Advance]] were the only official console versions to use custom engines instead of the original Doom engine.
 
+
* This is also the third console-based port to receive a source code release from the developer after the [[Atari Jaguar]] and [[3DO]] versions.
==References==
+
* The port was developed by Randy Linden using the [[Amiga]]. He has previously also programmed an Amiga port for ''{{wp|Dragon's Lair (1983 video game)|Dragon's Lair}}'' and its sequel, ''{{wp|Escape from Singe's Castle}}''.
<references/>
 
  
 
==External links==
 
==External links==
 
*[http://www.classicdoom.com/doomcomp.htm#08 Information] about the port on ClassicDOOM.com.
 
*[http://www.classicdoom.com/doomcomp.htm#08 Information] about the port on ClassicDOOM.com.
 
*[https://gamingreinvented.com/interview/lets-interview-dragons-lair-doom-and-bleem-developer-randy-linden/ Interview] with Randy Linden, the port's programmer, by Gaming Reinvented.
 
*[https://gamingreinvented.com/interview/lets-interview-dragons-lair-doom-and-bleem-developer-randy-linden/ Interview] with Randy Linden, the port's programmer, by Gaming Reinvented.
* [https://tcrf.net/Doom_(SNES) Doom (SNES)page] at [[tcrf:The Cutting Room Floor|The Cutting Room Floor]]
+
* [[tcrf:Doom (SNES)|Doom (SNES)]] at [[tcrf:The Cutting Room Floor|The Cutting Room Floor]]
 
* [https://github.com/RandalLinden/DOOM-FX Source Code]
 
* [https://github.com/RandalLinden/DOOM-FX Source Code]
  
 +
==References==
 +
<references/>
 +
 +
 +
{{Doom series}}
  
 
{{Williams}}
 
{{Williams}}
Line 161: Line 169:
 
{{s-new|codebase}}
 
{{s-new|codebase}}
 
{{s-ttl|title=Doom for Super Nintendo}}
 
{{s-ttl|title=Doom for Super Nintendo}}
{{s-non|reason=Closed&nbsp;source}}
+
{{s-non|reason=None}}
 
{{s-end}}
 
{{s-end}}
  
 +
{{featured article}}
 
[[Category:Commercial ports]]
 
[[Category:Commercial ports]]

Revision as of 09:49, 26 August 2022

Box art for the North American Super Nintendo version of Doom

Doom for the Super Nintendo Entertainment System was developed by Sculptured Software, Inc. (archived 🏛) It was released on September 1, 1995, near the end of the system's life cycle. The cartridge features a Super FX 2 chip, and was one of only three Super NES games to feature a colored cartridge, with the NTSC version being available in a red casing. The game does not use the Doom engine, but is instead powered by a custom engine programmed by Randy Linden called the Reality Engine. It was published by Williams Entertainment in North America and Europe, and by Imagineer in Japan. Distributor Ocean Software cooperated on the European release.

Details

A screenshot from the SNES version of Doom

Doom for the Super Nintendo features 22 levels from the PC version. The status bar is rearranged, though it keeps the concrete theme of the PC version, featuring an image of the weapon currently held instead of the original ammo numbers. Unique to this port, the floors and ceilings lack texture mapping, with sectors being assigned two solid colors for the floor and ceiling out of a palette of 256 choices. The game lacks any back-up or password system, meaning that each episode must be finished from the beginning. Multiplayer was available through the XBAND network, although only deathmatch mode is available.

The game runs at the system's most commonly used resolution of 256 x 224, though as with most other Super FX games it does not fill the entire screen; instead, the game viewport is surrounded by a black frame. Furthermore, the game renders double-width pixels equivalent to low detail mode in the DOS version. Due to memory limitations, the enemies only display from the front, causing them to appear to always face the player. Because of this, and perhaps to conserve processing power, monster infighting was not implemented, although it was made possible for monsters of the same type to damage each other with projectiles. Also as a likely means to conserve processing power, sound propagation is unused, rendering all enemies deaf. Due to deficiencies in the game's controller reading routine, circlestrafing is not possible, though standard strafing via the L and R buttons is functional. Movement feeling differs significantly from the DOS version due to lack of viewbobbing; possibly to compensate for this, weapon swaying is significantly more pronounced in this version.

The maps used in the Super Nintendo port are derived from the PC version as opposed to the Atari Jaguar version, as every other port until the Xbox version used. This means that they are actually more intricate and detailed than their counterparts on the more powerful consoles, though they are still re-textured to a degree as a result of reduction in the pool of available textures.

The cyberdemon and spiderdemon monsters that the Atari Jaguar, Sega 32X, and 3DO versions lack are also present, albeit with altered death sound (using the same effect as the baron). Lost souls do not charge towards the player as a means of attack, instead employing the same melee attack as the pinky demons (although still using their original charging sound effect). The cyberdemon is also capable of performing a melee attack if the player goes too close to it, playing the imp's clawing sound effect.

The musical score plays new arrangements of each track written for the SPC700 sound co-processor, rather than the PC version's MUS songs. Liberties taken include changing distorted guitars to orchestral strings in select tracks, and rearranging the levels on which some songs play. Like the 3DO port, this version's music is generally ranked favorably against the 32X version. However, sound effects are prone to lagging and cutting out if too many are played at once.

The US and European releases of the game have a unique difficulty system wherein later episodes can only be accessed on harder difficulties. However, this is subverted in the later Japanese release, which restores full access to any episode from any skill level. For performance reasons, this port lacks transparent midtextures like its Jaguar counterpart.

The automap display takes advantage of the fast multiplication and division abilities of the Super FX chip, enabling scaling and rotation. The entire map spins around the player's position with the player in the center. Rather than the player being portrayed with an arrow, the player is a green triangle. Due to system limitations, no particles such as blood impacts, smoke or bullet sparks are present in the game - indeed, the shotgun does not fire seven individual shots as normal, but rather functions something like a slug gun or hunting rifle. This allows a player to shoot—and be shot—from a distance using the shotgun with no decrease in power. Moreover, the player's chaingun is now capable of single fire (although emptying one's bullet stock still produces a doubled sound effect). Finally, Nightmare! mode does not feature respawning monsters, but still contains very fast and tough monsters.

As stated before, blood on bullet impacts is removed, although given the lack of censorship in almost all other aspects of the content, as well as the lack of bullet puffs, it is likely that this was done for performance reasons rather than as any attempt to tone down the game's violence.

Levels

Internally the Reality Engine does not address levels in an "ExMy" fashion but simply has a series of lookup tables which point to the levels' various portions of data. These lookup tables have comments and named entries in the source code referring to them by their PC names, as well as zeroed gaps representing the levels which were not translated from the PC version which are skipped over by the code when playing the game, so the same naming scheme used for PC is maintained for the levels here.

Level name
E1M1: Hangar
E1M2: Nuclear Plant
E1M3: Toxin Refinery
E1M4: Command Control
E1M5: Phobos Lab
E1M7: Computer Station
E1M8: Phobos Anomaly
E1M9: Military Base (secret level, accessible from E1M3)
E2M1: Deimos Anomaly
E2M3: Refinery
E2M4: Deimos Lab
E2M6: Halls of the Damned
E2M8: Tower of Babel
E2M9: Fortress of Mystery (secret level, accessible from E2M3)
E3M1: Hell Keep
E3M2: Slough of Despair
E3M3: Pandemonium
E3M4: House of Pain
E3M6: Mt. Erebus
E3M7: Limbo
E3M8: Dis
E3M9: Warrens (secret level, accessible from E3M6)

Removed levels

A total of five levels from the original are missing from the Super Nintendo version:

Level name
E1M6: Central Processing
E2M2: Containment Area
E2M5: Command Center
E2M7: Spawning Vats
E3M5: Unholy Cathedral

Other differences

  • Due to the absence of transparent midtextures, the level design does differ from the PC version in some areas, and compensation is handled inconsistently. In Hangar, the wall grates in the final room before the exit switch are simply absent, making this the only version of Doom allowing you and the monsters to move freely between those areas. In Toxin Refinery, the grates lining the perimeter of the nukage pit in the beginning have been replaced with sector-based safety ramps, similar to the Jaguar version. However, there is no replacement for the missing grates blocking the courtyard in the secret accessed via the yellow card, though it remains impassable.
  • In the absence of Command Center, the secret exit for The Shores of Hell is now located in Refinery, behind the secret supercharge in the nukage near the exit, unlocked with an added switch. This new room contains three energy cell packs, two boxes of rockets, one cacodemon on Ultra-Violence and higher, and two imps on Hurt Me Plenty and lower.
  • Rockets are much stronger, able to take out enemies such as the baron of Hell with only three shots instead of five to six required in the PC version.
  • The plasma gun is significantly stronger and uses fewer sprites in its firing sequence.
  • In wider areas, it is possible for the player to collide with their own fired projectiles (such as rockets and plasma) if the projectiles are fired while the player is running.
  • The BFG does not display an explosion graphic as it does in all other versions; it simply fires a round that looks like a baron fireball and causes a ripple effect without the animation.
  • In a rather humorous fashion, the cyberdemon's rockets fire out backwards. This is an unfortunate side effect of the developers using single-angled sprites, seeming to forget that the player and cyberdemon share this projectile.
  • Many sound effects have been simplified. They are sampled at a lower rate, and there is far more reuse than there is in the PC version. Pinky demons share the imp's pain and death sounds, lost souls share the cacodemon's awakened sound (also reused as both monsters' idle sound) and rocket and barrel explosions share the generic fireball explosion sounds. Lost souls use their own death sound, which is actually the marine's falling/activating dummy walls grunt, instead of the fireball explosion as their death sound. Zombiemen and shotgun guys only use one of their three PC death sounds, imps only use one of their two original death sounds, and the player's non-hitscan weapons utilize the imp/cacodemon/baron fireball launching sound effect when fired.
  • This is the only version of Doom to use cylindrical collision on actors. All other versions use rectangular bounding boxes, with fixed alignment no matter which angle the actor is facing.

Development

Super NES development board used by Randy Linden.

Randy Linden, the port's sole programmer, initiated the port of Doom for the Super NES on his own initially, as he was fascinated by the game.

Since Doom's source code was not yet released at the time, Linden referred to the Unofficial Doom Specs as a means of understanding the game's lump layout in detail.[1] The resources were extracted from the IWAD, with some (notably sprites such as the player's sprites and the original status bar face sprites) unused due to technical limitations.

According to an interview, due to lack of development systems for the Super FX, Linden wrote a set of tools consisting of an assembler, linker, debugger, dubbed the ACCESS[2], on his own Amiga before beginning development of the port proper. For the hardware kit, he utilized a hacked Star Fox cartridge and a pair of modified Super NES controllers plugged into the console and connected to the Amiga's parallel port. A serial protocol was used to further link the two devices.

After developing a full prototype, he later showcased it to his employer, Sculptured Software, which helped him finish the development. In the interview, Linden expressed a wish that he could have added the missing levels; however, the game, already the largest possible size for a Super FX 2 game at 16 megabits, only has roughly 16 bytes of free space. Linden also added support for the Super Scope light gun device, the Super NES mouse, and the XBAND modem for multiplayer. Fellow programmer John Coffey, himself a fan of the Doom series, made modifications to the levels, but some of those modifications were rejected by id Software.[3]

On July 14, 2020, Linden released the first phase of the source code on Github under the GPLv3 license, with the second phase following on July 16 and the third phase the next day. According to a reply on a thread on NESDev regarding the source code release[4], the source code release for both the port and the ACCESS toolchain would be each divided into four such phases.

Multiplayer

Though unmentioned by the game itself, the XBAND modem network supported multiplayer deathmatch games for two players. On connecting, both players would be presented with the list of all 22 levels in the game. If both players selected the same map, game play would begin on that level immediately. Otherwise, players had 15 seconds to finalize their selections and, if different, the game would select any one of the levels at random. Players would spawn at deathmatch spots as in the PC version, and multiplayer-only items would appear in their usual locations; for example, the chaingun is available in the final room of E1M1: Hangar.

Deathmatches would last until one player achieved five frags, which are displayed on the status bar as in the PC port, or any player hit an exit switch. The game would then return to the level select menu. This would continue until one player or the other disconnected.

Some limitations of the port are further evident in this mode, as player sprites are also only visible from one angle, both players appear green in color, and they always display the "firing" attack frame. When a player dies, their body simply disappears, leaving no corpse or gibs. While music still plays, sound effects are disabled, either due to performance or game synchronization concerns.

With the demise of the XBAND network in April 1997, it became technologically impossible for a time to trigger the game's multiplayer component. While no emulators have yet been created that can replicate it, with the release of the source code it has become possible to run the game on the original hardware against community-created replacement XBAND servers.[5]

Easter eggs

Secret message visible at the bottom of the sky texture.

At the bottom of the Knee-Deep in the Dead sky texture is a message reading, "Randy Linden ♥ Jodi Harvey." This easter egg can only be seen if the player looks inside the ROM's graphical resources, or uses a Pro Action Replay code that allows walking through walls in areas where the sky is visible.

Within the ROM itself, a hidden message can be found which reads, "Rage / Reality Engine written by Randy Linden. Special thanks to my loving wife, Jodi Harvey." It can only be found if the ROM file is opened in a hex editor, and is found at position 10F (271 in decimal).

Physical media

The NTSC version of the game cartridge is unique: along with the critically acclaimed 1994 Spider-Man and Venom: Maximum Carnage, it is one of only two games for the Super Nintendo to utilize a red plastic casing. Other regions were not so well treated: the PAL, French/Dutch, and Japanese versions of the game use standard form factor gray cartridges, and have lower quality, awkwardly positioned and cropped versions of the box art which are largely covered with small white copyright and trademark boilerplate text.

The instruction manual for the NTSC version is also special. It eschews the standard front page design of SNES booklets for a mock-up of a military field guide, which doubles as the manual's table of contents. This theme is kept throughout, with the three-ring binder appearance and faux tabs on every page. Again, other regions' booklets are less unique. The text inside the booklet is largely the same as the PC manual, though differences exist to account for the game's platform and slightly different mechanics.

Trivia

  • According to John Romero, the Super Nintendo port of Doom was developed secretly by Sculptured Software and then brought to id fully complete in order to request permission for it to be published. Romero states that id's response was, "Oh hell yeah!"[6] The involvement of Williams in its publishing would later lead to that company also handling ports to the PlayStation and Nintendo 64.
  • This version of Doom and Doom II for Game Boy Advance were the only official console versions to use custom engines instead of the original Doom engine.
  • This is also the third console-based port to receive a source code release from the developer after the Atari Jaguar and 3DO versions.
  • The port was developed by Randy Linden using the Amiga. He has previously also programmed an Amiga port for Dragon's Lair and its sequel, Escape from Singe's Castle.

External links

References

  1. An excerpt of Fabien Sanglard's "Game Engine Black Book: DOOM" describing the SNES port
  2. Github page of the ACCESS program (currently empty)
  3. Linden, Randy (2 May 2020). "Randy Linden Interview (SNES Doom Programmer)." Cacodemontube (YouTube). Retrieved 8 August 2022.
  4. Re: SNES Doom Source Released! Now What?
  5. Cacodemontube (25 August 2022). "Doom SNES Compiling (Part 3) - XBAND Multiplayer RESTORED & Debug Mode." YouTube. Retrieved 26 August 2022.
  6. Romero, John (15 January 2009). "Doom History 1994." planetromero.com (archived 🏛). Retrieved 26 October 2015.


Games in the Doom series
Classic Doom
Doom 3 Doom 3Doom 3: BFG EditionDoom 3: VR Edition

Expansions: Doom 3: Resurrection of EvilThe Lost Mission

Official ports: Doom 3 (2019 version)

Related: id Tech 4

Doom (2016) Doom (2016)Doom VFRDoom Eternal

Related: Development of Doom (2016)id Tech 6id Tech 7

Mobile games Doom RPGDoom II RPGDoom ResurrectionMighty Doom
Canceled games Doom AbsolutionDoom 4 1.0
Tabletop Doom: The BoardgameDoom: The Board GameAssault on Armaros Station
Related: Commercial gamesExpanded universeList of booksList of commercial compilations
Williams Entertainment • Midway Games
WilliamsLogo.png Midway Games logo.png
Source code genealogy
Based on Name Base for
New code base Doom for Super Nintendo None