A nuclear winter with zombies and all I have is a switchblade? I'm Back! It has been a long time since I played Fallout 4. I sort...

A nuclear winter with zombies and all I have is a switchblade?

I'm Back!

It has been a long time since I played Fallout 4. I sort of randomly checked my Zombie Walkers mod on nexus mods and saw several posts where people were having trouble. I glanced through many pages of them and saw things mostly related to stability/crashes and bloated save game files.

I take a sense of ownership in what I do and felt bad about this, even though I'd been away for so long. The comments didn't inspire me to take up modding again (yet) but did inspire me to play Fallout 4 again after the long absence.

Winter and Zombies

It is the winter season here in Buffalo, NY and I've always liked snow. I thought it'd be fun to mod my freshly re-installed Fallout 4 with a winter theme to play my mod in. The screenshot above is from that setup and I wanted to call out a few of the mods I used in case anyone else wants to check them out.


Maybe i'll post a full current mod list later as it includes other game changes outside of visuals also.

My Experience

I used replacements for everything 100% except humans. Added extra spawns at 25%. Enabled NPC resurrection and set it at 60 in-game minutes and allowed zombies to infect with basic infection. Settlement attacks and Sleep Interruption were also enabled.

Overall I didn't have many issues after playing a save close to 10 hours so far. The biggest thing seems to be performance related in downtown Boston where I experience a single hard crash and some delays with spawn replacements where I could hear Super Mutants talking and firing weapons before disappearing. Also, sometimes there was delay between a head-shot and the zombie dying in that area.

Some features I didn't feel compelled to turn on (alternate death) and others I never saw executed in game and didn't really miss them (zombies eating corpses). Extra spawns seem to work well, though I had a thought that it'd be nice if this were to increase on it's own over time during play. I experienced both a settlement attack on Red Rocket and sleep interruption a few times while travelling (scary with darker nights too). 

What I Learned

I remember why I enjoyed playing Fallout 4 after being away from it for so long. It really takes you away into your own sandbox world. There are some cool new mods out there that help with this immersion also.

Another thing, is that my wheels are spinning and I'm actually considering ways to improve this mod. Not promising this is going to happen, but I think this mod could benefit greatly to some modularity. Many of the nexus mods I downloaded had installers popup when using Vortex that let you pick and choose what you wanted to install. I think this would help greatly for people who only like certain aspects (eg. running with the feral ghoul overhaul only).

Some parts of my mod have been implemented since I worked on this. Several versions of death alternative mods are out there now, both standalone and as part of popular overhauls (eg. Horizon). Many point out that several spawning mods exist out there also. All of this makes me think that I can strip out some of the feature bloat and those that want those extras will still be able to include them elsewhere.

What Now?

For now I'm in the exploratory and planning phase. I'm scoping out the potential work involved with revisiting this mod and trying to decide if I want to take the plunge. Free time is not easy to come by as a father of two, but I did enjoy working on this and feel a certain responsibility to maintain it.

Fallout 76 beta I am now the lucky recipient of a Fallout 76 pre-order and beta key. The download is literally in progress right now and...

Fallout 76 beta
I am now the lucky recipient of a Fallout 76 pre-order and beta key. The download is literally in progress right now and I'm excited to check it out. Thanks to my loving wife for the nice birthday gift!

Zombie Walkers for Fallout 76?


If Bethesda gets to the point of allowing mods for this game, I will most likely work on a port of Zombie Walkers for sure. So far they are reporting that they are committed to making it happen in an official capacity but it may take some time.

Clearly the "Scorched" are zombies, right?
I can already see the "Scorched" are this Fallout's version of a ghoul/zombie creature. Only this time they are intelligent and able to wield guns? Early signs point to them being re-branded zombies with removal of running and weapon wielding. Hopefully other features from the Fallout 4 Zombie Walkers mod will be possible if things like scripting are allowed.

Doesn't playing Fallout zombie survival with your friends sound fun? I guess we'll have to wait to see how far Bethesda allows modders to go and if they follow through on mod support to find out.

Update: 11/3/2018

It appears Feral Ghouls are still in the game in addition to Scorched. Bigger variety of zombies? I only had a chance to play for 40 mins or so before the beta shutdown at 9pm. Hoping to play more. Should be interesting to see what kind of atmosphere the lack of human NPCs creates.

Zombie Settings using the Mod Configuration Menu Many have asked for it and I've had it on my list for awhile. I'm very happy to...

Zombie Settings using the Mod Configuration Menu
Many have asked for it and I've had it on my list for awhile. I'm very happy to announce Mod Configuration Menu (MCM) support for Zombie Walkers as of version 2.6.

