Heya, I see a lot of discussion regarding A-life 2.0, and it's existence in the game, While yes, something resembling A-life is in the game, it's not actually a simulation, but rather a scenario script, and a huge one at that, spawning different events around you ranging from just people randomly walking past, to stalker fighting a lair, or finding a wounded group.
The point of this script is to give the illusion of life around you, while in reality, there is very little simulation if at all, because if it exists, I cannot find any .cfg's relating to it. Groups you find fighting are decided by a dice roll, emissions happening and stalkers running to your location to hide, is literally a script that spawns people in to hide with you, to give the illusion of people existing around you. Now you may say, that sounds like ♥♥♥♥♥♥♥♥♥, what do you know and where is your proof? Well, the proof is quite easily to find, UE5 is easy to decrypt and through the power of FMODEL we can actually peak into the game systems and it's variables that have been set.
And that bring us to AlifeDirectorScenarioPrototypes.cfg, the config in charge of providing the illusion of living world, while in reality it's fake. So lets actually go through the script, to look even further.
The script it self is about 2308 lines tall, with the average scenario taking about 23 lines start to finish. The type of scenarios range from, and these are directly from the file:
- Humans_Wounded_Friendly_vs_Dead_Mutants
- HumansFriendly (A group of passerby's, can be a single person, or a group of three)
- HumansVsDeadHumans_Friendly
- HumansVsHumans
- HumansVsMutants
- Mutants
- BlinddogPack
- And much much more, but these are most likely the ones you'll see the most, but now it's time to go through how it works.
How it works:
https://imgur.com/J955wMc
As you can see from the image, this is the starting section of the script, this defines the global rules of the script.
DefaultSpawnDistanceMin = 6000 / This defines the minimum spawn distance a scenario can appear.
DefaultSpawnDistanceMax = 6500 / The maximum spawn distance the scenario can appear, probably the same as the view distance in the game for objects.
DefaultSpawnDelayMin = 30 / The minimum cooldown time for another event to pop is atleast 30 minutes
DefaultSpawnDelayMax = 120 / The max cooldown time for another event to pop up.
DefaultPostSpawnDirectorTimeoutMin = 40 / Another time out regarding spawning. This one probably handles spawning time out for scenarios that have no PostSpawnDirectorTimeoutMin defined themself hence the default. Most scenarios do however.
DefaultPostSpawnDirectorTimeoutMax = Same as above but the max time out.
DefaultSpawnDirectionAngleMin = -180 / The infamous radius events can spawn around you.
DefaultSpawnDirectionAngleMax = 180 / The infamous radius events can spawn around you.
DefaultALifeLairExpansionToPlayerTimeMin = 120 / The min and max timeouts regarding Lair expansion scripted scenarios. Do not confuse this for "simulation", the script has a bunch of scripted scenarios regarding fights between groups of people, and designated "lairs" aka buildings they have designated as a possible location for this script to pop off in or infront.
DefaultALifeLairExpansionToPlayerTimeMax = 180 / Same as above but max timeout.
DefaultExpansionSquadNumMin = 4 / The size of the squads that fight in these scenarios. Ever seen a group of loners fight a bunch of soldiers at a checkpoint? This is that.
DefaultExpansionSquadNumMax = 7 / Same as above but the max size allowed. DefaultExpansionLairDistanceMin = 6000 / The range these expansion lair scenarios are allowed to spawn. Min max respectively.
DefaultExpansionLairDistanceMax = 8000
DefaultShouldDespawnNPCs = true / By default, unless specified different by a scenario, every scenario's spawned NPC's, be this factions, loners, mutants and such, will despawn if you go out of range.
Now comes the scenario group definers, this will filter the scenarios based on what should be able to pop in your area, This is for it to make sense as there would be no reason to pop a Mutant vs Loner event if you are in a military base.
DefaultContextualActionSearchRange = 7500 / not sure what this does, some events are marked with a ContextualActions, probably a pre-defined action you have to trigger for it to spawn.
DefaultEmissionScenarioGroup = Emission / These contain the events that can dice roll and happen during a emission , ever had a group of stalkers or a stalker randomly show up during a emission to hide next to you? That was a scenario from this group, there wasn't a real stalker nearby that was on a mission and just happened to hide near you. It was a actor that got spawned in to give the illusion of something around you. During Emission there is a scenario weight of 6 for Humans_Friendly to spawn, because of AI game logic, these friendlies will instantly try to search for a hiding spot during a emission
DefaultScenarioGroup = Global / All events categorised under Global, these contain the majority of the scenarios that spawn.
DefaultEmptyScenarioGroup = EmptyGroup / Literally no event spawn, it's a empty strut, probably for times during a heavily scripted mission or in a mission area.
Within the scripts there is also a EALifeDirectorScenarioTarget:
As you can probably guess, this defines the target that these events go after, once spawned. These can include targets such as
- AttackEnemyLair
- Player
- AllyLair
- ContextualAction
- And more.
Now you might think, wow this makes the world alive! Yes, it does, but it's not real. The biggest problem is that, no it's not because this script of scenarios and rules exist, it's that everything involves spawning things that did not exist prior! That is the biggest issue! Instead of assigning these missions so to say, or rules to enemies and people existing in the world, actively walking around, instead everything involves just magically spawning what is needed at that time.
Instead of giving a pack of dogs roaming nearby a friendly lair, the trigger to go attack it at random chance, instead it spawns a pack of dogs to go attack it. There are no roaming mobs, no roaming bandits, no roaming soldiers, and no roaming factions. It's all spawned in whenever the director says it's time for them to spawn in AND you have to be in spitting distance for it to even happen. Nothing happens without you being there! The only time AI exists outside of these rules, is when they are part of a respawning base. Like, outposts for example, or the villages you visit with traders in them. These have actors placed that stay there and are on a respawn timer, clear a military checkpoint, come back later, and they have all respawned for example.
Now you can argue "Well the old games had this, so why does it matter?" Well the old games had this + actual persistent characters that would exist in the world and do things, and regardless, the last game was in 2007, using the argument "well the old game had it so why is it a problem here" is not as valid as you think. We moved 17 years, and we still can't have a improvement on the systems of old?
I highly recommend you unpacking the scenario file your self, and having a peak into it, it answers a lot of questions regarding how it works. And as you play the game, I recommend you keep the file open, and anytime and everytime something happens around you, you can literally find said scenario back in the .cfg files.
I however do want to say, that despite all of this, and it's disappointment to me personally, I don't mean this post as a f-you to gsc game world, I had different expectations coming into this game, partly because of what the marketing said. Sadly what I expected wasnt what I got, if you like the game how it is, and you have no problem with it, don't let me change your mind. I hope you have enough fun for the both of us, and I truly wish you a great time with it.