As a French person I feel like it's my duty to explain strikes to you. - AdrienIer

Create an account  

 
Caster of Magic II Bug Reports!

We'll have to investigate that.
We had the bug of relations being 12 lower than intended for everyone which likely had the effect of less pacts and alliances on the AI.
But those examples really doesn't seem right. What did the charts (F5) say about the relation between those wizards? Was it really negative? Any chance they were affected by Charismatic or something?

Too many alliances :
This is something we'll need to carefully think about. In CoM I the design was that AI's are allowed to get away with allying everyone, that's their benefit in exchange for being more vulnerable to human player requests. Basically, the player was in a race with the AIs about who makes the alliance first - if the player did, they could make the peaceful AI declare war on others, preventing future treaties at a high probability. If the AIs made alliances first, the player was on the clock to make one themselves to force the peaceful AI to stay out of the fights, and failing that, any war with any other AI likely escalated into the peaceful and every one of their allies attacking the player.
This works well up to 4 players but beyond that, not really.
Furthermore in CoM I the player could usually get away with allying AIs who were at war in each other but in CoM II we changed that, so the player is now at a clear disadvantage there.

There are many possible things that can be done but the most obvious seems to be that in case of conflicting alliances, the AI has to break the one with the weaker party. The problem is, while we are doing this to help the player, they will be that "weaker party" 90% of the time, so this isn't really helping them, on the contrary, it removes the only way out of an alliance based war, which is to ally the peacemongers themselves.

Scouting :
AI military scouting isn't and never will be a feature, we'll have to live with that.

Long distance war :
This sounds like a bug, was she really out of range? If yes, her name should have been displayed as (Sharee) on the charts.

