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

Mod Inclusion Project #24699

Closed
41 of 57 tasks
DracoGriffin opened this issue Aug 8, 2018 · 33 comments
Closed
41 of 57 tasks

Mod Inclusion Project #24699

DracoGriffin opened this issue Aug 8, 2018 · 33 comments
Labels
<Enhancement / Feature> New features, or enhancements on existing Mods Issues related to mods or modding <Suggestion / Discussion> Talk it out before implementing

Comments

@DracoGriffin
Copy link
Contributor

DracoGriffin commented Aug 8, 2018

A new project to review and potentially absorb mods into the core DDA game. Outlined in the Projects page, and a development process to evaluate mods and their appropriateness to become inducted into the vanilla game.

Project Scope

Since this is the first issue for the community, this is the project goal:

Project dedicated to reviewing and evaluating the various creations in official mods (\data\mods) and unofficial mods that may be appropriate for inclusion into the core experience/game.

Ideally, any official mods that are included wholesale would be designated obsolete in the modinfo.json to avoid duplications, but also to recognize the efforts of the original author(s)/maintainer(s).

Additionally, this focuses the energy of contributors and CleverRaven developers into generating and fixing core content, rather than redirecting efforts to consistently fix issues that arise in external mods with major changes in core DDA experience.

Methodology

This is the methodology that I have outlined (open for discussion and change):

  • Review official mods alphabetically via Issue for discussion (what should / should not be added, any changes to fit core DDA experience, is author approval necessary/given?)
  • Induct mod via single or multiple Pull Requests (dependent upon size of mod, ease of review and testing)
  • Obsolete mod if inducted completely (to avoid duplications, errors and any other possible bugs)
  • Review what to do with mod if not inducted completely (remove objects that have been added to prevent duplication, leave alone, mark as Obsolete?)
  • Main Issue to suggest unofficial mods for induction
  • Repeat cycle for unofficial mods

Reasoning

During my time in the C:DDA community, I have consistently noticed that modders and contributors tend to err on the side of caution and release their contributions as mods, instead of enduring the rigors of the Pull Request process, for many reasons, but the main one seemingly "get feedback to see if it's good enough for the game". I have also noticed, like many others, that there are a good deal many ideas encapsulated in these mods, that would see far more use and appreciation were they included in the base Dark Days Ahead experience. I have spent a majority of my time attempting to shape an environment of positivity for modding and contributions in the community and pushing for authors and creators to merge their creations for all to enjoy (whether through "fun" gameplay or "!!FUN!!" realism), so I'd like to take the next step towards this process by achieving what has been outlined above. I ask for the GitHub community to assist in this goal through constructive feedback and working towards the destination, to hopefully strive for a better experience for all.

I appreciate the time anyone took to review this material, even if a small portion. Starting tomorrow (after evaluating any feedback by then), the first mod up for review will be Animatronics (essentially review mods in descending order located in \data\mods). Additionally, any of the blacklist are potentially going to be skipped/ignored as that defeats the purpose of this project.

Order of Review

Official

Unofficial
(Please recommend suggestions)
Artyom's Gun Emporium (suggested by Jownky)
Cataclysm++ (suggested by Alexandreiah)

@DracoGriffin DracoGriffin added <Enhancement / Feature> New features, or enhancements on existing <Suggestion / Discussion> Talk it out before implementing Mods Issues related to mods or modding labels Aug 8, 2018
@ItsJustAlexC
Copy link
Contributor

one mod that should def be mainlined is NPC traits

@nexusmrsep
Copy link
Contributor

Good call @DracoGriffin. Personaly I always wondered why all those nice locations were left for mods. Also @acidia's urban development would be a blast is it will be ever finished under present circumstances.

@FulcrumA
Copy link
Contributor

FulcrumA commented Aug 8, 2018

I do like the general idea behind this ticket - there are quite many mods that already are pretty well-fitting and shouldn't be too hard to integrate into base game to make it bigger/better without significantly changing the gameplay and the lore.

However, as I believe it can easily go awry, I'd be very careful about including mods presenting new themes, 'genres' of items and enemies and other such content.

One of the problem some people have when approaching the game - and something I admit I personally had to get used to - is the "kitchen sink" content CDDA already presents. Zombies, extraterrestrials, extradimensionals, cyborgs, rogue AI, demonic/spiritual entities, fought by player's survivors, mutants, cyborgs using everything from stone age technology, through modern equivalent to hi-tech, improvised and factory-assembled with healthy helping of positively occult in nature artifacts is currently quite much. The skipping of/between themes may detract from enjoyment of some and while currently it's something most still could get more or less used to, adding even more newly-thematic content will IMHO may make the game indigestible.

