Summary
Adds a dynamic enemy AI layer to any scenario: garrisons, patrols and armed vehicles around bases, cities, towns and villages. Standalone, dedicated servers.
Description
# BGC Dynamic - Enemy AI
**Bring an existing scenario to life.** BGC Dynamic adds enemy AI to the map you already play: a garrison holds every capturable base, city, town and village, patrols sweep the area around it, and some points get an armed vehicle with its crew.
Server side only, made for multiplayer on dedicated servers. Standalone: no dependency other than the base game. Part of the Battlegroup Command family, works with or without BGC_Core.
**Early version (0.1.0).** The core works; more features will come with updates. Please read the known limitations below.
## How it works
**Enemy faction, found automatically**
- A faction that players cannot play and that is hostile to all playable factions (FIA in Conflict). Otherwise a faction without HQ hostile to the factions that have one.
- Or set it yourself in the server config, with your own group and vehicle prefabs. Modded factions are read from their catalogues, nothing is hard-coded.
**Points held by the enemy**
- Capturable bases (not the HQs, not the bases held by a playable faction) and the cities, towns and villages of the map.
- A base close to a locality becomes one point. No point within 800 m of a player base.
**On each point**
- A garrison defends the centre (always at least one group).
- Patrols walk a circuit 400 to 800 m around it, at walking pace.
- Armed vehicles with their crew (based on the faction's vehicle catalogue, no aircraft), more likely at high density.
- Density from 1 (3 to 10 AI per point) to 10 (30 to 50 AI per point). Cities get more, villages less.
**Light on the server**
- The population is planned once at start, then created a few groups at a time.
- Soldiers only exist near players (900 m). Further away, groups sleep and keep their survivors: a cleared village stays cleared until the server restarts.
- No reinforcement wave, no endless respawn. Wrecks and abandoned vehicles of the mod are removed when no player is near.
- The mod only ever deletes what it created. Scenario and other mods' AI are never touched.
## Admin commands
In chat after `#login`, or through RCON:
- `#bgcd status`: AI, groups and vehicles by side, enemy AI not created by the mod.
- `#bgcd clean <all|enemy|allied|mod> [all|ai|vehicles]`: clean up the server. Never deletes a player, a vehicle with a player inside, or a group containing a player.
## Server settings
File `$profile:BGC_Dynamic/config.json` on the server, created with default values at first start. Main settings:
- `General.Enabled`, `General.StartDelaySec` (30 s).
- `Faction.EnemyFaction` (empty = auto), `Faction.GroupPrefabs`, `Faction.VehiclePrefabs`.
- `Population.Density` (1 to 10, default 5), `BasesEnabled`, `LocalitiesEnabled`, `VehiclesEnabled`.
- `Population.MaxGroups` (400), `SpawnDistanceM` (900), `DespawnDistanceM` (1100), patrol radius per kind of point.
- `Debug.Mode`: `prod` (default) or `dev`. Dev shows every AI of the server on the map and an info panel on screen. **It reveals all enemies: never use it on a public server.**
- `Diagnostics.LogProfile`: `test` or `prod` (warnings only).
Changes are read at the next mission start.
## Compatibility
- No vanilla file replaced, no config override. Two light hooks only (game mode start, player controller RPCs).
- Works alongside Battlegroup Command (BGC_Core): its AI command tools can be used against the enemies of BGC Dynamic.
- Conflict ambient patrols stay active and add to the mod's enemies.
- Any map with bases and/or named localities. A map without them gives few or no points.
## Known limitations
- Game save (Reforger 1.8 persistence): the mod's AI are excluded from the save, but this has not been checked on a server restart yet. If enemies seem to pile up after restarts, use `#bgcd status` and `#bgcd clean mod`, and please report it.
- Armed vehicles stay at their point (the crew fights from the vehicle, it does not patrol).
- No dynamic events yet (convoys, ambushes, outposts, mortars, helicopters): planned.
- No player count scaling yet: the density is fixed by the config.
- Tested on Everon with Conflict. Other maps and modded factions: feedback welcome.
## Install
- Server: add `{ "modId": "73D641ACD1F29101", "name": "BGC_Dynamic - Enemy AI" }` to `game.mods`.
- Scenario or mod depending on it: add `73D641ACD1F29101` to the dependencies of your project.License
Arma Public License (APL)