Enhanced Logistics
Posted: Tue Sep 23, 2008 8:33 am
Goodaye,
I'm putting together a modified masterfile for random games with the idea of tweaking the logistical operations for the human player. The standard game has an excellent underlying model (even better with the hardened logistics option) but I can't resist the urge to 'enhance' it.
The first change is pretty simple but far reaching. During winter and fall (season's option is 'on') the basic movement rate for supply and strategic transfers are increased to reflect the weather induced handicaps to these areas.
This has a couple of implications. The main one being that you have to put more forethought into seasonal campaigning. Your supply lines in winter will be shorter for instance and the ability to shunt units around is also limited. This may entail stockpiling supplies and reinforcements in forward areas prior to the onset of hostile weather conditions.
Changing the strategic transfer rate shouldn't affect the AI as it doesn't use this function however increasing the supply movement rate would be a global effect on everybody. I can't see how to avoid this but provided that 'optimise for AI' has been selected the AI shouldn't be overly affected as their should be plenty of nearby headquarters / towns. I think.
All well and good. This I have done by adding lines of code to the various seasonal events.
The second change I'm aiming for is to implement the concept of 'wastage'. Any supply depot (assumed to be attached to a HQ unit in the game) in real life suffered 'wastage' over time once the depot was 'overstocked'. Barbarossa and the War in the Pacific offer ample examples of this.
My idea is to check each Human HQ unit once a turn and subtract a random amount of supply (within predefined limits) if a particular HQ is 'overstocked' to represent 'wastage'.
Determining whether such a condition exists is a simple ratio of existing supply in the HQ unit vs. the number of staff. The assumption being that the bigger the amount of supply the more staff you need to efficiently manage it.
This creates a tension between having an optimum number of staff to run the military side of the HQ (staff bonuses for attached units in combat) and the amount of staff needed for your required supply level. The 'wastage' effect would be designed to only kick in if you had more than a reasonable level of supply for your attached units.
A final change is to implement an additional game location structure called a 'depot' which can be built by engineers and negates any wastage effects for any HQ units in that hex allowing large stockpiles to be built up and retained.
However I'm currently stuck on the second part. Implementing the 'wastage'.
I've figured out the following for the event (turn based).
1. Loop through every hex
2. CheckHexOwner (is human? - variable with CheckifAI)
3. If human then check for HQ presence (CheckSFTTypeinXY( staff ) )
4. Check the amount of supply present in HQ
5. Implement wastage with simple calc of supply amount and staff amount (CheckRandom)
using ExecGiveSupply (I haven't checked it but I'm assuming it can give a negative amount)
It's no.4 I can't figure out. Once I've determined that a Human HQ with x number of staff is present in a particular hex how do I get the amount of supply currently residing in that HQ?
I'm all ears.
Cheers,
Lancer
I'm putting together a modified masterfile for random games with the idea of tweaking the logistical operations for the human player. The standard game has an excellent underlying model (even better with the hardened logistics option) but I can't resist the urge to 'enhance' it.
The first change is pretty simple but far reaching. During winter and fall (season's option is 'on') the basic movement rate for supply and strategic transfers are increased to reflect the weather induced handicaps to these areas.
This has a couple of implications. The main one being that you have to put more forethought into seasonal campaigning. Your supply lines in winter will be shorter for instance and the ability to shunt units around is also limited. This may entail stockpiling supplies and reinforcements in forward areas prior to the onset of hostile weather conditions.
Changing the strategic transfer rate shouldn't affect the AI as it doesn't use this function however increasing the supply movement rate would be a global effect on everybody. I can't see how to avoid this but provided that 'optimise for AI' has been selected the AI shouldn't be overly affected as their should be plenty of nearby headquarters / towns. I think.
All well and good. This I have done by adding lines of code to the various seasonal events.
The second change I'm aiming for is to implement the concept of 'wastage'. Any supply depot (assumed to be attached to a HQ unit in the game) in real life suffered 'wastage' over time once the depot was 'overstocked'. Barbarossa and the War in the Pacific offer ample examples of this.
My idea is to check each Human HQ unit once a turn and subtract a random amount of supply (within predefined limits) if a particular HQ is 'overstocked' to represent 'wastage'.
Determining whether such a condition exists is a simple ratio of existing supply in the HQ unit vs. the number of staff. The assumption being that the bigger the amount of supply the more staff you need to efficiently manage it.
This creates a tension between having an optimum number of staff to run the military side of the HQ (staff bonuses for attached units in combat) and the amount of staff needed for your required supply level. The 'wastage' effect would be designed to only kick in if you had more than a reasonable level of supply for your attached units.
A final change is to implement an additional game location structure called a 'depot' which can be built by engineers and negates any wastage effects for any HQ units in that hex allowing large stockpiles to be built up and retained.
However I'm currently stuck on the second part. Implementing the 'wastage'.
I've figured out the following for the event (turn based).
1. Loop through every hex
2. CheckHexOwner (is human? - variable with CheckifAI)
3. If human then check for HQ presence (CheckSFTTypeinXY( staff ) )
4. Check the amount of supply present in HQ
5. Implement wastage with simple calc of supply amount and staff amount (CheckRandom)
using ExecGiveSupply (I haven't checked it but I'm assuming it can give a negative amount)
It's no.4 I can't figure out. Once I've determined that a Human HQ with x number of staff is present in a particular hex how do I get the amount of supply currently residing in that HQ?
I'm all ears.
Cheers,
Lancer