I'd rather concentrate on quality of life and current features/content-expanding inclusions (for example, expansion of current vehicles to involve water vessels seems like a pretty logical and believable thing - though I'd adjust it first, since Boats mod seems a bit hacky with its boat board "wheels" due to limits it has to follow without adjusting the game's code).

Many of the mods, be they changes to what's already there, additions of new, balanced items in boundaries of current types of content or disabling of certain features could be easily integrated as optional world settings - but let absolutely new species/types of enemies (especially ones based upon existing franchise), new types of technology (or magitech) and other mods significantly changing the mood of the game and realities of the world of it remain as mods or at the very least be significantly adjusted so the new influences are very subtle and fit well with content already existing (for example, given demonic and lovecraftian influences, extradimensional creatures, cults and mysterious artifacts - a very subtle, hard to notice and reliably utilize addition of mostly-fluff occultism could mesh well with what we have, but outright providing players with D&D-like magical spells would be something I'd look for a mod for so I can get rid of it).

Pardon for lengthy comment, just thought I'd point it all out as something to keep in mind as while I'd like the game expanded and many mods better integrated, I certainly want to avoid significant changes to the basic realities of CDDA as I know it. After all, while many mods are just attempts to build on things privately and to test features, many are such so they can take the game into new, different directions with new, different types of content without forcing it on the rest of community - and I think it should stay this way.

@Cyrano7
Copy link
Member

Cyrano7 commented Aug 8, 2018

I think we should just let this process happen naturally like we have been doing for years. If you look back to the beginning a lot of content in the game was in a mod first, then mainlined once someone willing to do the work came along or it reached a fully developed state. Examples Extended Cataclysm or More Survival Tools(which was partially mainlined).

@DracoGriffin
Copy link
Contributor Author

I think we should just let this process happen naturally like we have been doing for years. If you look back to the beginning a lot of content in the game was in a mod first, then mainlined once someone willing to do the work came along or it reached a fully developed state. Examples Extended Cataclysm or More Survival Tools(which was partially mainlined).

I agree, however there are a ton of abandoned mods (although the real concern stems from all the abandoned "official" mods that lack maintainers) that could be merged into the base game and not have to worry about resolving issues or problems with those mods anymore. This now acts as somewhat of a wavering approval (not broad acceptance of everything but allows secondary examination of perhaps items/objects/locations/missions/NPCs/enemies/etc that may have been denied previously but could potentially be acceptable now); as well as acting as a beacon for others to see "Oh hey, they are willing to accept that stuff, I could do that", rather than "Eh, I dunno if they'll want that and I don't want to get rejected after working on all of that".

Secondly, the main part of this Issue is to discuss and further refine how best to approach this (already detailed above) as the plan is to move forward already. Further, this can be a useful approach for new contributors to get their feet wet and do some of the tons of "busywork" that is very often ignored or sidelined by core developers/contributors in efforts to focus on new features/resolving serious bugs/infrastructure development.

At any time kevin wishes to pull support on this project, I am willing to part ways with it. In the meantime, I'd like to see what can be folded in.

@MT-Arnoldussen
Copy link
Contributor

@0BE1ISK I second NPC traits (and mutations), but they are not without issues. I know of #24535, and I'm sure there are more.

@FulcrumA
Copy link
Contributor

FulcrumA commented Aug 8, 2018

@MT-Arnoldussen
I personally witnessed issues between it and disabling of NPC needs in the past as per #23715

@Night-Pryanik
Copy link
Contributor

Animatronics. Animatronics monsters don't thematically fit into the Cataclysm setting, so they wouldn't fit for mainlining.
Furthermore I think the mod shouldn't be "officially" bundled with the game. It's just one of these mods that just adds some new random content - in this case it's just a set of monsters and one location.
Overall I prefer to get rid of this mod from the list of "official" mods bundled with the game.

@nexusmrsep
Copy link
Contributor

Animatronics. Animatronics monsters don't thematically fit into the Cataclysm setting, so they wouldn't fit for mainlining.

Though @DracoGriffin wanted to discuss each mod in a separate issue, I'll share my opinion too. I agree with @Night-Pryanik , but I believe it should be merged/ported to Crazy Cataclysm Mod - animatronics are kind of wacky addition, so they would fit well there. And they would be a nice random-encounter style of addition CCM needs. And also it would de-bloat official mods list.

@DracoGriffin
Copy link
Contributor Author

I agree with @Night-Pryanik , but I believe it should be merged/ported to Crazy Cataclysm Mod - animatronics are kind of wacky addition, so they would fit well there. And they would be a nice random-encounter style of addition CCM needs. And also it would de-bloat official mods list.

That's actually an extremely good idea, especially moving forward. Thank you for the idea. Will be using it.

