With the 0.16 release on the horizon, it seemed like a good time to recognize recent non-dev contributors to crawl. Dungeon Crawl is an open source game, and we’ve always welcomed help from the community, as the name implies. Our devs all started out making volunteer contributions, and many features of the game (like Octopodes) were created by non-developers. We don’t appreciate that as much as we should; so here’s some making up for lost time, a post about non-dev contributors, initially composed by a non-dev contributor! (Thanks, Edgar.)
(If you just want advice on how to contribute, skip to the end of the article!)
== Stats ==
(Global stats as of 0.16 (ish) from openhub.net)
Over the course of Crawl’s development, we’ve had 47,577 commits by 203 authors (not counting contribs not in commit form!) resulting in 373,054 lines of code.
All this took an estimated 101 years of combined effort! A century of crawl.
For 0.16 specifically, we had
- 50 commit authors.
- 24 members of the team contributed, the other 26 were community members,
- with 5 more making contributions but not listed as commit authors.
- Nathaniel Rook, infiniplex, Edgar A. Bering IV, and Chris Oelmueller all had more than 10 commits; Chris Oelmueller had 39!
- Altogether 54 tiles were edited or added by community tiles authors, with Bloax contributing to 48 tiles.
- Over 150 commits credited community members for their input.
During development approximately 580 new mantis tickets were opened on our bug-tracker, and 680 were resolved.
== Highlights: ==
Volunteer contributions ranged the gamut for this commit. Some people added new items, like the unrand Gyre and Gimble (designed by argonaut before being rewritten by wheals), or the new Potion of Ambrosia that replaces Potions of Confusion (thanks again, Edgar!). Others added new dungeon features, like Nathaniel Rook‘s troves that take piety instead of items, or Infiniplex‘s new set of dungeon layout generators. (Probably most noticeable in Elf!) Bloax added an enormous number of new tiles, for monsters, items, icons & features; Chris Oelmueller contributed a preposterous number of balance tweaks, bugfixes, and general quality of life improvements.
== Full breakdown: ==
- Game Mechanics & Items:
- Vaults & Dungeon Features:
- Vaults – John Boyle [b5f10d0]
- Elf, Spider and other dungeon generation – infiniplex [86f53c5, 453ed26, 1ce2b6a, 2c9155b, e393dcd, 5f1a7ec, 90934ab, 8f58c59, c71123d, c2d8bb1]
- Piety Troves – Nate Rook [0598440, 87a0f83, 97dfbf9, 3be1ec8, a1962e9, e8d63ac, 4a7ea2a]
- Flavour & text:
- Alex ‘chequers’ Jurkiewicz [fb3039f]
- User interface & display:
- Stealth bar – Cedor [6a06390]
- Shopping list sorting – Alex Henry [19b1b05]
- Safe move/safe wait – Mark Lodato [d31a67b]
- Xom mood meter – Edgar A. Bering IV [784a923, f29fc7b]
- Runed door and other level annotations – Edgar A. Bering IV [e3cf528, 67aa517, 477aa95]
- Hex success chance display – Chris Oelmueller [5ec9153, 866e5ec, 568023d, 5627181, 9bc942c]
- artefact, HUD, and % screen display quality of life – Chris Oelmueller [122ca20, 1a50928, 4727367, a82f3fd, 31b0019, 74483ed, 0e9d014]]
- Other display quality of life – Chris Oelmueller [2bf1b22, 986f71d, a488ed3]
- Vitor ‘Baconkid’ Costa
- Dowan & Duvessa, Frances
- Wraiths, thrashing horrors, acid blobs, and some butterflies
- Summon Horrible Things
- Nemelex ability icons
- Sack of Spiders
- Playerdoll tiles for ring, scale, chain & plate armour
- Vaults stone tiles
- Bone dragons, azure jellies and Dissolution
- New options:
- new option: fail_severity_to_confirm – Sandman25 
- new option: item_slot – Sandman25 [3c7236e]
- feature, item_glyph, and mon_glyph are now list options – Edgar A. Bering IV [17baf73, 0e41352, 0292bcd]
- small_more to work with clear_messages – Chris Oelmueller [de8d0ee]
- new option: always_show_exclusions – Chris Oelmueller [23b77bc, 1aa8fe1]
- Tweaks, bugfixes, and other corrections:
- Brandon Allbery [30145bb]
- Akinori MUSHA [dc488c0]
- Alex Henry [1cbfad4]
- Peter McLarnan [d607eb1]
- Thom Chiovoloni [fa1ea45]
- Austin Appleby [93d1bf1]
- waylon531 [02c350a]
- Tanner Swett [9ad1ca1]
- Ben Haines 
- Chris Terenzi [931e68f]
- Kyle Fox [ca94107]
- Nicholas Connelly [ed37a4e]
- Ryan Svoboda [6a05d28, 1f8aa9a]
- Richard Soderberg [30d2c40, 555ca3c]
- nagdon [2625ad1, 91f9442]
- Zannick [ff07b5f, b205902]
- Alex ‘chequers’ Jurkiewicz [18f3f21, bdb1c56]
- Ed Gonzalez [fedf916, 3187ff9, 5179ca8, 0a3dd61, 2ed3cef, 77cb719, da56f66]
- Nate Rook [06c7d7e, c49590a, de63cc4, 06da542]
- Edgar A. Bering IV [1a44955, 92c252e, 1402169, 437ab35, 8860622, 303d90c, 69029fd, 621cfab]
- Chris Oelmueller [4e34004, 8bbc685, 901aaec, 4dbdd72, 6d9fe09, 88da044, 973cab0, 289536a, 81848e5, 44aede0, 65c414e, aa3ee12, 812cefa, 172840c, 7e2cf2e]
== Interested in contributing? ==
That’s great! So, what do you want to do?
If you want to make art, that’s great! If you feel comfortable working with small sprites (generally around 32×32), then we can always use new tiles for almost everything – monsters, features, you name it. (Most of our monster tiles date back to the first release of tiles, nearly ten years ago!) You can check out our existing tiles by looking through the subdirectories here, and this document provides a full guide to the rest.
If you don’t feel comfortable with sprites that small, we can always use new loading screens – our existing ones are here.
If you prefer coding, probably the simplest place to start is by looking through the list of open bugs, finding something that looks promising, and uploading a fix. The code is here, and there are also guides to creating a patch.
If neither of those are your strong suit, you can try creating a new vault – a partially randomized area of the game. Documentation is here You can also try designing a new part of the game, like a god, species, or spell, and suggest it on the forums – remember to keep a thick skin and not take criticism too personally, though!
Once you’ve made something, art or a vault or anything else, put it on mantis in a new issue. Don’t feel too stressed about all of the fields – we can fix small mistakes with that sort of thing.
For help with any of these, feel free to visit ##crawl-dev on irc://chat.freenode.org – there’s generally devs around to help any time, between 9 AM to 11 PM Pacific. (And even if no one’s around, you can leave a message and come back later – generally someone will read the logs sooner or later.)
Thanks for reading, and happy crawling!