Marshmallow Doom

From Chocolate Doom
Jump to: navigation, search
The Marshmallow Doom icon
For more information on this article, visit the Marshmallow Doom page on the Doom Wiki.

Marshmallow Doom is a gameplay-oriented source port which infuses a classic Doom experience with many sweet new features such as multiplayer bots, dynamic gameplay-driven music, a much-improved multiplayer cooperative experience, treasure items, customizable sandbox games, player inventory, and more.


Marshmallow Doom is a fork of the wonderful Crispy Doom source port. Itself being a fork of Chocolate Doom, Crispy Doom adds features such as 640x400 resolution, colored HUD text, removal of static engine limits, translucency, free vertical looking, jumping, and other improvements to the classic Doom experience.

Marshmallow Doom is unlike most source ports in that it does not make any changes to system-oriented code (renderer, sound, networking, etc.) and also does not add any new assets (sprites, sounds, music, etc.) to the game. Any of Marshmallow Doom's "new" features are the result of an internal reorganization and/or repurposing of Doom's existing functionality and assets.

Objectives and features[edit]

Marshmallow Doom is a source port that aims to bring flexible new gameplay enhancements to Doom all while remaining faithful to the game's original look and feel. Most new features and enhancements can be easily adjusted by the player to achieve one's desired balance between classic and enhanced gameplay. Many of Marshmallow Doom's features are enabled by default but can also be manually disabled via the in-game menu or command line.

A new in-game HUD menu is offered as a portal to most of Marshmallow Doom's features. Multiplayer options must be set at the command line, however most new multiplayer game rules are enabled by default.

HUD menu[edit]

Launch the in-game menu by pressing 'M' on the keyboard. To scroll, press the square brackets '[' and ']', and to select, press backslash '\'.

Within the menu, the player can easily access most of what Marshmallow Doom has on offer:

  • Add bots to the game for either cooperative or deathmatch play
  • Change game skill level during the game
  • Change maps easily in the menu, including randomized map selection
  • Customize the dynamic music system or further explore Doom's music by choosing from a series of different "mood" playlists
  • Start a sandbox game in an empty map of the player's choice
  • Adjust tweaks to monster stats/behaviors such as less HP for lost souls or slowing the velocity of revenant missiles
  • Adjust tweaks to weapon stats/behaviors such as infinite pistol ammo or enabling pseudo-particle effects for explosions
  • Toggle new item behaviors such as treasure mode, inventory, or monster bonuses


Marshmallow Doom provides several improvements to Doom's multiplayer co-op experience. New multiplayer options include:

  • Friendly fire can be disabled, and/or mirror damage can be enabled to deter friendly fire
  • Weapons stay in co-op
  • Multiplayer weapon/item pickups are not spawned in co-op (by default, but can be changed)
  • When players are killed, they drop a backpack of ammo as well as their current weapon at time of death
  • Players can also manually drop a backpack of ammo for a friend in need, deducting from their own ammo supply
  • Keep any keys collected after player respawns
  • Player will respawn with all weapons owned at end of previous map
  • Current map can be skipped at any time during a network game


Press 'V' on the keyboard to open the inventory menu.

The following items can be stored in the player's inventory for use at any time during gameplay:

  • Radsuit
  • Invulnerability
  • Invisilbility
  • Portable medkit

New Items[edit]

A few of Doom's original item pickups have been repurposed for use by a handful of new items:

  • A portable medkit is added to the player's inventory as part of Doom's berserk/strength powerup
  • A new health bonus item called the Demonsphere repurposes the invisibility item sprite; and as to avoid confusion, the actual invisibility powerup is now set to display with the MF_SHADOW flag (a.k.a. it will appear partially-invisible)
  • The ammo backpack sprite has been repurposed as a "dropped" backpack which spawns when players are killed during cooperative play, awarding a small helping of ammo when found. Doom's original backpack item remains unchanged and unaffected
  • Skull keys are optionally repurposed as bonus treasure items and found throughout most levels when playing in treasure mode. Any actual skull keys in the map are automatically converted to standard keys as to avoid confusion

Treasure Items[edit]

id Software's original vision for Doom included allowing the player to collect treasure items for points, akin to their previous title Wolfenstein 3D. However these old-fashioned game elements such as "points" and "lives" were discarded from the game's design later in development and these treasure items were permanently changed to function as health and armor bonuses.

For those gamers who miss the days of collecting treasure for points, Marshmallow Doom offers treasure mode. In normal treasure mode, any multiplayer item spawn points in singleplayer or cooperative modes will spawn treasure items, and in full treasure mode, health and armor bonuses are also converted to treasure items. Treasure mode can be toggled within the Gameplay section of the Marshmallow Menu or from the command line using switches -tr or -trb.

Monster Bonuses[edit]

All monsters now drop a bonus item when killed:

  • Imp, Cacodemon, Lost Soul, Demon, and Spectre drop a health bonus
  • Arachnatron and Mancubus drop a cell pack
  • Revenant drops a rocket
  • Baron of Hell, Hell Knight, Arch-vile, and Pain Elemental drop a Demonsphere health bonus
  • Cyberdemon and Spider Mastermind drop a megasphere or soulsphere

Conserved Item Pickups[edit]

