Maps

The levels/stages of Doom 64 are most commonly refered to as maps. There are custom maps for every Doom 64 engine (and many adaptations as well). Below is a list of custom maps you can play on your Doom 64 of choice.

Map Building

You can make maps too! The Doom 64 level format is an iteration of the original Doom format with additional features for enhanced 3D rendering, colored lighting, and scripting. The latest iteration of Doom Builder 64, by Kovic, supports the official Doom 64 Remaster, Doom 64 EX, Doom 64 EX+, Super EX+, and the various Doom 64 engines targeting original Nintendo 64 hardware.

Map Elements

Doom maps are comprised of lines (which form sectors), things, and actions.

Map Structures

Some common map structures in Doom 64 maps are doors, switches, and elevators.

Special Considerations

Nintendo 64 Considerations

The official Doom 64 Remaster and the original Nintendo 64 code are surprisingly close in terms of compatibilities and limitations. Maps made for the Doom 64 Remaster tend to work on the Nintendo 64 as well. Therefore, if you are planing to make Nintendo 64 compatible maps, you can develop and playtest them on the official Doom 64 Remaster. Then, you can convert them to the Nintendo 64 format. Doom Builder 64 has an option when loading maps to convert them to the Nintendo 64 format, but you can also use Erick194's d64 tool to do this.

The fundamental difference with the Nintendo 64 format is that the textures are referred to by their order in the WAD rather than hash representations of the texture names. Both Doom Builder 64 and d64tool handle this conversion process automatically.

The base Doom 64 engine on the Nintendo 64, like Doom 64 RE, has limits in terms of how much geometry can be shown on screen at once and the size of maps it can load (about 900 kb in size maximum). However, later forks on the modern SDK drastically raise one or both of these limits.

Limits

The primary factor limiting the size of maps on Doom 64 engines is the blockmap data structure. This is used to aid in collision calculations during gameplay. The BLOCKMAP is limited to 65534 bytes in size, although there are some examples of maps slightly exceeding this size (such as Jetx_121's Map Not Found for Ethereal Breakdown). When this limit is breached, either the map will not load or the player can start clipping through walls. DMA-BSP64 nodebuilder has incorporated some of ZokumBSP's ability to exclude linedefs from blockmap calculations which reduces blockmap size for larger maps.

Although, not as common as reaching a blockmap limit, the number of total sidedefs are limited to 32,768. Each linedef of a map references a sidedef. Sidedefs contain texture, offset, and sector orientation information. Thus not all sidedefs are unique, so DMA-BSP64 nodebuilder has incorporated ZokumBSP's ability to remove identical sidedefs and re-assign linedef references. This "sidedef compression" does not change how the map is redenered.

There is a distance rendering limit of 3808 map units (pixels). All geometry beyond this point will be clipped and the sky will show through. Besides limiting visible spaces to 3808 map units, masking the sky with the same color as the fog color can hide geometry clipping. This is simpler with "void" skies of one color that can be set to the fog color. For other skies, a silhouette of a mountain range can be made which matches the color of the fog.

The Doom 64 EX branch has extended many of these limits, particularly with Doom 64 EX+.