A Solution for stack issue
-
@rogercooper
It's an interesting variant. I let the AI play against itself with your mod:- Russia was lost in round 7 and the Axis won in Round 8.
- The Russian Player was reduced to a single territory + a submarine in round 5.
- With flat upkeep it's better to buy better more expensive units: such as armour and fighters (because there are less ressources the stacks are smaller.
- But the AI doesn't understand the upkeep rule and still buys infantry.
- Bombers are overpowered IMO because of increased strategic bombing Raid impact (upkeep should be 2).
If the Russian player buys 8 infantry in round 1 and does nothing, round 2 income is 24+16-40=0.
-
@All
maybe the costs for low units like infantry, artillery..
can be reduced to 0 by a trick:- upkeep will charge 1 IPC for each unit
- but a trigger function will recharge 1 IPC for each defined unit.
Yet, to do so, the trigger needs a count function to sum all the defined units of player, e.g. all infantry.
Is this possible?
-
@numetalfan
createsResourcesList (the upkeep) is set individually for each unitType. -
no contratiction to my idea:
<attachment name="unitAttachment" attachTo="infantry" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType">
<option name="movement" value="1"/>
<option name="attack" value="1"/>
<option name="defense" value="2"/>
<option name="transportCost" value="2"/>
<option name="artillerySupportable" value="true"/>
<option name="isInfantry" value="true"/>
<option name="isAirTransportable" value="true"/>
<option name="createsResourcesList" value="-1:PUs"/>
</attachment>would be the way to charge
a trigger to recharge something like
<attachment name="conditionrechargeRussianInf" attachTo="Russians" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player">
..
count..map..infantry
..
</attachment><attachment name="triggerAttachmentRechargeRussianInfantry" attachTo="Russians" javaClass="TriggerAttachment" type="player">
<option name="trigger" value="condition"/>
<option name="when" value="conditionrechargeRussianInf"/>recharge..1PC..
</attachment>
--
if this works ( no idea for the condition and the trigger) there will be a way to not have upkeep for Infantry, but all other units will have upkeep - that was my idea
-
@numetalfan you could try having the first trigger fire after nonCombatMove and then another one with "+1 PUs" fire before Place.
Idk, be worth a try maybe
You'd have to switch them back and forth every turn
-
Does anybody know how to incorporate fractional numbers into the engine?
-
@butterw said in A Solution for stack issue:
@rogercooper
It's an interesting variant. I let the AI play against itself with your mod:- Russia was lost in round 7 and the Axis won in Round 8.
- The Russian Player was reduced to a single territory + a submarine in round 5.
- With flat upkeep it's better to buy better more expensive units: such as armour and fighters (because there are less ressources the stacks are smaller.
- But the AI doesn't understand the upkeep rule and still buys infantry.
- Bombers are overpowered IMO because of increased strategic bombing Raid impact (upkeep should be 2).
If the Russian player buys 8 infantry in round 1 and does nothing, round 2 income is 24+16-40=0.
The effectiveness of strategic bombing is somewhat reduced by lower production levels, so the players don't need to repair everything. The flat upkeep costs bias things a bit towards the more expensive units, but an all armor strategy is generally less effective.
I am bit confused by Numetalfan's request. If you don't want to have upkeep for infantry, then you don't need to have negative resource generation for infantry. There is no need to mess with triggers.
-
Hi, I think I misunderstood a post here.
I thought that if you start to integrate upkeep, you have to do this for every unit in the unit list.
But it seems this is not the right way. Upkeep is optional for any unit you want.
In this case of course there is no need for a trigger.
siply make no upkeep e.g. for infantry!yet this has to be calculated well, there is a high risk to mess up for the Axis.
The game balance of most WWI or WWII scenarios is based on the fact that the Axis have a lot more units from the beginning and they move first.
However, the Allies have more space, more logistic (fleet, transporters) and of course, more income.
so even with a very simple upkeep setup like armour,cruiser,figther 1 IPC upkeep each and Bomber, Carrier, Battleship 2 IPC upkeep each, in a AA41 scenario the Japanese will have after round 1 with NOs maybe 30 IPC income and about 20 IPC upkeep, due to it's large fleet and airforce.
That makes no sense.
Maybe there should be a solution that upkeep starts from Round 4 via trigger which would tell us a story that all country had some savings of oil, fuel, ressources etc. for the first 3 rounds but then it starts to "hurt". After 3 rounds the Allies should also have build up their fleet and airforce and the Axis will have conquered a lot, so they have more income to compensate upkeep.
Still unclear if this will then help avoiding big stacks, when infantry has no upkeep.
-
- If needed you can also create a specific RussianInfantry unit (with specific cost, upkeep, etc.). I don't know that there is a way to count units in triggers (national objectives is focused on counting territories).
- Infantry should probably have an upkeep cost, but 1 PU per turn seems too much.
Being able to use a fractionnal value would be best solution
ex: "createsResourcesList" value="-1:10:PUs" - Upkeep cost in the range 5-25% would be reasonable.
- Disbanding unwanted units should be an option (allowing to recoup part of the PUs, ex: 2PUs per unit)
With regard to stacking, I think there are 2 different issues:
- defensively stacking mainly infantry in a capital
- building an invincible defensive/offensive stack (centered around armour, fighters and bombers) which can then be moved accross the map.
-
@butterw You can count units with triggers but you can only use that set thresholds. Checkout the "stack tax" in Greyhawk Wars for interesting example.
I don't see the engine being changed to accommodate fractional costs. You could achieve the same effect by changing territory values and production costs. Changing the engine to use TUV in events would be easier,
Disbanding units through the engine is actually fairly tricky without a creating an entire step focused on it.
If you are using a basically 1 IPC upkeep with the boardgame scenarios, you need to increase income or the Germans will be unable to build (and vulnerable to a British attack).
-
Rebalancing will be needed in any case whatever the upkeep rates would be.
The only way to prevent both mega stacks and rebalance requirements is having able to set up max TUV limit.
Max TUV limit feature even have potential to be better alternative than upkeep since it wouldn't require multiplying everything by 10 or assigning questionable upkeep rates.
Also underdogs would have better chance to turn the tide of games.
-
I would be in favor of the x10 PU approach.
You would not have to update any map artwork. It would just be understood that a territory labelled '4' provides 40 newPU** (but the notes could mention this for new folk)
Having the ability to adjust pricing for EVERYTHING by the equivalent of 0.1PU has several useful outcomes:
-
The upkeep feature now becomes manageable. One can charge a few newPUs rather than a full PU (or 10 newPU)
-
Unit-specific upkeep: Want Tigers to be expensive to maintain? Then make their upkeep 5 newPU rather than 3 like all of the other armor units, etc
-
Special units can be priced with much better granularity. Maybe Me262s should cost 105 newPUs instead of 100 newPUs like the other fighters!
-
No more odd costs like '2 units for 7 PU' that you see on some maps. They are simply priced at 35 newPUs each.
No one is forcing any mapmaker to implement this. All of the legacy maps can stay 'as is'.
- No new coding to write, support, or bug-fix, other than perhaps build limits if mapmakers want to avoid large-scale map tweaks.
** Note that 'newPU' is a term that I am only using here in this thread. The game, of course, would simply use 'PU' to describe the revalued currency!
-
-
@tinfoil666
It's either x1 but with a High PU map, or the same map with multiplyPu x10 or x2.
The issue with x10 is that it makes mental calculations just a little bit harder:
5.5*2=11Pu vs 55Pu Armour. How much do 3 units cost ?
It's probably ends up being OK because the produce panel handles the calculations. -
@butterw In the original 1981 edition of the game, all the territory values were multiples of 10, as were the unit costs. I have no idea why, perhaps there was a upkeep rule that did not make into the final version. In the published version, all units were limited to the counter mix.
-
@rogercooper The simplest way to do upkeep (with integer PUs) would be to have a fractionnal rule (ex: 1 for X Infantry units, rounded down) rather than multiplyPUs (x10).
Having a german fighter cost ex:105 instead of 100 is unlikely to have a huge impact on the game . Keeping regular PUs and a base cost of 10 and using a higher upkeep of 1:9 instead of 1:10 would achieve a similar result.