Skip to content

Darklands Restoration Project

Arkana Mechanika Studios

Rebuilding the classic 1992 DOS RPG for modern systems

A faithful C# reconstruction bringing Darklands to modern systems while preserving the gameplay, data, and atmosphere of the 1992 original.

Darklands original box cover

The Project

Darklands is MicroProse’s ambitious 1992 role-playing game set in a grounded, folkloric medieval Germany: robber knights, saints, alchemy, political intrigue, and danger on every road. The original release was built for 16-bit DOS and today is normally played through emulation.

The restoration project is rebuilding that game in modern C# from the original version 483.07 executable and data files. This is not a loose remake and it is no longer only an analysis project. A working development application now runs the reconstructed opening sequence, reaches the original main menu, creates the Quickstart party, enters the selected city, and continues through a growing set of city interactions.

Accuracy comes before apparent completeness. Every implemented route is tied back to original bytes, independently reviewed structure and data flow, and runtime verification. When a branch or side effect is not yet proven, the engine stops at a named boundary instead of inventing what Darklands probably did.

Current release status

This is an active development reconstruction, not a finished replacement game. The runnable host requires legally obtained original Darklands data. Unsupported routes remain deliberately fail-closed while their original behaviour is recovered.

Presentation #01

See the reconstructed engine in motion

This project showcase follows the current restoration from the original presentation into the native development host and its reconstructed gameplay.


Where the Restoration Stands

Playable route

From startup into the city

The .NET 10 development host reproduces the banner and synchronized intro, publishes the real start screen, executes Quickstart, presents the party cards, and reaches reconstructed city gameplay through original resources and certified decisions.

Gameplay

City life is taking shape

Current work reaches city streets and a growing collection of destinations and actions, including merchants, residences, alchemy, churches, markets, crafts, docks, groves, party screens, and other urban systems. Coverage is route-by-route, not a claim that every city branch is complete.

Presentation

Classic and Enhanced Faithful

Classic preserves the exact indexed presentation at modern window sizes. The bounded Enhanced Faithful path can combine restored high-resolution scenery with the original interactive card, text, choices, and party panel, falling back atomically when a scene is unsupported.

Preservation

Knowledge becomes durable evidence

Original code units, data formats, state effects, oddities, and unresolved boundaries are recorded and tested. The project has decoded graphics, animation, audio, text, saves, world data, events, and many of the mechanisms that connect them.

Classic Darklands presentation showing the original indexed Main Street scene in Magdeburg
Classic: the exact original indexed surface, including its picture, message card, text, choices, and party panel, presented by the native SDL development host.
Enhanced Faithful Darklands Main Street with restored high-resolution scenery and the original interactive interface
Enhanced Faithful: restored high-resolution scenery behind the original message card, choices, and party panel. It is an optional presentation path with complete Classic fallback.

How Reconstruction Works

  1. 01
    Start with the original

    Original version 483.07 bytes, assembly, resources, and observed machine state define the behaviour to recover.

  2. 02
    Review structure and data flow

    Focused Ghidra analysis is checked against an independent Reko decompilation so disagreements are visible before implementation.

  3. 03
    Certify the exact unit

    Darklays binds ownership, call targets, branches, memory effects, and evidence freshness to the specific original routine or selected path.

  4. 04
    Rebuild the whole observable path

    The C# implementation preserves controllers, handlers, helpers, state effects, presentation, audio, time, acknowledgement, and destination settling—not only the endpoint.

  5. 05
    Verify against the running game

    Autoprobe and the patched DOSBox-X runtime compare the reconstructed route with the original executable at focused observation boundaries.

Current toolchain: original Darklands 483.07 bytes and data  ·  Ghidra  ·  Reko  ·  Darklays  ·  patched DOSBox-X and Autoprobe  ·  C# / .NET 10  ·  SDL2


What the Project Is Building

A Faithful Native Engine

Reconstruct original Darklands behaviour in readable, testable C# while preserving its decisions, data, timing, presentation, and known oddities.

A Permanent Classic Reference

Keep the original 320×200 indexed look available as the exact reference presentation, scaled cleanly on modern displays.

Optional Modern Presentation

Allow frontends and restored artwork to improve presentation without moving gameplay authority out of the reconstructed engine.

Open Technical Documentation

Publish practical knowledge of file formats, algorithms, data structures, original bugs, and reconstruction methods for preservation and research.


Follow the Work

The devlogs document the restoration as it happens, including both visible milestones and the less glamorous evidence work that makes those milestones trustworthy.

Questions or contributions: arkana.mechanika.studios@gmail.com