Skip to content

Posts from [2x2 Tournament] Double Up [SoD]

No ratings yet — be the first to rate!
#311
Auto-translated
Leader1
Once again, I don't have the source code, but it's obvious that the AI in Heroes was programmed to move towards the nearest stack (or the stack reachable in two turns), and the fact that it wasn't taught to ignore one fly and go for a larger stack can be attributed to laziness or the developers' skill level. But the fact that a unit under Berserk becomes completely uncontrollable, that the Berserk effect doesn't wear off, that the unit doesn't move, and that it behaves differently than expected – that's just a bug.

Is that the same for you? Well, lol, then what else is there to add.
I have studied the AI in combat by analyzing the executable file and fixed the Berserk bug. I can say that the difference here is not that big.
The thing is, the Berserk bug is not a coder's mistake (like a typo or inattention), but a mistake in the algorithm itself – some possible scenarios were not taken into account.
Such bugs are also difficult to fix: for example, fixing the issue where neutral creatures pass through walls (which is a result of the coder's inattention) takes about 20 lines of code, while fixing the Berserk bug takes about 250.

Regarding the possibility of the AI controlling individual units, it's hard to say whether it was intended or not (I think it wasn't), but the fact that the AI walks through fire walls without hesitation is definitely a bug/feature of the same kind as the Berserk bug: the AI has all the calculations for the danger of the fire wall, but they are used incorrectly.
In reply to Sav
#312
Auto-translated
Sav
I have thoroughly studied the AI in combat by analyzing the executable file and fixed the Berserker bug. I can say that the difference here is not that significant.
The thing is that the Berserker bug is not a coding error (like a typo or inattention), but an error in the algorithm itself – some possible scenarios have not been taken into account.
Such bugs are also difficult to fix: for example, fixing the issue where neutral creatures pass through walls (which is the result of a coder's inattention) takes about 20 lines of code, while fixing the Berserker bug takes about 250.

Regarding the possibility of controlling the AI with single units, it is difficult to say whether this was intended or not (I think it wasn't), but the fact that the AI passes through fire walls without hesitation is definitely a bug/feature of the same kind as the Berserker bug: the AI has all the calculations for the danger of the fire wall, but they are used incorrectly.

Very interesting. Tell me, was the initial design of the reaction to the fire wall supposed to only involve finding a way around it? For example, if Luna attacks with a single unit and completely blocks it with a wall, making it impossible to approach her without taking damage, I would defend and wait for her mana to run out instead of attacking. This is logical from the point of view of optimal losses. If, for example, you have to attack directly despite increased damage because otherwise you will take even more damage, then you can wait two turns. Or can't the AI think two moves ahead? :)
User Avatar
#313
Auto-translated
Do you want to see twice as many reports about losing on 11x difficulty?
User Avatar
#314
Auto-translated
I think that the AI's behavior is something that's best left untouched. It's designed so that it walks through walls – let it walk, chases gnomes in a line – let it chase. The AI doesn't care. But the berserker issue is a different kind of bug.
User Avatar
#315
Auto-translated
The g2 team is ready to play today between 10 and 11 PM Moscow time, according to the regulations.
#316
Auto-translated
Froll off
Very interesting, tell me, was the initial idea behind the reaction to the wall of fire only to find a way around it? For example, if the same Moon attacks with a single unit and completely blocks it with a wall, making it impossible to approach without taking damage, I would defend and wait for the mana to run out instead of attacking. This is logical from the point of view of minimizing losses. If, for example, you have to attack directly, despite the increased damage, because otherwise you will take even more damage, then you can wait two turns. Or can't the AI think two moves ahead?
It's hard to say exactly what the original idea was, but I think the AI has poorly set priorities: the danger of the wall is considered on par with various indirect dangers (standing in a pile under a fireball or hydra, standing within range of an enemy stack), which are often ignored (I think, primarily with the goal of preventing weak AI stacks from running away from the player and instead being killed). At the same time, the damage from the wall of fire is the most direct, and it should be taken into account at least as much as the damage from a retaliatory strike.
The AI cannot think two moves ahead (more precisely, in individual actions it may anticipate something, but in general - no), but it could treat the wall like a ditch: if it destroys a smaller percentage of HP than some fixed value, it should be ignored.
There are, of course, differences, but in principle, the main mechanism for calculating the danger of fire walls has been created (the AI always assesses the damage it will take if it stands on a particular hex), but it does not always work.
Dirty_Player
It seems to me that the AI's behavior is something that it shouldn't even try to do. It's designed so that it goes through walls - let it go, it runs gnomes after the serpent - let it run. The AI doesn't care. But with the berserker, it's a different story, it's a bug.
The situation is simply that the AI is a black box for players, so any of its shortcomings are easiest to attribute to "AI stupidity" (and in general, this is correct - they have no way of determining whether it is a bug or not), although in reality there are both obvious bugs and not so obvious ones, but still errors. With ordinary gameplay elements, everything is simpler - if it doesn't work as it seems it should, then it's a bug. In fact, the only thing I can say for sure is about the "developers' intention," and in this case, the AI with the wall of fire was probably intended to work in the same way as the berserker bug. This does not mean that if you fix one, you need to fix the other, it just means that one specific argument about the "developers' intention" is not correct here.
#317
Auto-translated
Thank you for the detailed response. Regarding fixing the AI bugs, for some reason, I think that if a poll were conducted about whether it's necessary to fix the AI's behavior regarding defending walls, the answer would be almost unanimous – no, it shouldn't be fixed. Firstly, because it would significantly nerf the Sylvan faction, and they wouldn't agree to that. Secondly, and most importantly, people have become accustomed to the AI as it is, and it has become part of the gameplay. I think few people would want to change anything here. Perhaps that's the right approach...
In reply to kalababa
User Avatar
#318
Auto-translated
kalababa
The g2 team is ready to play today between 10 and 11 PM Moscow time, according to the regulations.
The Fishes team, tired from yesterday's game against the Trolls team, and also busy with the M200 tournament today, is forced to request a postponement to the next weekend, as the schedule allows.
#319
Auto-translated
Phishes, such Phishes.
In reply to Sav
User Avatar
#320
Auto-translated
Sav
I have thoroughly studied the AI in combat by analyzing the executable file and fixed a bug related to the Berserker.

Hmm. Did I miss something? Where is this fix? In which version? Was it fixed in 3.48?
Сейчас балуюсь этим https://vcmi.eu/download/
За то что нейтралы не бегают за единичкой, для меня это уже стоит того
#321
Auto-translated
It is not included in the HD version, just like the fix for the neutral creatures' movement. But if the developer wants to include it in the HD version (of course, for the Berserker, he no longer wants to include the fix for the neutral creatures' movement), I will provide him with the code.
In reply to Frol off
User Avatar
#322
Auto-translated
Frol off

and I think few people want to change anything here. Perhaps that's right...
Regarding the Moon, we can still consider it, as magic units don't perform well on large maps, and it's the only exception. But the Berserker definitely needs to be fixed in Necropolis+.

And also, if there was a smart AI, I would only play against it.

Added after 40 seconds
Sav
It's not included in HD, just like the fix for the neutral units' pathing. But if Baratorch wants to include it in HD (Berserker, of course; he no longer wants to fix the pathing), I will provide him with the code.

Clear. Thank you. I hope Baratorch will reconsider.
Сейчас балуюсь этим https://vcmi.eu/download/
За то что нейтралы не бегают за единичкой, для меня это уже стоит того
In reply to Lider1
User Avatar
#323
Auto-translated
Lider1
And also, if there was a smart AI, I would only play against it.
Imagine, you're playing as Galtran and attack fast neutral creatures, like snakes. They start running around the battlefield to avoid you catching them, forcing you to retreat :D

Added 1 minute ago
Sav
It's not included in HD, just like the fix for the neutral creature pathing issue. But if Baratorch wants to include it in HD (naturally, the berserker fix, he doesn't want to fix the pathing anymore), I'll provide him with the code.
The neutral creature pathing issue is one of those bugs that doesn't bother anyone and can be considered a feature. But the berserker needs to be fixed 100%, just as long as fixing the berserker bug doesn't make it work differently :D
In reply to Lider1
#324
Auto-translated
Lider1
The Berserker definitely needs to be fixed in Necropolis +

I wasn't talking about the Berserker at all, only about the AI bugs in battles, which Sav mentioned :)
In reply to Dirty_Player
User Avatar
#325
Auto-translated
Dirty_Player
Imagine, you're playing as Galtran and attack fast neutral creatures, like snakes. They start running around the battlefield to avoid you, so you can't catch them and have to retreat :D

I fully understand that if such heroes existed, all the developed tactics, strategies, and tricks would become useless. And I would play such a game with great, immense interest. But unfortunately, I don't have a choice...

There's a project called vcmi (and the source code is available) that rewrites "Heroes from scratch," but the AI is so poor that it's not worth discussing. It plays at approximately the level of a pawn or a knight, compared to the original. The problem is that there isn't a strong programmer to implement a great AI.
Сейчас балуюсь этим https://vcmi.eu/download/
За то что нейтралы не бегают за единичкой, для меня это уже стоит того