AI garrisoning :
It's a well known unsolvable problem that Nature lacks high garrison priority units early on, there is nothing we can do about that. It's an aggro realm, so whichever Nature wizard knocks out the other first, wins the war. Doesn't sound like that was the problem though as summoning plays a very small role on AI garrison quality overall - depending on their personality it's 1-3 summoned units per city and it's not an "on demand, summon" thing but a "if already there, stay inside" kind. Either way, keeping 3 sprites in the city wouldn't have saved the wizard at all, so the problem is whichever normal units they were, or were not building. (Perfectionist don't like building military stuff so that can be one reason.)
Reply

(October 22nd, 2020, 10:54)massone Wrote: I am researching Dispelling Wave and it is not finishing despite it going to 0 RP left. I tried increasing the amount allocated to research before ending turn and that doesn't work either. It only finishes on the next turn.

Save: https://we.tl/t-XfwLnYXStP

Display bug. The amount of research already done before starting the spell (from previously interrupting the research) is moved to the variable that tracks progress, but not zeroed on the storage either so it reduces the remaining amount displayed twice.
Reply

-         In the last save file it is not possible to sell the Magic Market in Hsi-Raz [61,86] from the second row behind the City wall, bc of unavoidable double text.

-         The flag colour “Ocean” could be renamed “Emerald”.
Reply

(October 23rd, 2020, 00:29)Se ravy Wrote: We'll have to investigate that.
We had the bug of relations being 12 lower than intended for everyone which likely had the effect of less pacts and alliances on the AI.
But those examples really doesn't seem right. What did the charts (F5) say about the relation between those wizards? Was it really negative? Any chance they were affected by Charismatic or something?

Yes, I just realized I could check other AI's relations and Sharee's started very negative, at -40 for Raven and Kali and Ariel. However, I was mistaken and she only Pacted with Raven when we first met in 1405. Sharee, Raven, and Kali are not Charismatic, but Ariel is. That wouldn't explain Sharee's relations with the other two. It also makes little sense because Sharee and Ariel established Pact last. Sharee somehow Pacted with Kali much earlier than I thought--they were east and west of me respectively so I don't know how they could've met before Sharee met Ariel (who should be to my south east) unless they expanded crazily and circled around in 1504.

Save showing all 3 Wizards' relations: https://we.tl/t-iNcDjbk2LE

Still, looking at this, I don't even understand how Sharee could have allied with Raven so early given that I have an earlier save where I can see clearly they hadn't reached the 40 Visible Relations threshold (barely over 20) when they became allies. https://we.tl/t-GAhrQQxq2F

EDIT:
Just noticed another issue. The speed with which the AIs improved relations appears to be double, or even triple/quadruple the speed my relations improved with them on a Pact, for both Wizards with very negative Starting Relations or normal Starting Relations. Merlin and Ariel's relations actually improved in a near vertical line going from just under 10 to 100 in less than a year. What's causing this?

EDIT2: Ariel's Charismatic and possible trading could explain why they improved so fast. But still, the base rate without Charismatic is still 2-3x player to AI improvement. That doesn't make sense for opposing alignments.

EDIT3: A bunch of these guys also have Aura of Majesty, which partially explains the rise from negative relations, at least between Sharee and Kali. However, it doesn't explain why they kept rising at the same speed after reaching neutral for several other relations, given the formula for Aura of Majesty would cap it at 6 for a game with 13 players (45 - 3 * 13 = 6).

Quote:Too many alliances :
This is something we'll need to carefully think about. In CoM I the design was that AI's are allowed to get away with allying everyone, that's their benefit in exchange for being more vulnerable to human player requests. Basically, the player was in a race with the AIs about who makes the alliance first - if the player did, they could make the peaceful AI declare war on others, preventing future treaties at a high probability. If the AIs made alliances first, the player was on the clock to make one themselves to force the peaceful AI to stay out of the fights, and failing that, any war with any other AI likely escalated into the peaceful and every one of their allies attacking the player.
I would propose that the Peaceful Wizard should have penalties for being asked to go to war against somebody else in an offensive war. They, and the lawful Wizards, should be more eager to fight defensive wars (but the Lawful more so than Peaceful). Peaceful Wizard should strongly oppose war declarations against anybody they are friendly with or have never committed any hostile actions against the declaring wizard.

It would be good to have a system that tracks hostile actions and escalations. Whoever attacks (not kills) first, not accidentally (an accident is only when they immediately flee the battle and do not cast any spells or attack enemy units), in non-controlled territory is offender, and the defender is permitted to retaliate by killing their units in non-controlled territory without it being an offense. Whoever attacks a town first makes an offense too, because even if retaliating, attacking a town is not an equal response to attacking units, unless it was a very large stack. Suppose there was a counter for both Wizards on hostile actions. If both sides have committed offenses, then it's neither offensive or defensive war. If only one side has committed offenses, then they are in an offensive war.

Quote:There are many possible things that can be done but the most obvious seems to be that in case of conflicting alliances, the AI has to break the one with the weaker party. The problem is, while we are doing this to help the player, they will be that "weaker party" 90% of the time, so this isn't really helping them, on the contrary, it removes the only way out of an alliance based war, which is to ally the peacemongers themselves.
I don't think the answer is break with the weaker party. One would expect a Peaceful Wizard to prefer staying allies with Wizards that do not commit hostile actions or offensive wars against other mutually known wizards, those they allied with longer, and who have more friendly relations. One would also expect similar aligned wizards and shared book wizards to prefer staying allied against opposing realms. Military should only be one part of the calculation. I know as a human that military is the least of factors I'd consider, and in many cases I'd prefer to ally with the weaker party. The strategic interest--including who I want to conquer and who I want to stay strong, is much more important. Historically IRL, countries tended to ally with similar strength powers only when pressured by similar or even stronger opposing powers, otherwise they are much more likely to become strategic rivals than to maintain a longstanding alliance.

If allying with the peaceful AI is the only way out of an alliance based war, that suggests to me that the alliance system could use some improvement. Negotiations shouldn't always be 1 on 1, in fact, they should usually be alliance based because separate peaces are considered in IRL to be dishonorable and should have a relations penalty with the ally you're leaving behind.

Quote:Scouting :
AI military scouting isn't and never will be a feature, we'll have to live with that.
I feel that some adjustments should be considered, particularly for Maximal maps. In old COM I the issue was much less noticeable because the type of situation I described would never happen, there are closer targets, and the player typically explores very quick. You can get the whole map explored on Huge within 3-4 years. But now? I've barely explored 1/4th of the map in 8 years. It takes 10 turns in a straight line to get to Sharee's continent, and much longer to actually explore to that point because you generally have to explore all around, not go in a straight line. It then takes another 20 turns to explore a decently sized continent with that magic spirit. But they killed my magic spirit immediately, so it would take yet another 10 turns to get back there, most likely to get killed again.

Even if I mass spammed magic spirits, ships, scouts, and everything, it simply takes far longer for the player to explore and find their cities, than for the AI to immediately come to me. This also applies to identifying nodes. I came to the realization that the AI is doing so well on node captures in Maximal on COM II because there are many more relatively weaker nodes on the map. And the AI has perfect knowledge of where all of them, so they can go to them immediately. In the old Huge maps, you could be lucky to get 2 or 3 easy nodes close by, but now? Everyone has access to at least 5+, except they're not really "near by" or any easier for the player to get to because of ocean and exploration requirements. They're just extremely easy for the AIs to get to because they don't need to explore, and can easily spam water-walking/flying summon stacks that no player can afford to so early in the game.

This problem also applies to neutral cities. Kali somehow rushed her way to a neutral city with a 9-unit doomstack before turn 24 (and this, I checked with a save on turn 24), that was at least 20 squares away from her Fortress. I haven't even found her Fortress continent yet and it's 1408. I did sign a Pact and found a single city on an isolated island which might be her Fortress, but I suspect it's not because it's large enough to hold 4 cities and there's only 1, and I haven't found a single one of her original Lizardmen race towns, so her Fortress might actually be over 30-40 squares away, which would be ludicrous because she'd have to have sent that stack within the first few turns. It would also explain her early contact with Sharee--she might actually be circled around to the other side of the world.

Quote:Long distance war :
This sounds like a bug, was she really out of range? If yes, her name should have been displayed as (Sharee) on the charts.

Her name was not displayed with brackets. I did a thorough check and found the following:
-I found her on turn 60. My magic spirit was killed on turn 62.
-On turn 66, her name lost the brackets
-She didn't actually declare war until turn 70.
-Sharee's closest known city is 23 squares away.

It is possible that Sharee settled a city slightly closer to me where I haven't explored (is there a way to quickly reveal map? Alt + RVL doesn't seem to work on magic screen). But if so, that just reinforces my point above. The human player simply cannot explore anywhere near the pace needed to keep up with how the AI instantly knows where all your cities and nodes are on Maximal maps. Even if I could've explored a bit more by spamming scouts, it's illogical that the AI declares war on an enemy they haven't even seen any cities for. I know Sharee definitely didn't send a single scout my way until 2 years after the declaration when their first 5-unit stack arrived, and their doom stack of 9 shadow demons arrived at a different city only a few turns later after that 5-unit stack.

