AI in Heroes of Might and Magic 5 - Nival principles
- MistWeaver
- Wraith
- Posts: 1277
- Joined: 28 Feb 2006
- Location: Citadel of Frosts
AI in Heroes of Might and Magic 5 - Nival principles
So .. it taken from http://dtf.ru/articles/read.php?id=41841
Read and cry my fellow companions ... all I can say.
Also I would like to hear JJ coments on that, 'cause I never saw him not agreeing with anything that nival does.
This is an article, based on lecture by lead AI developer for H5.
There are 7 points in it. But only first two are realy intresting because they speak of Nival's overall aproach to AI developing while others 5 are just about developing practices.
Im bringing major translation of first 2 parts.
Major AI principles :
1) Surrender to player gracefully.
Wisdom that learned nival's programmers from designers sounds like this:
The main task for AI is not to win, but to surrender (lose) gracefully.
Main purpose of the game - to entertain human, please him. And the human likes to win, he likes to feel himself more superior, even in comparison with electronic blockhead. Therefore AI, that works in game industry as well, must show some resistance in the begining, and then - lose.
2) If not caught - not a thief (trans. note: its a russian proverb)
Should AI cheat ? - ideally no. But even creating AI that not wins, just resists - is a very complicated task. Therefore it happens that one needs to use roundabout roads to make AI more tougher
There is nothing bad in it. Its unnecessary to create a worthy opponent. Making an illusion of one - is quite enough. And if you cheat while not being red-handed - you are riding high.
In the end I would like to make a small poll. Two options.
Read and cry my fellow companions ... all I can say.
Also I would like to hear JJ coments on that, 'cause I never saw him not agreeing with anything that nival does.
This is an article, based on lecture by lead AI developer for H5.
There are 7 points in it. But only first two are realy intresting because they speak of Nival's overall aproach to AI developing while others 5 are just about developing practices.
Im bringing major translation of first 2 parts.
Major AI principles :
1) Surrender to player gracefully.
Wisdom that learned nival's programmers from designers sounds like this:
The main task for AI is not to win, but to surrender (lose) gracefully.
Main purpose of the game - to entertain human, please him. And the human likes to win, he likes to feel himself more superior, even in comparison with electronic blockhead. Therefore AI, that works in game industry as well, must show some resistance in the begining, and then - lose.
2) If not caught - not a thief (trans. note: its a russian proverb)
Should AI cheat ? - ideally no. But even creating AI that not wins, just resists - is a very complicated task. Therefore it happens that one needs to use roundabout roads to make AI more tougher
There is nothing bad in it. Its unnecessary to create a worthy opponent. Making an illusion of one - is quite enough. And if you cheat while not being red-handed - you are riding high.
In the end I would like to make a small poll. Two options.
I mostly agree with the two points presented here. First and foremost, the AI's job is to lose the game...on the NORMAL difficulty level. A good AI provides an ebb and flow of power such that the game is exciting to play. In the end, though, the human player should come out on top. Ideally, you win consistently but you have to work hard for it (or at least feel like you did). This is why Heroes 2 and 3 are still a lot of fun to play against the computer. The AIs are nowhere near comparable to a human, but they play well enough that when you inevitably win, you feel like you've earned it.
On to the subject of cheating. If the AI silently cheats and the game is more fun because of it, then cheat away. Example: the Heroes 2 AI could see the entire map. This puts the player on defense because the AI pounces on anything you leave undefended for too long. It is by no means a game-breaker for me. I still win, but it keeps me on my toes. Now for a bad example: the Heroes 5 AI. From what people have said, it either produces hordes of creatures out of thin air or is preprogrammed with huge armies for you to deal with at predetermined intervals. Whatever the truth is, the AI is *not* playing the same game. That's unfair.
Given all this, I think AI development needs to be an ongoing process. The developers need to teach the AI to react to new tactics as players' skill increases. They should constantly strive to make the AI behave more like a human, while at the same time making it cheat less.
On to the subject of cheating. If the AI silently cheats and the game is more fun because of it, then cheat away. Example: the Heroes 2 AI could see the entire map. This puts the player on defense because the AI pounces on anything you leave undefended for too long. It is by no means a game-breaker for me. I still win, but it keeps me on my toes. Now for a bad example: the Heroes 5 AI. From what people have said, it either produces hordes of creatures out of thin air or is preprogrammed with huge armies for you to deal with at predetermined intervals. Whatever the truth is, the AI is *not* playing the same game. That's unfair.
Given all this, I think AI development needs to be an ongoing process. The developers need to teach the AI to react to new tactics as players' skill increases. They should constantly strive to make the AI behave more like a human, while at the same time making it cheat less.
- Lady Farquad
- Scout
- Posts: 179
- Joined: 28 Jun 2006
- Location: Hispanic heaven
Re: AI in Heroes of Might and Magic 5 - Nival principles
That entire article is nonsense (I am Russian so I can read it). Sounds like we (players) should feel sorry for them (developers) being put in tough conditions and being unable to make a good AI. Bulls..t. I pay my money and I don't care why then couldn't make a good one in 2.5 years of development.
On the topic, yes I totally disagree with the approach. Cheating is never good... Why tell us about using cheats at all???
Overall, one disappointment after another... When will it end?
On the topic, yes I totally disagree with the approach. Cheating is never good... Why tell us about using cheats at all???
Overall, one disappointment after another... When will it end?
Nival are just a bunch of stupid, idiotic, no good, morons... and I might add amators, wasted son's of *****, un-proffesionnal losers... and the list might continue but I fear the mods will erase this post...
Hell.. no wonder the game is so lame.. because there are LOSERS(that's right losers with all capital letters) that are producing it... enough said...
What the hell... AI should be the best they can do... I have the impression they gave this reasoning to cover their incapacity to come up with a better AI. I mean ok... on normal I get it... you should win... but on harder difficulties it should be hard to win... a real challenge, one should train with the AI for matches against human players, and no... AI shouldn't cheat... If you want to give someone a nice experience make it similar to playing to a human being...
WTF... I mean we're all passionate fans here... not just another casual player... For the casual player who likes to win you have the normal difficulty.... But for us, super-hardcore-fans that used to count every square for hours in Heroes 3 or know by heart any little strategy in Heroes 4 I guess a cheating AI is just not enough... we want a challenge... at least I want it... I want a really hard AI which I can anticipate like a human being and not wonder how the f!*k he got those archangels in week 3 when I still have only lvl 5 creatures...
Hell.. no wonder the game is so lame.. because there are LOSERS(that's right losers with all capital letters) that are producing it... enough said...
What the hell... AI should be the best they can do... I have the impression they gave this reasoning to cover their incapacity to come up with a better AI. I mean ok... on normal I get it... you should win... but on harder difficulties it should be hard to win... a real challenge, one should train with the AI for matches against human players, and no... AI shouldn't cheat... If you want to give someone a nice experience make it similar to playing to a human being...
WTF... I mean we're all passionate fans here... not just another casual player... For the casual player who likes to win you have the normal difficulty.... But for us, super-hardcore-fans that used to count every square for hours in Heroes 3 or know by heart any little strategy in Heroes 4 I guess a cheating AI is just not enough... we want a challenge... at least I want it... I want a really hard AI which I can anticipate like a human being and not wonder how the f!*k he got those archangels in week 3 when I still have only lvl 5 creatures...
Last edited by okrane on 24 Oct 2006, 05:38, edited 1 time in total.
- Sir_Toejam
- Nightmare
- Posts: 1061
- Joined: 24 Jul 2006
Russian Proverb?2) If not caught - not a thief (trans. note: its a russian proverb)
Should AI cheat ? - ideally no. But even creating AI that not wins, just resists - is a very complicated task. Therefore it happens that one needs to use roundabout roads to make AI more tougher
There is nothing bad in it. Its unnecessary to create a worthy opponent. Making an illusion of one - is quite enough. And if you cheat while not being red-handed - you are riding high.
really?
One, I'd really like to know if this is a common Russian Proverb
Two, it's certainly not unique to Russians; I see this attitude all too often everywhere.
"It's not a crime if you get away with it"
anywho, it's a bit OT, but I am a bit curious if there is a pervasive attitude in Russia along these lines?
Ariyethra? Payar anjaazhi.
* How much rice you have? I have enough beans.(translation)
- Malayalam proverb
this proverb is known throughout history to have been studied by scholars all over the world to deteriorate the inscrutability of the reasons why it is called a proverb, while, de facto, it may seem for someone unfamiliar with the entire Malayalam ethnic dogmas as a simple communication between people included in psychological competition based on edible raw materials. yet a devoted studier may aknowledge the various hidden meanings behind this sentence, eg the hint to the passiveness of the one being subjected with this proverb, which come clearer when you notice that the sayer of the proverb offers a trade to the subject, not the other way round, thus demonstrating his superiority.
btw i voted NAY.
* How much rice you have? I have enough beans.(translation)
- Malayalam proverb
this proverb is known throughout history to have been studied by scholars all over the world to deteriorate the inscrutability of the reasons why it is called a proverb, while, de facto, it may seem for someone unfamiliar with the entire Malayalam ethnic dogmas as a simple communication between people included in psychological competition based on edible raw materials. yet a devoted studier may aknowledge the various hidden meanings behind this sentence, eg the hint to the passiveness of the one being subjected with this proverb, which come clearer when you notice that the sayer of the proverb offers a trade to the subject, not the other way round, thus demonstrating his superiority.
btw i voted NAY.
@okrane
Thank you so much,I think you covered all I was going to say.That's both pathetic and disappointing.And Nival has been saying in how difficult a position they were,their efforts,blah,blah,blah.What was Ubi thinking?I sincerely hope they didn't know Nival's mindset.Even if not it's hard to think highly of them as far as H5 goes.
Thank you so much,I think you covered all I was going to say.That's both pathetic and disappointing.And Nival has been saying in how difficult a position they were,their efforts,blah,blah,blah.What was Ubi thinking?I sincerely hope they didn't know Nival's mindset.Even if not it's hard to think highly of them as far as H5 goes.
I, for one, am dying to find out what colour they paint Michael's toenails.
- Metathron
- Metathron
- ThunderTitan
- Perpetual Poster
- Posts: 23271
- Joined: 06 Jan 2006
- Location: Now/here
- Contact:
Re: AI in Heroes of Might and Magic 5 - Nival principles
It's actualy A thief that isn't caught is an honest merchant. And it definatly wasn't supposed to be used like that.MistWeaver wrote: 2) If not caught - not a thief (trans. note: its a russian proverb)
I agree with the first one, but there's nothing gracefull about the rather obvious way the H5 AI cheats. Especialy on normal.
@Sir_Toejam
No, it's an Eastern Europe thing.
Disclaimer: May contain sarcasm!
I have never faked a sarcasm in my entire life. - ???
"With ABC deleting dynamite gags from cartoons, do you find that your children are using explosives less frequently?" — Mark LoPresti
Alt-0128: €
I have never faked a sarcasm in my entire life. - ???
"With ABC deleting dynamite gags from cartoons, do you find that your children are using explosives less frequently?" — Mark LoPresti
Alt-0128: €
- Jolly Joker
- Round Table Hero
- Posts: 3316
- Joined: 06 Jan 2006
This is a pretty polemic poll with pretty polemic posts. You should face some facts.
There is no way you can make an AI that can beat a human playing under the same condition than a human IN A GAME LIKE HEROES. Sure, you can create an AI that will beat a human in a game where you have to add or multiply high numbers, but in a game like Heroes? If it was possible, you could easily "teach" a human how to play (after you all you can teach a pc) as well as the AI which would lead to the human again playing better and beat the AI because a human can lear, but the AI CANNOT
The reason for this is simple: An AI has to be programmed in a "general" way: it must always and under all circumstances be able to do something, so all "special" cases must be generalized; the strength of a human is to see the special aspect of each situation, NOT generalizing.
That means, an AI needs advantages if it is to be a challenge.
That leaves basically TWO questions:
1) What kind of advantages ("cheats") should an AI get?
2) Should the AI be programmed to emulate "human play" and if so, how far should this go.
1) This is highly debatable and for me it's more a question of liking than anything else. Me, I like a cheating AI because I like the feeling to beat a cheater. I think, here everyone has their likings and dislikings and those have been discussed in other threads.
2) This seems to be a more important point here under this thread. I think, that the phrasing is already an illusion. What does "emulating human play" exactly mean? I mean, IF the AI is emulating "human play", it can do it only in a very stupid way: "Aww, the AI always does the same: it goes for X, then Y, builds A then B and generally does C". I think, to be good the AI has to be what it is: the AI. It can do things the human players cannot do and sucks in things which are easy for humans. It's the AI, a dogbrain, very limited in its creativity as in none there. Another point is, there is no human play as such. After all I have read about this game there is a lot of things you can do, depending on map, difficulty, town and situation. You don't have to do things the same way. Doing it in an abstract way doesn't help: always doing it the best way is not possible for the AI because this makes it necessary to identify the things that make a situation special.
So how WOULD a human play? How many resources would you collect, how many dwellings build until you attack? Depends on the situation: you might go early for an opponent, but you might play defensively as well.
I think, there is no telling how a human will play a map. Humans might play them any way they like. So emulating human play actually means playing it in no specific way at all except having an idea how to win.
That means the AI should play the AI's way most of the time.
There is no way you can make an AI that can beat a human playing under the same condition than a human IN A GAME LIKE HEROES. Sure, you can create an AI that will beat a human in a game where you have to add or multiply high numbers, but in a game like Heroes? If it was possible, you could easily "teach" a human how to play (after you all you can teach a pc) as well as the AI which would lead to the human again playing better and beat the AI because a human can lear, but the AI CANNOT
The reason for this is simple: An AI has to be programmed in a "general" way: it must always and under all circumstances be able to do something, so all "special" cases must be generalized; the strength of a human is to see the special aspect of each situation, NOT generalizing.
That means, an AI needs advantages if it is to be a challenge.
That leaves basically TWO questions:
1) What kind of advantages ("cheats") should an AI get?
2) Should the AI be programmed to emulate "human play" and if so, how far should this go.
1) This is highly debatable and for me it's more a question of liking than anything else. Me, I like a cheating AI because I like the feeling to beat a cheater. I think, here everyone has their likings and dislikings and those have been discussed in other threads.
2) This seems to be a more important point here under this thread. I think, that the phrasing is already an illusion. What does "emulating human play" exactly mean? I mean, IF the AI is emulating "human play", it can do it only in a very stupid way: "Aww, the AI always does the same: it goes for X, then Y, builds A then B and generally does C". I think, to be good the AI has to be what it is: the AI. It can do things the human players cannot do and sucks in things which are easy for humans. It's the AI, a dogbrain, very limited in its creativity as in none there. Another point is, there is no human play as such. After all I have read about this game there is a lot of things you can do, depending on map, difficulty, town and situation. You don't have to do things the same way. Doing it in an abstract way doesn't help: always doing it the best way is not possible for the AI because this makes it necessary to identify the things that make a situation special.
So how WOULD a human play? How many resources would you collect, how many dwellings build until you attack? Depends on the situation: you might go early for an opponent, but you might play defensively as well.
I think, there is no telling how a human will play a map. Humans might play them any way they like. So emulating human play actually means playing it in no specific way at all except having an idea how to win.
That means the AI should play the AI's way most of the time.
- MistWeaver
- Wraith
- Posts: 1277
- Joined: 28 Feb 2006
- Location: Citadel of Frosts
Kristo wrote:I mostly agree with the two points presented here. First and foremost, the AI's job is to lose the game...on the NORMAL difficulty level.
Well, do you see there any word about AI which plays real at "heroic" ? I guess no. So why do you agree ?
Kristo wrote: On to the subject of cheating. If the AI silently cheats and the game is more fun because of it, then cheat away. Example: the Heroes 2 AI could see the entire map.
IMO:
Heroes2: Ability to see entire map - is "ok" cheating.
Heroes5: 10k gold every day - is not "ok"
unfair AI fight vs neutrals and other AI - is not "ok"
AI could get a boost to compensate for the lack of imagination and if it turns out that it is to easy to beat, but first of all they AI must play its very best... and the AI itself must be the best a team of programmers can develop... that's what I was saying... hiding behind phrases like "it should please the player" and all... prooves that programmers that develop the AI are really limited and that because they can't come up with anything better they settle in giving a huge boost to the AI...
So first make a really good AI(coz I'm sure this one can be greatly improved)... and then we'll talk about other things...
So first make a really good AI(coz I'm sure this one can be greatly improved)... and then we'll talk about other things...
- ThunderTitan
- Perpetual Poster
- Posts: 23271
- Joined: 06 Jan 2006
- Location: Now/here
- Contact:
Oh for crying out loud. There is a way to make the AI play good enough to defeat medium level players without cheating. It would just take alot of work. Now after getting better at the game a human should be able to defeat the AI coz he can adapt. But that doesn't mean that the AI should just cheat away at normal difficulty in order to keep up with a barely skilled oponent.Jolly Joker wrote:There is no way you can make an AI that can beat a human playing under the same condition as a human IN A GAME LIKE HEROES.
There is a reason why there are different dificulty levels. The AI should only get to cheat on the higher then normal levels, and even then not by that much.
IMO:
Lower then normal - player gets some advantages;
Normal - no advantages either way;
Higher then normal - AI gets some advantages;
Disclaimer: May contain sarcasm!
I have never faked a sarcasm in my entire life. - ???
"With ABC deleting dynamite gags from cartoons, do you find that your children are using explosives less frequently?" — Mark LoPresti
Alt-0128: €
I have never faked a sarcasm in my entire life. - ???
"With ABC deleting dynamite gags from cartoons, do you find that your children are using explosives less frequently?" — Mark LoPresti
Alt-0128: €
@JJ
Damn straight it is! What facts?The fact is that it is only better than the one H4 had and that not a feat.What does the AI have to do with a human's playstyle?It can't reach that level but that's no excuse of making a less than mediocre AI according to the already existing standards.Nival clearly took the cheesy way out(with the one of the worst excuses I've ever heard) and tried to correct this mistake with another one.The fact that most people hate this kind of cheating should give a hint.The AI is supposed to be challenging and try to eliminate you not just resist.And no an early rush that leaves it open is not the way to go and it certainly isn't fun.
Damn straight it is! What facts?The fact is that it is only better than the one H4 had and that not a feat.What does the AI have to do with a human's playstyle?It can't reach that level but that's no excuse of making a less than mediocre AI according to the already existing standards.Nival clearly took the cheesy way out(with the one of the worst excuses I've ever heard) and tried to correct this mistake with another one.The fact that most people hate this kind of cheating should give a hint.The AI is supposed to be challenging and try to eliminate you not just resist.And no an early rush that leaves it open is not the way to go and it certainly isn't fun.
I, for one, am dying to find out what colour they paint Michael's toenails.
- Metathron
- Metathron
- Jolly Joker
- Round Table Hero
- Posts: 3316
- Joined: 06 Jan 2006
Sorry, but that's ridiculous. You seem to think that Heroes players are braindead idiots.ThunderTitan wrote: But that doesn't mean that the AI should just cheat away at normal difficulty in order to keep up with a barely skilled oponent.
There is a reason why there are different dificulty levels. The AI should only get to cheat on the higher then normal levels, and even then not by that much.
- ThunderTitan
- Perpetual Poster
- Posts: 23271
- Joined: 06 Jan 2006
- Location: Now/here
- Contact:
And that's only cause it get's all them resources for nothing.Elvin wrote:@JJThe fact is that it is only better than the one H4 had and that not a feat.
Disclaimer: May contain sarcasm!
I have never faked a sarcasm in my entire life. - ???
"With ABC deleting dynamite gags from cartoons, do you find that your children are using explosives less frequently?" — Mark LoPresti
Alt-0128: €
I have never faked a sarcasm in my entire life. - ???
"With ABC deleting dynamite gags from cartoons, do you find that your children are using explosives less frequently?" — Mark LoPresti
Alt-0128: €
By the way, according to the article, in the beginning Nival had proper AI, but because of frequent game design and gameplay changes, the first AI was broken near the end of Heroes V development. So, they had to make it again, this time the AI was not made to play against the player, but just look like its playing.
I can't stand the AI cheating. I play mainly on hard with the Academy so the AI cheating leaves me at a huge disadvantage.
I agree the AI should be given perks, but I would limit it to having better starting resources, not bottomless resources. Also a medium size Haven army should NOT be able to defeat a HORDE of Archdevils with no casulties.
You can't have a perfectly human AI, but you can't just cut away all nonmilitary based tactics. I for one want to see the AI suffer if I flag one of their mines just as much as I would. None of this build three huge armies really quickly to blitz me. And no giving up after awhile when they could put up a huge fight.
I agree the AI should be given perks, but I would limit it to having better starting resources, not bottomless resources. Also a medium size Haven army should NOT be able to defeat a HORDE of Archdevils with no casulties.
You can't have a perfectly human AI, but you can't just cut away all nonmilitary based tactics. I for one want to see the AI suffer if I flag one of their mines just as much as I would. None of this build three huge armies really quickly to blitz me. And no giving up after awhile when they could put up a huge fight.
OH MY DEAR GOD....Eternor wrote:By the way, according to the article, in the beginning Nival had proper AI, but because of frequent game design and gameplay changes, the first AI was broken near the end of Heroes V development. So, they had to make it again, this time the AI was not made to play against the player, but just look like its playing.
I won't say anything else... because it's not yet past midnight....
I think it is possible to make a quality AI for a game like Heroes. It just takes a lot more time than Ubisoft is willing to let Nival spend on it. Look at Galactic Civilizations 1 and 2. GalCiv is at least on par with Heroes in terms of complexity, but GalCiv's AI is leaps and bounds ahead of the AI in Heroes 5. Their AI is constantly being upgraded by the developers. As players post exploits and tactics on the game forum, the developers upgrade the AI to react.Jolly Joker wrote:There is no way you can make an AI that can beat a human playing under the same condition than a human IN A GAME LIKE HEROES. Sure, you can create an AI that will beat a human in a game where you have to add or multiply high numbers, but in a game like Heroes? If it was possible, you could easily "teach" a human how to play (after you all you can teach a pc) as well as the AI which would lead to the human again playing better and beat the AI because a human can lear, but the AI CANNOT
BTW, can someone post a translation of the rest of the original article so non-Russian speakers can read it?
Who is online
Users browsing this forum: No registered users and 2 guests