3DO

Doom for the 3DO is an official port of Doom to the game console, published by Logicware and Art Data Interactive, and released in the US on April 26, 1996. The level set was derived from the Atari Jaguar version. This version is single player only.

Many fans consider this one of the worst, if not the worst, of the Doom console ports. It runs in a small screen at a low frame rate. The game offers six screen sizes, the largest two only being available via a cheat. The largest screen sizes suffer from a frame rate so poor as to render the player sometimes uncontrollable.

Its soundtrack, considered the port's one redeeming feature, consists of arrangements of the original music performed by a live band, recorded in high-fidelity CD-quality audio.

Its source code was released in 2014.

Development
According to Rebecca Ann Heineman, the game's sole developer, the blame for the port's quality rests mostly on the highly constrained schedule of ten weeks given for its development. This led to a lack of time to fully optimize the game for the 3DO hardware, which was challenging to program both from an essential standpoint and in particular for a demanding application like Doom.

Publisher Art Data Interactive's CEO Randy Scott was under false impressions with regard to the ease of porting a game like Doom from the Atari Jaguar to another console, believing that simply recompiling the game would be sufficient, and that features such as new weapons could be added simply by providing new assets for the game engine to consume.

While game code is largely shared with the Jaguar version, the rendering engine is completely customized to use the 3DO's hardware cel engine. For example the engine's pixel processor is used to perform pixel color blending and post-processing in 15-bit color space to apply sector brightness and to generate the translucency effect of partially invisible characters. Walls are drawn in hardware while floors and ceilings are drawn in software due to difficulties in drawing perspective-projected graphics through the cel engine. Heineman states work on piping that drawing through the hardware was in-progress but had to be abandoned due to unresolved bugs at launch time. Unlike the Jaguar version, spectres are drawn with an appearance similar to that on the PC.

The decision to replace the MIDI-based PC soundtrack with live recorded music was made by Heineman on a whim due to lack of time to write a music driver for the 3DO. Producer Randy Scott's church garage band was used to do the recordings. With digitized music, it was possible to use simple streaming playback with minimal coding effort. Heineman states this was the best decision made in the process, as the music is the one aspect of the port almost universally praised.

Art Data Interactive also created some still images and actual videos hoping to convince investors to provide funds to create further FMV sequences for the port. One scene shows a cyberdemon, played by an actor wearing a costume with a dog-like nose and large bulbous eyes, feasting on the entrails of another actor wearing fatigue pants and a white shirt, with the greenscreened background replaced by the texture. Another picture of the cyberdemon costume's head was used to create both a cover art mockup and a still image in front of an assortment of textures. The demon suit along with three marine costumes and a helmet were produced by Global Effects, Inc. (formerly Diligent Dwarves Effects Lab) of California, who still display the demon on their rental site. The demon was played by Global Effects' president and founder, Chris Gilman, in the stills and video segments.

The game was at one time scheduled to be published by, but the deal fell through when that publisher stopped all of its projects for the ailing console in 1995.

The reduced screen size was due to a compromise with id Software, who felt that the fullscreen gameplay was too slow and choppy to be acceptable. Heineman left in a cheat code to allow larger screen sizes, however, to "future-proof" the game for potential future revisions of the 3DO with faster hardware.

Music
The complete soundtrack is as follows:

Screen sizes
Available screen sizes:

Source code release
Burger Becky released the source code for the 3DO port on November 30, 2014 under the MIT license, a less restrictive license than the, although it is presently unclear what the stance of ZeniMax Media is with respect to use of the code under these terms. Assets for the port were also included, though not under license, with a stipulation added that their commercial use requires permission from ZeniMax. Many of the assets are in PC-readable form, including a pristine uncompressed set of the Atari Jaguar maps and the corresponding single-patch textures used by them. Some other resources are in the proprietary 3DO CEL format or the equally proprietary and poorly supported Apple PICT format, making their use difficult. The enigmatic extramap.wad is also included.

Game resources
Unlike many other Doom ports (e.g. Atari Jaguar or Sony PlayStation) 3DO version does not use WAD file format to store game assets. Instead a custom "resource file" (the actual filename on the CD is REZFILE) is used which has numbered "resources" included (as opposed to named "lumps" of a WAD file) and game code uses integer s to reference a particular resource. The same holds for maps, as they use textures and flats' ordinal numbers in the resource file to refer to them and not their names. The following resource types are included:

There's no marker resource to separate resources for the same map from the next unrelated resource in the file. Map names are not stored anywhere except source code, where they are used exclusively for intermission screens.
 * Special resource with texture and flat details, that contains the total number of textures and flats included with the game and for each texture its dimensions in pixels
 * Map data. Maps are store as a sequence of resources, 10 for each map, that contain the following map data: THINGS, LINEDEFS, SIDEDEFS, VERTEXES, SEGS, SSECTORS, SECTORS, NODES, REJECT, BLOCKMAP.
 * Game graphics, which includes:
 * Menu graphics, fonts, backgrounds, status bar items. These are stored either as 3DO CEL image files, or as a collection of CELs referred in the game code as "shapes". E.g. all game font letters are part of a single resource and all of Doomguy's face images for status bar are parts of another single resource. Resource containing a collection of "shapes" starts with a pointer table to individual image CELs, then the sequence of CELs follows.
 * Sprites. For game things sprites are stored as collections of 90 degree rotated 3DO CEL images prepended with 2 16-bit integers containing horizontal and vertical offsets for each frame of the sprite. In case when the thing has rotations, the sprite collection will have a pointer table at the start with offsets to frames for each rotation. The same frame can be referenced multiple times and a bit flag contained with the offset will indicate if frame mirroring is to be performed. Player weapon sprites are stored as non-rotated 3DO CEL images, otherwise similar to the format for things. Interestingly, sprites are referred in the game source code as "patches".
 * Textures. The game stores textures rotated by 90 degree in an optimized format based on 3DO CEL image format. All header details are omitted and only palette and actual texture column pixel data is stored. The format for both, however, follows the format of 3DO CEL, which is convenient as it makes it very straightforward to instruct the Cel engine to draw a particular column of a texture. All textures are 16 color images, can be of arbitrary size and are stored complete (i.e. the game does not construct textures from individual "patches"). Game code has a list of ordinal numbers of textures with switches to facilitate change in the visuals of a switch when its being engaged by the player.
 * Flats. The games stores flats in a format similar to the one used for textures, but flats are not rotated, as they are drawn line by line and not column by column. All flats are 64 by 64 bits in size and are 256 color images.

Sounds and music are not stored in the REZFILE and are found as separate files on the CD.

Tools have been developed to extract game resources from a resource file, convert map resources into PC-compatible format and extract graphic images as conventional PNGs.

Source ports
On September 25, 2019 Darragh Coy (aka. intacowetrust) released Phoenix Doom, a backport for Windows, MacOS and Linux, based on Heineman's source code. The backport requires the original CD image of the 3DO port.