I occasionally get asked why Amazing Follower Tweaks includes so many features. Or more specifically, why I don't break this feature or that feature out into its own mod. Sometimes this leads into the broad discussion of Mega-Mods versus Focused-Mods and which is better for users, authors and Mod hosts like the Nexus. So I thought it was about time to explain why AFT includes all the features it does and provide some insights into the trade-offs that come with Mega-Mods.
A) What your Multi-Follower Mod MUST do:
Bethesda's open world games have a history of mod support and provide incredible tools for both experienced and inexperienced modders to change and alter their games. This is particularly true for tangible assets that you can hear and see. Things like MODELS, MAPS and TEXTURES. One mod can give all humans blue skin, while another mod can change their hair to red and yet another mod can make their eyes glow green.
However non-tangible assets like behaviors were lower priority. Some would even say an afterthought. Bethesda games have never been particularly good at allowing multiple mods to contribute to these types of elements.
One such non-tangible asset is AI. Bethesda games don't allow multiple mods to contribute to the AI of an NPC or Follower. Each NPC in the game can have exactly 1 "brain" at any given moment. That AI package is solely owned and controlled by a single mod (or the original game). AI Packages (and AI stacks) include dozens of flags that control the NPC's behaviors. Things like combat prowess, how talkative they are, whether they range, their preferred distance to the player, where they hangout, if and how often they relax, etc... And thus if users want control over those types of settings for their followers, a single MOD must provide all the options. When it comes to NPC/Follower behaviors, Mixing and matching mods generally doesn't work.
It doesn't end with AI. The original game comes with a default Follower system that is tightly woven into the fabric of the game. For example, follower commentary, affinity and cut scene interjections are all hard wired to use the original Follower system. If a mod author wants to create an alternative follower system that works seamlessly with these things, there really is no way to do it other than editing the original Follower system. This is why most multi-follower mods won't work with each other. They all edit the same original Follower system to provide that seamless experience.
Editing the Follower System comes with responsibilities and makes it necessary for the follower mod to (yet again) implement options for those things that can only be managed from the Follower system. Things like affinity, commentary (timing and overlap) and interjections.
So when making a multi-follower mod, there is a list of things that the mod MUST provide, because there is no way to provide those things via independent mods or Addons. Occasionally I get users asking me to break these aspects of AFT out into a separate mod and I have to explain to them why it simply isn't possible.
B) What Amazing Follower Tweaks does anyway:
AFT does all the things that HAVE to be done by a single multi-follower mod. But what about the rest?
I think comparing a mod to a car is a great metaphor here. The world is full of cars and the earliest cars were truly simple machines with one purpose. But as time passed, some features became standard. Are windshield wipers and headlights necessary? No, but they are expected. So there are certain features that come with AFT that fall into this "standard" category. Things such as the ability to TRADE with your followers and even an INFO command to tell you about their stats.
But what about those non-standard features?
In the world of cars, you have basic cars and then you have luxury cars. You can buy a basic car and install a better sound system, but it relies on you knowing what you are doing. If you don't have an alternator capable of supplying the power needed by the sound systems amplifier, the radio may drain your battery and one day your car may not start.
The same type of thing happens in the world of mods. Yes, you can get a basic multi-follower mod and then install features you want a-la-caret. But you better be prepared to get your hands dirty and spend some time getting everything to work together. And since most of your features are implemented by independent mod authors, good luck getting mod authors to help you with conflicts and resolve problems.
Now consider the "Luxury" car. It comes with premium sound built in and for that very reason, it comes with the expectation that all those bells and whistles are going to work and play together seamlessly, without issue.
So basically, I think of AFT like that "Luxury" follower mod, with all the features built in and wired up for you. And to be honest, in many cases I include certain features because I have no expectation that an independent mod would account for multiple followers.
It still leaves the question open: Why not release these features as AFT Addons or separate mods with special hooks to ensure they play well with AFT? Why include everything packaged up with AFT?
The simple answer is stability. Some features can break others. Within AFT, I know about every feature AFT supports. Therefore I can ensure compatibility between all the moving parts. For example, if you try to change a followers clothes while they are in PowerArmor, it can crash the game. AFT is stable because I manage both the follower outfits and the follower PowerArmor usage, So I have checks in place to avoid crashes. If they were separate mods, I wouldn't know what is and isn't installed. It is possible to make mods detect if other mods are installed, but it is no trivial process. And once you get beyond the hurdle of inter-mod communication, you still have to handle all the scenarios where things may or may not be installed in various combinations. It is far more practical for me to just include everything and know it is there, then spend time testing all the combinations of what may or may not be installed.
Probably the most important point of this article is this: Mega-mods like AFT that do so many things are much more stable than installing 12 or 15 independent mods made by different authors. And if you find a bug in AFT that involves any combination of AFT's features, you can report it and I will get fixed. (Though I may still ask users if they can replicate it when AFT is the only MOD installed/enabled).
C) What is over the top?
And then there are features that really do push the boundaries of what is related to followers. Things like the Gather Loose Items command. The Clear Settlement command. The ability to make your followers build a settlement for you. The ability to make followers setup and tear-down a portable camp that has a med-bay, memory lounger, workbenches, sleeping quarters and a defense system. The ability to rescue your spouse and the ability to turn any NPC in the commonwealth into one of your settlers.
These features are definitely borderline overkill. And I admit, I could have released them as separate mods. But I didn't for two reasons.
First and foremost, every one of those features has a tie to AFT. It is not always obvious, but it is there. AFT Camp was designed and built around AFT's assumed follower limit of 5 (human) NPCs. It also has a memory lounger that takes you to a past memory and your spouse is there. AFT knows about the possible spouse rescue, so it makes the changes necessary to allow you to talk to your spouse in the past without getting lines about the state of the future commonwealth. When you exit the memory, it fixes things back so they talk normally again. If these two features were independent mods, they would likely conflict with each other or be buggy. So even though these features are barely related to followers, the fact that a single mod manages both still gets you stability that you wouldn't have if they were independent.
Second, I think it these extra (optional) features are in fact what gives Amazing Follower Tweaks that “wow factor”. I doubt users go "Wow" when they ask their fifth follower to come along with them. But I'm sure many users go "Wow" when their followers build a detailed settlement in under 2 minutes, or when they used that memory lounger for the first time or rescued their spouse. If AFT didn't have those Wow moments, then I would have reservations about using the word “Amazing” in the name.
Conclusions
So there are my reasons. Necessity, Stability and wow factor. Could all of these features have been broken out? No. Could some of them have been broken out? Probably. But with each independent piece, you sacrifice a little bit of that stability and seamless integration. I suspect the same holds true with the current direction of modding.
What is better for users? Mega-Mods.
What is better for mod authors? Mega-Mods.
What is better for hosts like Nexus? Focused-Mods.
Why Focused-Mods for that last one? Because ultimately the host profits from clicks and page views. So for them, it is better if features are broken up into as many mods as possible.
So there you have it. Thanks for taking the time to read.
8 comments
I will agree that "megamods" can work - if they can stay within a contextual scope.
in other words - doing many many things well within their "genere" is great. going outside of that is problematic.
For example, a follower mod that lets you have your followers do simple settlement activities - that is awesome.
But if that same mod tried to rewrite how settlements are made, or costs or perk requirements for non-follower related items in a settlement - that would be out of scope.
This happens with a lot of mods - that start with a simple context - but quickly start to affect many things - maybe consistent with the mod author's game, but not necessarily anyone else's . An example would be maybe a sorting mod that also changes the composition of mods scrapping recipes.
Then the player has to decide - if they can put up with feature X, to get feature Z.
AFT is an excellent example of a mod that does it's scope well - it is a follower mega mod, but stays within that context.
-"... the ability to turn any NPC in the commonwealth into one of your settlers."
-what are the limitations of AFT when using this feature?
I have a customized oninit event in a loose file workshopNPCScript.pex.
Event OnInit()
if (WorkshopParent==NONE)
WorkshopParent = Game.GetFormFromFile(0x0002058E, "Fallout4.esm") as WorkshopParentScript
bCommandable = true
bAllowCaravan = true
bAllowMove = true
Actor theActor = Self as Actor;
; let player assign newHome
Location newHome = WorkshopParent.AddActorToWorkshopPlayerChoice(theActor, true)
if (GenericGoHome==NONE && newHome)
GenericGoHome = Game.GetFormFromFile(0x000D242A, "Fallout4.esm") as GenericGoHomeScript
if (GenericGoHome)
GenericGoHome.GoHomeActors.AddRef(theActor)
endif
endif
endIf
They remain in the settlement and don't turn hostile If I delete the loose file workshopNPCScript.pex, as if the script was attached from the start.
The limitation is that it requires to type the console command once for each NPC, there is no equivalent papyrus call for "aps"
I also figured out your trick. But even with console commands, the default WorkshopParent is const and can't be set using console commands. Which is why you had to edit the file. But the issue with editing the file is that it would make the mod incompatible with every Settler mod out there (like SimSettlements).
So to remain compatible, I did things the hard way.
The Attached Scripts like WorkshopParent and WorkshopNPCScript automate a lot of things, but at the end of the day, these scripts just manage lower level attributes like Keywords, Linked References and membership in certain Reference Alias Collections. If you pull the scripts apart, you eventually realize how to make your own system that will work with and be recognized by the game, as if the NPC was being managed by the WorkshopParent and associated scripts. So that is what I did. I built my own quest with my own scripts that provide all the functionality. This way I didn't have to edit the original Settler/Settlement system, which maintains compatibility with other mods.
I'm still testing it, but here is a link to the two main scripts:
https://github.com/Dheuster/AFT-FO4Edition/blob/master/Data/Scripts/Source/User/AFT/TweakSettlersScript.psc
https://github.com/Dheuster/AFT-FO4Edition/blob/master/Data/Scripts/Source/User/AFT/TweakWorkshopNPCScript.psc
A) BoSPaladinDanseBunkerHomePackage [PACK:0003FBB9]
B) BoSPaladinDansePrydwenHomePackage [PACK:002494D3]
C) BoSPaladinDansePoliceStationDefaultPackage [PACK:001FE1A7]
BoS302DanseExiled.SetValue(1)
BoSDansePostGame.SetStage(20)
when BoS302DanseExiled [GLOB:00141A14] gets equal to 1
Data\Scripts\Source\Base\Fragments\Quests\QF_BoSDansePostGame_0001E5E7.psc
if DanseCompanion.HomeLocation == PrydwenLocation
DanseCompanion.HomeLocation = ListeningPostBravoLocation
Can I asume one limitation of AFT recruited NPC is that uninstalling the mod will make them hostile and/or disappear?
Why would you want to break this mod up if you can have all these great features in only one mod. The few number of mods running = increased stability, this is of primary importance to all of us.