How You Can Help

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.

Other ways to help

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.

Issue labels

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.

Languages

Tag Description
[C++] Previously named Code
[JSON] Code made in JSON
[Markdown] Markdown issues
[Python] Code made in Python

 

Issue Types

Tag Description
<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

 

Gameplay Categories

Tag Description
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
Translation I18n
Vehicles Vehicles, parts, mechanics & interactions
Weather Rain, snow, and non-temperature environment
Z-levels Levels below and above ground.

 

Flags

Tag Description
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.
PUBLIC TEST </div>
(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.
weekly-digest </div>