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

Create an account  

 
New year, New Master of Magic! v1.5 fan patch

I just realized a nasty design flaw in diplomacy, in particular the Hostility variable.
Hostility is a martix of each wizard's intentions towards each other wizard.
It gets set to specific values during war, peace, etc which is fine.
However, when there is no treaty at all between the two wizards, every once in a while, the game runs a procedure which assigns a random new hostility level based on the current relation and random chance.
(see last paragraph in http://masterofmagic.wikia.com/wiki/Hostility )
The problem is this, the counter to time the shift in Hostility is a simple array, not a matrix. Each wizard only has one counter, not one for the relation to each other wizard. What this implies is any event that resets this counter to max for a wizard will delay their hostility shift to everyone else as well as the source.

An easy to understand example :
Wizard 3 is Maniacal and spams corruption on Wizard 2's territory, casting it at least once every 10 turns. Each time, relations shift and this resets Wizard 3's hostility timer. For the rest of the game, Wizard 3 is unable to become hostile towards Wizard 0,1, and 4 as well as wizard 2 whom will most likely provoke a declaration of war anyway.
Same happens if Wizard 3 is under attack due to a war (attacks also trigger a relation shift, even if the calculated effective change will be 0 from it).
If Wizard 2 casts Aura of Majesty instead, it will make Wizard 1,3 and 4 all unable to change their hostility level for the rest of the game because it reset

While this behavior is reasonable for a new war, new treaty, broken treaty, or new hostility level for retaliation against an incoming attack, in these cases the wizard probably is busy with adapting to the situation and has no reason to reevaluate their status with others for some time, also doing this every time anyone does anything to them is just making the entire hostility system dysfunctional.

Basically unless an AI wizard is bored to death, they won't attack without player provocation, ever, unless they decide to officially declare war.

Edit : RC12b is up, it removes the reset of the counter from diplomatic reaction triggers.
Reply

Seravy, I see on your site you have polls for combat AI.

I feel that if the AI is too intelligent in combat then battles will mostly be decided by whose army is stronger. The game will become more strategic and less tactical because you need to get more resources to create stronger armies instead of using tricks to survive overwhelming odds.

Exploiting the AI been part of the MOM experience since the beginning and thwarting this may reduce the charm and depth of the game.

For example, if flying units don't attack ground forces when they will die from it then it will be very hard to kill sprites. Usually I send several swordsmen and let them take the hits until the sprites ran out of ammo.

I think the combat AI should be set 1.31 mode except for stupid stuff like priests not casting heal. In 1.40n I had strong enemy melee units place themselves right beside my first striking calvary without attacking because they were chasing a weak hero.
Reply

(February 9th, 2016, 01:26)Rakir Wrote: I feel that if the AI is too intelligent in combat then battles will mostly be decided by whose army is stronger. The game will become more strategic and less tactical because you need to get more resources to create stronger armies instead of using tricks to survive overwhelming odds.

Exploiting the AI been part of the MOM experience since the beginning and thwarting this may reduce the charm and depth of the game.
yes that's something i also noticed with other games: if the AI is too good, the game may(!) become less fun. part of the game is finding tricks how to beat the AI. if it's too good, there's no trick, nothing to find out, less "game".
dance!
Reply

(February 9th, 2016, 01:26)Rakir Wrote: Seravy, I see on your site you have polls for combat AI.

I feel that if the AI is too intelligent in combat then battles will mostly be decided by whose army is stronger. The game will become more strategic and less tactical because you need to get more resources to create stronger armies instead of using tricks to survive overwhelming odds.

Exploiting the AI been part of the MOM experience since the beginning and thwarting this may reduce the charm and depth of the game.

For example, if flying units don't attack ground forces when they will die from it then it will be very hard to kill sprites. Usually I send several swordsmen and let them take the hits until the sprites ran out of ammo.

I think the combat AI should be set 1.31 mode except for stupid stuff like priests not casting heal. In 1.40n I had strong enemy melee units place themselves right beside my first striking calvary without attacking because they were chasing a weak hero.

I believe the game is complex enough that the AI will still play worse than the human player in many regards. There are new ways to exploit the new behaviors, for example if they don't attack you can use Mana Leak to make the owner lose a ton of mana crystals. I don't think flying units attacking was an exploit, it just was a plain dumb move from the AI's side, the player didn't need to do anything at all to take advantage of it.
Killing sprites is easy, you have Web in Nature, Flight in Sorcery, Black Sleep in Death, Chaos Channels in Chaos and ranged/breath/thrown attacks on units. Pretty much every race has a unit like that.

If the AI does end up being too strong, it's not too hard to make it dumber for lower difficulty, but the first priority should be to make sure it's not dumb unless it needs to be.
Reply

Mana Leak can only be used if you are playing black, and then only if you have the spell, and then it only drains 250 mana maximum. In fact, if a CP is being mana drained in this way, isn't it better for it to attack, no matter the combat odds?
Reply

(February 9th, 2016, 05:12)Tiltowait Wrote: Mana Leak can only be used if you are playing black, and then only if you have the spell, and then it only drains 250 mana maximum. In fact, if a CP is being mana drained in this way, isn't it better for it to attack, no matter the combat odds?
Sometimes yes, sometimes not. Depends on how much damage it can do in the combat with spells/ranged attacks and how much mana it can produce. Also, on how many combat turns you are having set as maximum.
Reply

Another movement bug - Wraiths now move with pathfinding/water walking on the overland map, not flying.
Reply

(February 13th, 2016, 16:13)spottedshroom Wrote: Another movement bug - Wraiths now move with pathfinding/water walking on the overland map, not flying.

That's intentional.
Noncorporeal movement is faster in all cases (except roads but I plan to change that because it causes other bugs, see below).
If a stack has more than one movement type, it uses the cheaper one, for example a mountaineer with swimming will move for 1 on mountains and 1 on swamps, always using the better option (I hope, never actually tested, but they do have both icons). It just happens that noncorporeal is always superior to flying.
From a more practical side of view, Wraiths could do that when stacked with any walking noncorporeal unit, so they already had the ability, it was just not possible to access it without that counterintuitive trick.
Form a realistic viewpoint, why would flying noncorporeal be slower than walking noncorporeal?

I don't have proof obviously, but I'm inclined to believe flight taking priority was a bug.

Which raises the question what about pathfinding + flight but...that actually makes sense. You can't find a faster path when you are already flying so pathfinding does not boost it. It's weird that it costs 1 though, honestly it should cost the same and does in CoM but this isn't a mod so I'm not touching it here. Pathfinding moving faster than flight is kinda stupid unless we argue that it's much harder to stay in the air and the unit needs to rest more often. Roads further complicate this because flying units can use them, but pathfinding which just is the same as everything being a road, they cannot. Arrgggh.

Noncorporeal+roads
This was mentioned in CoM's thread but I believe it also applies here.
A swimming pathfinding stack cannot use roads. This is a bug that is created by having no difference between actual noncorporeal and the individual abilities it grants.
The proposed solution is to allow noncorporeal, as well as swimming pathfinders to use roads. The reason is that it would fix the bug while creating minimal interference with gameplay, as noncorporeal units were already able to use roads if stacked together with anything that isn't noncorporeal.
...nevermind, I tried and couldn't do it.
Reply

I buy that flying non-corporeal units shouldn't be slower than non-flying ones, but also as you said, flying units shouldn't be slower than pathfinding ones. And most (all?) things that give flying also increase base movement speed, and it doesn't make sense for that to let them move over roads faster.

Ugh, the whole thing is a big mess. I don't really have an opinion on whether the new non-corporeal behavior is better or not, but I'm pretty sure it's impossible to really "fix" things without major modding. From a practical standpoint, it makes the very good Wraiths even better, but gives a much-needed speed boost to Shadow Demons.
Reply

(February 13th, 2016, 19:47)spottedshroom Wrote: but I'm pretty sure it's impossible to really "fix" things without major modding.
I 100% agree, which is why Caster of Magic exists. This isn't the only problematic feature in the game although it is probably the most illogical. Too bad I couldn't make noncorporeal use roads. Fortunately it only matters on enchanted roads anyway, the greater problem is the pathfinding lizardmen not being able to use them.
Reply



Forum Jump: