Posts: 10,463
Threads: 394
Joined: Aug 2015
It's not just the alliances, it's also the wars, hostility and wizard's pacts and spell trading.
Quote:The human player would always scout as far as possible for trading and to find lairs, so the AI should too.
I partially disagree.
The human will scout as far as possible for finding lairs, yes.
But the human will consider the benefits of trading vs the risks of meeting more players who might target them with a war declaration or curses.
There have been games (mostly on high difficulty) where I intentionally avoided scouting to avoid early wars I was not ready to handle.
However the AI does not have scouting in general as a feature.
It can scout (non-neutral) cities, for city curses, but we agree that casting curses on random far away people isn't a good strategy so the AI shouldn't try to actively pursue enabling it. That's one reason against the AI sending more scouts.
Several types of wars declarations are disabled for long distance enemies because it's not realistic and wouldn't work anyway - by the time the troops actually make it that far, the war will end, wasting time and resources doing nothing at all. So we can ignore the war declarations safely.
Hostility is not affected by distance - so if the AI isn't fighting an actual war with someone else, they might still cast curses or send troops against the far away player which can escalate into a war. This is a good thing because if the human player scouts far away, the AI player they contact will be relevant in diplomacy, not just for trade but also as a (lesser) threat. However, it's only good for game design, it's not helping the AI itself, who does not benefit from cursing (or attacking) far away people. So again the AI should not actively pursue making contact.
Wizard's Pacts and Alliances are also not affected. Your suggestion to apply a negative modifier on alliances is good, but having no contact is even better, as it keeps the relation of those players at the "default" state - the relation scores, and so on will not change either.
Spell Trading is good for the AI but bad for the game. If the AIs trade too much, that will accelerate their research and break the game pacing. The human player can't abuse this too much because as soon as they are ahead in research, they can't trade anymore because no one has a spell they could trade for yet. They also have to consider which spells are or aren't safe to trade to a potential enemy and have to offer equal or higher trade value to the AI.
But AI trading isn't like that, if all AI players trade with each other then they won't get ahead of each other - they can keep trading and accelerating research that way because everyone is part of the trading group. Even as is, the AI's trade a lot less than human players do and we most definitely don't want them to trade more after spending days on fine tuning the trade probabilities to be reasonable. So the AI absolutely shouldn't scout to accelerate their spell trading either.
April 15th, 2020, 15:12
(This post was last modified: April 15th, 2020, 15:13 by massone.)
Posts: 343
Threads: 4
Joined: Mar 2020
(April 15th, 2020, 11:49)Seravy Wrote: Wizard's Pacts and Alliances are also not affected. Your suggestion to apply a negative modifier on alliances is good, but having no contact is even better, as it keeps the relation of those players at the "default" state - the relation scores, and so on will not change either.
But the default state isn't good. As I mentioned before, players should normally attempt to ally with both same-realm wizards and wizards who are bordering their neighbours. If they don't scout past their neighbours for example, they won't be able to enlist military assistance with someone on the other side of their neighbour who has a natural common enemy physically pincered by the two. It's not that hostility isn't affected, it's that hostility should be targeted towards accessible targets, and this matters for long distance diplomacy precisely because two distant allies with a common enemy in between they can both access and hold conquered territory from is the most stable and natural kind of alliance. Due to distance, they are not a threat to each other, and don't need to compete over conquests as they split down the middle.
Quote:Spell Trading is good for the AI but bad for the game. If the AIs trade too much, that will accelerate their research and break the game pacing. The human player can't abuse this too much because as soon as they are ahead in research, they can't trade anymore because no one has a spell they could trade for yet. They also have to consider which spells are or aren't safe to trade to a potential enemy and have to offer equal or higher trade value to the AI.
But AI trading isn't like that, if all AI players trade with each other then they won't get ahead of each other - they can keep trading and accelerating research that way because everyone is part of the trading group. Even as is, the AI's trade a lot less than human players do and we most definitely don't want them to trade more after spending days on fine tuning the trade probabilities to be reasonable. So the AI absolutely shouldn't scout to accelerate their spell trading either.
I don't quite understand this part. Why would the AI-AI trading have any different results from the player participating? If the AI is ahead, shouldn't it be that they similarly can't trade anymore because nobody has a spell they can trade for? If the player falls behind because they prefer isolationism than participating in a trading bloc, that's their own prerogative, and they should reap the negative consequences of it. The AI also evaluates what spells aren't safe to trade, even if not directly then by value. The most important spells I want are usually not available for trading, until I have a higher tier spell the AI wants. Also, even if the system doesn't exist, this shouldn't be difficult to program. Simply classify spells into those which suffer a penalties for trading, reduced by relations and ally treaty.
Posts: 10,463
Threads: 394
Joined: Aug 2015
Quote:I don't quite understand this part. Why would the AI-AI trading have any different results from the player participating? If the AI is ahead, shouldn't it be that they similarly can't trade anymore because nobody has a spell they can trade for?
Because they aren't ahead.
If the player trades, that's ONE person trading with TEN others.
So the player gets TEN new spells while everyone else gets ONE new spell -> the player is ahead and cannot trade anymore.
If the AI is trading, that's TEN people each trading with TEN other people.
So everyone gets TEN new spells from trading. No one is ahead of the others, so the next time everyone researches a new spell, they can trade all of those.
In the worse case scenario all AI players research a different common spell, then trade it with 9 others for the other 9 common spells. Then they research an uncommon, and do the same. In the end, every AI player has to research exactly one spell from each tier to have all 40 spells.
(this is a simplified example that assumes everyone plays the same realm but the same thing happens with more realms as well)
Basically, each spell only has to be researched by at least one AI for everyone to have that spell.
The human player is different because if they trade that does not give the spells to all the AIs so they won't be able to research higher tier spells. Unless they do the absolutely crazy thing of giving all the spells to other players for free to accelerate their research. (so yes, actually, the human player trading can be an issue but it requires extremely unusual player behavior.)
Oh, also the human player can only trade for "equal or lower" value spells, so they must get the best spell from the tier to trade for every other spell - and chances are it's a spell they don't want the enemy to have.
AI trading has no such effect - while the AI does trade only spells of similar value, any AI can be on the receiving end for the "better" spell which cannot happen to the human unless they wait for the AI to ask for the trade and maintain a high relation level.
Fortunately, this "worst case scenario" won't happen because every AI researches the spells in roughly the same order which brings up a completely different viewpoint :
They have little to gain by trading because the players they meet will have the same spells anyway, at least in the early game. The AI will pick the important common spells as starter spells and will often have enough books to be able to research most if not all commons and uncommons in their two main realms. By the time they reach rares, they will have scouted most of the world anyway, as they have to go further as soon as the nearby areas have no targets to attack.
So if we assume trading isn't a threat to game pacing then the AI actually has very little to gain by trading.
Quote:The AI also evaluates what spells aren't safe to trade, even if not directly then by value.
If the value is nearly equal then it's traded, there are no other conditions. The AI doesn't actually know what spells are a threat to them. They won't hesitate to trade their Spell Blast for Gorgons even if they are almost done researching the Spell of Mastery.
Quote:Simply classify spells into those which suffer a penalties for trading, reduced by relations and ally treaty.
As explained above this only really works vs the human. When two AI's trade, it doesn't matter if one side gets penalized, that only means the other side gets an even better spell.
Unless by penalty you mean not adjusting the value but adding a roll to cancel the trade entirely but then we're back to square one : we don't want the AI to trade more so they shouldn't scout too much.
Posts: 343
Threads: 4
Joined: Mar 2020
(April 15th, 2020, 16:01)Seravy Wrote: Unless by penalty you mean not adjusting the value but adding a roll to cancel the trade entirely but then we're back to square one : we don't want the AI to trade more so they shouldn't scout too much.
I mean value. And it's not about wanting the AI trade less, it's the opposite. What you've just described about human-AI vs AI-AI trading is exactly why they need to trade more. The human player should not be able to trade one spell to 10 other wizards and gain a massive advantage that way. The fact that is' possible to get ahead in this way is a bigger problem than "game pacing", if the "broken" pacing meant that everybody was on the level. The natural state of affairs is for there to be a trading group sharing all spells. Because if they didn't, somebody would see an arbitrage opportunity and broker spells for profit. To prevent a broker from trading someone else's researched spell, the originator of the spell should trade to as many non-hostile wizards as possible immediately after the first trade. Conversely, a spell that only one wizard has a monopoly over can enjoy a higher price than one which can be obtained from multiple sources.
Why wouldn't it matter if one AI gets penalized in a trade? Why is that different from the human paying more? If the AI is willing to trade Spell Blast for Gorgons, that's because they're not correctly valuing the spells--ie, the values being set are not appropriate. The way to manage that is through modifiers--such as the relations/ally one I mentioned, or based on other factors.
Posts: 10,463
Threads: 394
Joined: Aug 2015
Quote: What you've just described about human-AI vs AI-AI trading is exactly why they need to trade more. The human player should not be able to trade one spell to 10 other wizards and gain a massive advantage that way.
No, if the human can trade too much, you don't fix that by making everyone trade too much, you fix them by making the human player trade less. If that's a real problem that is, as I explained, the human player is the only one who actually can't "trade up" and will generally refuse trading their best spells so we'll have to playtest this to see if it even is a problem.
If it is, the solution is to make the "trade interest" variable fill up slower after each trade so it takes longer between two trades with the same person.
Quote:Why wouldn't it matter if one AI gets penalized in a trade? Why is that different from the human paying more?
Because relation between AIs is mostly symmetric. So AI 1's spell is worth 10 less because <insert any reason> but AI 2's spell is also worth 10 less for <same reason>. So they can still trade the spells, nothing changed.
Assuming this is what you mean, otherwise...
AI 1's spells are worth 10 less for <insert reason> but AI 2's spells are worth the same. So AI 1 now has to trade a spell worth 10 more than usual for AI 2's spell. This means AI 2 now receives a spell worth 10 more so if I turn the tables and look at it from AI 2's perspective, AI 2 is now gaining a spell worth 10 higher than it should have. So if the purpose of the penalty was to prevent one AI from getting a too good deal, that's not working because it simply makes the other AI get the same good deal instead.
So whichever kind of penalty it is, neither changes anything.
Quote: The way to manage that is through modifiers--such as the relations/ally one I mentioned, or based on other factors.
The modifiers apply to the chance of trying to trade. AI's who are allied will trade at a higher chance than those with a neutral relation. This is a relevant effect but nonetheless the fact more players trade more will outweight it for average AI relations.
If it would normally take the AI 50 turns to obtain 4 spells from trading with 3 other players, than against 12 players, they will have that done in 12.5 turns because having 4 times as many players means 4 times as many trade rolls and attempts.
April 16th, 2020, 13:59
(This post was last modified: April 16th, 2020, 15:54 by Seravy.)
Posts: 10,463
Threads: 394
Joined: Aug 2015
One more thing about AI doomstack (aka intercontinental stack) building.
Currently, the AI is allowed to ignore mandatory garrison requirements for building these (with the exception of Maniacal wizards). That means if the AI has, for example 9 Efreets, those will be sent to attack things as a stack instead of each of 9 different cities having one of them guarding it. But this only applies to the first such stack, unless that stack is busy attacking a target because only one stack is being built at a time. So any additional Efreets will stay and garrison, only the first few one or two stacks worth will be actually disregarding the garrison requirement.
However the CoM II doomstack building will build multiple stacks at a time, as long as there are units to use. So it would deplete the garrisons and result in the AI never having any flying summoned creature (or even normal flying creature) in their garrisons, which is definitely bad.
So unless someone has an idea for a different solution, I will need to change the stackbuilding to not use "mandatory garrison" units at all. which means the AI will no longer use their first 9 units as an actual doomstack -although due to the distance limit they won't be able to most of the time anyway.
So I'm hoping the new "frontier city doomstack" will be able to replace that and still let the AI have a doomstack using their first few good creatures. Unfortunately, only 1/3 of the creatures will be summoned for "frontier" duty, compared to the 2/3 of "frontier or garrison" summons otherwise available. So this means the AI's first "doomstack" of each new creature will be built up in twice as much time - instead of the first ~13.5 units ending up as 4.5 in fortress and 9 in the doomstack, we'll end up with 9 in fortress, 9 in garrison and 9 for the doomstack.
Basically, while the slowdown in doomstack production will be noticeable but that means garrisons will be improved slightly faster in exchange - and that doomstack will have a good chance to be produced near the enemy instead of having to travel there.
Is that good or bad? Hard to say. I was unsure about that even when I allowed doomstacks to use the garrison units when creating the feature, but it did work pretty well for the AI. (perhaps a bit too well in fact, some AI rare creature stacks are really hard to stop, even for me.)
Maybe I'm worried over nothing though as it typically takes the AI only one turn to summon a creature on higher difficulty so the delay is only about 13 turns and defenders have an advantage so those units might be much more useful in the garrison anyway. While AI doomstacks are scary, most of the time I see players lose by attacking the AI and getting all their best armies killed, failing to conquer it (or succeeding but losing so much in the process, it leads to losing the game anyway).
Nevermind. Apparently, using mandatory garrison units in doomstacks was already disabled, so it means no change then.
Posts: 10,463
Threads: 394
Joined: Aug 2015
However, there is one thing we can consider changing, and that's the percentage of summons going into the various locations.
Currently the AI has a 1/3 chance on each summoning to put the summon into
-The fortress
-The chosen frontier city
-Somewhere else for garrison duty
Are we happy with that ratio or do we want to change it?
Posts: 343
Threads: 4
Joined: Mar 2020
(April 16th, 2020, 19:17)Seravy Wrote: However, there is one thing we can consider changing, and that's the percentage of summons going into the various locations.
Currently the AI has a 1/3 chance on each summoning to put the summon into
-The fortress
-The chosen frontier city
-Somewhere else for garrison duty
Are we happy with that ratio or do we want to change it?
Is this how the AI behaves throughout the game, or is there some minimum threshold for each city based on its development value?
Posts: 10,463
Threads: 394
Joined: Aug 2015
Quote:Is this how the AI behaves throughout the game, or is there some minimum threshold for each city based on its development value?
No there isn't any threshold and shouldn't be.
If there was a threshold, the player could force the AI to repeatedly summon the same unit to the same location by killing it every turn in combat then retreating.
Every time the Summoning Circle spell is being cast, there is a 33% chance to target the fortress, the frontier city, or "another city", where "another city" is the city with the next highest ID coming after the one that was the "another city" last time the circle was moved into one.
Posts: 343
Threads: 4
Joined: Mar 2020
(April 17th, 2020, 12:39)Seravy Wrote: Quote:Is this how the AI behaves throughout the game, or is there some minimum threshold for each city based on its development value?
No there isn't any threshold and shouldn't be.
If there was a threshold, the player could force the AI to repeatedly summon the same unit to the same location by killing it every turn in combat then retreating.
Every time the Summoning Circle spell is being cast, there is a 33% chance to target the fortress, the frontier city, or "another city", where "another city" is the city with the next highest ID coming after the one that was the "another city" last time the circle was moved into one.
What about field units? They have to draw units from garrison?
|