@mlangsdorf
Copy link
Contributor

I would prefer to have content in the main game, where developers and modders are aware of it. Exclusion mods are easy to write for people who don't want something in the game.

I'd really rather see all of Crazy Catalysm mainlined, and then add a standard mod to exclude the content.

@FulcrumA
Copy link
Contributor

FulcrumA commented Aug 8, 2018

Eh, I am not a fan of that. On one hand everything would be in one place, on the other I don't think it's worth letting mods at random get in and bloat the game, making people expect someone to maintain it all and then make the mods mandatory for considerable part of the community if they want to have more reasonable experience.

The way things are right now if someone wants to create some weird stuff, they can - and then only those who want to partake in it have to deal with getting the mod and keeping it working over various versions. The opposite, when it's the regular player wanting a normal gameplay who will have to keep updated/look for new blacklist mods just so they will be able to deal with all kinds of new weirdness others will create in a fit of fancy really rubs me the wrong way. I really don't want to have to be the one constantly seeking mods to filter new third-party stuff just because some other community member decided to force it upon me.

@kevingranade
Copy link
Member

kevingranade commented Aug 10, 2018 via email

@DracoGriffin
Copy link
Contributor Author

In fact that strongly indicates to me that we should be going in the other direction, breaking the current core dda content into multiple mods, but maintaining some of them as "core mods" that are loaded by default. Only if someone wants a specific subset of core + mod content should things like blacklist mods come into play.

Should the "copy-from" project take precedence in this case? I'm just not entirely sure on how useful that would be on reducing game load time.

If that doesn't reduce that strain, then this project and issue are majorly counterproductive.

However, if the need is to compartmentalize DDA into several, smaller core subsets/mods, that could be quite challenging unless it's more superficial (aka, splitting all vehicle stuff into one mod, all mutations and items in another, etc) at which point it becomes more of a categorical problem ("what should go where, and what should go with what") than a balancing act ("if core mod D isn't used, then players shouldn't be able to do Y").

And just to clarify, I simply listed all the official/bundled mods as a roadmap, none of the blacklist mods will be considered (I hope that's obvious, I also added short remarks for each entry).

@Night-Pryanik
Copy link
Contributor

Fast Zombies (skipped, now core feature to alter zombie speeds on world settings, review for potential removal for obsolete)
Slow Zombies (skipped, now core feature to alter zombie speeds on world settings, review for potential removal for obsolete)

Fast and Slow Zombies change the speed only for zombies, while in world option we are altering the speed of all monsters altogether.

Tough Zombies (skipped, now core feature to alter zombie speeds on world settings, review for potential removal for obsolete)

The same here for resilience. By the way, there's a typo: it's not a speed in description, but a resilience.

@DracoGriffin
Copy link
Contributor Author

The same here for resilience. By the way, there's a typo: it's not a speed in description, but a resilience.

Fixed, thanks. I was a bit overzealous in copy and paste.

Although you are correct about the mods only affecting zombies, they are still marked obsolete: true, so majority of players will never know of their existence. However, this may still be useful if that was changed back to false, but again, what happens if a player reduces both world settings speed and activates slow/fast zombie mod? Which overrides or is it combined?

Furthermore, what is the rationale behind retaining obsolete mods other than retaining backwards compatibility or is that the only reason? Is that potentially open to change?

@FulcrumA
Copy link
Contributor

Maybe settings could generally be turned more robust, allowing fiddling with stuff like resilience/speed for various generalized monster groups (zombie, animal, extradimensional/nether, extraterrestrial)? It does seem that a lot of many mod functionalities are basically what vanilla game could have with just a small column of settings.

@J-Cardona
Copy link
Contributor

Could Artyom's Gun Emporium be reviewed and evaluated as well? It would be nice to have even more variety of weapons in the game! :D

@Alexandreiah
Copy link
Contributor

I would always raise this but shouldnt some parts of cata++ be mainlined already? I do know that some parts of it are REALLY OP, but its not something that CANT be fixed or balanced easely. Also kevin did express some interest into adding more hostile NPC stuff to the game.

@cosmiccoincidence
Copy link
Contributor

cosmiccoincidence commented Aug 16, 2018

Adding the "More Buildings" mod will be part 3 of my "Adding Whaley's Locations process.


Part 3 is now open.

@Brambor
Copy link
Contributor

Brambor commented Aug 22, 2018

@kevingranade

Data:
Core json is currently 319,000 lines of json, and mod content includes
231,000 lines, inlining that mod content would roughly double game load
time, which is basically never going to be ok. In fact that strongly
indicates to me that we should be going in the other direction, breaking
the current core dda content into multiple mods, but maintaining some of
them as "core mods" that are loaded by default.

I believe that the game could include mods and loading times could be improved by optimization such as not load content that is not strictly needed. Does the game need to load lab levels until player approaches a lab? No. Does the game need to load a tank json etc. until a player encounters a tank? No.

So I agree with sort of packing the main game, however, not to split it into mods, but rather into packs that would not need immediate loading.

There is a lot of time when a human player doesn't use the full CPU and RAM power, such as when idly 'watching' the game menu. At this time some of the 'packs' could be loaded instead of all at once. Another example is when a player is playing this turn-based survival game and they are thinking of what to do the next turn. There sure is plenty of time intervals for the game to load what it needs before it needs it.

If the player uses all the json files, then sure, the game would load twice slower. But that is unlikely because even if the player has access to every item, they would not necessarily start playing by opening the crafting menu resulting in need of load of all recipes.

I understand that it will be hard, but I think that CDDA's vanilla content shouldn't be limited by load time when there is another way to go around load time. That is, because of the benefits outlined in this project.

@FulcrumA
Copy link
Contributor

FulcrumA commented Aug 22, 2018

@Brambor

Does the game need to load lab levels until player approaches a lab? No. Does the game need to load a tank json etc. until a player encounters a tank? No.

Yes.
The content of those mods must be loaded for the world to be able to generate them and know how to handle them in the first place. Sure, the levels itself shouldn't be generated till they're not approached - but that's exactly how game already works (at least to my knowledge - confirmable by descending to several place deleting saved location data before every entry and noticing differences in how it's generated). The data regarding existence of labs, however, must be loaded so the game will know that there should be levels - and what levels would those - that'd be accessible in a particular location.

