Posts: 150
Threads: 3
Joined: Nov 2020
(August 17th, 2021, 22:37)Seravy Wrote: Blowing up factories in Iran would just make me have less factories after conquering them.
That's only true if you're actually stronger than them, or can reasonably expect to be very soon.
(August 17th, 2021, 22:37)Seravy Wrote: Russia on the other hand might be silently developing nukes in their factories...
Which they will then promptly fire over everyone else's heads in retaliation, right at you.
But I think you're missing a point jhsidi was trying to make here. Why is the AI throwing curses at random people when they can't even defend themselves? Shouldn't they be focusing on something else instead? Or is this for flavor, as in "if I can't win anyway, let's just annoy everyone else"?
August 18th, 2021, 18:37
(This post was last modified: August 18th, 2021, 18:50 by Seravy.)
Posts: 10,463
Threads: 394
Joined: Aug 2015
Quote:Why is the AI throwing curses at random people when they can't even defend themselves? Shouldn't they be focusing on something else instead? Or is this for flavor, as in "if I can't win anyway, let's just annoy everyone else"?
Mostly because overland casting doesn't work like that unless we make changes for that purpose.
The AI calculates a weight for each spell type based on these primary factors :
-The spells available in the category. Better tier spell = higher chance. This is not relevant for Raise Volcano as it's uncommon, but would be for rare curses.
-Game state. What you descirbe would be this category - since they are way behind in military force, summon category goes up. There isn't really any particular game state that would boost the curse category.
-Personality and Objective. This is where volcanoes primarily come from as they can't boost the curse category through the other two ways.
Once the AI rolled a category, they will then do the same for the individual spells in the category and roll on that. Early on that's usually a roll between Corruption and Volcano. Volcano is better so it gets chosen most of the time.
Only after all of that does the AI start casting the spell, and only when the spell is completed, do they pick a target. While they won't start casting the spell if a target doesn't exist, the value of the target doesn't change the probability of the spells. This is true for almost every spell in the game, the most notable exceptions being Dispelling Wave, Stasis and Disjunction where the target does affect whether the spell gets used.
So basically what happens is the priority boost will make them summon more and curse less but it won't reduce the priority of curses, only raise the priority of summoning.
There are several points of possible action. While we don't have a definition for the AI "losing the war", we do have a definition for the AI losing the game overall, which is the "Troops needed very much" flag. This is enabled whenever the AI has less than half the human player's military forces.
1. The AI can simply reduce the "Curse" category priority when they are weak.
2. Reduce Raise Volcano within curses based on a condition.
3. Make Raise Volcano priority zero within curses when the AI is weak.
4. Change what counts as a valid target so only players the AI is at war with are valid.
5. Reduce the priority of targets the AI isn't at war with.
I already did "5." though it's still worth discussing and changing that if necessary.
4 is a stricter version of 5 but doesn't make any realistic difference. Even if they spam the spell a lot, they won't fill every tile that belongs to the war target so they will never target anyone else either way.
2 does nothing unless the AI knows other curses in which case they'll spam that curse instead, not an improvement.
3 is better than 2 in that it won't cast Volcano even if there are no other curses but it'll still spam other curses when able. Probably not good.
1 has one benefit and two disadvantages. The benefit is the weak AI won't curse stronger AIs so it doesn't hinder those that actually matter for dictating overall difficulty. The disadvantage is, they won't cast curses against the human player when under attack and they also won't role play their intended personality unless they are one of the stronger wizards - as the reduced priority overrides it.
From a game design perspecitve, weak wizards silently disappearing without annoying anyone, except the human player is the best as them weakening other AIs just makes overall game difficulty unstable. (Basically if the leading wizard runs into enough curses the game will be easy, if not, it'll be hard.)
So considering that, prioritizing war targets is actually bad for the game if the AI is actually losing, but also bad if they are winning (as they will conquer the now cursed territory). This implies "5." is actually also a bad solution.
For realism it also doesn't make much sense as regardless of winning or losing, building troops is always better during a war than polluting enemy territory which won't stop losing the war but will also make winning it less valuable. At least for Volcano, as other curses can damage military infrastucture, Volcano cannot unless the target was Adamanitum/Mithril which are way too rare to base global AI rules on the possibility.
Ultimately, targeting curses to people we're at war with is never the good move, unless the war is a stalemate and there is no way the AI will ever know that.
So for war targets, it really should only target military ore tiles and everything else should be invalid I think?
This goes against player expectations though who would expect the AI to hold a grudge and curse the war target anyway, in fact prioritize the war target, otherwise we wouldn't even have this discussion right now.
So the primary problem I see is player expectation (use curses on war targets) clashing with what's good strategy (use curses on unrelated people instead of war targets, primarily when the AI is strong, and not use them at all when the AI is weak except on military resources on war targets) and also interferes with global design (we don't want a curse happy AI personality to stop using curses and others don't spam Volcanoes anyway.)
I don't really see a good way out of this.
August 18th, 2021, 20:02
(This post was last modified: August 18th, 2021, 20:03 by jhsidi.)
Posts: 377
Threads: 10
Joined: Apr 2017
(August 18th, 2021, 18:37)Seravy Wrote: While we don't have a definition for the AI "losing the war", we do have a definition for the AI losing the game overall, which is the "Troops needed very much" flag. This is enabled whenever the AI has less than half the human player's military forces.
That explains one thing I observed -- two AIs at war, one in desperate need of troops but continually casting volcanoes instead of doing anything useful.
On high difficulty levels, my army is almost always weaker than pretty much everyone else's (because I don't need so many armies to win). So you're saying all 13 AIs will never consider themselves to be losing because they measure up well against me? Seems like the AI should also be comparing itself to its war targets.
(August 18th, 2021, 18:37)Seravy Wrote: From a game design perspecitve, weak wizards silently disappearing without annoying anyone, except the human player is the best as them weakening other AIs just makes overall game difficulty unstable. (Basically if the leading wizard runs into enough curses the game will be easy, if not, it'll be hard.)
So considering that, prioritizing war targets is actually bad for the game if the AI is actually losing, but also bad if they are winning (as they will conquer the now cursed territory). This implies "5." is actually also a bad solution.
From my observations, game difficulty is already WILDLY variable, and that's not related in any way to some random wizard with Chaos books putting up a fight or not somewhere in mid-game. At least at high difficulty, the power trajectory of most wizards is established very early on, long before wizards are spam-casting curses. Early power is established by random chance in land distribution, race selection, book and retort picks, personality and relations with other wizards, and what spells drop from treasure. For example, a powerful wizard will often be a peaceful one who doesn't go to war much or at all, got lucky with a big continent it completely settled, had easy nodes nearby, and got spells that accelerated its growth.
In short, I don't think that you're able to say that making curses less annoying is a "bad solution" for game balance, considering that the die is cast much earlier. The effect of changing volcanoes to be somewhat less spammable would likely be negligible.
(August 18th, 2021, 18:37)Seravy Wrote: Ultimately, targeting curses to people we're at war with is never the good move, unless the war is a stalemate and there is no way the AI will ever know that.
I don't know why that would be true. Destroying valuable resources in a hot war is usually a good idea even if you know you'll take them later. Assuming that later is not next turn -- but given that AI is pretty slow, that's a pretty good bet.
One thing I'm confused by here is the implication you seem to be making that following recommendation 1), reducing the priority of curses when the AI is weak, will result in the AI then never casting the curse and the gameplay being completely changed. Isn't this just modifying the chance a spell will be cast next, e.g. from a 75% chance to 50% chance? I don't see why adjusting the priority a bit is a big deal.
Finally, to put in a good word for realism -- the point of having the AI make decisions that seem to be realistic, or at least not completely idiotic, is partially to let the player enjoy the fantasy that they have a real opponent. Not to make the game harder, or easier; just to feed into the illusion that there's a brain involved. When the AI relentlessly casts raise volcano even with it's the worst, dumbest thing it could do it breaks the illusion that the AI has a mind.
Posts: 10,463
Threads: 394
Joined: Aug 2015
Quote:So you're saying all 13 AIs will never consider themselves to be losing because they measure up well against me? Seems like the AI should also be comparing itself to its war targets.
Yes. From a game design viewpoint, it's not relevant whether one AI wins a war or the other. The only thing that does matter is to avoid the thing turning into a stalemate that drains too much resources from both sides. SO if anything, the weaker side going down faster makes the game better.
Quote:and that's not related in any way to some random wizard with Chaos books putting up a fight or not somewhere in mid-game.
For volcanoes specifically, it indeed isn't very relevant as they don't cause enough damage to matter.
Other curses though do. If the "losing" wizard with only their fortress left manages to put Evil Presence on all the other player's cities, or Pestilence, that player is pretty much out of the game. Either because all their units produced beyond that point will have no magic weapons so they lose by default to any competent human player capable of noticing that, or because Pestilence drains their population to the point where they lose armies and can't feed anything. At least if left unchecked, because ideally the AI will simply dispel the curses - it won't become a problem unless the caster has Runemaster or other ways to raise dispel resistance.
Also we could argue the Elimination mechanic already takes care of this problem by making sure the wizard disappears along with the curses within 50 turns. So I think overall I can agree it doesn't matter much.
Quote:Destroying valuable resources in a hot war is usually a good idea even if you know you'll take them later. Assuming that later is not next turn -- but given that AI is pretty slow, that's a pretty good bet.
This is hard to estimate but I think not. The AI is slow on both sides. Those extra troops coming from whatever resource will almost never be relevant. Either they won't make it to the other AI before the war ends, or if the war is already at their place, they'll simply be the 10th unit pushed outside the city and killed alone doing no damage at all. Whether they were cheaper, stronger, or paid for by the tile resource won't matter much, if at all. So while I can agree destroying them is not a problem if the AI is losing, it still isn't optimal when winning.
Quote:1), reducing the priority of curses when the AI is weak, will result in the AI then never casting the curse and the gameplay being completely changed. Isn't this just modifying the chance a spell will be cast next, e.g. from a 75% chance to 50% chance? I don't see why adjusting the priority a bit is a big deal.
Mostly because a 25% reduction would be a non-solution. Players generally don't want to get targeted at all or very rarely at best.
Getting 5 volcanoes instead of 7 would make no difference. At least, I wouldn't really care if the AI only destroyed all my ores and 12 Grasslands tiles instead of all my ores, all 15 my grasslands tiles and 3 forests.
Basically the priority difference between a Peaceful (~1), an average (~10-20) and a Maniacal (~75) wizard is huge. If we want to cancel that out the reduction has to be that large.
Quote: When the AI relentlessly casts raise volcano even with it's the worst, dumbest thing it could do it breaks the illusion that the AI has a mind.
I could agree with that if the AI personalities wouldn't be labelled what they are.
Maniacal (crazy paranoic "we strike first" person who thinks everyone is an enemy) and Ruthless (I don't care as long as I get to kill stuff and hurt people) make perfect sense to recklessly cast Volcanoes.
Other personalities don't have a very high priority of doing so in the first place, and I wouldn't be against restricting them based on what is or isn't good strategy. But that again, leaves the primary source of the problem, the wizards who spam the spells a lot, unchanged. Even the "middle ground" personalities are "Aggressive" which does make sense to sometimes act on impusle, and "Chaotic" which is just the "too crazy to think" guy, that make sense to sometimes make poor strategic moves. Which leaves Peaceful and Lawful both of which almost never use curse type spells unless they have something way better than Volcano.
Posts: 736
Threads: 50
Joined: Jul 2020
Here's a simple solution, if people are reporting that in most games they run into crazy AI that seem to spam volcanoes and corruption everywhere, how about lowering the chances of AIs rolling the personalities prone to cursing? After all it's not like curses add much if anything to the gameplay, they're mostly just tools the AI uses to annoy rather than decisively inflict a defeat. So lowering the chances of curse spamming personalities ever showing up would be very good.
August 19th, 2021, 17:53
(This post was last modified: August 19th, 2021, 17:54 by Seravy.)
Posts: 10,463
Threads: 394
Joined: Aug 2015
(August 18th, 2021, 23:32)Anskiy Wrote: Here's a simple solution, if people are reporting that in most games they run into crazy AI that seem to spam volcanoes and corruption everywhere, how about lowering the chances of AIs rolling the personalities prone to cursing? After all it's not like curses add much if anything to the gameplay, they're mostly just tools the AI uses to annoy rather than decisively inflict a defeat. So lowering the chances of curse spamming personalities ever showing up would be very good.
If anyone wants that, they can use the "ban curses" scoring modifier.
I rather fix the issue for people who want the curses to be an important part of the game. Thinking back to the beginning, the original wasn't a problem in the old 4 player games.
The distance limitation on its own should actually be enough to solve that.
I found one advantage for prioritizing war targets higher. It allows the AI to override the distance modifier, so even if someone from far away attacks them, they can still retaliate with curses which makes a lot of sense and is actually good because retaliating with armies would take way too long.
Overall, I think keeping the current solution is fine, which means :
1. Cast on war targets.
2. If there aren't any, cast on any target in range for a possible war declaration.
3. If there aren't any of those either, cast on any player they AI is hostile towards.
Posts: 343
Threads: 4
Joined: Mar 2020
I think the main roadblock to solving the issue is the fact that the AI decision to cast Volcano comes before the targeting, when it should be the opposite (if the cast was to destroy resources). A player would normally identify a worthwhile target, then decide to cast it. But it may not be worth it to add significant processing load just to have the AI think that way, because it's unlikely for this to make a big difference in AI difficulty.
As for how the player can protect from Volcanos, I would prefer if the Guardian Spirit was not melded to the tile, but required to stay as an actual unit. If the player can protect the tile, it must also be possible to remove that protection. A melded Guardian Spirit cannot be attacked, so that just makes the problem go the other direction, with resources becoming immune.
The best way to have some strategic choice and significant cost in defending the tile would be to force the Guardian Spirit to stay there to grant anti-Volcano/corruption protection, and it's a weak enough unit that it can be destroyed easily, so a player bent on protecting their resource would need to commit a lot of other resources to maintain that protection. Unlike cities or nodes, it will be much harder to defend the resource because the Guardian Spirit can be killed in a battle even if the enemy doesn't win.
Posts: 205
Threads: 15
Joined: Nov 2020
Is massone's guardian spirit idea relatively doable? It's an elegant solution.
Posts: 10,463
Threads: 394
Joined: Aug 2015
Doable. I think I'll leave that for modders though, once we have functional spell modding, it shouldn't be too hard to add an effect like that. Might take a while though.
|