CDDA is maintained by thousands of volunteers, organized by a core development team. There are many ways you can help, both through direct participation in the game’s code and content development, and by finding or reproducing bugs, locating causes, and testing the proposed fixes.
- See ISSUES.md for how to report bugs or request new features
- See CONTRIBUTING.md for how to make and and submit changes to the game with pull requests
- See the Guide to adding new content to CDDA for first time contributors for more help getting started with contributing
This section focuses on ways you can support CDDA development without necessarily knowing how to use Git, C++, or even JSON.
As a player, you may follow CDDA development and know about the issues page on GitHub where bugs and feature requests are reported.
If you don’t have a GitHub account, you may use the Issue Triage Crowdsource form to tell us about issues of particular importance or annoyance to you, which you think should be fixed before the next stable release.
If you have a GitHub account, you may know you can open issues and create pull requests to contribute code changes. But you can also use your GitHub account to help manage and triage the existing issues and pull requests, and participate in the discovery, discussion, and testing processes that surround game development.
Ways to help with issues:
Reproduce issues that need confirmation. Finding a procedure that reliably reproduces a problem is an important step toward finding a solution. Comment with your results (positive or negative), game version, the steps you followed, and any screenshots or other relevant info.
Determine the first version, pull request, or commit affected by an issue. In the case of newly appearing bugs or regressions in game behavior, it may be possible to pinpoint when it first started occurring, by manually testing different game versions, or using a more sophisticated approach like
git bisect. If you play experimental and update regularly, you might know right off the top of your head which version broke something! This is valuable information. If you can determine this and comment on the issue, it will definitely help locate a fix.
Find closely related or possible duplicate issues. Even when people do search for existing issues before opening new ones, with thousands of open issues, they may still be hard to find, and duplicates often arise. If you notice two or more issues that are similar, related, or duplicated, please comment with the issue number(s) to generate a cross-reference link.
Check old issues, to see if they are still relevant and reproducible in the current experimental version. Comment on any that may be already fixed or obsoleted, and could be closed with no further action - or, conversely, any that are still valid and worth fixing.
Ways to help with pull requests:
Read pull request descriptions, and look at the affected code and/or JSON files. Provide constructive feedback in the form of comments or code reviews on the PR.
Check out, compile, and test pull requests. The “Code” dropdown shown at the top-right of each pull request shows how to checkout the PR using GitHub CLI, ex.
gh pr checkout 12345. Build and playtest the PR to verify that it does what it should, and share your findings with the author.
Both issues and pull requests are categorized with labels, which can be helpful for organization. Typically someone with triage permissions will add appropriate labels. Use the links below to search for issues by label.
If you want to just jump right in, search for the “Good First Issue” tag.
If you wish to find something pertaining to your specialty, use the more detailed tags, in any combination.
|[C++]||Previously named |
|[JSON]||Code made in JSON|
|[Python]||Code made in Python|
|<Bug>||This needs to be fixed|
|<Bugfix>||This is a fix for a bug (or closes open issue)|
|<Crash / Freeze>||Fatal bug that results in hangs or crashes.|
|<Documentation>||Design documents, internal info, guides and help.|
|<Enhancement / Feature>||New features, or enhancements on existing|
|<Exploit>||Unintended interactions or behavior.|
|<Question>||Answer me please.|
|<Suggestion / Discussion>||Talk it out before implementing|
|Accessibility||Issues regarding accessibility|
|Aiming||Aiming, especially aiming balance|
|Ammo||Ammunition for all kinds of weapons|
|Artifacts||Otherworldly items with special effects|
|Battery / UPS||Electric power management|
|Bionics||CBM (Compact Bionic Modules)|
|Character / Player||Character / Player mechanics|
|Character / World Generation||Issues and enhancements concerning stages of creating a character or a world|
|Controls / Input||Keyboard, mouse, keybindings, input UI, etc.|
|Crafting / Construction / Recipes||Includes: Uncrafting / Disassembling|
|Effects / Skills / Stats||Effects / Skills / Stats|
|Fields / Furniture / Terrain / Traps||Objects that are part of the map or it’s features.|
|Food / Vitamins||Comestibles and drinks|
|Gunmod / Toolmod||Weapon and tool attachments, and add-ons|
|Info / User Interface||Game - player communication, menus, etc.|
|Inventory / AIM / Zones||Inventory, Advanced Inventory Management or Zones|
|Items / Item Actions / Item Qualities||Items and how they work and interact|
|Lore||Game lore, in-game communication.|
|Magazines||Ammo holding items and objects.|
|Magiclysm||Anything to do with the Magiclysm mod|
|Map Memory||Performance issues, weird behavior, suggestions on map memory feature|
|Mapgen||Overmap, Mapgen, Map extras, Map display|
|Melee||Melee weapons, tactics, techniques, reach attack|
|Missions||Quests and missions|
|Mods||Issues related to mods|
|Monsters||Monsters both friendly or unfriendly.|
|Mutations / Traits / Professions||Mutations / Traits / Professions|
|NPC / Factions||NPCs, AI, Speech, Factions|
|Organization||General development organization issues|
|Other||Things that can’t be classified anywhere else|
|Player Faction Base / Camp||All about player faction base/camp/site|
|Quality of Life||QoL|
|Ranged||Ranged (firearms, bows, crossbows, throwing), balance, tactics|
|Scenarios||New Scenarios, balancing, bugs with scenarios|
|Sound Events||Sound events handling in the game|
|Spawn||Monsters/Items appearing on map locations.|
|Temperature||Freezing, cooling, thawing, heating, etc. mechanics|
|Time / Turns / Duration / Date||Issues concerning any activities being too fast or too slow. Also issues about time and date ingame|
|Vehicles||Vehicles, parts, mechanics & interactions|
|Weather||Rain, snow, and non-temperature environment|
|Z-levels||Levels below and above ground.|
|Code: Astyle / Optimization / Static Analysis||Code internal infrastructure and style|
|Code: Build||Issues regarding different builds and build environments|
|Code: Performance||Performance boosting code (CPU, memory, etc.)|
|Code: Tests||Measurement, self-control, statistics, balancing.|
|Game: Balance||Code that balances in-game features.|
|Game: Mechanics Change||Code that changes how major features work|
|Organization: Bounty||Bounties for the claiming|
|Organization: Sites||Issues concerning web-sites that relate to Cataclysm|
|OS: Android||Issues related to the Android operating system|
|OS: Linux||Issues related to the Linux operating system|
|OS: macOS||Issues related to the macOS operating system|
|OS: Windows||Issues related to the Windows operating system|
|(P1 - Critical)||Highest priority (for ex. crash fixes)|
|(P2 - High)||High priority (for ex. important bugfixes)|
|(P3 - Medium)||Medium (normal) priority|
|(P4 - Low)||Low priority|
|(P5 - Long-term)||Long-term WIP, may stay on the list for a while.|
|(S1 - Need confirmation)||Bug waiting on confirmation of reproducibility|
|(S2 - Confirmed)||Bug that’s been confirmed to exist|
|(S3 - Duplicate)||Bug that is a duplicate of another one|
|(S4 - Invalid)||wontfix / can’t reproduce|
|SDL: Tiles / Sound||Tiles visual interface and sounds.|
|stale||Closed for lack of activity, but still valid.|