-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Comments
one mod that should def be mainlined is NPC traits |
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. |
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. |
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 |
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. |
That's actually an extremely good idea, especially moving forward. Thank you for the idea. Will be using it. |
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. |
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. |
The rationale for, "mainline, but keep as a mod" is to allow shared
maintenance of mod content (i.e. a simple search of the repository will
find instances of json entities that need to be changed if the entity type
is updated, as well as allowing unit tests to load and test mod content)
without burdening the game with the overhead of loading every game entity
defined in a mod.
That overhead comes both in the form of code support for things like
handling conflicting item definitions until they can be resolved by a
blacklist mod or exclusion directive and sheer resource usage from loading
a ton of mod content, only to unload it afterwards.
It's much more efficient to load mods on demand.
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.
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). |
Fast and Slow Zombies change the speed only for zombies, while in world option we are altering the speed of all monsters altogether.
The same here for resilience. By the way, there's a typo: it's not a |
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? |
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. |
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 |
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. |
Adding the "More Buildings" mod will be part 3 of my "Adding Whaley's Locations process. Part 3 is now open. |
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. |
Yes.
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. |
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. |
@Brambor |
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. |
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. |
So do blacklist mods reduce load time or are the items still loaded and then ignored? |
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. |
As of #29291 filthy clothing has just been mainlined. |
Added and updated original comment with all the recent additions. |
What's the status of Roguelike Classes post-Magiclysm? |
This has run it's course and been stale for many months now. |
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:
Methodology
This is the methodology that I have outlined (open for discussion and change):
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)
The text was updated successfully, but these errors were encountered: