# Doom / Heretic / Hexen / Strife — Chocolate Doom

Canonical: https://playable.wtf/games/chocolate-doom-chocolate-doom/

Project ID: project:chocolate-doom-chocolate-doom

Ports designed to preserve the original DOS behavior, including compatibility quirks.

## About this version

Ports designed to preserve the original DOS behavior, including compatibility quirks. Original DOS bugs can be intentionally preserved. Total conversions may require -merge instead of the vanilla -file behavior.

Native download. Shooter.

[Download on creator site](https://github.com/chocolate-doom/chocolate-doom/releases/tag/chocolate-doom-3.1.1)

## Doom

Classic WAD play, shared browser sessions and Doom 3 have different engines and file requirements.

- [Read Doom guide](https://playable.wtf/guides/doom-quake-browser-versions/)
- [Classic Doom in a browser](https://playable.wtf/games/wad-commander-v1/): Choose owned WADs, shareware or Freedoom, with a documented touch layout.
- [Try the Doom 3 demo](https://playable.wtf/games/doom-3-browser/): A desktop browser route into the later game without a retail-data setup.
- [Play owned original Doom 3](https://playable.wtf/games/dhewm-dhewm3/): Use original 1.3.1 data in a native port; BFG Edition files do not fit.

[Browse all version comparisons](https://playable.wtf/families/)

## A lone marine against a demonic invasion

The original Doom casts you as the surviving marine facing an invasion from Hell. Doom II brings that invasion to Earth and adds enemies and weapons, including the Super Shotgun. Their first-person combat is the foundation preserved by Chocolate Doom. The current commercial Doom bundle also contains a separate enhanced engine and newer episodes; those additions are not all part of the original DOS rules that this port aims to reproduce.

Sources: [Doom and Doom II · publisher descriptions of the original games](https://store.steampowered.com/api/appdetails?appids=2280&l=english) · [Chocolate Doom · project documentation](https://raw.githubusercontent.com/chocolate-doom/chocolate-doom/HEAD/README.md)

## Choose it for the original behavior

Chocolate Doom’s defining feature is fidelity to the DOS games. It aims to reproduce their display, input and behavior, including some bugs, instead of adding a new graphics style or redesigning the combat. The project also contains corresponding ports for Heretic, Hexen and Strife.

That makes it useful when you want an older level or recorded demo to behave as expected. Compatibility with DOS configuration, saves and demo files is a central goal. It is a different priority from a port designed around advanced rendering or expanded mod scripting.

Sources: [Chocolate Doom · project documentation](https://raw.githubusercontent.com/chocolate-doom/chocolate-doom/HEAD/README.md)

## Use the setup program as your starting point

The setup utility brings display, sound and input settings together in a menu-driven interface. Configure keyboard actions, mouse speed and buttons, or a gamepad before beginning. It can also launch a single-player level or start and join a network game.

The original configuration file and Chocolate Doom’s extra settings are stored separately. This lets the port preserve the old configuration format while still offering settings needed by a modern application. Editing the setup menus is usually clearer than guessing which configuration file owns a particular option.

Sources: [Chocolate Doom · project documentation](https://raw.githubusercontent.com/chocolate-doom/chocolate-doom/HEAD/README.md) · [Chocolate Doom · setup utility](https://www.chocolate-doom.org/wiki/index.php/Setup)

## Old total conversions can need a different launch option

The vanilla -file option does not support every old total conversion’s sprite arrangement. Chocolate Doom provides -merge to reproduce the merge those packages traditionally performed with utilities such as DEUSF, without changing the main IWAD on disk. Some conversions also need their accompanying DeHackEd patches.

Follow the conversion’s documented file set and the port’s examples. A WAD designed for a more advanced source port may depend on features outside Chocolate Doom’s preservation goals, so the Doom name alone is not a compatibility promise.

Sources: [Chocolate Doom · project documentation](https://raw.githubusercontent.com/chocolate-doom/chocolate-doom/HEAD/README.md)

## An old limitation may be intentional

A behavior that looks wrong can be part of the DOS game being reproduced. The project maintains a NOT-BUGS explanation for intentional compatibility quirks, and the setup utility offers a small selection of compatibility switches. Choose those settings with the intended experience in mind: changing a quirk for convenience and reproducing an old demo exactly can be different objectives.

Sources: [Chocolate Doom · project documentation](https://raw.githubusercontent.com/chocolate-doom/chocolate-doom/HEAD/README.md) · [Chocolate Doom · setup utility](https://www.chocolate-doom.org/wiki/index.php/Setup)

## How do I get started?

Install the matching release and use chocolate-setup to configure input and start a single-player or network game.

Creator-reported: [Project guide](https://www.chocolate-doom.org/wiki/index.php/Setup)

## Which devices and browsers work?

The checked release offers Windows packages and macOS builds.

Creator-reported: [Project guide](https://raw.githubusercontent.com/chocolate-doom/chocolate-doom/HEAD/README.md)

## What are the controls?

The setup utility configures keyboard, mouse and gamepad/joystick input.

Creator-reported: [Project guide](https://www.chocolate-doom.org/wiki/index.php/Setup)

## Can I play multiplayer?

The setup utility can host or join a network game. Firewall or NAT configuration can affect connections.

Creator-reported: [Project guide](https://www.chocolate-doom.org/wiki/index.php/Setup)

## What should I know before playing?

Original DOS bugs can be intentionally preserved. Total conversions may require -merge instead of the vanilla -file behavior.

Creator-reported: [Project guide](https://raw.githubusercontent.com/chocolate-doom/chocolate-doom/HEAD/README.md)

## Documented support

- Controller: Supported · Creator-reported
- Multiplayer: Supported · Creator-reported
- Online multiplayer: Supported · Creator-reported

## Credits and project

- [Original project](https://github.com/chocolate-doom/chocolate-doom)