Military Rating and other Power Rating has always been visible to player and AI, so I'm hesitant to suggest that such a thing be made invisible, especially when the AI needs it for all sorts of calculations, but in this situation the AI should at least give a semblance of pretending that, if their enemy reached their shores first, if they haven't seen any of my cities, that maybe they're not actually the stronger one and are risking themselves against a potentially much more powerful unknown?

Because even with the military ratings visible, this is a real concern for a human player. When I could not find Kali or Merlin's main continents, I didn't want to attack either because I had no idea how quickly they could reinforce or if I needed to defend myself from another direction.


Quote:AI garrisoning :
Doesn't sound like that was the problem though as summoning plays a very small role on AI garrison quality overall - depending on their personality it's 1-3 summoned units per city and it's not an "on demand, summon" thing but a "if already there, stay inside" kind.
That makes sense, summoning usually reserved for attack stacks, and I did see them sort of exchange cities once attacking weakly defended garrisons. The problem seems to be that Merlin kept mass producing halberdiers and swordsmen instead of any bowmen or shaman, despite having access to them all as Orcs. Entire garrisons would have 0 or 1 ranged unit, which made it too vulnerable.
Reply

Looking at the save file, Sharee has one pact and one Alliance.
One of the partners, Raven, is peaceful, the other, Ariel, is Charismatic.
Both of them have Aura of Majesty on top of it which is probably what causes the relation to grow over time, but Charismatic and Peaceful are enough positive modifiers to roll a success on Wizard's Pact even at lower relation and after that the Pact will raise relations until the Alliance can happen.
The AI has no threshold required for treaties.

The increased relation between Merlin and Ariel looks abnormal. I will need the save file for the turn(s) the growth happens to be able to find what caused it. (relation changes should be logged btw)

