|
|
|
 |

December 20th, 2000, 08:53 PM
|
Corporal
|
|
Join Date: Dec 2000
Location: San Diego, Ca, USA
Posts: 61
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Re: Wanted: Cheating AI
You can consider it a flame or a learning experience, the choice is yours. I'd prefer the latter, frankly. I have a long term career working in the field of planning, scheduling, and simulation. This stuff is HARD, particularly if the AIs are deprived of information. One should not sweep programmers under the rug of being "lazy" if they put cheats into their game A.I. It's simply not correct.
I should like to point out in passing that you'd be less subject to being "flamed" if you were less free and easy dealing out insults to people you don't know working in a problem domain that you haven't worked in.
C//
|

December 20th, 2000, 11:23 PM
|
 |
Lieutenant General
|
|
Join Date: Dec 2000
Posts: 2,555
Thanks: 5
Thanked 3 Times in 3 Posts
|
|
Re: Wanted: Cheating AI
quote: What I'm trying to say here is that sweeping this all under the rug of "lazy programmers" can only be spoken by someone with no knowledge of AI programming at all.
This is supposed to be my learning experience???
quote: I should like to point out in passing that you'd be less subject to being "flamed" if you were less free and easy dealing out insults to people you don't know working in a problem domain that you haven't worked in.
So far you have been talking down on me and insulted ME (read the first quote to refresh your memory). I have NOT, on the other hand, insulted you back like most people would do in my situation. So it doesn't look like you are the right person to tell me NOT to insult other people. I didn't insutlted YOU to justify such a reaction, and if you really wanted to 'teach' me something, you would do it in more civilized manner. This way it only looks like you were using me to lay off some of your frustrations and I don't like it.
quote: IMO cheating AI as a standard AI in the game is just a product of laziness of programmers.
True. It may have sounded like an insult, but then again, as you said, it could be a learning experience too.
quote: One should not sweep programmers under the rug of being "lazy" if they put cheats into their game A.I. It's simply not correct.
First of all, I am entitled on my own opinion. If you are not sharing that opinion, you can make an argument using some facts. I didn't see any arguments that I was wrong and 'simply not correct' won't do. I also didn't insult ALL the programmers, or even all programmers who work on AI development for that matter. Also, for your knowledge, I am certainly not the only one with that opinion too. Read other forums and Posts, also read some reviews and previews. Even some journalists were using exactly the same expression on that matter. You will have to do find MUCH better reason to justify your reaction.
You should know that I am not some teenager who knows nothing about the things he talks about. I will NOT be flashing all my knowledge on programming or computers in general like you did but try, for the Last time, to hear this out. I do know that it is HARD to do it. But also you should know that when somebody makes some product that requires something, one should put an effort to finish it right.
And gaming industry requires good AI simply because customers can't always play multiplayer, and have to use it to get some entertainment. HARD is not an argument. Argument is that is has to be done. Entire teams of programmers are assigned to work on programming good AI. So there is NO EXCUSE when some company decides to put an effort on flashy graphics and ignores the development on AI. They have right to do it though, but I have right to call them for what they are (and I am been nice here), weather you like it or not.
Also Last argument on this matter. SE4 is most likely the most complex strategic game on market. 2 programmers have done it. And their AI doesn't cheat.
If you have any valid argument on this, I have open ears and I am always ready to learn something new. But if you plan on insulting me again, skip it (I certainly will). I would prefer first one, since you claim that you work in that area. This post is about cheating AI anyway and hearing something more about it is always welcome.
|

December 21st, 2000, 12:33 AM
|
Corporal
|
|
Join Date: Dec 2000
Location: San Diego, Ca, USA
Posts: 61
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Re: Wanted: Cheating AI
One of the reasons it can be very difficult to design an AI that doesn't at least cheat with information is that human beings have intuition when computer programs do not. In other words, they have a vast array of associations to past experience which allow them to relate similar experiences to the new ones. While the various programmers involved with the design of a game may have some ideas of what the strategies ought to be, with complex games there will often be many oversights -- local maxima and minima in the game space if you will -- which will only become clear as the game is played by many human beings with different optimization strategies. Cheating A.I.s are not an issue of programmer laziness: rather, they are a recognition that the state of the art of the understanding of intelligence itself is really only in its infancy and that the capabilities of computer hardware per se are still orders of magnitude too slow in order to affect the solutions which even understood AI approaches require.
Referring to programmers who use cheating A.I. as "lazy" is not only inaccurate but also fails to recognize that in some situations it can be a very good design choice (although, of course, its best to keep the cheats hidden from the players).
Take for example a human opponent. A human opponent might *guess* that his other human opponent would be likely to exhibit a certain pattern of behavior. The human would use past experience with similar context as a justification for reasoning that certain behaviors in certain contexts are likely. The job of implementing something even vaguely like this in a computer game is simply ENORMOUS and might well be beyond the accessible cpu power of the target machine in question. A perfectly valid alternative for the implementing programmer would be to randomly on some occasions give the computer opponent information about the human opponent that it otherwise wouldn't have. This would be a "simulated guess". It is also cheating.
It's not at all lazy. If anything, I'd call it clever.
C//
|

December 21st, 2000, 01:52 AM
|
 |
