MCPcopy Create free account
hub / github.com/crawl/crawl

github.com/crawl/crawl @0.34.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.34.1 ↗ · + Follow
19,353 symbols 84,629 edges 890 files 3,674 documented · 19% updated 1d ago0.34.1 · 2026-03-15★ 2,914395 open issues

Browse by type

Functions 17,100 Types & classes 2,250 Endpoints 3
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Build Status

Dungeon Crawl Stone Soup

Dungeon Crawl Stone Soup is a game of dungeon exploration, combat and magic, involving characters of diverse skills, worshipping deities of great power and caprice. To win, you'll need to be a master of tactics and strategy, and prevail against overwhelming odds.

Contents

  1. How to Play
  2. Community
  3. How you can help
  4. License and history information

How to Play

For information on how to install the game, please visit the installation documentation.

If you'd like to dive in immediately, we suggest one of:

There is also an ingame list of frequently asked questions which you can access by typing ?Q.

Internet Play

You can play Crawl online, competing with other players or watching them. Click "Play Online Now!" on the Crawl homepage to find your closest server. You can play in your browser or over SSH.

Offline Play

Both classical ASCII and tiles (GUI) versions of Crawl are available to download for Linux, Windows and OS X.

Community

How you can help

If you like the game and you want to help make it better, there are a number of ways to do so. For a detailed guide to the crawl workflow, look at the contributor's guide.

Reporting bugs

At any time, there will be bugs -- finding and reporting them is a great help. Many of the online servers host the regularly updated development version. Bugs should be reported to our github issue tracker. Thoughtful ideas on how to improve interface or gameplay are welcome, but it's often best to discuss changes before opening an issue or pull request.

Map making

Crawl creates levels by combining many hand-made (but often randomised) maps, known as vaults. Making them is fun and easy. It's best to start with simple entry vaults: see simple.des for examples. You can also read the level-design manual for more help.

If you're ambitious, you can create new vaults for anywhere in the game. If you've made some vaults, you can test them on your own system (no compiling needed) and submit them via a github pull request. See the contributor's guide for details.

Monster Speech & Item Descriptions

Monster speech provides a lot of flavour. Just like vaults, varied speech depends upon a large set of entries. Speech syntax is effective but unusual, so you may want to read the formatting guide.

Current item descriptions can be read in-game with ?/ or out-of-game them in dat/descript/. The following conventions should be more or less obeyed: * Descriptions ought to contain flavour text, ideally pointing out major weaknesses/strengths. * No numbers, please. * Citations are okay, but try to stay away from the most generic ones.

Tiles

We're always open to improvements to existing tiles or variants of often-used tiles (eg floor tiles). If you want to give this a shot, please contact us. In case you drew some tiles of your own, you can simply share them with a developer or submit them via a github pull request. See the contributor's guide for details.

Patches

For developers (both existing & aspiring!), you can download/fork the source code and write patches. Bug fixes as well as new features are very much welcome.

For large changes, it's always a good idea to talk with the dev team first, to see if any plans already exist and if your suggestion is likely to be accepted.

Please be sure to read docs/develop/coding_conventions.md too.

License and history information

Crawl is licensed as GPLv2+. See LICENSE for the full text.

Crawl is a descendant of Linley's Dungeon Crawl. The final alpha of Linley's Dungeon Crawl (v4.1) was released by Brent Ross in 2005. Since 2006, the Dungeon Crawl Stone Soup team has continued development. CREDITS.txt contains a full list of contributors.

Crawl uses the following open source packages; thanks to their developers:

  • The Lua scripting language, for in-game functionality and user macros (license).
  • The PCRE library, for regular expressions (license).
  • The SQLite library, as a database engine (license).
  • The SDL and SDL_image libraries, for tiles display (license).
  • The libpng library, for tiles image loading (license).

Thank you, and have fun crawling!

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Function 9,971
Method 7,129
Class 1,861
Enum 386
Interface 3
Route 3

Languages

C++92%
TypeScript3%
Python3%
Java1%
C1%

Modules by API surface

crawl-ref/source/catch2-tests/catch_amalgamated.hpp822 symbols
crawl-ref/source/catch2-tests/catch_amalgamated.cc632 symbols
crawl-ref/source/player.cc441 symbols
crawl-ref/source/monster.cc327 symbols
crawl-ref/source/mon-util.cc293 symbols
crawl-ref/source/mapdef.cc251 symbols
crawl-ref/source/dungeon.cc242 symbols
crawl-ref/source/mon-cast.cc228 symbols
crawl-ref/source/transform.cc217 symbols
crawl-ref/source/god-abil.cc209 symbols
crawl-ref/source/travel.cc202 symbols
crawl-ref/source/melee-attack.cc198 symbols

For agents

$ claude mcp add crawl \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page