Blitz more like amphibious attacks?
I looked a bit at the code to see how hard it would be to implement one of these; it looks like it would require a moderate amount of work, but not huge. definitely not trivial though.
If I had to guess, i'd say 6-10 hours of work (factoring in the thoughtful coding, some ui decisions, debugging, and discussion), but it's notoriously hard to estimate work times on things like this.
most of the work would be changes in movevalidator as far as I can tell, with maybe a few ancillary changes elsewhere. there's several different sections of code in there that would need to be modified to allow for some form of deeper blitz, and it's not quite as simple as just adding a check.
you'd need to decide which implementation(s) to use if you were gonna do something; my proposal, liberty's, or some other one. Doing multiple proposals at once is definitely more work than just oding one, but there's a lot of overlap, so if in the future you'd want want more than one of the implementations, it could be worthwhile to do all at once.
if one were to go for a proposal, there's a number of particular details to work out in relation to the ui about what makes for the best/easiest interface for it. like will it autoform a blitz path if you click deeper into enemy territory; how to decide which units are getting left behind for the pin force (under my proposal).
so i'd say the main question/process from her eis:
is there a mapmaker going to make a map, that will see sufficient use, to justify the work of implementation.? if not, wait until there is.
if so, then start ironing out the details of the behavior and how it will present through the interface.
@zlefin Really depends which of the several different proposals you went with as some would be much easier to implement than others. I would say probably all of them would take more than 6 hours of development especially when you consider unit tests and manual testing. Probably more like 10-15 hours for the ones that aren't too complex would be more realistic.
@zlefin I would implement this idea into my next map 100% for sure. Just saying.
ok, so gonna start ironing out some details on proposals/possibilities to use then, as well as just clarifying things and brainstorming scenarios/problems that may occur.
not sure what we'd end up calling this mechanic; for now I'm gonna use Superblitz as a name.
predicate battles, by which I mean the battle you're going into that some of your units then Superblitz past.
how does the predicate battle affect the superblitz battle.
basic options are:
contingent: like a transport battle; the predicate battle must be won to do the superblitz battle. if it's not won, then the superblitz battle does not occur. battle order must be enforced by engine.
If the predicate battle is not won, what should the behavior of the superblitzing units be? if there's a retreat then superblitzing units could retreat along with them, but what if there's no retreat ordered? what if all attacking units simply die, then what happens to the superblitzing units?
what about the cases where the battle is neither won nor lost due to a turn limit timer on combat?
what if the battle results in mutual annihilation?
what if all attacking land/sea units die, but there are remaining air units? should the province then be captured by the superblitzing units before they get to go onto their battle,or does it not count as a win at all? the answer here will also apply to the mutual annihilation scenario.
if the predicate battle is lost (not retreat, but actual death of the attackers) should excess casualties be applied to the superblitzing units?
independent: like my proposal; the outcome of the predicate battle has no effect on whether the superblitz battle occurs, and should not have any effects on the predicate battle at all.
semi-independent: a hybrid, the predicate battle does not affect whether the superblitz battle occurs, but may have other effects on the battle (like validity of retreat routes, only previously won battles superblitz'd past may be retreated to)
Scenario: provinces A, B, C, D are in order (i.e. A next to B, B next to C; but A is not next to C.
provinces A & D are owned by the attacking player. B & C are owned by the defender.
the attackers wants to send some units from A into B, and superblitz some into C. they also want to send some units from D into C, and superblitz some of those into B.
how to handle situation? which battle to resolve first? in this case you have to resolve a battle without the predicate battle being resolved, OR you have to prevent such scenarios from occurring at all.
touched on by some prior points above, one of the basic questions for superblitz is how to handle retreating from a superblitz.
in my original proposal, it'd be impossible to retreat to a province you superblitz'd through, in order to maintain it's independence. some users would of course wonder why you couldn't retreat to the province you blitzed through if you won that battle already; a question of what's feasible/easier to code/design around, and what players expect the behavior to be.
you could setup a semi-independent hybrid option as described prior.
depth of penetration:
how many layers deep should superblitz'ing be possible? only one extra province deep, or as many as you meet the conditions for (i.e. have enough movement for and can meet whatever extra conditions are required by the model used)? should that answer by simply definite one way or the other, or an engine-settable variable?
@zlefin Just a few thoughts to help make this somewhat reasonable to implement:
- If you go contingent, you may want to initially not support using this feature with limited battle rounds or just consider an unresolved battle (both sides still have units) as a loss to keep it simple. Otherwise I think things get weird in the opposite direction of what you are trying to address which is the attacker uses just a few troops where at least 1 survives the limited battle rounds in order to superblitz past.
- To keep things simple, I'd say no matter which option you go with if the superblitz battle occurs then there is no retreat options.
- Unless you put some kind of strong rules around how many units the attacker must use on the predicate battle then I don't really see how independent or semi-independent make much sense. You want to avoid allowing the attacker to use one infantry on the predicate battle to blitz past and crush a bunch of air units behind them. Also not sure that having 10 infantry attack 10 tanks so that my other 10 tanks can superblitz past would be a good mechanic as I could just retreat my 10 infantry after the first round.
- If you go contingent, then you probably want to resolve all predicate battles first to avoid the scenario you outline. Or prevent units from superblitzing to a territory that is already a predicate battle of another superblitz.
- Depth of penetration, I'd focus on just 1 extra province to start otherwise its probably going to get very complex and not sure more than that would really even be usable by an actual map.
re your point 3 independent or semi-independent were based off my initial proposal, wherein you had to have at least one attacker per defender in order for other unist to go past (though other, higher ratios could also be used, and would raise the question of which ratios to support, or if some attackers should be better/worse than others at pinning down defenders to enable superblitz by making it a unit modifiable property, which could also let you modify the amount of "defensive screen" a unit provides) .
at any rate that's how they'd make sense there.
I left it more vague in the prior post since we might come up with some other schemes to base what allows you to blitz past on; like total pips, hits, or tuv, or who knows what.
certainly a lot of what we try/put extra effort into implementing would be based on what the mapmakers could most make use of and leads to more interesting gameplay.
it does indeed get quite complicated if you can go more than 1 province in, but may still be feasible for some implementations. the first thing that comes to mind with going deeper is the trucks of nwo with their 3 move. those were sometimes part of some triple nation can-openers.
and good thoughts; we definitely got some ironing out to do on this befor eit'd be ready to implement; and we may come up with more oddball scenarios that cause problems for some proposals.
I think there should be some inherent risk to this concept since it can represent an extremely powerful tool.
I think the idea that the attacker should have to match the defender in terms of the quantity of units in the initial battle is a sound principle factor. This is simply to limit the potential exploitation of the mechanic and makes good sense from a game mechanics point of view.
The outcome of the initial battle should not factor into the superBlitz battle. This would also simplify it enough from a mechanical standpoint. As long as you have fullfilled the requirements to allow excess superBlitz units to move deeply (equaled your attacking units to the defending units) ... you may do so.
I think the superBlitz units should have no option for a retreat. Since there needs to be some risk to this. Blitzing deep should have a higher risk factor. Retreating to the initial battle Territory seems like it would make this to powerful.... you would then only ever be able to reinforce your line by moving stacks and deep strafes could become common place... while also severely complicating the situation if the initial battle ends in anything other than an attacker victory. And allowing a superBlitz unit to retreat to its original terr. seems even more outrageous. A 2 movement unit would effectively be able to move 4.
@zlefin @Hepps I worry if you only look at number of units needing to be equal then you end up with lots of ways to exploit this mechanic that seem weird. Some examples (tanks are assumed to have superblitz):
- I have 10 infantry and 1 tank next to 10 enemy tanks, I can attack the 10 enemy tanks with my 10 infantry then use by 1 tank to blitz past to capture a factory or strategic territory behind them. I retreat my 10 infantry after round 1 with just a few loses and I've captured a strategic territory with my 1 tank. This may lead to needing to have now 1 infantry unit in the territories behind my main stack instead of what we have now that tends to be in front of or beside my main stack.
- I have a map with a large spectrum of unit strength/costs. I have one weak infantry unit that costs 3 PU and another heavy tank that costs 15 PU. I can use infantry 1 for 1 to tie down a heavy tank that is 5x my strength/value to allow my tanks to superblitz past. You could have even more extreme examples if you get to having 'hero' or 'general' type units that have very high costs.
@redrum Yup I agree. So then what? Combat strength total?
Coming up with a reasonable solution might end up getting pretty complex for the player.
Or having to win the initial battle? Which then again leaves the Super Blitz unit(s) in a strange limbo? Do they automatically get destroyed? Do they get to retreat back to where they were sent from originally?
@hepps Combat strength probably isn't much better since then you aren't considering AA style attacks which more and more maps are using.
For independent to work well, you probably need to do something like @zlefin mentioned where there's a unit parameter that sets "screenValue" amount so for instance different units can count for different amounts. Could imagine AT guns having a high "screenValue" and being the primary way to use fewer units to prevent superblitzes. Though if you do that then the counting of that might become a pain and you may need some way to visualize it on the UI. The best without an additional property might be "TUV" since it tends to be the best representative of strength/value and would be harder to exploit given that a map maker has reasonable "TUV" for all units (though this could get weird with air units since they tend to be more expensive).
Yeah, I tend to lean towards contingent where you need to win the first battle (superblitz units don't participate in that one) and have it work more like amphibious assaults. Whether they retreat or die, if you don't win the first battle depends how risky you want the mechanic to be. I lean towards retreat as I don't think players want to see their 10 tanks die when they hit that 1% loss chance of the first battle. This makes combat move phase more of a "planning" vs "execution" model where you are more ordering your moves and seeing how they play out based on battle results. So for contingent, you are ordering the tanks to superblitz but if you initial battle fails then its like the superblitz didn't succeed in breaking through.
PS. For the example image you posted, I think that shows a good example that if Eastern Evenki was worth something (factory, high PU value, etc) then Russia would probably want 1 infantry there to contest that. Which leads to users having to worry about can my army defend the territory (usually using battle calc) and do I have enough units to prevent a superblitz (counting up my defenders vs max attackers).
whatever setups are chosen; a map that used superblitz will need to be balanced around its existence, and throwing it into an existing map would mess up the balance.
if a simple ratio is used; there's the question of what that ratio should be, and where it would be set (i.e. permanently fixed by the engine, or in the map xml, even in the options area fo the map so people can play with different values if they want). and if we did that whether to allow only simply integer ratios, or allow fractions, or even floating point.
for some problem cases requiring 2:1 or 3:1 attackers/defenders before you can superblitz past would work well.
like ya say, one of the big questions is ease of use/clarity in the interface vs other gameplay concerns. unit counts are easy to do, and easy for the player to understand; pip counts or hp counts get harder, moreso when you factor in those aa-style attachments. somethin gthat depended on how the battle would turn out if fought would get very hard for the player to estimate.
side note: we'd probably want to have terrain types (which are coded as territory attachments?) that prohibit superblitzing. I don't see units that prohibit super blitzing to be a likely request; as most games are setup in ways that if such a unit existed, every stack that needed it could have one rendering the mechanic moot. unless they were super expensive/otherwise weak, or were preplaced starting only units that can' tbe built; though maybe someone would want such.
I'd like to bring up my idea again. Isn't that the original definition of a blitz(krieg) that tanks would break through a defense and into the back country? I've got no idea about coding but from a rules standpoint I think it's more or less the easiest and cleanest solution to allow tanks an additional move if they won their battle in the first territory in the first (second, third... optional) battle rounds.
might be hard code-wise; if that extra move (or probably only allow it if they have remaining moves) takes them into another combat, then combat ordering effects will apply.
mostly though, the engine enforces phases pretty strongly, having to insert a move/pseudomove in the middle of combat resolution. not sure how that would interact with thin sglike scramble, as normally all scrambles should be done before any combats have been resolved; but this would allow you to potentially add new attacks, as well as reinforce existing ones, after scramble has occurred. even if we added another scramble phase, that might not apply if the air has already scrambled.
what would be the other limitations on such a tank move, if any? would it allow them to retreat to a safe location thus avoiding counterattacks? even if such is no tdirectly allowed, there might be setups where it would effectively do so by letting them retreat to another location you're attacking that is less vulnerable to counterattack.
certainly worth pondering more though.
@redrum I think it would be already possible to have a 2nd combat move phase after the combats, right? But that would only allow units who have movement points left to move, right?
@redrum the ?is how to allow them to only use them 2 per combat round/
@wirkey Yeah, you can have as many combat move phases as you want. Right now you can either choose to reset movement in between the phases or not reset it. The only thing that wouldn't be possible at the moment without changes is being able to have a unit fight in 2 combat phases without resetting its movement. You'd need some sort of unit property to allow it to fight multiple battles and not set its remaining movement to 0 after the first battle.
- Create new special Blitz Only Combat Move phase that only allows "canSuperBlitz" units to attack.
- Setup XML having: Combat Move, Battle, Blitz Only Combat Move, Battle phases
- At the end of each battle, remaining units have their movement set to 0 but don't do this for units with new property (canSuperBlitz). You could also put a condition on not setting movement to 0 only if they win their battle in the first round or X rounds if you wanted. This will allow the canSuperBlitz units to attack again in the Blitz Only Combat Move phase.
The only other thing to consider is whether to allow non-combat moves during the Blitz Only Combat Move phase to make non-combat moves.
Here's an additional suggestion. Superblitz type units (units with settable attribute) are only allowed to attack "territory B" if the defenders in "territory A " are completely wiped out in 1 combat round.
With the prerequisites being the superblitzing units need to have one movement point remaining (minimum). And only superblitzing units that participated in the initial battle (where the 1 combat round rout occurred) are eligible to advance.
This model would need an additional combat move and combat phase. Which would be offered only to the prerequisite units, after all normal combat only if an enemy territory was wiped out in 1 combat round.
I think if this model was doable then retreat can be as normal for the superblitzing units, thus allowing strafes. (into territory
I think this model would translate well into players planning. Its very simple and intuitive.
This would essentially just allow 2 combats for the superblitzing units, which they can attack behind forward , wherever they choose.
A good defenders tactics would be to avoid being wiped out in 1 combat round if superblitzers are in area. Or deploy units accordingly to avoid damage.
Maybe the code for airborne can be reworked to allow my suggestion. Since it adds a unique combat move for airborne. And the unique delegate for it exists already.
I have an even simpler idea. The prerequisite for superblitzer participation in the 1 combat round battle can be omitted. Thus allowing all superblitzers to capitalize on the rout if they have enough movement points remaining.
Ah, sorry maybe not so good and idea. This can open up problems on what Is an eligible "territory B".
My original idea does cover that component though.