What is is?

For those that may not be aware, the Mod Configuration Menu is a a mod itself that provides a configuration framework for other mods that includes a "MOD CONFIG" option in the main menu of the game. Once that option is selected, a view similar to the screenshot above appears with left navigation options for each installed mod with MCM support. 

Requirements

You must download and install the MCM mod and all of its requirements including the Fallout 4 Script Extender (F4SE). F4SE allows mods access to functions not normally available and exposed by the developers (for whatever reason) and is used by MCM internally.

As a result of the F4SE requirement, MCM is only available on PC.

Mod Integration

Even though MCM is only available on PC, I was able to allow Zombie Walkers to be configured by it without making my mod PC only. This is thanks entirely to how easy and loosely coupled MCM is to integrate with.

Basically, you need to create a JSON file in a specific directory. Inside this file you add configuration pages and fields that essentially set the same Global Variables your mod may already be setting via holotape. There are more advanced options that I didn't use like allowing for mod specific ini files and callback functions to be called as options are changed by MCM.

Here's a snippet of the JSON that shows the "Max Effective Level" settings:

{
"text": "Max Effective Level",
"type": "slider",
"help": "-1 is Unlimited. Doesn't set actual level but caps calculated stats like health, damage, etc.",
"valueOptions": {
"min": -1,
"max": 50,
"step": 1,
"sourceType": "GlobalValue",
"sourceForm": "walkers.esp|9884"
}
}

The bit in bold above is the key in that it implies the IsPluginInstalled and GetFormFromFile functions (or similar) are being used which is how you can access forms from other mods without actually requiring or directly linking to them. In the case of this example, the form type is also specified so that MCM knows to cast to a GlobalValue and set it accordingly.

Manual Installation

The Nexus version of Zombie Walkers already contains the necessary JSON files as part of the zip and will extract them to the proper location. I recommend this option as it is the easiest.

If you install Zombie Walkers via the in game mods menu (bethesda.net), then you won't get MCM support for free. This is because I'm not sure how or even if you can include the files. Follow the manual instruction steps below:

1. Manually Download the latest zip from the Zombie Walkers Nexus Site
2. Extract the zip manually on your PC
3. Move the files under the MCM folder to your Fallout 4 Data directory (eg. "C:\Program Files (x86)\Steam\steamapps\common\Fallout 4\Data")

Supporting Config Changes

I did run across a couple of nuances between my holotape configuration pattern and MCM. MCM exposes the raw value of global variables on things like sliders where my holotape menus were able to map values to text labels. Many Zombie Walkers global variables have 0 - 100 style settings and a -1 value with special meaning.

For example, the screenshot at the top of this blog shows Max Effective Level of -1 with a comment at the bottom when you hover stating "-1 is Unlimited...". On the holotape, I was able to clearly label "Unlimited" as the text label for -1 and show numbers for the other options.

Max Effective Level configuration via Zombie Walkers holotape.
This may seem like bad, but it is likely due to how I am overloading a single global variable with what could be two separate configurations: and unlimited checkbox (or switcher as MCM calls it) and a max effective level integer which is only used if unlimited is false (or off). MCM has the ability to conditionally hide options so it should be possible to clean this up in the future.

Another interesting tidbit is that MCM makes it very easy to allow a wide range of values, so I've allowed % style configurations to use 0-100 while the holotape may only have 0, 25, 50, 75, 100 options. As a result, you can see options actually fall off the holotape if a value is selected in MCM that is not accounted for on the holotape. I'm not going to worry about this one though as I believe the use of MCM will make the holotape obsolete anyway and updating the holotape to include more options is tedious and time consuming (which is why the options are already limited).

What's next?

In the short term I plan to support and test the new configuration options for human replacements (type and faction overrides) that were introduced alongside the MCM update. I've actually began playing my mod again and every time I do I seem to walk away with some minor tweaks I want to make to get the experience like I want it (hardcore zombie apocalypse survival). I may blog a little about my play-through and what other mods I'm using to supplement the experience, we'll see.

Zombies feast on a settler in the middle of the road. What do zombies do with all the people they kill? In previous versions of Zombie W...

Zombies feast on a settler in the middle of the road.
What do zombies do with all the people they kill? In previous versions of Zombie Walkers they just walked on by and wandered away, but no more! Now you have the opportunity to stumble upon scenes like above before fighting for your life to avoid the same fate.

Behavior Update