Quote:I would propose that the Peaceful Wizard should have penalties for being asked to go to war against somebody else in an offensive war.

Alliance based wars don't even have a formula though to add a penalty into. It's as simple as "my ally will always declare war on my enemy". This rule applies even if the human player asks for the war declaration but also between AIs.

Quote:Negotiations shouldn't always be 1 on 1
The game doesn't have a UI for a negotiation with multiple wizards at the same time.

AI Scouting : While I'm not sure the game would be better if the AI had to scout which opens a whole lot of ways to abuse it, the problem isn't that but the fact scouting is a difficult and complex process I can't teach the AI.
(And also that it would require replacing every single overland AI function with an equivalent that can intentionally ignore unscouted tiles AND handle the consequences of guessing wrong on what is there. Oh and then there is fog of war in addition, scouting isn't the only thing the game has...)

Now, if we prefer the trivial solution of using the existing "scouted" flags on cities that curse casting looks at then the problem becomes more manageable on the amount of required work but then we have an entirely different problem, if the AI doesn't see a target is there, it won't go in that direction so it won't ever find it. Basically, other than gathering stacks, the AI never moves a unit unless it's going towards a target, and if there is no target, they leave the continent and go find another continent that does have one. And of course this also opens up the abuse potential - kill the few AI units that accidentally happened to go towards your empire and you'll never get attacked. The AI doesn't do "hey I think that guy's empire should be over there so I send my main armies anyway even though I haven't seen the cities yet.".

So yeah, I'm against adding AI scouting because it doesn't work with the current system and so far I don't have solutions to the core issue - if the AI sends smaller stacks to scout they are easy to kill, but if the AI sends the main army and they guessed wrong where to go then said main army does nothing for dozens of turns before it accidentally starts going to the right direction, if ever. The AI doesn't have "common sense" to tell them "this guy's empire is probably in that direction because <reason>"

If the human player sends scouts, they send single units, and it works, so why can't the AI do that? Well, two reasons. One, the AI already learned to gather units into larger stacks because it's more efficient and it would be hard to make the two different goals coexist and two, because the AI does not intentionally hunt down those single unit scouts before they reach their territory - but the human player WILL hunt them down if they realize doing so can prevent the AI's larger armies from ever coming.

So yeah, AI scouting has been repeatedly asked for in the past but it's a can of worms I'm not opening, at least not for a while longer.

Quote:-Sharee's closest known city is 23 squares away.

The current adjacency rules count all cities in less than 25 distance and the amount of population average between the two "adjacent" cities.

For example if you have a pop 4 and a pop 6 city and they have a pop 2 and a pop 10 and each of these are closer than 25 tiles to each other while no other pair of cities is, then adjacency is (4+2)/2+(4+10)/2+(6+2)/2+(6+10)/2 = 3+7+4+8 = 22.
Adjacency needs to exceed 40 for the two players to be considered "in range" of each other, but if it exceeds one third of the sum you would get if every city was close enough to count, that also enables it.

So we can tweak two numbers here as necessary, the "25" range and the "40" shared population needed.

The map explore hotkey is Shift-O. (the keys are listed on the initial screen.)

In the save file you posted, Sharee is directly adjacent to your empire, it's the nearest continent to the east. It is somewhat far but this example shows why a range of 25 is probably correct - it generally covers all directly adjacent continents but not continents behind those.

You seem to have started at the center of the map, surrounded by 5 (6 if I include yellow) other adjacent players which is not very fortunate. Meanwhile the players on the edges of the map only have like 2-3 others in their range.
This isn't new, starting on the center of the map was a pretty large disadvantage even in 4 player CoM I games, but the perk is better terrain (no tundra) and easier access to exploration so it kinda balances out. In CoM II though, when lands are this big, having better access doesn't really matter.

Quote:he problem seems to be that Merlin kept mass producing halberdiers and swordsmen instead of any bowmen or shaman, despite having access to them all as Orcs.

Orc bowmen have production priority 9, Orc shaman have 10. Halberdiers have 27.
So once the AI has access to halberdiers, the chance to build bowmen becomes super low.
That does make sense considering bowmen are an entire tier weaker than halberdiers but yes, unfortunately halberdiers are vulnerable to flying/ranged attacks. This wasn't relevant in CoM I but it is now so maybe the AI production priorities could use some updates. It's sadly harder to work with the UNITS.INI file than the once used to set these in CoM I because I don't see all the priorities for a race at the same time.
Reply

(October 23rd, 2020, 19:14)Seravy Wrote: Looking at the save file, Sharee has one pact and one Alliance.
I accidentally provided the wrong file. This one has Sharee's Pact with Kali: https://we.tl/t-NH0PqcAh1S
Though as I noted before, it seems that they actually met each other much earlier somehow. Now that I used Shift-O, this makes even less sense, as Kali is 40+ squares away from either direction, yet they somehow met each other a year before I even discovered Sharee.

Also, I am not sure if you read my edited comments in my last post. Regarding Aura of Majesty, I looked into that as well, but shouldn't be capped at 6 relations for 13 wizards?
Sharee's relations with Jafar grew past that without a Pact, and very quickly too.

Another thing is that while Peaceful and Charismatic provide modifiers for acceptance, the former is on the Peaceful Wizard while Charismatic is on the other wizard. So while it would make sense for Sharee to be persuaded by requests from Ariel, I don't think it makes sense for Sharee to be persuaded to Alliance by Raven, because Sharee's personality is Aggressive, nor for Sharee to have initiated the alliance request at only 20 relations.


Quote:The increased relation between Merlin and Ariel looks abnormal. I will need the save file for the turn(s) the growth happens to be able to find what caused it. (relation changes should be logged btw)
Here they are: https://we.tl/t-y1WIKYpun3

Quote:Alliance based wars don't even have a formula though to add a penalty into. It's as simple as "my ally will always declare war on my enemy". This rule applies even if the human player asks for the war declaration but also between AIs.

How about adding these conditions for Lawful and Peaceful Wizards?

If you joined the war as a result of an ally's request, the following conditions are based on the entire alliance war's history.
1. If you (the alliance) have conquered more cities (or cities' total value) than the target (their alliance) since the war started, decline.
2. If there has not been an attack on a city, whoever attacked the other's units outside of their own territory first is considered the aggressor. If you are the aggressor, decline.
3. If there has been an attack on a city, whoever attacked a city first is now considered the aggressor. If you are the aggressor, decline.
4. If relation with target >40, decline.

If none of the above are met, accept.
If there is a decline, the Wizard should have a dialogue explaining why they declined (based on the above conditions).

Quote:The game doesn't have a UI for a negotiation with multiple wizards at the same time.

Here's one way you can do it relatively easily: Split the "Peace Treaty" option into "Peace Treaty (Alliance)" for war leaders and "Peace Treaty (Independent)" for everyone else.
The alliance war leader is the one who started the war in an offensive war, or whoever has the highest military rating in a defensive war.
If you don't want to go to the trouble of classifying offensive and defense wars (though I think it's a very worthwhile diplomacy feature), then whoever has highest military rating is always war leader.

For the AI, make the default request as Alliance, but the other wizard can reject it and ask for a separate peace only instead, or money/spells, just like one of the counteroffers in a normal negotiation.

If it is accepted, there is immediate peace between the whole alliance. If the offer was made to the opposing alliance's war leader, then it is peace between both alliances. If not, it only peaces out the offering alliance with whichever wizard was offered it.

At any time, non-war leaders have an extra diplomacy option with their war leader in which they ask the leader to request alliance peace. This increases the chance for the war leader to request peace. The war leader's dialogue should then provide an answer saying how likely it is that the enemy will make peace, or that the war leader wants the war to continue.

At any time, if non-war leaders make independent peace, they get a relations loss with everyone else in the alliance. War leaders should also be more eager to accept independent peaces to weaken the opposing alliance than an alliance peace.
Under this system, non-war leaders are not permitted to negotiate with other non-war leaders.

Quote:AI Scouting
I agree that generalized scouting is too complex, but I do think that the "trivial" solution is worth considering, at least with some additions. We just need a focused solution for war, and possibly for lairs/nodes, that looks like it's intelligent scouting, even if it's not.

First, is there no AI exploration at all in the current game? I know I see individual magic spirits and other random units moving around sometimes, so there must be something going on even if they don't explicitly scout. Also, given that Sharee and Kali met each other so early in my game, they must be doing something with an effect similar to scouting.

This is the simplest way I can think of to fake scouting:
-Let the AI know where all the targets are, as they do now.
-Scouts are sent to the highest priority targets based on the existing algorithm instead of the doomstacks.
-Until a scout has explored the target, it is not a valid target for doomstacks. This applies to both cities and lairs.
-If a scout dies within 3 squares of the target, it becomes a valid target for doomstacks anyways.
-If a scout dies more than 3 squares away from the target, send twice as many scouts there, up to a maximum of 8.

EDIT: Instead of maximum 8, just make it a valid target after 4 scouts die.

For a more in depth algorithm with some real scouting:

A) When the map is generated, make a list of distances between all continents.
B) Let the AI know where the closest land tiles are on each continent. (Closest to a fully explored continent, or the Fortress if there are none).
1) Send a flying/water unit to the closest continent's tile. Preferably magic spirit unless it has a cheap waterwalking normal unit like lizardmen.
2) Select the closest tile that is on the continent and not already explored, then go there. If there's a tie, choose the one that is ineligible for settling based on surveyor, otherwise if all are eligible, choose at random. Keep doing this until there are no more land tiles on the continent left unexplored.
3) If the magic spirit gets killed by anything, flag the continent and send twice as many scouts next time.
3b) If the spirit gets killed but there are no more unexplored tiles that can hold cities based on surveyor, stop sending scouts.
3c) If scout died on a water tile, let the AI send the next scouts to the closest continent that has unexplored tiles within 10 squares of that water tile. If there are none, go to the closest continent with any unexplored tiles anywhere.

