Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add MAINLINE_MODS.md to document mod inclusion criteria and procedures #37282

Merged
merged 8 commits into from
Jan 22, 2020
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions doc/MAINLINE_MODS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Getting Mods Into The Repository

Cataclysm: Dark Days Ahead is not only moddable, but ships with a number of mods available for users to select from even without having to obtain mods from a third party source.

## Why have mainlined mods?

The benefits of having mods mainlined include:

* Visibility to a large number of users and potential contributors
* The ability to use the CleverRaven issue tracker to report problems, as well as manage pull requests for adding to or fixing mods in the repository
* Mods in mainline that demonstrate usage of a game feature which exists only for mods (i.e. not used by the core DDA game itself) help ensure that feature stays present in the game.

There are however things that might be expected but are not guaranteed:

* Guarantee of maintenance of content -- core devs are mostly focused on the main game itself; although some might pick up mods as a side task, people who continue working on the core game tend to like the feel of the core game.
* Guarantee of maintenance of used features -- over the course of development it may become impossible to keep a feature, due to performance needs or maintenance burden.
* Guarantee of sole authorship -- once in the repository, the mod is considered community content. While the developers might defer to an active maintainer of a mod, if they become inactive anyone else can step forward.

## What kind of mods can be in the repository as mainlined mods?

There are three primary categories of mods:

* Content mods, which provide some kind of distinct experience from the core Dark Days Ahead game. This could be a change to lore, a change to a specific part of gameplay.
* User Experience (UX) mods, which alter the look and feel of the game interface itself.
* Development mods, which aren't "mods" in the typical sense but are instead there to ease the transition between "incomplete feature" and "incomplete feature", when a feature in the core game is sufficiently incomplete that the developers believe it needs to be optional to minimize disruption to players.
esotericist marked this conversation as resolved.
Show resolved Hide resolved

## What is necessary for a mod to be included in the repository?

The most crucial criteria for a mod to be in the CleverRaven repository is that it has someone acting as a maintainer. This ensures that there is someone who is keeping an eye out for possible problems with the mod, and helping steer its development so that it continues to develop in accordance with its design purpose.

Further, there are additional criteria:
esotericist marked this conversation as resolved.
Show resolved Hide resolved

* Content mods need to be providing some kind of curated experience. Either they introduce a set of locations, encounters, equipment, or progression mechanisms that do not fit the style of the core game, or they in some fashion modify the game according to some well-defined concept.
* * Mods which do not qualify as curated experiences: Grab bag mods with no defined purpose (i.e. adding a bunch of randomly guns), "settings" mods that just turn off a possibly undesired but working feature (acid ants).
Copy link
Contributor

@Inglonias Inglonias Jan 21, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have a problem with this in theory, but it feels a little silly to do this when there's a whole game-supported category called "blacklist" for mods like this. It may be worth it to revisit how the game categorizes mods if we plan to keep this as part of the policy.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's probably reasonable to leave blacklist as a category for two reasons:

  1. it's going to be common in community added mods, and
  2. we're still going to need it for the occasional feature that's in development or has problems on low-end systems. Thinking of fungus and railways here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't forget the classic zombies mod; it's still staying in the repository.

esotericist marked this conversation as resolved.
Show resolved Hide resolved
* Development mods need to have an associated work-in-progress feature that they exist to mitigate.

## What are the responsibilities of a mod maintainer?

`TBD`
esotericist marked this conversation as resolved.
Show resolved Hide resolved

## When do mods get removed?

Mods that have no maintainer or have proven to be consistently some type of maintenance burden are potentially subject to removal. Additionally, mods which had a purpose which is no longer relevant (development mods whose accompanying feature has been finished) will generally be removed once they're no longer deemed necessary.
esotericist marked this conversation as resolved.
Show resolved Hide resolved

Whenever a stable release occurs, mods which no longer qualify for inclusion will be marked 'obsolete'. This doesn't remove them from the repository, but it does prevent it from being used in new worlds (barring additional effort on the part of the player).

## Why do mods get removed?

While it may be counterintuitive, simply having a mod in the repository increases maintenance burden for the team, even for the people who don't use the mods itself.

Further, mods which are in mainline but are not working correctly for whatever reason reflect poorly on the project on the whole. While it might seem 'easy' to fix a mod, the development team is mostly focused on the core game itself. This is why mod maintainers are necessary.
esotericist marked this conversation as resolved.
Show resolved Hide resolved

## How can mods be rescued from removal?

If the mod otherwise meets inclusion criteria but lacks a maintainer, it's as simple as having someone else step forward as the new maintainer.
esotericist marked this conversation as resolved.
Show resolved Hide resolved

Otherwise, it needs to either be made to meet the criteria, or it simply isn't going to be staying in mainline.