The Fallout 4 engine uses a combination of AI packages and linked references to mostly govern actor behavior outside of combat. I already created a custom package for zombies for their horde movement behavior based on the default package master that I have now stripped down and simplified to ensure zombies only perform the actions I want them to.

Package used by zombies to Sit, Follow, or Patrol based on the linked references they may have assigned.
Packages are made up of Procedures which are what actually make an actor move or otherwise interact with the game world. Most procedures are configurable and take various properties in as input to tell it what to interact with or where to move the actor. The three procedures above all operate on a linked reference as a target. 

Note that procedures can also have conditions assigned to it which can cause a procedure to be skipped. In the screenshot above, the Sit procedure will only execute if the linked reference is not disabled and the actor has the FeralGhoulRace. I added the race condition to prevent Ghoul zombies (from NPC Resurrection) from trying to use furniture they have no animation for which would otherwise cause them to just stand around.

Procedures Used

Sit procedure - This procedure causes an actor to use a particular piece of furniture. Maybe it should be called "Use Furniture" instead? This is used to link zombies to the special feral ghoul eating furniture next to a dead body.
Follow procedure -  This procedure causes an actor to follow another actor around. This is used to group zombies together. Zombies follow each other until ones becomes the defunct leader and wanders.
Patrol procedure -  This procedure causes an actor to move to a marker of some kind and markers can be chained together forming a path (or moved like this mod does to implement wandering zombies - see Horde Behavior).

Setting Linked References

SandboxFeralGhoulSquatEating furniture
There is a script attached to all zombies that initializes a zombie (once) when they are spawned, listens to certain events (like a zombie dying or entering combat), and updates their behavior. The behavior update portion of the script essentially sets the linked reference for that zombie so that the appropriate procedure described above triggers. 

In the case of zombie feeding, the script searches for nearby corpses and if found actually creates the furniture object. The furniture is then linked to the zombie with the keyword LinkAmbushFurniture since that is the same keyword used by existing ferals in the game. 

The end of the script executes EvaluatePackage to make the zombie re-evaluate the package tree described above. This causes the Sit procedure to execute which makes the zombie walk to the furniture and use it. Furniture has animations linked to it that are specific to the type of actor the furniture was made for. The SandboxFeralGhoulSquatEating furniture is what is used by zombies and makes the zombies squat down over the corpse and use their hands to grab from the ground in front of them and then move to their mouths as if eating.

What About the Corpse?

There are two events you can register for to detect when an actor uses furniture (OnSit) and stops using furniture (OnGetUp). When OnSit is triggered, the corpse being "eaten" by the zombie has a random limb chosen and Dismembered. Once all limbs are dismembered the corpse is marked as eaten so other zombies now ignore it.

A cleanup script runs and disables the zombie furniture after about 1 hr in game. When this happens the OnGetUp event is triggered as the zombie exits that no longer valid furniture. This allows the script to update the zombie behavior again which could cause the zombie to move on to the next body part or wander away if nothing is left to consume.

Limitations and Future

The corpse eating is limited to Feral Ghoul zombies right now. Zombies spawned by NPC Resurrection or replacement of humans are actually Ghouls and do not have the animations required to use the furniture. I am exploring alternatives for them possibly including the game's built in Cannibal perk. Early experiments have failed but I will pursue it.

Some corpses, like the dead raider across Sanctuary bridge, refuse to be eaten for some reason and I have yet to figure out why. If "Already Dead" is enabled under Spawn Settings -> Replacements -> General Settings, then that raider is marked as zombie food until it resurrects as a zombie itself. The zombies nearby detect this and create the furniture marker but don't use it.

The behavior updates described above do not apply to all zombies. Some zombies have pre-defined behavior like ambushes (Crawling out from under cars) that I didn't want to break so I exclude them from being changed. Also, currently the behavior updates do not apply to interior locations. This was mostly to avoid zombies trying to wander to inaccessible areas and getting stuck, but I may revisit this to at least allow them to search for food.

The many faces of a life after death. Player Death Alternative allows you to keep playing in the event you finally succumb to death. The...

The many faces of a life after death.
Player Death Alternative allows you to keep playing in the event you finally succumb to death. The mode respawns you at a settlement and creates a zombie with all your gear in the spot where you died. Now this mode has received some love to make it better (and more stable).

Player Appearance

