Back to Cataclysm Dda

How You Can Help

doc/HOW_YOU_CAN_HELP.md

1.0.022.8 KB
Original Source
<!-- START doctoc generated TOC please keep comment here to allow auto update --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->

Contents

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

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

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

 

Issue Types

TagDescription
<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

TagDescription
AccessibilityIssues regarding accessibility
AimingAiming, especially aiming balance
AmmoAmmunition for all kinds of weapons
ArtifactsOtherworldly items with special effects
Battery / UPSElectric power management
BionicsCBM (Compact Bionic Modules)
Character / PlayerCharacter / Player mechanics
Character / World GenerationIssues and enhancements concerning stages of creating a character or a world
Controls / InputKeyboard, mouse, keybindings, input UI, etc.
Crafting / Construction / RecipesIncludes: Uncrafting / Disassembling
Effects / Skills / StatsEffects / Skills / Stats
Fields / Furniture / Terrain / TrapsObjects that are part of the map or it's features.
Food / VitaminsComestibles and drinks
Gunmod / ToolmodWeapon and tool attachments, and add-ons
Info / User InterfaceGame - player communication, menus, etc.
Inventory / AIM / ZonesInventory, Advanced Inventory Management or Zones
Items / Item Actions / Item QualitiesItems and how they work and interact
LoreGame lore, in-game communication.
MagazinesAmmo holding items and objects.
MagiclysmAnything to do with the Magiclysm mod
Map MemoryPerformance issues, weird behavior, suggestions on map memory feature
MapgenOvermap, Mapgen, Map extras, Map display
MeleeMelee weapons, tactics, techniques, reach attack
MissionsQuests and missions
ModsIssues related to mods
MonstersMonsters both friendly or unfriendly.
Mutations / Traits / ProfessionsMutations / Traits / Professions
NPC / FactionsNPCs, AI, Speech, Factions
OrganizationGeneral development organization issues
OtherThings that can't be classified anywhere else
Player Faction Base / CampAll about player faction base/camp/site
Quality of LifeQoL
RangedRanged (firearms, bows, crossbows, throwing), balance, tactics
ScenariosNew Scenarios, balancing, bugs with scenarios
Sound EventsSound events handling in the game
SpawnMonsters/Items appearing on map locations.
TemperatureFreezing, cooling, thawing, heating, etc. mechanics
Time / Turns / Duration / DateIssues concerning any activities being too fast or too slow. Also issues about time and date ingame
TranslationI18n
VehiclesVehicles, parts, mechanics & interactions
WeatherRain, snow, and non-temperature environment
Z-levelsLevels below and above ground.

 

Flags

TagDescription
Code: Astyle / Optimization / Static AnalysisCode internal infrastructure and style
Code: BuildIssues regarding different builds and build environments
Code: PerformancePerformance boosting code (CPU, memory, etc.)
Code: TestsMeasurement, self-control, statistics, balancing.
Game: BalanceCode that balances in-game features.
Game: Mechanics ChangeCode that changes how major features work
Organization: BountyBounties for the claiming
Organization: SitesIssues concerning web-sites that relate to Cataclysm
OS: AndroidIssues related to the Android operating system
OS: LinuxIssues related to the Linux operating system
OS: macOSIssues related to the macOS operating system
OS: WindowsIssues 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 / SoundTiles visual interface and sounds.
staleClosed for lack of activity, but still valid.
weekly-digest</div>