Doom source ports

From Wikipedia, the free encyclopedia
  (Redirected from NxDoom)
Jump to: navigation, search

A Doom source port is a source port of id Tech 1, the game engine used by the video game Doom. The term usually denotes a modification made by Doom fans, as opposed to any of the official Doom versions produced by id Software or affiliated companies.

Contents

The source code for the Doom engine was released to the public in 1997. Although Doom was originally created for MS-DOS, the original source release was for the subsequent Linux version. This was primarily due to use of a proprietary sound library in the DOS version.[1] Since the source code had to be initially ported back to DOS, the term "source port" was used. Out of custom, this term has come to be used for all Doom source modifications, even those that are not technically ports to another platform.

The original purpose of source ports was cross-platform compatibility, but shortly after the release of the Doom source, programmers were correcting old, unaddressed Doom bugs and deficiencies in their own source ports, and later on added more source code to enhance game features and alter gameplay.

The source code was originally released under a proprietary license that prohibited commercial use and did not require programmers to provide the source code for the modifications they released in executable form. As a consequence of the source code for GLDoom, the first port to add OpenGL graphics to Doom, being lost in a hard disk crash,[2] the code was re-released in 1999 under the GNU General Public License after requests from the community.

[edit] Personal computers

[edit] IBM PC

[edit] Boom and derivations

Boom was a port of the Doom source code by TeamTNT. Boom fixed numerous software glitches and added numerous other software enhancements into the engine to such a degree that its additions have been incorporated into most modern day Doom engines (such as ZDoom and Doom Legacy).

Although Boom is simpler than the other ports and is no longer updated, it is often preferred, as it has stayed relatively close to the behavior of the original games, including demo support. However, some of the bug fixes and behavior changes of other ports may unbalance how maps made for the original games play, giving players certain advantages or disadvantages.

[edit] Eternity Engine

The Eternity Engine is a Windows source port licensed under the GNU General Public License. It was originally meant to power a Doom total conversion, but after that project went on hiatus (eventually being canceled) the engine became the prime focus. The engine is based on Smack My Marine Up (SMMU). It includes such features as scripting, portals, polyobjects, and Heretic support.

[edit] Marine's Best Friend

Marine's Best Friend (MBF) is a DOS-based source port. It is based on Boom, and adds several new features including high resolution graphics, enhanced monster AI, emulation of the pre-release beta versions of Doom, and "helpers" that follow and help the player (specifically dogs, to which the name of the engine refers). It was developed by Lee Killough in 1998 and is now discontinued. Its code was later used as the base of the source port Smack My Marine Up, which in turn was used to construct the Eternity Engine. In 2004 James Haley and Steven McGranahan ported Marine's Best Friend to Windows as WinMBF.

[edit] PrBoom

PrBoom is a Doom source port derived from Linux and Windows ports of Boom and MBF that includes an optional OpenGL renderer as well as options allowing it to restore the behavior of earlier executables (such as Doom 1.9, Boom, and MBF) in essential ways. Initially designed for use in Windows and Linux, it has also been ported to Dreamcast, GP2X, Nintendo DS, Wii, and Rockbox. A variation named PrBoom+ provides enhanced demo recording and viewing capabilities. id Software's official Doom iPhone port is based on PrBoom.[3] The source port is packaged in the Ubuntu Software Center as well as Fedora's RPM software repository alongside Freedoom.

[edit] Doomsday Engine and derivations

The Doomsday Engine is a GPLv2-licensed source port that runs on Linux, Mac OS X and Windows. The port also supports Heretic and Hexen. Its hardware-accelerated engine supports 3D models, object and movement smoothing, shadows, dynamic lighting, and other features. It also includes XG line and sector types for editing extensions, as well as a built-in master server games browser (launcher).

[edit] Risen3D

Risen3D is a Windows only fork of the Doomsday Engine (based on v1.7.8 released on March 15, 2003). It was originally known as Boomsday as it only added support Boom map editing features.

[edit] DOSDoom and derivations

DOSDoom was one of the first Doom source ports, created by taking the original Linux release of the Doom source code and porting it back to DOS. It evolved to include several new features, which were previously unseen at the time shortly after the release of the original Doom source code, such as translucency, high resolution, and 16-bit color rendering.

[edit] Doom Legacy

Doom Legacy is a source port originally written as a fork of DOSDoom, introducing mouse-look, jumping, a console, 32-player deathmatch, skins, and, later, native Windows, Linux and Mac OS X ports. It has also evolved to support many Boom features and 3D acceleration. It also adds a few new features, notably the ability for levels to contain floors directly over floors, which means levels are not required to be strictly 2D as in the original Doom.