One of the things I really wanted to do was have the player take on the appearance of the settler they were replacing (if there was one to replace). Unfortunately the Papyrus functions to get HeadParts are all not available without F4SE (Fallout 4 Script Extender, which won't work on XB1). What I've decided to do instead is at least try to randomize the player appearance as much as I could. This also works when the player spawns in a random location due to having no settlers left to replace.

While there are no function to get HeadParts there is a function to change them. Gotta love the consistency from Bethesda on that one, huh? The ChangeHeadPart function in particular allows you to change parts of the head by passing in a HeadPart object representing the part you want to change. HeadParts are available for eyes (color), hair, and beard (for males) so I've included all of them. When you re-spawn a random eye/hair/beard is assigned to your character.

Unfortunately this does not include hair/skin color or other facial parts like nose/ears/eyebrows/etc. I have yet to figure out how to change these parts via scripting. It'd be nice to at least choose a random preset and then randomize the facial parts mentioned earlier, but I'm not sure if that is possible via scripting either.

Random Equipment

Another change to Player Death Alternative is when the player is re-spawned they now are assigned the following:
1) random blunt melee weapon (eg. board, cane, pool cue)
2) random under-armor clothing (eg. fatigues, road leathers, tattered rags)
3) stimpak, sweet roll, dirty water, and a single lockpick
This helps further randomize the character and in the case of the aid items add a bit of survivability. In the future I may consider adding a gun with limited rounds and possibly armor based on level.

Spawn Location

New spawn location at Covenant that doesn't automatically aggro the entire community.
Re-spawns with Player Death Alternative enabled will first check for existing non-unique settlers to replace and spawn you in there place. If not settlers are available, then a random settlement is chosen regardless of whether the player has ever visited it before.

The exact location of that spawn point used to be right on top of the workshop. It is now the linked ref of the map marker associated with the location of the workshop. I believe this to be the fast travel marker which is meant as a spawn point and tends to be outside the center. It gives you the options to assess the situation and decide to go in or turn around and head a different direction before getting knee deep in combat.

Bug Fixes

Recent updates also included bug fixes related to Player Death Alternative. The biggest being a script error related to an off-by-one error randomly accessing an array. The script error was infrequent as most random values fell within the range, but when it occurred it caused the re-spawn to never complete and black screen to get stuck. I've ran into this and know others have as well and I'm hoping these help resolve the issue and make the re-spawn work more reliably. 

Future Thoughts

Outside of continuing to improve the random appearance and equipment assigned there are other ideas I'm flirting with. One involves creating a random quest for the newly spawned player to give them a purpose. This idea was actually spurred when I watched YouTube video where the player created a fake mission for himself with a custom map marker: "The apocalypse just started and I need to find my daughter at the library."

Raider zombie taking out a former teammate while the sole survivor looks on. There's no denying the popularity of The Walking Dead s...

Raider zombie taking out a former teammate while the sole survivor looks on.
There's no denying the popularity of The Walking Dead series. One of the features of that series that fans of this mod have been asking for is an option to have all NPCs start off infected instead of needing to be hit by a zombie first. With the latest update to Zombie Walkers, this is now an option.

NPC Resurrection options

The NPC Resurrection option has been a part of the Zombie Walkers holotape since almost the beginning of the mod. It used to be a simple feature toggle but has now been expanded as follow:
  • DISABLED: turn the feature off.
  • IF INFECTED: works like the old ENABLED option in that NPCs can resurrected from the dead as a zombie but only if they were previously hit by a zombie before dying.
  • ALWAYS: this is the new feature that enabled all NPCs to resurrected as a zombie when they die regardless of whether they were previously hit by a zombie.
Note that the ALWAYS option will apply when the mod first processes each NPC. If using this on an existing save, there may be several NPCs already marked that won't have this affect applied to them. If those NPCs are hit by a zombie, they will still have the condition applied to them as normal. This does not apply to new games.

Expanding eligible races

In the past NPC Resurrection applied only to actors with the Human race. It has now been expanded to include the Ghoul race as well (not to be confused with Feral Ghoul obviously). This was done in part because Spawn Replacements lumps those two races together as one logical unit already. Also, why not? Ghouls are being used as the 'Zombie' that replaces the actor anyway and are identical to humans outside their skin in game terms. This makes it easy to transfer items over and provide more zombies in the game.

Future thought

Players have the concept of infection and resurrection (Player Alternative Death). NPCs only have the concept of resurrection. I am considering applying the infection state to NPCs such that if they are hit by a zombie they will slowly die and visibly show that to the player. This will handle cases where NPCs survive an attack.

You can imagine a scenario like a settlement attack where there are no settler deaths but a settler or two may have been infected. The player would need to keep an eye on their settlers to avoid their settler turning later on and spreading the infection from within the settlement. Maybe the settler could move a little slower and show the infection through skin color (if possible) or a periodic emotion/sound?