Loop 1 through 3 (including bc), always sending 2 scouts for each one killed, up to a maximum of 8 per continent.

During a war, if a scout dies on a land or shore tile, temporarily flag the tile where the battle happened as the equivalent of a low priority city (such as 10 pop, 500 gold worth), unless there is already another flag within 3 squares.
If there no other cities known, they can send an offensive force there during war.
When additional scouts die within 3 squares of a flagged spot, the value of the temporary flag is raised each time.
Once the an offensive stack gets there remove the flag but store the value, if there are still no known cities, make the whole offensive stack explore like a scout, by going to the nearest unexplored tile.
If the whole stack dies, move the old flag to the new spot and raise the value even more, and repeat.

Aside from scouts getting killed, we can make a list of common sense reasons to think there is something there, and come up with a way to model it. The only other reasons I can think of are:
-there is a colored node aura in that direction
-there is discovered land which the F1 surveyor shows as too close to a city

Either way, we can do the same thing with flagging it down as a valid target for a stack during war. In the case of a node, remove the flag when the node is found.

Also, it's not true that the AI doesn't kill individual scouts right now. Sharee chased down a magic spirit of mine for 6-8 turns consecutively that was 20 squares away from me and 30 squares away from her cities. I don't know what algorithm caused that, but they definitely do kill individual units when they see it.