[edit] EDGE

Enhanced Doom Gaming Engine, or EDGE, is a port derived from DOSDoom. The most attractive feature of EDGE is its DDF system, which describes all game behavior inside text files external to the executable file. As a result, it is popular among Modifiers. who use the extensibility to add many new weapons and features with many fewer of the limits present in other source ports. EDGE includes ports to many operating systems, including MS-DOS, Windows, Linux, BeOS, Mac OS X.

[edit] Vavoom

Vavoom is a source port created by merging the Doom, Heretic, and Hexen source trees to create a unified executable. It also features bits of the Quake source (used predominantly for networking and rendering), and was the first port to support Strife. It has been in development since September 1999, and was first released in June 2000. Among its features are a true 3D polygonal engine with colored lighting and software, Direct3D and OpenGL renderers, freelook support, 3D floors, and support for Boom's extended attributes. The source port is packaged in the Fedora RPM software repository alongside free installers that grab the shareware levels for all the games used by the engine by default.

[edit] ZDoom and derivations

ZDoom is a source port targeted at Microsoft Windows and Linux. It is one of the most advanced and featureful Doom ports from an editing perspective, supporting Boom editing extensions, plus all the extensions made by the Hexen engine, as well as many other new features. In addition to Doom, it supports Chex Quest, Heretic, Hexen, and Strife.

[edit] csDoom

csDoom, or Client/Server Doom, was a source port based on ZDoom built expressly for playing multiplayer games of Doom over the Internet. It was the first port to use client/server network code (from Quakeworld), allowing players to join Doom servers on-the-fly.[4] The project was closed and its source was published under GPL by the creator in early 2001. Source code was closed until that. (It was violating GPL license of Quakeworld, so its creator was forced to release it by John Carmack.)

[edit] GZDoom

GZDoom is a source port based on ZDoom that extends its feature set to include an OpenGL renderer. It also boasts 3D floor support compatible with Doom Legacy and Vavoom, 360 degree skyboxes, 3D model support, and other features.

[edit] Skulltag

Skulltag is one of the multiplayer-centric Doom ports that is based on (G)ZDoom.[5] It adds 32-player multiplayer and different game modes: standard types such as deathmatch and capture the flag, and other modes such as co-operative waves and invasion maps.[6]

[edit] Chocolate Doom

Chocolate Doom is a source port for Windows, Linux, and other modern operating systems that is designed to behave as closely as possible to the original DOS executable ("Vanilla Doom"), going as far as to duplicate bugs found in the DOS executable, even bugs that make the game crash. This involves more than just leaving the bugs in the source code. Several bugs present in the DOS version (for example, the sky bug in Doom II) were fixed in the released Doom source code, so these bugs were re-created for Chocolate Doom. As it is designed to be as close as possible to the DOS executable, it has no new features and lacks high resolution support. It supports OPL3 music emulation, as well as the standard MIDI output on its host operating system. It is a popular test engine for level designers, and among players who prefer unmodified Doom. By default it simulates the behavior of doom.exe version 1.9 running under Windows 98.

[edit] BeOS

Information about the BeOS availability of Doom can be found here: [1].

[edit] Acorn RISC OS

An open-source RISC OS port of Doom has emerged from Jeff Doggett, which supports Doom, Doom 2, Ultimate Doom and FreeDoom game files.

[edit] Amiga

Doom exists in various versions for the Amiga computer. ADoom [2] is a direct conversion from the ID source code. Another Amiga port is DoomAttack.[3] Both ports work on AGA Amiga. Apart from the standard 68K CPU ports, there is an ADoom port for PPC Amiga. [4] All Amiga Doom ports require the original WAD files.

[edit] Mac OS X

Mac OS X can use a source port, such as Doomsday, prBoom or DooMLegacy, or a combination of DOSbox and the original WADs.

[edit] Smart devices

[edit] Nintendo DS

A port of PrBoom was coded for the Nintendo DS. Multiplayer is supported through Wi-Fi.[7]

[edit] Digita OS

DOOMD was a port released for Digita OS running on digital cameras. The port is based directly on the 1997 source code release. Both Doom 1 and 2 IWADs are supported. Custom WADs are supported, but no selection interface has been implemented.[8][9]

[edit] iPod

A hack allowed 5th generation iPods to run a port of Doom.[10] It is also possible to run Doom on iPods running Rockbox's Rockdoom plugin (based on PrBoom). This requires installing Rockbox on a supported device, then installing Rockdoom, and finally copying the WAD file of the game to run. This makes Doom available on virtually all devices supported by Rockbox - but the actual implementation, restricted controls, device's power and screen can make it unplayable.