There is a lot of time when a human player doesn't use the full CPU and RAM power, such as when idly 'watching' the game menu.

That's also already how it is! The loading screens should very well inform you that the mods and general in-game content is loaded only upon starting/loading the game, not when you're in the main menu.

@Brambor
Copy link
Contributor

Brambor commented Aug 22, 2018

@FulcrumA

The content of those mods must be loaded for the world to be able to generate them and know how to handle them in the first place.

Well, for many the case could be that they are not required on game load which could be specified. For example, when a world is generated, then 'pack' Boats doesn't need its json yet, because it doesn't affect world generation because the 'pack' doesn't have any structures vehicles etc. to generate. I'm talking mainly about first world generation rather than loading save, but even there adjustments can be made such as load only required 'packs', so do not load Boats if there is none - that might sound weird, it might be untrue or complicated.

I'm sure there are or can be optimizations so it shouldn't be such an issue to double json files.

@FulcrumA
Copy link
Contributor

@Brambor
Correct me if I am wrong but does it merely mean that Boat json for designs won't be loaded because they're not any? In general, the mod still has to be loaded so the game has loaded recipes for boat elements and can recognize such elements. There's no difference there. Same with items, enemies etc - at least some of the mod has to be loaded for the game to recognize the possibility of mod content's existence, even when not loading particular instance of it.

@kevingranade
Copy link
Member

I believe that the game could include mods and loading times could be improved by optimization such as not load content that is not strictly needed. Does the game need to load lab levels until player approaches a lab? No. Does the game need to load a tank json etc. until a player encounters a tank? No.

This is possible, but it is also quite difficult and error prone. I'm not sure you're following my suggestion, which is to break up the core json and refrain from loading it if the player has decided they do not want that content in their game.

@cake-pie
Copy link
Contributor

Is there a way to be notified when certain mods come up for review/discussion, or do we just have to keep an eye out for it?

@FulcrumA
Copy link
Contributor

Is there a way to be notified when certain mods come up for review/discussion, or do we just have to keep an eye out for it?

I was wondering about that myself. Probably would be wise if this ticket would send an alert as Draco makes a comment linking to new discussed mod ticket and then deletes it, to repeat with another.

@Human-Shield
Copy link

So do blacklist mods reduce load time or are the items still loaded and then ignored?

@kevingranade
Copy link
Member

Yes, in the current system, we load everything, then the blacklist removes it. We do even more work when something is blacklisted than if it isn't.

@Feuerhai
Copy link
Contributor

Feuerhai commented Apr 7, 2019

As of #29291 filthy clothing has just been mainlined.

@DracoGriffin
Copy link
Contributor Author

As of #29291 filthy clothing has just been mainlined.

Added and updated original comment with all the recent additions.

@ghost
Copy link

ghost commented Jun 9, 2019

What's the status of Roguelike Classes post-Magiclysm?

@kevingranade
Copy link
Member

This has run it's course and been stale for many months now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
<Enhancement / Feature> New features, or enhancements on existing Mods Issues related to mods or modding <Suggestion / Discussion> Talk it out before implementing
Projects
None yet
Development

No branches or pull requests