EMFTeam / EMF

Extended Mechanics & Flavor
34 stars 18 forks source link

Add unpredictability to war #237

Closed thefinestsieve closed 8 years ago

thefinestsieve commented 9 years ago

Collection of ideas stolen from @zijistark and myself:

zijistark commented 9 years ago

It seems like one really easy starting thing we could do along these lines is simply increasing the global_revolt_risk of the attacker on_war_start. This will increase the odds of an unexpected cultural or religious revolt spawning troops for the defender during war. We'd have to clean this up via an MTTH event due to the lack of war invalidation notification, though.

Of course, if we increased global_revolt_risk for both sides during a war, then we could code the whole thing as a static modifier and not worry about MTTH events.

thefinestsieve commented 9 years ago

That does seem like a good initial start. But regardless of how we do it, I'm not sure cleaning up is necessary. Why not let the revolt troops continue to do their thing until wiped out?

zijistark commented 9 years ago

Cleanup in the sense of removing the global_revolt_risk modifier for being at war. The revolt troops can keep doing whatever they were doing, if they did indeed arise.

thefinestsieve commented 9 years ago

It's funny how often we get back to lack of on_invalidation... But anyway: The last three suggestions in the original post are also pretty easy to do. The only issue is trying to make them reasonably efficient, because I assume they would need to be MTTH events.

zijistark commented 9 years ago

These 3?

Diseases can break out in the ranks, decimating troops (possibly targeted at winning side?)

I assume that this would be a random on_combat_pulse event that used the troops effect, so we'd always know war was in progress for that.

Outside groups may donate money to the cause

Definitely going to have to be an MTTH event that triggers on any_war status, yes.

War expense events which deplete your coffers

Same.

I suppose that the last two could be triggered-only if we started "war ping" events when the war starts (not unlike faction_revolters and faction_loyalists event troop spawns for faction wars).

thefinestsieve commented 9 years ago

I assume that this would be a random on_combat_pulse event that used the troops effect, so we'd always know war was in progress for that.

My concern with this approach is that we can't avoid throwing it into the same random pool as the other combat pulse events, so it'll mess with the chances of everything else happening, especially if there are some modifiers which greatly increase the odds of it happening.

I've been messing around on the side with adding dysentery (which, if we did do "disease decimates the troops" events, would be one of the diseases, and could be given a chance to be added to the commander as well), and I've been reluctant to use the combat pulse for the same reasons.

zijistark commented 9 years ago

Your alternative suggestion would just be to have MTTH / war ping events that select a random in_command = yes character from your realm and effect something like troops = -0.2 on him/her? I'm not entirely sure how that'd work.

Note also that we can't make a disease actually break-out in a province by event.

zijistark commented 9 years ago

The main reason I figured that those events would work through the combat pulse is that they'd then only happen [roughly] to stacks that have properly been merged and are in engaged in a [longer than usual] battle.

thefinestsieve commented 9 years ago

I'm not sure I have a specific suggestion for the mechanics of the disease events. (The epidemic system is more annoying than useful, on a variety of levels, which is why I mostly pretend it doesn't exist. I wouldn't use it for this even if we could start it by event.) I've been experimenting with the dysentery addition, which does have some overlap with this due to a desire to primarily target commanders, and haven't come up with an approach I really like.

Though regardless of how it's done, it's still pretty simple.

zijistark commented 9 years ago

I really think on_combat_pulse events are the only way to realistically go for at least the 'unpredictable disease decimates troops during important battle' use case. However, I recognize that their weight_multipliers would need to be very simple and used with care. It should be a fairly rare random event, in any case. Certainly more rare than the duel engine kicking-in.

zijistark commented 9 years ago

Back to global_revolt_risk for the primary attacker during a war. Since province revolts are only fired on the top_liege of a province owner (i.e., only independent rulers), should the global_revolt_risk modifier only apply to independent primary war attackers? I can see how it might otherwise "stack" in a many-tiered realm due to vassal wars and cause independent lieges to have to deal with a lot of revolts, regardless of whether they're at war.

thefinestsieve commented 9 years ago

Independent only for the revolts makes sense. (Now if we could just convince AI vassals to be more helpful in staving them off... That's another benefit to having human vassals. They're much better about clobbering annoying rebellions or pushing out raiders.)

zijistark commented 9 years ago

zijistark opens new issue 'Get players to have more human vassals'