ALiVE.OS · ALiVE 3 Development
Populates towns with living, reactive civilians and ambient traffic, who talk about local insurgents and accept humanitarian aid.
Overhaul complete · ALiVE 3
ALiVE 3 is in active development. This briefing describes work in progress, and the behaviour it covers is subject to change as testing continues. Check the changelog at the foot of the page for what has moved recently.
Overview
Ambient Civilian Population fills a mission's towns and cities with everyday civilian life. A mission maker places this module together with a Civilian Placement module and the Virtual AI System, and it spawns civilians and ambient traffic around occupied areas, using a spawn radius and density settings so the population thins out or fills in as players move around. It is meant to make an area feel lived-in rather than empty, without the mission maker having to hand-place every civilian.
Beyond just background crowds, the module also drives the "Advanced Civilians" behaviour layer (civilians reacting to danger, sleeping at night, and so on), lets players interact with civilians directly to gather intel or hand out humanitarian aid, and lets civilians warn players about the insurgent factions you name, for a mission maker who wants that extra layer of tension.
Follow and go home
You can ask a civilian to come with you. He joins your group until you tell him Go Home, then he walks back to where he lives and picks up his normal life.
Worth knowing. Go Home is offered at every hostility level, in the dialog and the ACE menu alike, so you can always send a follower home even when he's too hostile to follow, stay or kneel for you. All of this needs Enable Advanced Civilians left on Yes (the default): Follow, Stay and Go Home are greyed out, with the tooltip This civilian doesn't take orders, for a civilian it doesn't run, such as a town elder or priest.
Capabilities
Places believable crowds of civilians and vehicles around towns, with density, spawn radius and active limits all tunable per mission.
Players can approach civilians, gauge their mood from a hostility indicator, and question them for intel through a simple dialog. A player fighting for the insurgents is asked "Have you seen any soldiers nearby?" instead, and civilians mark the nearest hostile military group. Civilians an insurgent patrol has passed close to answer yes to "Has anyone been pressuring you?".
Give bottled water or ration packs to civilians from a dedicated humanitarian items list. A handout that works lowers their hostility, and the Hostility Indicator, when it's switched on, updates straight away.
Pick more than one insurgent faction at once, so civilians warn players about, and give intel on, any of them instead of a single side.
Civilians flee, freeze, hide, put their hands up or scream when threatened, sleep at night, and settle back to neutral as their hostility fades over time.
Destroying a building people live in turns that town 5 points more hostile to your side, half what killing a civilian does. Walls, sheds and buildings outside a settlement change nothing. Aid and irritation from the dialog now stick to the civilian instead of being wiped by their next activity.
Bring a box holding 10 or more food and water items within 200 m of a town's centre and hand it over. Tension towards your side drops across the sector, as a successful Negotiate does, and the town calms down. Each town takes one every 30 minutes. Only the food and water are taken.
With Civilian Roles set, civilians can be asked where the town elder (Eastern) or mayor (Western) lives. A willing one marks the house on your map; a hostile one refuses or points you somewhere else. Then Negotiate with them.
How to use it
Settings
These settings decide how many civilians appear around players, how they feel about each side, and what players can do when they talk to them, aim at them or hand them aid. The Advanced Civilians sections control how civilians react to gunfire, explosions and danger: panicking, hiding, fleeing, shouting and escaping in vehicles.
Presets that use this module: Hearts and minds: NATO wins over the towns, Hunt the recruiters: NATO against FIA, Insurgency: FIA against NATO, Outbreak: zombies hold an area. Place one in the editor to see it set up.
Every town and every civilian starts at hostility 60 toward BLUFOR. They refuse to cooperate, drivers won't pull over and nobody surrenders at gunpoint, and players can see each civilian's mood in the dialog. Aid and good treatment can still win them over, and they settle back towards neutral (30) over time. Keep Enable Advanced Civilians on: with it off, drivers ignore stop signals altogether, so there's nothing for them to refuse.
The floor means no civilian ever reads friendlier than 60 to BLUFOR, whatever aid they're given, so they keep refusing, drivers keep driving past and nobody surrenders at gunpoint. Leave the floor on None and players can bring civilians round.
Each handout has a 60% chance of lowering that civilian's hostility by 7 points, and each civilian will take up to 5 items before refusing. The lowered figure sticks, then drifts back towards 30 at the Hostility decay rate.
Crowds are off by default; any radius above 0 fills houses near players with up to 50 extra civilians in total.
Fewer civilians are spawned at once, none spawn under helicopters, and the Advanced Civilians brain only updates 10 civilians per pass.
Voice lines are off by default, and a longer gunfire range means civilians further from a firefight react to it.
Players hand boxes of food and water to towns, ask civilians where the elder or mayor lives, and Negotiate with them, all without the task list.
Choices: Yes / No
Turns on debug output for the civilian population system, so its spawning and handling decisions are logged and shown for testing.
How close a player on foot or in a ground vehicle must be before the civilians of a town spawn in. Further out, they stay virtual.
AffectsA UAV radius of -1 is worked out from this value (this plus 800 m).
TryDrop it to 800 on a crowded map to spawn civilians only in the towns players are actually in.
The spawn distance used while a player is in a helicopter. Set it to 0 and civilians won't spawn around players flying helicopters.
TrySet 0 if your players spend a lot of time flying and you want to save performance.
The spawn distance used while a player is in a plane. At 0, the default, civilians don't spawn around players in planes.
The spawn distance around a UAV a player is controlling. 0 stops civilians spawning for UAV operators, and -1 uses the Spawn Radius plus 800 m.
The most civilians this module will have spawned at any one time, across the whole map.
TryLower it to 15 on a busy server.
Choices: Low / Medium / High / Extreme
How hostile civilians are toward BLUFOR from the start. It sets every town's starting hostility toward BLUFOR, and each civilian starts at the least-liked side's figure, calming towards neutral over time unless given cause. It is no longer a floor: use BLUFOR Hostility Floor for that.
AffectsCivilians start at this figure and settle back towards 30, neutral, over time, so players can win them over. While a civilian sits at 60 or more they refuse to cooperate, drivers won't stop, nobody surrenders at gunpoint and the Gather Intel button is off. Set BLUFOR Hostility Floor as well to keep them there. The wave, driver and weapon-aim checks need Enable Advanced Civilians set to Yes.
TryPick High for a counter-insurgency where BLUFOR are unwelcome from day one, and add the matching Hostility Floor if that should last.
See it inHearts and minds: NATO wins over the towns (30), Hunt the recruiters: NATO against FIA (30), Insurgency: FIA against NATO (30)
Choices: Low / Medium / High / Extreme
How hostile civilians are toward OPFOR from the start. It sets every town's starting hostility toward OPFOR, and each civilian starts at the least-liked side's figure, calming towards neutral over time unless given cause. It is no longer a floor: use OPFOR Hostility Floor for that.
AffectsCivilians start at this figure and settle back towards 30, neutral, over time, so players can win them over. While a civilian sits at 60 or more they refuse to cooperate, drivers won't stop, nobody surrenders at gunpoint and the Gather Intel button is off. Set OPFOR Hostility Floor as well to keep them there. The wave, driver and weapon-aim checks need Enable Advanced Civilians set to Yes.
TryPick High for a counter-insurgency where OPFOR are unwelcome from day one, and add the matching Hostility Floor if that should last.
Choices: Low / Medium / High / Extreme
How hostile civilians are toward INDFOR from the start. It sets every town's starting hostility toward INDFOR, and each civilian starts at the least-liked side's figure, calming towards neutral over time unless given cause. It is no longer a floor: use Independent Hostility Floor for that.
AffectsCivilians start at this figure and settle back towards 30, neutral, over time, so players can win them over. While a civilian sits at 60 or more they refuse to cooperate, drivers won't stop, nobody surrenders at gunpoint and the Gather Intel button is off. Set Independent Hostility Floor as well to keep them there. The wave, driver and weapon-aim checks need Enable Advanced Civilians set to Yes.
TryPick High for a counter-insurgency where INDFOR are unwelcome from day one, and add the matching Hostility Floor if that should last.
Choices: None / Medium / High / Extreme
The friendliest a civilian ever shows BLUFOR, whatever their own mood. None (default) leaves civilians free to be won over.
TrySet High for a mission where BLUFOR can never fully win a town over.
Choices: None / Medium / High / Extreme
The friendliest a civilian ever shows OPFOR, whatever their own mood. None (default) leaves civilians free to be won over.
TrySet High for a mission where OPFOR can never fully win a town over.
Choices: None / Medium / High / Extreme
The friendliest a civilian ever shows INDFOR, whatever their own mood. None (default) leaves civilians free to be won over.
TrySet High for a mission where INDFOR can never fully win a town over.
How many points a civilian's own hostility moves each minute back toward 30, its resting value, from either side: an angry civilian calms down, and one you've won over slowly drifts back to neutral. Every civilian does this, with Advanced Civilians on or off, and civilians from Civilian Placement do it even while they're not spawned in. 0 stops it, so hostility stays wherever aid, questions or wounds left it.
AffectsWary civilians who were made to surrender at gunpoint calm down at half this rate but drift back up at the full rate. The dialog never reads lower than the threat the civilian's town is under at the time, or than the Hostility Floor for the player's side.
Choices: Yes / No
Turns on the civilian dialogue and interaction system: talking to civilians, asking questions, gathering intel and giving aid.
AffectsInsurgent factions, Gather Intel Chance, Hostility Indicator, Limit Interaction and the whole Humanitarian section do nothing unless this is Yes. The Civilian Interaction UI choice still matters with No: Classic brings back the Advanced Civilians scroll-wheel commands and turns off the pause-and-wave when a player walks up.
TrySet Yes for any mission where players should question civilians or win them over with aid.
See it inHearts and minds: NATO wins over the towns (true), Hunt the recruiters: NATO against FIA (true), Insurgency: FIA against NATO (true)
Choices: Auto (Dialog + ACE when loaded) / Dialog / Classic scroll-wheel (legacy) / ACE Interaction Menu
How players reach the interaction dialog. Auto gives a single "Talk to Civilian" scroll-wheel entry plus an ACE menu branch when ACE is loaded; Dialog gives only the scroll-wheel entry; ACE gives only the ACE menu; Classic brings back the old long list of scroll-wheel actions, including the Advanced Civilians commands (follow, stay, hands up and so on), and civilians no longer stop and wave when a player walks up to them.
Only the players listed here can interact with civilians. Type a comma-separated list of player IDs, unit classnames, names, factions or ranks; leave it empty to let everyone interact.
AffectsApplies to both the dialog and the ACE menu, and only when Enable Interaction is Yes.
The chance, out of 100, that a civilian who agrees to talk shares intel that marks enemy installations on the map. Hostile civilians may refuse first or lie with false markers, whatever this is set to, and each civilian can only be asked once.
AffectsHas no effect with the Classic UI, which keeps its old always-truthful behaviour.
Choices: Off / Descriptive (perceived) / Numeric (perceived)
Whether the interaction dialog shows how hostile the civilian seems. Descriptive shows a label (Friendly, Neutral, Wary, Defiant, Hostile) and Numeric shows a rough percentage; both are nudged by up to 5 points per civilian so they're an estimate, not the exact value.
See it inHearts and minds: NATO wins over the towns (DESCRIPTIVE)
The factions civilians treat as insurgents. When a player asks about insurgents, civilians report groups of these factions within about 1100 m, and they'll warn players about them in conversation.
AffectsOnly used when Enable Interaction is Yes.
See it inHearts and minds: NATO wins over the towns (OPF_G_F), Hunt the recruiters: NATO against FIA (OPF_G_F), Insurgency: FIA against NATO (OPF_G_F)
Extra insurgent faction classnames, typed as a comma-separated list with no spaces (for example OPF_F,rhs_faction_msv). They're added to the ones ticked above, so you can name factions from mods that aren't loaded in the editor.
AffectsOnly used when Enable Interaction is Yes.
Houses within this distance of a player spawn extra civilians as crowds. 0 turns crowds off.
TrySet 300 to fill the streets around players.
How many crowd civilians each activated house spawns.
AffectsOnly used when Crowd Spawn Radius is above 0.
The most crowd civilians that can be spawned at once across all crowds.
AffectsOnly used when Crowd Spawn Radius is above 0.
The civilian faction crowds are drawn from. If it's cleared, each building picks a faction from the civilians near it instead, which costs a little more.
AffectsOnly used when Crowd Spawn Radius is above 0.
Choices: None / Western / Eastern
Gives about half of the spawned civilians a special role: Western adds mayors, priests and politicians; Eastern adds town elders, muezzins and politicians. None turns roles off.
AffectsIt only works if a Civilian Placement module is also in the mission, because that module hands out the roles as it spawns civilians.
See it inHearts and minds: NATO wins over the towns ([ "major" , "priest" , "politician" ])
Choices: No / Yes
Turns off the radio, TV, music and prayer-call sounds that play from civilian buildings. Crowd noise, panic shouts and civilian voice lines aren't affected.
TrySet Yes if the built-in sounds don't suit your map's setting.
Choices: Normal / 1.5x / 2x / 3x / 4x / 5x
How loud the town sounds are: markets, homes, calls to prayer and the rest. Normal plays them as before; turn it up to make a busy place sound busy.
AffectsDisable Ambient Sounds still turns them all off.
TrySet 3x on a mission in a large town and walk through the market.
The chance a parked civilian car spawns with a nearby civilian (within 100 m) sat in the driver's seat. Crowd civilians are never borrowed for this. The driver doesn't drive off; 0 leaves every parked car empty.
Lets players hand a box of food and water to the nearest town, with no C2ISTAR task needed. Any ammo or supply box holding at least 10 of the Humanitarian Items offers Hand over aid to the town (on the box, in the talk window, in the ACE menu, or on the scroll menu of a civilian within 15 m of it). The town's centre must be within 200 m. Tension towards the giver's side drops across the sector as a successful Negotiate does, and everyone living in that town calms down a little. Only the food and water are taken; anything else stays in the box.
How long a town, and every town within 1.5 km of it, waits before it takes another box.
The most one box can lower hostility by. A box is worth 5 plus 1 for every 5 food and water items in it, so a full ALiVE Humanitarian Crate reaches the default 35, the same as winning over a town elder.
Choices: A percentage, 0 to 100
The chance that handing a civilian water or rations works. When it does, their hostility drops by 7 points (never below 0), and the ACE menu, approach gesture, weapon-aim reactions and Gather Intel all see it. It drifts back toward 30 at the Hostility decay rate. Aid works on a Defiant civilian but not a Hostile one. For Civilian Placement civilians, their town's mood only dips by 1 to 4 for a few seconds.
AffectsOnly used when Enable Interaction is Yes.
See it inHearts and minds: NATO wins over the towns (40)
How many water or ration items each civilian will accept. After that, that civilian refuses any more.
AffectsOnly used when Enable Interaction is Yes.
The items that count as water and rations when giving aid. Civilians who ask for water accept the water items and those who ask for food accept the rations; any classnames you type into the override field are added too. A class copied from the editor's object list, such as Item_ACE_Can, is the holder an item lies in on the ground, so it is swapped for the items it holds; a class that holds nothing is kept as typed.
AffectsThese are added to the built-in water and ration lists, not used instead of them.
Choices: Yes / No
Turns on the Advanced Civilians behaviour: reacting to gunfire and explosions, hiding, fleeing, going home at night and escaping in vehicles. With No, the Advanced Civilians settings below are ignored (except Ambient Vehicle Civ Driver Chance), as are Weapon Aim Reaction Range and Vehicle Stops on Aim/Gesture. Spawning, town hostility, crowds, the Talk to Civilian dialog and Interaction Range keep working.
AffectsMayors, priests, elders, muezzins and politicians never get Advanced Civilians behaviour, whatever this is set to.
Choices: No / Yes
Shows a colour-coded state label above each civilian's head and extra debug messages. For testing only.
How many seconds between each update of civilian behaviour. Lower is more responsive but costs more performance.
TryRaise it to 5 on a heavily loaded server.
How many civilians are updated on each tick, taking turns round the whole group. 0 updates every active civilian every tick.
TrySet 10 to spread the work out when many civilians are spawned.
How far away a civilian will react to a player on foot aiming a raised weapon at them, with line of sight, for the hold time. Friendly civilians look confused, Neutral and Wary ones surrender, Defiant and Hostile ones run; 0 turns this off.
AffectsNeeds Enable Advanced Civilians set to Yes. The reaction is picked from the civilian's own hostility or the Hostility Floor for the aiming player's side, whichever is higher, so with a High or Extreme floor nobody surrenders to that side.
How many seconds a player has to keep aiming at a civilian before they react. 0 makes the reaction instant.
AffectsNeeds Enable Advanced Civilians set to Yes.
Choices: Yes / No
Scales the hold time by each civilian's hostility, or the Hostility Floor for the aiming player's side if that's higher, from 0.75 times for Friendly to 2.5 times for Hostile, with a fixed random spread per civilian, so friendly civilians comply quickly and hostile ones hold out longer.
AffectsNeeds Enable Advanced Civilians set to Yes.
Choices: Yes / No
Lets players stop a civilian driver by aiming at the vehicle within 50 m or making a stop gesture at it within 30 m. The driver brakes, gets out and surrenders, unless their hostility (counting the Hostility Floor) is 60 or more; passengers stay seated.
AffectsNeeds Enable Advanced Civilians set to Yes. The player also has to be looking almost straight at the vehicle (within about 10 degrees).
Civilians within this distance react to gunfire from a weapon without a suppressor.
Civilians within this distance react to gunfire from a suppressed weapon.
TryDrop it to 20 if you want stealthy play to go almost unnoticed.
Civilians within this distance react to explosions and vehicles being destroyed.
How far civilians look for danger: when a civilian is killed, others within this distance panic; alert or hidden civilians check this far for anyone who's recently fired near civilians before calming down; and a civilian who's hit alarms others within a third of this distance.
How far away a civilian standing outside in the morning or daytime looks for a moving vehicle or aircraft to turn and watch.
The chance a civilian close to a shot (within 75 m, or within half the gunfire range if that is further) panics when shots are fired near them. It's rolled once per incident: one who doesn't panic turns alert, stands up and watches where the shot came from, and keeps that while the shooting goes on, as long as the shots come less than Shot Memory Time apart.
The chance a civilian far from a shot (more than half the gunfire range away and at least 75 m away) becomes alert when they hear it. Closer civilians go through Panic Chance instead. Every shot adds stress that raises the roll by 0.05 a point (a shot at the edge of the range adds 1 point, a close one up to 10), and once stress passes 4 they panic instead, if Panic Chance comes up.
How close other civilians must be to a panicking civilian to be set off by them. 0 turns this spreading off.
The chance each nearby civilian is set off by a panicking one. They become alert rather than fully panicked, and the same civilian can't be set off again for 10 seconds.
How many seconds after the last shot a civilian stays on edge before starting to calm down.
The chance a civilian who's hit stops dead and stands still for a few seconds before panicking.
AffectsShares one roll with the Drop, Freeze and Scream chances; whatever is left over after all four makes the civilian crawl away.
The chance a civilian who's hit drops to the ground.
AffectsShares one roll with the Stand Still, Freeze and Scream chances.
The chance a civilian who's hit drops to a crouch and freezes for a few seconds before panicking.
AffectsShares one roll with the Stand Still, Drop and Scream chances.
The chance a civilian who's hit screams and sprints away from whoever hurt them. With Enable Voice Lines on No they still sprint away, but without the scream.
AffectsShares one roll with the Stand Still, Drop and Freeze chances; if the four add up to 1 or more, civilians never crawl away.
Choices: Yes / No
Lets civilians shout when they hear gunfire close by, when they're hit, when they start running for cover and while they're hiding, and gives the Scream hit reaction its scream. It's off by default. Turning it off doesn't stop the frightened cries a civilian gives when someone fires within about 50 m of them.
The chance a civilian shouts when reacting to gunfire or being hit. Some other shouts, like those on hearing nearby shots, use their own fixed chances and ignore this.
AffectsOnly used when Enable Voice Lines is Yes.
How far civilians run across open ground when they flee (between half and all of this distance). It's also how far they search for a building to shelter in, widening to 2 and 3 times this if nothing is found.
The shortest time a civilian stays hidden after danger.
AffectsKeep it below Max Hide Time; the code doesn't check this.
The longest time a civilian stays hidden after danger. Each hiding civilian picks a random time between the minimum and this.
Choices: Yes / No
With Yes, fleeing civilians look for a building to hide in first and only run into the open if they can't find one. With No, they run into the open and hide out there, without going into a building.
How far from their home spot civilians may drift when things are calm. Their walks only go out to about 60% of this, and a civilian found further away than this is sent back home.
Choices: Yes / No
Civilians indoors at night (22:00 to 06:00) lie down to sleep. With No, they still go indoors but just stand.
Choices: Yes / No
Lets panicking civilians try to escape in a nearby vehicle.
The chance a panicking civilian tries to escape by vehicle instead of on foot. It's rolled once each time they panic.
AffectsOnly used when Allow Vehicle Escape is Yes.
Choices: Yes / No
Stops fleeing civilians taking vehicles whose type belongs to BLUFOR, OPFOR or Independent. It's judged by the vehicle's class, not by who's been driving it.
AffectsAlso makes a civilian refuse a player's Get In order for such a vehicle.
Choices: Yes / No
Stops fleeing civilians taking any vehicle a player has got into at some point, in any seat.
AffectsAlso makes a civilian refuse a player's Get In order for such a vehicle.
TryLeave it on so players don't come back to find their car gone.
Choices: Yes / No
Stops fleeing civilians taking a vehicle carrying more items than the Loaded Vehicle Threshold.
AffectsAlso makes a civilian refuse a player's Get In order for such a vehicle.
The most weapons, magazines and items combined a vehicle can hold and still be taken by a fleeing civilian.
AffectsOnly used when No Loaded Vehicle Theft is Yes.
Choices: Yes / No
Leaves civilians out of Advanced Civilians behaviour if they're in a group with soldiers or synced to other objects, so your scripted civilians aren't sent running.
AffectsCivilians a script has blacklisted are always left out, whichever you choose. With Yes, a civilian placed by a Zeus is left out too, and so are the other men in its group and the crew of a vehicle a Zeus places.
Choices: SQF code
Code run on the server for every ambient civilian as it spawns (crowd civilians are not included), with _this = [unit, agentID], like the placement modules' On Each Spawn.
AffectsRuns in its own thread; use remoteExec to reach players.
TryPut _this params ["_unit"]; _unit addItem "FirstAidKit"; and check a civilian's inventory.
Overhaul
Status
Multiple ambient crowd groups can be placed and run at once without civilians being lost or bunched up incorrectly.
Civilian interaction, aid-giving, and the hostility indicator work the same for every player, including those who join a mission already running.
Civilians flee, freeze, hide, surrender, scream, or sleep at night based on threat level and time of day, with hostility settling back to neutral over time.
Civilians can talk about insurgents from several factions at once, and water/ration aid items are managed through one consolidated, translated picker.
Hostility sets where civilians start, Hostility Floor holds a side's standing down if a mission wants that, and aid, irritation and destroyed homes all change how a town feels.
Testing
Place the module near a town with a reasonable spawn radius and crowd settings, then check that civilians and ambient vehicles appear and move naturally, that vehicles do not visibly pop in or out, and that civilians in cars sit correctly. Approach a civilian and look straight at them (not through a wall) to test the interaction dialog and hostility indicator, try giving water or rations (carried in a vest, uniform or backpack slot, such as the ALiVE Water Bottle (Full) or ALiVE Rice Pack items, both found in the ALiVE Humanitarian Crate) and confirm the hostility indicator drops straight away when a handout works, and fire a weapon or throw a grenade near a group to see how they react (fleeing, freezing, hiding, screaming) and whether they calm down afterward. If testing in multiplayer, repeat the interaction and aid checks as a non-host client and as a player who joins after the mission has started. Note the map, location, what the civilians or vehicles were doing, and include an RPT log if anything looks wrong (missing spawns, frozen civilians, interaction menu not appearing).
Spotted a problem? Please report it on the ALiVE issue tracker on GitHub, with the map, rough location and what the units were doing so it can be reproduced.
Changelog