Lieutenant General
|
|
Join Date: Dec 2000
Posts: 2,555
Thanks: 5
Thanked 3 Times in 3 Posts
|
|
Re: Wanted: Cheating AI
Thanks Courageous. I really appreciate your Last post.  I mean it.
I think I didn't use the right expression, when I said 'cheating AI'. I should have clarified it much better. I was referring the AI that uses that cheating extensively in order to cover up bad design behind it. Most of the games I have seen (if not all) use some sort of cheating AI, and I don't find them to have bad AI. Just like you said, it is smart way to cover up for the advantages that human player has in comparison to the computer.
Now I see why you misunderstood me and I have to apologize, because it probably sounded like an insult to you. I just didn't expected it to be misinterpeded in such way, but I guess we all learn from our mistakes.
I do have some questions for you regarding the subject:
1) What methods are used to determine AI behavior in certain situations other than scripting?
2) I know that in chess AI uses its ability to process huge amount of information to decide its next move (the decision is based on points), so in that way it makes up for luck of human thinking ability (experience been one of them). I would like to know if that method used in chess programs only, or some designers use it for their projects too?
Again, thanks for that Last post.
|

December 21st, 2000, 01:54 AM
|
 |
Sergeant
|
|
Join Date: Oct 2000
Posts: 295
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Re: Wanted: Cheating AI
I really don't like cheating AI's - when I play a game, I want it to be challenging, but I also like it to be on even terms. Handicapping myself or giving the AI big advantages in order to make a challenging game doesn't appeal to me.
But given that, I'd say that #'s 4 and 6 shouldn't be considered AI cheating - if the data is available or can be derived, the AI can and *should* make use of it.
I also would be in favor of making certain information available to all players, if it would help the AI. ie: If the AI was able to make good use of the stats info from the "Scores" screen (such as if the AI used how much intel points an enemy is generating to decide how much if needs to put into intel/counter-intel to keep up), then I'd make the "show all players scores" standard instead of an option.
I also wouldn't mind seeing some of the game's rules and data changed in ways that might make things easier for the AI. For instance, the tactical AI is highly vulnerable to the shoot-and-run tactic. Going to a simpler combat model (say where shooting uses all remaining movement) or improving the combat model to fight that (say, by adding opportunity fire) would be ways to help the AI out without cheating.
If I HAD to accept cheating in some form, I'd probably prefer the AI to have bonus information over bonus resources.
To put my 2 cents in on the lazy programmer thing - in general, I disagree that it's laziness that's the cause for lousy or cheating AI's in games. I'd place the blame on 1) budget considerations and 2) lack of AI programmer expertise. What I mean is that programming a truly tough, non-cheating AI for a complex strategy game would be hard, and that translates to expensive, both cost- and time-wise. And since AI flaws are only visible to gamers after they've bought the game and played a while, it's much easier to skimp there than on, say, graphics. I fully believe it's possible to write a kick-butt non-cheating AI for a complex strategy game, but I don't think any developer's willing to budget for it.
As for #2, I'm not slamming game programmers - I just don't think many gaming companies hire programmers with their AI skills/knowledge in mind - I think there's more focus on graphics, animation, sound, and network programming skills. Writing good AI code is a skill like writing good netcode is, and the skill sets don't necessarily overlap, so if a game company isn't shopping for a good AI programmer, it's just luck if they happen to get one. (And even then it's back to the budget issue - if they won't spend the man-hours to test and fix the AI, it doesn't matter how good the programmers are.)
But then, of course, looking at Command and Conquer 2 (I haven't played RA2), I see a game they had several years to make, at a big-name big-budget developer, and it has virtually no improvements over it's predecessor...and I start wondering if it was laziness, too. :-)
|

December 21st, 2000, 03:32 AM
|
Corporal
|
|
Join Date: Dec 2000
Location: San Diego, Ca, USA
Posts: 61
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Re: Wanted: Cheating AI
"I was referring the AI that uses that cheating extensively in order to cover up bad design behind it".
---
The best way of putting it might be to say that "cheating AI" is often used to mask the fact that a legitimate non-cheating solution to the problem was not known by the programmer. This leaves open a wide variety of explanations, some of them being that they are "lazy" or "bad designers," but many of them being simply that the problem was really, really hard -- or that there weren't enough programmers on the team -- or that there just wasn't enough of a budget -- or that some marketing guy redirected the programmers from AI to eye candy.
C//
|

December 21st, 2000, 03:40 AM
|
Corporal
|
|
Join Date: Dec 2000
Location: San Diego, Ca, USA
Posts: 61
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Re: Wanted: Cheating AI
"But given that, I'd say that #'s 4 and 6 shouldn't be considered AI cheating - if the data is available or can be derived, the AI can and *should* make use of it. "
---
I personally believe you have chosen the best two ways for an AI to "cheat". In the game Imperialism II, I believe that they make use of both of these strategies and disguise them quite well. It's worthy of note that Imperialism II has to be one of the most difficult strategy games of all time. That game will bust your ***.
Note that #6 isn't an all-or-nothing affair. One can give an AI more information than it ought to have, but do it sparingly enough so that it doesn't look like it has perfect information.
Personally I don't find AI's which cheat over information to be offensive at all. That's just my opinion, though.
C//
|
Thread Tools |
|
Display Modes |
Hybrid Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is On
|
|
|
|
|