Even if they didn't, the player doesn't really have the ability to be hunting down scouts far away from their cities either. The AI should've long explored most of the map on higher difficulties by the time the player can afford to set up extraterritorial patrols like that, and frankly, it'd be very difficult to stop an onslaught of 8 scouts with the above algorithm, whereas it's easy for the higher difficulty AI to spam scouts with their massive bonuses and lowered casting skill, considering that the Lunatic AI can already spam multiple doomstacks before I even have a single doomstack myself.

I do not think it's realistic for the player to be setting up empire wide cordons during the exploration stage. At best, they can protect a limited high value area, which the above algorithm would still end up flagging as a target to be attacked. If they could set up massive patrols, the player is clearly playing at a high enough level that it's not really "abuse" anymore, but just a legitimate strategy.



Quote:adjacency rules
I think that rather than adjusting those numbers, it would make more sense to just add a requirement that there must be a valid discovered target as in the way volcanos work, regardless of whether you decide to implement scouting. Declaring war on somebody when you've never seen any of their cities just doesn't make sense, except for Chaotic Wizards maybe.
Reply

Quote:If you joined the war as a result of an ally's request, the following conditions are based on the entire alliance war's history.
1. If you (the alliance) have conquered more cities (or cities' total value) than the target (their alliance) since the war started, decline.
2. If there has not been an attack on a city, whoever attacked the other's units outside of their own territory first is considered the aggressor. If you are the aggressor, decline.
3. If there has been an attack on a city, whoever attacked a city first is now considered the aggressor. If you are the aggressor, decline.
4. If relation with target >40, decline.

Too complex. I mean, I can barely even understand it, but trying to play the game based on rules like this, no.

1 - sounds like the exact opposite of what we want. We want AI's to be efficient at killing each other so the side that's WINNING a war should keep the pressure on. Not declaring war if we're winning is contrary to the design.
2 - "own territory" is not a defined concept in the game.
3 - If I can't make my allies help in wars I start, what's the point having them? I mean assuming that I get lucky enough that I can avoid getting into unwanted wars.
Also, this is very easy to circumvent by provoking the enemy into them declaring the war first using spells like Corruption.

Quote:The alliance war leader is the one who started the war in an offensive war, or whoever has the highest military rating in a defensive war.

You seem to forget that alliances are not set in stone. The "war leader" might not even be part of the alliance next turn. In general this whole idea of doing diplomacy with an entire block of alliance doesn't work because there are no blocks of alliances as a concept. There only are individual alliances and even if A allies B and B allies C, A and C might be unrelated or even be at war, plus any of those alliances can break or a new one can be formed between any of them three and D.

At best we can make a simple rule like
"When a peace treaty is accepted, all of that wizard's allies with equal or lower total <insert metric here like military power> automatically also offer peace."
In this case the same should of course apply to the AI's own peace treaties as well.
So that means two additional new diplomacy interactions are necessary, because we can't force the human player's choices.

1. The AI asking the player for peace automatically if their ally made peace with the player, which has to happen during the player's turn
AND
2. When the player's ally accepts peace then the ally has to demand from the player that they make peace too.

These might also need consequences if refused but I'm not sure about that.

Peace is symmetric so both the side that requests and accepts it needs to be doing this with all other wizards allied with them with lower military rating.

The problem? It will break the system for the AI. And by that I mean, we end up having the peaceful player with the most alliances and military power (because they don't lose as much troops in wars). Being peaceful it's easy for the AI to make a peace treaty with the which also gives them one with everyone else. So this feature will drastically cut down the amount of fighting AI players can do between each other, at least in theory.

Quote:For the AI, make the default request as Alliance, but the other wizard can reject it and ask for a separate peace only instead, or money/spells, just like one of the counteroffers in a normal negotiation.
That's not how it works. Diplomacy between two AIs has no "offer" and "refusal". There is a shared formula that uses variables from the two players and if the formula rolls high enough then the Peace or other treaty is made. Basically the AI cannot refuse a treaty from another AI.

Anyway, I feel we are again going towards an overly complex feature when we don't even have the bare minimal testing data to even pinpoint what is the problem we are fixing, in fact I pretty much lost track of it entirely.

"There are bugs in the system that raise relation values"
"Aura of Majesty malfunctions"
"There are too many wars between AIs caused by alliances"
"There are too many alliances between AIs"
"The AIs don't kill each other quickly enough"
"There are too many wars declared on the human player caused by alliances"
"It's too hard to get out of an alliance based war after it already happened"

Until we have a clear answer from testing which of these is broken and which works correctly, it's way too early to try to design complex solutions. I mean if the relation values are buggy, that might be the only reason for too much alliances, or it might not be. Too much alliances might be a problem by themselves or might be through the war declaration mechanics only, etc.

Quote:First, is there no AI exploration at all in the current game? I know I see individual magic spirits and other random units moving around sometimes, so there must be something going on even if they don't explicitly scout
There isn't.
The unit is either heading towards a ship to board, or towards a stack gathering point. Magic Spirits can also head towards an unmelded node in addition to that.

Quote: Also, given that Sharee and Kali met each other so early in my game, they must be doing something with an effect similar to scouting.
Actually we should try to find out how they met each other because it sounds very much like a bug to me.
I'm not aware of anything that would cause units to go that far aside from astronomical low odds on continent selection or coincidences like a chain of good targets leading them further and further away each time.

Quote:I think that rather than adjusting those numbers, it would make more sense to just add a requirement that there must be a valid discovered target as in the way volcanos work, regardless of whether you decide to implement scouting. Declaring war on somebody when you've never seen any of their cities just doesn't make sense, except for Chaotic Wizards maybe.
Definitely no to this because it basically means if you kill their units on the sea they can't declare war. If you cordon your land away with a wall of triremes, same deal.
Reply

PS : about offense/defensive wars.

Who is the aggressor is a grey area, which is why I don't really like using that.

Like, I cast corruption on their city and they respond by declaring war. Is it my fault? Theirs for overreacting? But what if I used Corruption 25 times? What if I used it 25 times but that was 30 turns ago and the war is an indirect consequence though the low relation values? What if I used it only once 25 turns ago? What if they melded my node? Sank my floating island with my best hero using Great Unsummoning?
What if I declared war but they attacked my city before I could attack theirs?

There are no good answers to these questions, it's subjective who is the guilty party in most cases.
Reply

Quote:"Aura of Majesty malfunctions"

This one is confirmed, the wizard count in the formula only applied to the initial casting effect, the "per turn" amount was the old formula.

I wasn't able to reproduce the Ariel+Horus relation gain issue. I see two large increases in turns before the first save file but playing 10 or so turns didn't add any more.

In the logs the only large positive relation changes between any two AIs were the "generic AI positive" category which is basically what the AI gets as a replacement for not getting relation from tributing (which doesn't exist) and trading (which does but grants no relation).
Each time positive diplomacy rolls are checked, there is a 1/3 chance the AIs get a positive diplomacy event which adds 9-12 relation.
In theory that should trigger roughly once every 30 or so turns (depending on difficulty) but it's random so it's possible to trigger it any number of times on consecutive turns, even if super unlikely. Of course more pairs of wizards in the game means more chance to see it happen on the charts somewhere.

If too much AI alliances is the issue, adjusting this roll (either the chance or amount of REL gain) is one way to handle it, adjusting the formula for the alliance rolls themselves is another, and then there are other solutions we can consider beyond that as well.
But first I should run at least a few AI only test games to see how  much alliances there are after fixing the Aura of Majesty bug.
Reply

Alliance war resolution and war leaders is more of a feature request, so we can discuss that later in Milestone IV.

(October 24th, 2020, 00:40)Seravy Wrote: Too complex. I mean, I can barely even understand it, but trying to play the game based on rules like this, no.

1 - sounds like the exact opposite of what we want. We want AI's to be efficient at killing each other so the side that's WINNING a war should keep the pressure on. Not declaring war if we're winning is contrary to the design.
2 - "own territory" is not a defined concept in the game.
3 - If I can't make my allies help in wars I start, what's the point having them? I mean assuming that I get lucky enough that I can avoid getting into unwanted wars.
Also, this is very easy to circumvent by provoking the enemy into them declaring the war first using spells like Corruption.
Those rules are meant to apply only to Peaceful and Lawful Wizards, they shouldn't be eager to help in conquests based on their personality. The price of being easy to ally is to be hard to call into offensive wars. How is own territory is not a defined concept? It clearly is, based on the within 2 tiles rule of Wizard's Pacts.

Quote:There isn't.
The unit is either heading towards a ship to board, or towards a stack gathering point. Magic Spirits can also head towards an unmelded node in addition to that.
I don't understand how this is possible, given that in my latest new game my magic spirits are very clearly being chased by random individual gargoyles in the middle of nowhere, and there's no other reason for them to even be there, unless they started targeting my units from many squares away, which you also said was not possible because the AI doesn't kill scouts. How else can their units do this?


Quote:Definitely no to this because it basically means if you kill their units on the sea they can't declare war. If you cordon your land away with a wall of triremes, same deal.

That seems like an easily solvable problem. If the player and AI has had enough battles, they become valid target for war, regardless of there being valid city targets. The point is to prevent long distance wars that the AI shouldn't be getting in. If there is clearly a lot of battling happening because the player is killing their units, then a war is reasonable.
E.g. If there's been at least 3 battles in the last half year, war is allowed. If you use the fake scouting algorithm I suggested above, there should be plenty of scouts being sent and enough battles to trigger this.
Quote:I wasn't able to reproduce the Ariel+Horus relation gain issue.
Were you looking at Ariel and Merlin? Those were the two with the issue. You could also try starting in the middle? I provided the earliest save from when their relation started to grow, but it kept growing for a year, so any point in between might offer more clues.
Reply



Forum Jump: