Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

D20 Game

A cross-platform C++ game based on the D20 System from Dungeons and Dragons.

Gameplay Screenshot


This project started as a university school project by Patrick McFern and Christopher Karpyszyn in 2007. The project assignment asked that we implement the D20 rules in a turn-based RPG using C++. The rest was up to us.

Despite the hundreds of hours it took to get this project together, the code sat on a dusty hard drive for years. In 2015, we decided to open source as much of the project as we could as it benefits no one being hidden out of sight. More about licensing below.

We're putting this code into the wild. Feel free to fork it, remix it and make it your own. We had a lot of fun assembling this project and we hope it inspires you.


The code depends on the following libraries:

Project Status

The code was recently revived in order to compile against the C++11 standard. It has been tested on OSX 10.9 and Windows 7, and should generally work on any platform supported by SDL 1.2.

Here's some of the known issues at this time:

Dependence on console window output

The console window output details some of the mechanics of the game during gameplay. In particular, the outcome of combat with AI characters are only shown here. This was a requirement for the original project and has not yet been improved. In the future, the console output should be moved into the graphical portion of the game.

OSX support

The game will build and run under OSX, but there are some known issues.

  • No console window. Combat outcome is hidden from the player.
  • Map editor does not save changes.


This project uses media which is not open sourced. Thankfully, the C++ code is our own property and we've made that available under the MIT license.

Please read COPYRIGHTS.txt and LICENSE.txt for a detailed overview of the licensing.


A cross-platform C++ game based on the D20 System, using SDL







No packages published