When the player touches a large health or ammo pickup, only the amount needed to reach maximum health or ammo capacity is deducted from the item pickup, and the item will remain on the ground until it is empty. This feature is especially useful for multiplayer cooperative games as it allows more than one player to benefit from a single health or ammo pickup.

Warp Weapons[edit]

When using option -warp at the command line, the player will spawn with an arsenal of weapons estimated to be those found up to that point in the game, in addition to a small helping of ammo.

For example: when warping to MAP04, the player will start the level with both a shotgun and chaingun. When warping to MAP30, the player will start the level with all weapons.

If the player prefers vanilla pistol starts, starting the game with command line option -ps will bypass the warp weapons feature.

Sandbox Mode[edit]

Sandbox mode allows the player to design their own monster hordes in an empty map of the player's choice. Fight to the death in both singleplayer or cooperative.

After starting a sandbox game, scroll through a list of monsters available by pressing the square brackets '[' and ']', and to spawn an enemy, press backslash '\'. When ready to start the battle, press 'B' on the keyboard. All monsters placed in sandbox mode will not "wake up" until the battle has been started.

When using Marshmallow Doom's -steal command line option, you can fight your own hordes of Doom II monsters in Doom maps.

Nightmare 2.0[edit]

A new difficulty level is offered as a "remix" of Nightmare skill:

  • Monsters do not respawn (by default, but can be changed)
  • All monster healthpoints are increased; ideal for cooperative play
  • Cheats enabled (single-player only)

New event messages[edit]

New event messages keep the player informed of important events during the game. The message categories shown to the player can be customized using the HUD menu. A few examples include:

  • "An Archvile has spotted you"
  • "You killed a teammate"
  • "You were killed by an Imp"

Other information available includes:

  • Reporting the current target's remaining health (all monsters or bosses only)
  • Missile-lock alerts (when fighting Cyberdemon)

Additional features[edit]

Additional new gameplay features include:

  • Fast single-key melee attack (press '~')
  • Pushing barrels around the map (hold the use key while walking into a barrel)
  • Sprint (hold 'Q')
  • Monster respawn in nightmare can be disabled
  • Player suicide
  • Auto-use


Dynamic Music[edit]

Marshmallow Doom's new dynamic music system, Doom DJ, varies the "mood" of the music playing based on the amount of action the player is experiencing in real-time.

Music from both Doom and Doom II can be used simultaneously while playing either game. Command line option -steal will automatically import assets from the other game's WAD file if the file is present.


Up to three AI-controlled bots are available for cooperative or deathmatch play. Bots can be added at any time while playing a single-player game, and when spawned, they will run to meet the player at his current position in the map. They will primarily follow the player's lead through the level, and if separated will attempt to regroup to the player's position if possible.

When a bot is in sight, press 'F' on the keyboard to order him to follow you.

Danger Indexing[edit]

The amount of danger facing the player at any given time is tracked in real-time. In the upper-right of the screen, a color-coded "danger rating" is displayed. These metrics also play a key role in driving the dynamic music system.

New cheat codes[edit]

  • ENDMAPNOW aborts the current level by calling G_ExitLevel()
  • KILLMENOW triggers a player suicide
  • SKILL will report the current game skill level

New command line parameters[edit]

  • -bots <x> starts a game with <x> number of bot players
  • -steal allows you to use music and monsters from both Doom and Doom II simultaneously
  • -d2e spawns some Doom II monsters in Doom maps
  • -ssg spawns the super shotgun in Doom maps
  • -ekg mode for extra blood and explosion effects
  • -dj starts the game with dynamic music (Doom DJ) enabled
  • -tr enables normal treasure mode
  • -trb enables full treasure mode
  • -rand warps to a random level
  • -sandbox launches a sandbox game
  • -scale <x> multiplies all enemy healthpoints by value <x>
  • -delayssg <x> delays any appearance of the super shotgun until map <x>
  • -ps forces a pistol start when using -warp
  • -itemrespawn forces items to respawn in any game mode
  • -dmw forces-on spawning of Doom's multiplayer-only item pickups in any game mode
  • -ff toggles friendly fire
  • -mirror toggles mirror damage
  • -self toggles self-damage
  • -itytd enables "baby mode" skill level
  • -hntr enables easy skill level
  • -hmp enables normal skill level
  • -uv enables hard skill level
  • -nm enables Nightmare skill level
  • -nmnr enables Nightmare skill level with no monster respawn
  • -nm2 enables the new Nightmare 2.0 skill level
  • -d1 or -doom1 sets IWAD to DOOM.WAD
  • -d2 or -doom2 sets IWAD to DOOM2.WAD
  • -plut or -plutonia sets IWAD to PLUTONIA.WAD
  • -tnt sets IWAD to TNT.WAD


Marshmallow Doom builds on the shoulders of the Chocolate Doom and Crispy Doom projects, continuing to enhance and improve Doom all while preserving the essence of the original game. Many of Marshmallow Doom's new features are inspired by other games of the era such as Duke Nukem 3D, Hexen, and Quake.

The new Doom DJ feature is inspired by iMuse, the dynamic music system heard in many classic Lucasarts games such as X-Wing, Dark Forces, and Monkey Island 2.


Download the beta at [1].

Source code now available on github: