Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
150 changes: 125 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,142 @@
# Murk DirectX 1.0
# Murk

Murk is a 2D isometric dungeon game written in 1998 by Mark Longo, using Microsoft DirectX 1.0 (Windows95 Games SDK). Run Murk.exe from the bin directory to try the game. (will run under Windows 10 & 11).
Murk is a 1998 2D isometric dungeon crawler by Mark Longo, now preserved as a buildable Windows source release. It is a fast, arcade-style fantasy action game built with Win32, MFC, DirectDraw, DirectSound, and legacy DirectPlay-era networking code.

![Dungeon Stomp](../main/artwork/murk256.jpg)
If you are interested in retro game development, Windows 95 game programming, early DirectX history, or playable open-source dungeon games, Murk is a compact and useful codebase to explore.

<img src="https://github.com/moonwho101/Murk/blob/main/artwork/Murk01.jpg" width="800" height="600">
![Murk title art](artwork/murk256.jpg)

<img src="https://github.com/moonwho101/Murk/blob/main/artwork/dungeon.jpg" width="800" height="600">
## Why Murk Stands Out

## Mouse Controls
- Original late-1990s Windows game source, updated to build in Visual Studio 2022
- Playable on modern Windows systems from the included binary in `bin/`
- Isometric dungeon exploration with shooting, treasure, traps, and item pickups
- Built with classic Microsoft game tech: DirectDraw, DirectSound, DirectPlay, Win32, and MFC
- Useful reference project for retro game preservation and DirectX-era programming patterns

* Use mouse left button to move character
* Right click to fire.
* Double click to move up and down ladder
* Press R to put on Ring of Protection
* Press T to drop treasure
* Press F3 to Save game, Press F4 to Load game
* Press F1 for game details
## Quick Facts

## Keyboard Controls

* Cursor keys to move
* CTRL to FIRE
* SHIFT to go up and down ladder
| Item | Details |
| --- | --- |
| Genre | Arcade-style isometric dungeon crawler |
| Original release era | 1998-1999 |
| Language | C++ |
| Graphics/API | DirectDraw |
| Audio/API | DirectSound, MIDI |
| Networking | Legacy DirectPlay support in source |
| Build target | Win32 |
| License | MIT |

## Compiling
## Screenshots

* Compile using Microsoft Visual Studio 2022 Community Edition.
* Installer Individual components C++ v14.42 (17.12) MFC for v143 build tools (x86 & x64)
* Compile in 'Release' mode.
<img src="artwork/Murk01.jpg" alt="Murk gameplay screenshot" width="800">

## Windows95 Game SDK (DirectX 1.0)
<img src="artwork/dungeon.jpg" alt="Murk dungeon screenshot" width="800">

<img src="artwork/multiplayer.jpg" alt="Murk multiplayer-era promotional screenshot" width="800">

## Play Murk

To try the game immediately:

1. Open the `bin/` folder.
2. Run `Murk.exe`.

The bundled executable is intended to run on current Windows versions, including Windows 10 and Windows 11.

## Gameplay

Murk was originally described as a standalone or networkable arcade quest game. You choose a character, descend into the dungeon, fight monsters, search for treasure, collect useful items, and move between levels through stairs or ladders.

The codebase and bundled docs indicate support for:

- Single-player dungeon crawling
- Legacy network play features from the DirectPlay era
- Mouse, keyboard, and joystick input
- Save/load functionality
- Chat and mission/help screens

## Controls

### Mouse

- Left click: move
- Right click: fire
- Double left click: go up or down stairs/ladders

### Keyboard

- Arrow keys: move
- Ctrl: fire
- Shift: go up or down stairs/ladders
- R: use Ring of Protection
- T: drop treasure
- C: chat
- F1: help
- F2: episode objective

Copilot AI Apr 2, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The README lists F2 as “episode objective”, but the in-game help text and controls code refer to F2 as “Episode Information”. Please align the README wording with the game (e.g., “episode information”).

Suggested change
- F2: episode objective
- F2: episode information

Copilot uses AI. Check for mistakes.
- F3: save game
- F4: load game
- F5: chat

### Joystick

- D-pad / stick: movement
- Button 1: shoot
- Button 2: up/down stairs
- Button 3: ring
- Button 4: drop treasure
Comment on lines +86 to +87

Copilot AI Apr 2, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Joystick button mappings in the README appear swapped vs the implementation: in src/joystick.cpp Button 3 drops treasure and Button 4 uses the ring (protection). Please update the README joystick section to match the actual button behaviors.

Suggested change
- Button 3: ring
- Button 4: drop treasure
- Button 3: drop treasure
- Button 4: use Ring of Protection

Copilot uses AI. Check for mistakes.

## Build From Source

Murk can be built with Visual Studio 2022.

### Requirements

- Visual Studio 2022
- Desktop development with C++
- MFC for v143 build tools (x86 and x64)
- Windows SDK compatible with the installed Visual Studio toolset

### Build Steps

1. Open `src/Murk.sln` in Visual Studio 2022.
2. Select the `Release | Win32` configuration.
3. Build the solution.
4. The output binary is written to `bin/Murk.exe`.

## Technical Notes

This repository is especially relevant if you want to study how older Windows games were structured before modern engines became dominant.

Areas of interest include:

- DirectDraw-based 2D rendering
- DirectSound and MIDI playback
- Win32 application structure and message handling
- MFC-era project setup and resource management
- DirectPlay-era multiplayer code and dialogs
- Asset-driven game logic in a compact C++ codebase

## Repository Layout

- `src/`: C++ source, headers, Visual Studio solution, resources
- `bin/`: runnable binary, config files, save data, bundled documentation
- `artwork/`: screenshots, scans, and promotional images
- `sound/`: audio assets

## Historical Context

Murk comes from the Windows 95 PC game era, when developers commonly shipped custom engines directly on top of DirectX. That makes this repository useful not only as a playable game, but also as a small historical reference for late-1990s Windows game development.

<p align="center">
<img src="https://github.com/moonwho101/Murk/blob/main/artwork/Windows95GameSDK.jpg" width="300" height="300" align="center">
<img src="artwork/Windows95GameSDK.jpg" alt="Windows 95 Game SDK" width="300">
</p>

<p align="center">
<img src="https://github.com/moonwho101/Murk/blob/main/artwork/DirectX.jpg" width="601" height="667" align="center">
<img src="artwork/DirectX.jpg" alt="Classic DirectX packaging" width="601">
</p>

## License

This project is released under the MIT License. See `LICENSE` for details.

Loading