MSO Strategic Module¶
To discuss how to make MSO "read" a map and create an active warfare scenario.
These are from the collaborative discussions between Wolffy, Friznit, VRC Raptor, (and extra comments by DaveP)
- MSO Strategic Module
One point that needs to be covered is what the point in actually doing this would be, what its objectives are. In my mind, it should:
1. Create objectives for the player that are tangible (ie. Reward & Punishment)
2. Give the sensation of a more cohesive OPFOR/BLUFOR/World (AI units are acting with a goal in mind)
3. Increase the immersion of the active world (AI units do things that are more life-like)
This offers up some further points that could be added to the discussion:
-Elements such as ambient civilian and road traffic are already very much fulfilling #3 -they look like inhabitants of the town, however they sorely lack #1 -you can shoot a civvie or blow up their house and it isn't really worth a damn
-That said, it's probably not entirely pertinent that all AI units on the map are living out their daily lives -having bob get up each day, pray for 20 minutes and go drive around the towns with his thousands of friends just wouldn't be feasible. They're already immersive and life-like, all they need is to have the sensation that things that they do are adding to the overall effort/'score'
-As such, ideas below could be streamlined -effectively cached in to the equivalent of a spreadsheet model and represented by token elements like more bases or ambient traffic or CQB inhabitants
-This doesn't cover all the bases (for example, military front line ops will always need to be tangible, as they're affected by the game engine and player alike) but could do a lot of the back end work that give the feeling of a living, breathing world. Think Total War series grand campaign: You only see the men when you enter a battle, but everything else has a profound effect on that moment
Wolffy's Ideas¶So I want the MSO to "read" a map, and identify strategic components to the map, for example:
- Oil Pumps
- Electrical Grid
- Railway Infrastructure
- Storage Tanks
- Shipping Ports
- Civil Aviation
- Communications Towers
- C4ISTAR (Critical military infrastructure)
I believe the military side of stuff will be partially dependent on the civilian infrastructure anyway, so I haven't begun to focus on that aspect yet.From a solely civilian economy perspective, I came up with 4 categories of civilian infrastructure assets:
- Primary producers
- Secondary producers
- Distribution points
Examples of Primary are oil pumps, sea (fishing/imports), air (imports), fields (shepherds/tractors), roads (trucks) & rail (trains) from off the map.
Some secondaries are storage tanks, power stations (receives fuel/oil), factories/industrial areas, ports/cranes, airfields, & barns/cowsheds. For example tankers would convoy between oil fields, storage tanks, power stations, factories and fuel stations.
Fuel stations, power substations, shops, markets, & office/administration buildings. Cargo trucks convoy between shops, markets, office/administration buildings and from roads entering the map.
Civilans use cars, bikes and by foot to travel between a primary/secondary, distribution centre and their home.
For every round trip (or a timer if they are despawned), increases the area's credits. The rate of activity adjusts the area's morale. Without an enemy presence to distrupt things, I need to confirm that the model works and the economny stabilises or increases.
There is a big potential here for a lot of this to can be controlled off the server and the database used to spawn/despawn activity when players are in range.
If it works standalone, enemy forces can disrupt the system by stopping movement od civilians, destroying convoys between assets, etc - therefore degrading economy and morale. This in turn makes the area hostile to BLUFOR.
Idea #1: Was thinking along the lines of the HETMAN style conventional war, with enemy 'commander' moving platoon+ sized units to strategic locations on the map. If we identify the areas, there is a "reason" why they are moving there. Major locations like airfields or large army barracks effectively become the spawn points working in a similar way to ambient air, so if they're dominated by Red, then will spawn enemy, rather like WICT in a way.
CQB and enemypop modules could work alongside it - you only need id the locations, create static defenses there, and let Dyn-ENPop do the rest. Basically creates a random location, you can specify what type of units spawn there, and they then attack the other locations. Would work very well in the Freedom Fighter scenario - enemy everywhere, and you can choose to attack various strong points to reduce the enemy effectiveness.
Idea #2: Several supply chains: Oil/Fuel, Factory/Supplies; Barracks/Soldiers - if a fuel truck + supply truck + soldier truck all successfully arrives at key location (e.g. Barracks) within 12 hrs of each other, then it gets a green light and the base is flagged 'occupied', spawning Strong units if players are near. If only 2 of 3, then it gets Amber, and weaker units ;1 = red, not much at all; None - inoperative; similar for say, helicopter base - except it start knocking out heli patrols
https://dev-heaven.net/issues/20666 Ticket posted a while back with a comprehensive idea of how to run a civilian economy on Takistan
Dave: While I still really like this system as an idea it'd kill the mission totally. Needs simplifying
'Factory' model & Abstraction¶
Dave: There are models that other games follow that could be learnt well from, thinking most about Transport Tycoon Deluxe/Gaytrainsim: Consider each of these economic locations as a factory agent. An input correlates to an output.
Oil Derrick: BLUFOR security/presence Input to Oil Truck output
Oil Refinery: Oil Truck Input to Goods truck output
Town: Goods truck input to Productivity/Happiness Output
This could be further simplified to a more abstract setup that no longer requires the same level of AI micromanagement:
Oil Derrick: 'Security' Value Input to 'Oil Availability' Output -perhaps signified by More oil trucks in that area
Oil Refinery: 'Oil Availability' Input to 'Goods availability' Output -Signified by more people at factory or more delivery trucks
Town: 'Goods availability' input to Productivity/Happiness Output
This model could apply to Civvie or Military 'factories'
Airstrip 'security' meaning more men and vehicles are flown in so bases are better manned/equipped
FOB with high 'Oil Availability' (whether by oil refinery proximity or some kind of 'supply line' signifier) will do more vehicle patrols than one that isn't
COP with high 'C4I Availability' (Radio masts, proximity to larger FOB/force command) will make more attacks and can be 'cut off' by attacking nearby C4I
Dave: Another way to look at it that takes these ideas further is to consider 'chains' that are created by the proximity of assets.
-An airstrip leads to a Command Base which leads to FOBs which leads to COPs which lead to OPs, connected by C4ISTAR assets -radio masts at bases, runners, soldiers with radio sets
-Cutting off a point in this chain or destroying the links (the C4ISTAR assets) decreases the effectiveness of the broken off elements of the chain, which ripple through the system. FOB loses comms with base, decreases its own C4I score, which negatively effects the COPs, and so on
-An AI force is always acting with intention to strengthen & expand these chains and the links - radio rebro stations, etc, and to reconnect broken chains
-Nodes on the chain can be 'promoted' when certain conditions are met, which again ripples through the chain: If what used to be a front line FOB has a certain amount of COPs established off of it, it is promoted to a Command Base, a certain amount of the COPs are promoted to FOBs & their OPs may be promoted to COPs, continuing the cycle
-From a player perspective this would present itself as representative enemy movements based on the underlying scores. A high C4I score may mean a base undertakes more fighting patrols and attacks. A well stocked base may put out more vehicle controls and have respective nodes' scores.
e.g. Oil supply chain from northern oil fields to storage tanks and then southern border roads. For every convoy, a new shipment of recruits and assets spawn from the north and populate compounds. So for every successful civ production chain transaction, enemy is reinforced.
For example, on CLAfghan, I always have a Company level FOB all the way in the South of the map, and different Patrol Bases and OPs around the map. This way things like ACE reports come in handy. I have PB Commanders who need to have accountability of the ammunition and vehicles expended/destroyed and then he will need to send requests to higher as far as getting ammunition/vehicles chopped out FROM the Company FOB to the Patrol Bases. This gives pilots things to do and keeps them constantly busy, BUT the pilot job needs to be filled by patient pilot who is will be willing to transport supplies back and forth.
My basic idea is you have a pointvalue added to each side --- with the ablity to represent it as either an rectangle or elipse ... and set a rough distance from area for its' level of influence
You attribute a RCI score *(residential/comercial/industrial) based off of the clustering system. A cluster determined by the normal system for areas ... and subcluster scores on a smaller array generated by each sub type houses/industry/comrece/etc
You then Determine the native faction benevolence towards each side. And driving requirements/desires/needs.
Consider impacts against each group be it damage to clusters against their RCI assets. Or impact of units nearby for influence
You also consider the clustered areas as an income source for RCI ...
Each force would have a total point value, and a fieldable pointvalue. depending on distance/application of points to encounter or distribution of points. You could consider how forces are spent and recovered from their "side pool" and how they are gained either thru culster control, or influence control/atrittion of opponent's side/influence areas.
Resupply/Assets from offmap could be dedicated as a raw value per time incrment, or from an existing on map pool of resource.
Depending on command/mission/etc it may act as point multipliers/detractors depending on actions taken/missions/quests/etc all within the mission.
RCI of a cluster should be treated as an out of game concept, and only represented at updates based on activity over a course of time, and not a realtime indicator.
Damage to RCI assets within an area should be treated as a drain upon the RCI source, Source of damage should be considered at fault and cause negative impacts for trying to act within the area, unless conditions are meet to restore this level to normal or above normal levels. (ie a generaly distrustful residential area may not trust a "blufor" force in the area, especially not if their buildsings are damaged/etc) Blufor can inturn spend points out of their poll to direcly influence the RCI of a nearby cluster (send aid/industry/comrece)
Examples can follow, but this is a very rough idea that I have with alot more examples written down. This is not suitable for the typical single session game but more the campaign intent.
This was the rough intent for a campaign styled MSO overview with longterm goals to be tracked and excerted influence over an indpendent force/oposing force
The above was my very rough idea, with very minimal detail done to "lines" my other notes have ideas on how to handle representations of lines/influence/attritiion off influence/impacts of terrain vs external inflence affecting force values.
Well would want to get missions to directly modify outcomes. The idea I had was basicly you call blufor 10k points
and lets say you give them 2k of onmap asset. Their lines would be influenced by the size/distance that the 10k asset was offmap and its general size you also influence the size of infleunce onmap for how the 2k assets are distributed
be it large base or multiple OP's
expenditure of asset onmap could affect frontlines or relations within the clusters generated on map
eventually depending on how missions were ran, either producing a positive income of assets, or pushing with external assets at some delay/etc for strategic captures at the expense of cost/ablity to extend
I mean ... alot of this is not meant to be tracked ingame realtime ... but if it was kept as a multiplier or ablity to set or update scores ingame, and with working out of game via databse, on an update period determined by gamescale, you can treat it as a SimCity style effect.
Depending on missions/availablity of players, it might not always be suitable to try to do fancy missions, but in turn could do more strategic missions that may not be as exciting in some regards
The idea behind external points and onmap points per side, was that out of this asset pool, once points were taken from offmap - they would turn into an RCI point value to be distirbuted. And those numbers could not be updated/affected until next supply/update/etc Onmap assets could affect your local asset pool in some manner. Be it more comerece/residential for influence over civilian/factions Industrial to repair onmap assets/supplyline/gas/etc or whatever ficticous asset you may claim is needed
Missions against another teams resource could also be waged, by indpendent or even by an opfor element. And these assets if affected could greatly affect how the gameplay formed over each update.
Example (you have 250 points) The commander breaks those points down into 100 points unspent (25R 50C 50I) ... and sends a resupply mission with 25c and 25i to a forward base, or OP. If that resupply mission did not make it there they would lose the points entirely, or they could be distibuted over the bulk of the opposing faction.
if they did make it to the OP/Base, that base would then have that ammout of extra inflence for its area ... which could inturn be spent on "buying units"
You need not focus on the value of the metric used, up until it is commited succsesfully.
Questions that need to answers¶
Friznit: so how far do you want to take it? have trucks trundling around between locations would be fairly simple. But do you want to include an actual impact on the enemy if we start destroying them? like reducing the amount of 'fuel' at an airfield so less planes fly around? that would be much more intensive.
At least 3 different scenarios spring to mind which will change how it works really - 1. COIN, defending the infrastructure, route clearance, anti IED; 2. Offensive, blowing everything up with en taking strategic locations (front line HETMAN style); 3. Freedom Fighter or SF style, which the current largely static enemy would suit well.
Wolffy: are you aware of any other game modes that already do this? are we reinventing the wheel?
Ideally a logical reference layer only to minimise CPU overhead, relying on the existing populator modules (EnPop, CQB, TCells, Tup_IED, Ambient Air) to create the units.
Scripts that may help for ideas in addition to the above: WICT, HETMAN AI
Dave: With PDB becoming a reality perhaps elements of the computing these overheads could be handled outside of game?