[edit] Sony Ericsson

Sedoom is an open source port of the doom engine for Sony Ericsson phones, based on the siedoom port. All normal IWADs are supported, as well as loading custom wads.[11]

[edit] Symbian

A port named C2Doom was made to run on S60 and S80 phones. Cooperative and deathmatch multiplayer for up to four players is supported over Bluetooth.[12]

[edit] Zune and Zune HD

Two ports have been released to run on Zune devices using OpenZDK. One for the Zune HD, and the other for third generation Zunes and lower. [13][14]

[edit] TI-Nspire

A port of Doom (titled nDoom) to the TI-Nspire graphing calculator was created. It is a direct port of the original Doom engine. Only Doom 1 and its shareware release are compatible with this port. [15][16]

[edit] Virtual machine and interpreted versions

These ports of Doom have the characteristic of running on virtual machines such as the Java Virtual Machine or Adobe Flash while still being based on the Doom source code. Due to the nature of the latter, some of these ports have opted for using automatic parsing of C code (such as Adobe Alchemy), while others have adopted a major rewrite.

[edit] Adobe Flash

The most well-known version of Doom that does not run directly on native code is the Doom Triple Pack,[17] written in Adobe Alchemy and Actionscript. It is essentially a direct translation of the original C source into compiled Adobe Alchemy bytecode, which allows it to run in recent versions of the Adobe Flash Player.

[edit] Java

In the past, there have been several unsuccessful attempts to produce a Doom source port in Java such as DoomCott[18] or the Stark Engine,[19] which were either abandoned or never gained enough functionality to be properly called source ports. The only active Java Doom project as of 2010 is Mocha Doom,[20] a pure Java implementation of Doom with features similar to modern Doom source ports and direct compatibility with the original game data.

[edit] Doom 3 Mod

A mod was made for Doom 3 that allows the player to run the original Doom using an in-game terminal. The mod, called "Terminal Doom" is based on the 1997 source code release, and constitutes an experiment on Doom 3's interactive surfaces. All retail and shareware releases of Doom are supported by this port.[21][22]

[edit] References

  1. ^ Carmack, John (1997-12-23). "doomsrc.txt". Doom source code release notes. id Software. ftp://ftp.idsoftware.com/idstuff/source/doomsrc.txt. Retrieved 2008-10-23. 
  2. ^ "Doom is Dead". IGN. 1999-04-20. http://pc.ign.com/articles/067/067762p1.html. Retrieved 2008-10-30. 
  3. ^ iPhone Doom Classic Progress Report
  4. ^ Maarten Goldstein (May 28, 2000). "csDoom Out". Shacknews. http://www.shacknews.com/onearticle.x/6800. 
  5. ^ "Multiplayer Doom Over the Internet - Skulltag". Skulltag.net. 2010-01-28. http://www.skulltag.net/. Retrieved 2010-01-28. 
  6. ^ It is one of the most advanced ports today and is best suited for multiplayer because of its free Client-Server model.Gillon, Keiron (October 27th, 2009). "Doom With A Thirty-Two: Skulltag". Rock, Paper, Shotgun. http://www.rockpapershotgun.com/2009/10/27/doom-with-a-thirty-two-skulltag-0-98a/. 
  7. ^ http://dsdoom.com/
  8. ^ Dedicated Doom handheld hacked from an old digital camera
  9. ^ http://www.visi.com/~xevious/mamed/readmed.htm
  10. ^ Doom ported to the iPod - Engadget
  11. ^ http://forums.se-nse.net/topic/48785-sedoom/page__p__660601&#entry660601?s=d2d0541b799696fa7c878ed67c7c56a0
  12. ^ Doom for S60 and S80 Phones.
  13. ^ http://www.zuneboards.com/forums/showthread.php?t=50582
  14. ^ http://www.zuneboards.com/forums/showthread.php?t=51403
  15. ^ http://www.omnimaga.org/index.php?topic=6609.0
  16. ^ http://www.omnimaga.org/index.php?topic=5985.0
  17. ^ Doom Triple Pack
  18. ^ Doomcott, with broken Java Applet.
  19. ^ Stark engine, archived page.
  20. ^ Mocha Doom official Sourceforge project page
  21. ^ http://doom3.filefront.com/file/Terminal_DOOM_Demo;42285
  22. ^ http://battleteam.net/tech/fis/

[edit] External links

Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages