.com.unity Forums

.com.unity Forums (http://forum.shrapnelgames.com/index.php)
-   Space Empires: IV & V (http://forum.shrapnelgames.com/forumdisplay.php?f=20)
-   -   Wanted: Cheating AI (http://forum.shrapnelgames.com/showthread.php?t=14551)

Willgamer December 19th, 2000 09:53 PM

Wanted: Cheating AI
 
A search didn't reveal a direct hit on this, so in the interest of hearing a good discussion:

I want an AI that CHEATS!

Please try to consider the following points even as you launch your broadsides.....

* the term cheat is rather broad; is it:
1. giving the computer a headstart in the
pregame options.
2. giving 1 player (randomly, but usually
not the human) a sweet spot start.
3. looking (ala Shogun) at the human
player's move and reacting accordingly.
4. revealing via Reports screens much data
that is useless to humans, but great for
computers.
5. computer players ganging up on the
human player.
6. computer players access to human player
data that's blatantly obvious.
7. computer player access to human player
data that isn't obvious (ie. if you
can't discover cheating, is it?)
8. add your own ideas here.....

* is enjoying a game derived from the actual gameplay, your perception of how that gameplay was produced or both??????

After many years of strategy gaming, I now prefer #7. As long as I can't readily detect cheating, I'll take the best possible gameplay. Yes I know the bright bulbs out there will eventually tell me how the computer did it, but until then, I paid for a ticket, so just entertain me!

Anyone else for a little less honest AI?



Danny December 19th, 2000 10:07 PM

Re: Wanted: Cheating AI
 
What I'd like is to make a super empire with everything at max, and all the racial bonus.

------------------
I AM Canadian.

Daynarr December 19th, 2000 11:43 PM

Re: Wanted: Cheating AI
 
I have played Red Alert II recently and was really PO by AI there. http://www.shrapnelgames.com/ubb/images/icons/icon8.gif Man, that AI cheats big time, covering almost all points you mentioned there, and more.
IMO cheating AI as a standard AI in the game is just a product of laziness of programmers.
However, cheating AI as a option can be a good addition to the game like SE4 because it will provide more challenge to the more advanced players (like playing on impossible level in MOO2). Maybe adding some new options for cheating (in SE3 you could select how many planets and what tech level AI has in the start) would be welcome addition to the game and make it more interesting and longer Lasting.

Instar December 20th, 2000 03:34 AM

Re: Wanted: Cheating AI
 
It is possible to give the AI bonuses, or have it gang up. Look for these options in the game setup. I know for certain you can give the AI bonuses and make it AI vs Humans. I think there might be another couple there.
A cheating AI just covers up poor AI. So what if it cheats? In CCRA I knew exactly how the AI cheated and I could easily beat it.

Courageous December 20th, 2000 04:23 AM

Re: Wanted: Cheating AI
 
"IMO cheating AI as a standard AI in the game is just a product of laziness of programmers."
---
It's much easier to write an AI when that AI has access to perfect information, but when it does not have such access, it is FAR more difficult, and while, I suppose, you might be able to, with a gread deal of work, design an AI which is "artificially not stupid" for the purposes of a GAME, to be able to do this kind of stuff reliably even with real world military computers is actually quite difficult and quite beyond the state of computing hardware today.

One of the reasons that this is the case is that when human beings don't have access to information, they use INTUITION, which is a way of saying that they have an intricate web of associations to a VAST library of past experiences of like-circumstances.

Meanwhile, your friend the AI opponent is most decidedly NOT a practiced player of MOO, CIV, TOAW, et al. This poor AI is looking at the problem the first time; worse, the game designer, when he designs the thing, often has no idea what some of the sneakier strategies might be.

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.

C//


Daynarr December 20th, 2000 06:03 AM

Re: Wanted: Cheating AI
 
Gee Courageous, is it me, or you usually flame people like that. If you read my post more carefully you will notice that these 'lazy programmers' are not in MM since their STANDARD AI does not cheat. Also MM have SE3 AI that does not cheat and was quite formidable opponent, so in short - it can be done.
The game in question is RA2, which is 4th game in the series and should have advanced no-cheating AI (these guys had lots of time and HUGE feedback from fans to do it right).
But no, just and improved cheating AI that knows all the info in game, not to mention that they ALWAYS gang up on human player (would someone please explain to me what is the point in building gap generators in single-player game if the AI knows your location and strength anyway). That AI does display some advanced tactics on higher levels, but why cheating then. So many games in that genre had no cheating AI that was excellent opponent (Total Annihilation, Age of Empires 1 and 2 etc.). They made a breakthrough with Dune2 and C&C, but every game onward was just a perfect example of get-more-money-with-almost-the-same-thing attitude.
If decent AI can be done, and they don't do it, what are they?
BTW, I am well aware what pressure is done on developers to get their products done in designated time frame and I don't hold them to be 'lazy'. But one would expect them, in that case, to support their product with patches so they will fix and improve their product. Take MM as an example again.
Oh yeah, and leave my programming skills alone.

jowe01 December 20th, 2000 11:10 AM

Re: Wanted: Cheating AI
 
For my part, I would like to be able to determine the ways in which the AI can cheat. A headstart in resources, racial points, planets, etc. ? Yes, I give that already to the AIs, however, it is me who decides. A better use of all available information (in a way humans could not use it)? Yes, yes, yes, that should be exploited. Let the AI e.g. simulate EVERY major battle before committing its forces. However, the simulation should be based on known/"guessed" designs because giving the AI information which it cannot have is a kind of cheating which I do not like (however, the AI could spend more intelligence points on knowing designs for example).

Nevertheless, though I am also no programmer, I think there is still ample space for AI improvement. Target evaluation (what do I attack, when do I abort my campaign, etc...)should be possible to do. Maybe some behaviour must be "hardcoded" into the AI (with some stochastic element) until a better solution is available.

Courageous December 20th, 2000 08:53 PM

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//

Daynarr December 20th, 2000 11:23 PM

Re: Wanted: Cheating AI
 
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>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.<HR></BLOCKQUOTE>
This is supposed to be my learning experience???
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>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.<HR></BLOCKQUOTE>
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.
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>IMO cheating AI as a standard AI in the game is just a product of laziness of programmers.<HR></BLOCKQUOTE>
True. It may have sounded like an insult, but then again, as you said, it could be a learning experience too.
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>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.<HR></BLOCKQUOTE>
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.

Courageous December 21st, 2000 12:33 AM

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//

Daynarr December 21st, 2000 01:52 AM

Re: Wanted: Cheating AI
 
Thanks Courageous. I really appreciate your Last post. http://www.shrapnelgames.com/ubb/images/icons/icon7.gif 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.

LintMan December 21st, 2000 01:54 AM

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. :-)


Courageous December 21st, 2000 03:32 AM

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//

Courageous December 21st, 2000 03:40 AM

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//

LintMan December 21st, 2000 04:56 AM

Re: Wanted: Cheating AI
 
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Courageous:
Personally I don't find AI's which cheat over information to be offensive at all. That's just my opinion, though.
<HR></BLOCKQUOTE>

For me, it depends a lot on what information it is the AI is being given... If it always knows the positions of all your ships, then stealth tech is useless, which would be a big disappointment in a game like SEIV which has lots of stealth tech. On the other hand, if it always knew my resource/research/intel amounts, I wouldn't mind much.

Courageous December 21st, 2000 05:43 AM

Re: Wanted: Cheating AI
 
Sure, I can see that. Suppose that you had a game with both stealth and limited range sensor technology. Then suppose that there was some small probabibility each turn that the AI would "correctly guess" where to search for you with sensor ships, based on some probabilities. While this is obviously cheating, from our perspective, it can easily justified (within reason) that you are SIMULATING the human ability to make good guesses. Such an implementation might not even be obvious to the player, actually.

C//

LintMan December 21st, 2000 08:33 AM

Re: Wanted: Cheating AI
 
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Daynarr:

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?

<HR></BLOCKQUOTE>

I'm not an expert on this stuff, but I did a bit of graduate coursework on AI and neural networks in the (sadly) increasingly distant past, and I'm in the mood to discuss AI stuff so I'll give the answers a go.

1) I would guess in a game like SEIV, much of the core AI behavior would be coded into the game. So you might have a primary AI routine called DoAITurn() which then calls subroutines to do all the steps the AI might take during its turn. These steps might be similar to what you would do on your turn, like responding to political Messages, scanning your systems for enemy incursions, moving your exploraction ships around, modifying your build and research queues, etc. Each of those steps could be a subroutine written to analyze the available data and decide what to do.

How does it decide what to do in those subroutines? Well, that's the tricky part. With scripting, the behavior is determined by the current state variables (ie: at war, exploring, etc) and what's in the script. So when building ships, it uses the ship building script to decide what ships to build. If you didn't want to use scripting, you might instead write a routine that examined an enemy's known designs, observed/spied out tech levels, and actual fleets and used that information to direct research and ship design to most effectively fight that enemy. For example, if the enemy seemed to have primarily missile ships, the AI might emphasize point defense research and place extra pdc's on its designs. Or if an enemy was using Allegiance Subverters, the AI might go for Master Computers. This type of decision making could make for a much more flexible AI opponent, but it is much harder to do, since so many more variables and special situations must be taken into account. This type of "If X and if Y, the do Z" would probably be called an "expert system", and in a sense, it is like a script, but with more conditional behavior control.

Other things an AI could do might be for it to do a cost-benefit analysis of weapons to decide which it wants to research. Potentially, a script could already take that sort of analysis into account, but your AI could be written to dynamically do it based upon its current needs. (In SEIV, this wouldn't be that beneficial, since Phased Polaron beams seem to be the optimal choice for beam weapons in nearly all situations).

Another decision making method used by AIs sometimes is randomness. Say the AI meets a race for the first time - Should the AI's ship immediately attack that race's undefended colony? A hostile AI race could be set to a 75% chance of doing so, while a less hostile one might only be 25% likely to do so. Certainly you'd hope such decisions were made in a more informed manner, but for smaller decisions, randomness can keep the game more varied.

There's all sorts of other possibilities for what the AI can do, but that's a few anyway.

2) The main power of chess-type AI's is that they use their computing power to essentially "look into the future" to see the results of the moves they are considering to make. So basically, for some or all of its potential moves, it guesses what it's opponent's best counter-moves to those moves would be, then it picks its best moves in response to those, and then the opponent's, etc. Each level of forward-looking is called a "ply". Picture a tree with, say, 20 branches on the trunk, and each branch having then having 20 sub-branches, and each sub-branch having 30 sub-sub-branches, etc. As it moves into future turns (moves up a branch level), if it sees the situation turn bad, it rejects that move and looks for an alternate one (thus "pruning" that branch and following a different one). Once it has picked out what it thinks is its best move, it may then analyze that one move a few plys further along to try to make sure there was't bad news lurking over its horizon.

As you can see, in a game like chess, the number of possible branches can quickly become impossible huge after even a small number of plys, so some tricks are done to thin the number of branches to analyze out, such as by not analyzing all possible moves, but only the ones it deems best. Another way to thin the branches is that chess AI's are also scripted, in a way. They usually have "opening libraries" and "closing libraries" that basically let the AI recognize tried-and-true beginning and end game situations and know the optimal responses to them.

This kind of forward-looking AI can be very effective, and in certain simple types of games, it can be "perfect" - in other words, it is able to analyze all possible moves so that in a "fair" game, it can guarantee a victory or at least a tie. A tic-tac-toe AI could be perfect in this manner. (Perhaps even a checkers one - I'm not sure about that, though).

For a vastly more complex game like SEIV, though, it is pretty much impossible to do this sort of forward-looking in any kind of effective way to make it practical for an AI to use that approach.

Well, I hope that all made sense and was of some interest to someone! :-)

Daynarr December 22nd, 2000 02:31 AM

Re: Wanted: Cheating AI
 
Thanks LintMan. This is interesting stuff and I am sure lots of people who read it will better understand how AI works.

[This message has been edited by Daynarr (edited 22 December 2000).]

Courageous December 22nd, 2000 09:35 AM

Re: Wanted: Cheating AI
 
This may surprise you, but the field of "aritificial intelligence" is perhaps the most misnamed field in all of computer science. Most of the time, classical AI is about "search" algorithms of various kinds. Some game "AI" (sic) programmers are well-versed in this subject matter, but many are not. It's genuinely difficult stuff, generally only studied in detail in graduate school. Few game programmers ever made it that far, so often they use templatized distillations of the various algorithms, pathfinding being the most common one.

To get a glimmer of how difficult it might be to write game AI, ask yourself -- as a player -- which warp points do I have to defend to defend my entire empire? As a human, you can answer in a split second -- in fact it is likely that your expansion policy is based on keeping the number of entry points to your empire few in order to create the highest concentrations of defensive forces at those entry points.

This is a trivial task that you've done in a dozen similar games. And you know what? It's hard. Really hard.

C//

Taqwus December 22nd, 2000 07:03 PM

Re: Wanted: Cheating AI
 
Agreed. SE4 is far more complicated than chess (which machines can do pretty well at), and even Go (which, to my knowledge, machines do not yet do well at). Checkers, IIRC, a comparably simple game (at most... 24 pieces IIRC, on 32 squares with fairly limited branching factor) has actually been solved, 'tho.

FWIW, chess has also been studied for a FAR longer time than SE4 :;, so there's a huge body of expert knowledge for an AI creator to use.

1. Hidden information. This is a biggie. If it plays by the same rules as the human player, normally the AI will not have minimal information about what's on your planets, what's in your ships, where your ships are, how damaged they are, and so forth.

2. Flexible rules. That is, the very customizability of SE4 is going to make it difficult for an AI to do well, since such things as the tech tree and galaxy characteristics can be altered dramatically. Ergo, the limited scripting ability for tech research, etc.

3. *More* pieces and more states. Chess has, at any one time, no more than 32 pieces on the board. Even Go has only 361 intersections, each of which has only three possible states -- occupied by a white stone, occupied by a black stone, or empty. SE4 can involve hundreds of fleets with individual ships, all of whose state matters. Don't bother trying to build a complete state-transition diagram, or even going out to a couple of ply.

4. The sheer number of options. This goes along with the previous three; players can go absolutely crazy with a basically unbounded number of distinct possible turns.


So, at least the strategy layer is going to be rather difficult. The tactical layer may be easier to program, since

a) there is no hidden information anymore,
b) there are fewer participants usually,
c) there are fewer options
d) certain things like seeker pursuit appear to be completely deterministic (e.g. if you know who is a missile's target -- say, because only one of your vessels was in range of the missile launcher -- you can determine its exact trajectory based on the locations of the missile and its target).

I'd be more tolerant of the AI "breaking the rules", at least mildly (some info cheats, as long as they were 'declared'; perhaps production bonuses, etc, but pref. nothing too outrageous like not needing minerals at all), than of blatant tactical combat hacks (bonus speed, say, or bonus damage) for these reasons.

------------------
-- The thing that goes bump in the night

benp December 22nd, 2000 09:04 PM

Re: Wanted: Cheating AI
 
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Courageous:

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 ***.

Personally I don't find AI's which cheat over information to be offensive at all. That's just my opinion, though.

<HR></BLOCKQUOTE>

Different people have different opinions about this, ranging from "the AI should not cheat at all", through, "it can cheat if you can't tell", to "do whatever you have to to give a challenge".

When we did the AI for Imperialism II we took roughly the middle choice above. It wasn't because we were lazy, it was because we didn't want to make a game that was easy for an experienced strategy game player to beat after a couple of tries. (Although I'm afraid we went a bit overboard on the difficulty.)

Our determination of what was an acceptable "cheat" was based on our belief that it was important that it feel like the AI is playing the same game as the human. We ended up with few information related cheats, but not global knowledge about what the human is doing. For example, the AI knows what units the human has in each place, but does not know what moves the human has entered for those units for the following turn.

I prefer this kind of limited cheating because I've never seen a game without it that can give me much of a challenge, but many others disagree with me.

Ben Polk

Courageous December 22nd, 2000 09:41 PM

Re: Wanted: Cheating AI
 
"Checkers, IIRC, a comparably simple game (at most... 24 pieces IIRC, on 32 squares with fairly limited branching factor) has actually been solved, 'tho."
----
Right. It's worthy of note to observe that even if we could represent a game like SEIV correctly using classical search (given the complexities and configurational flexibility, this is in doubt), it would actually be IMPOSSIBLE with today's hardware to solve the SEIV AI (or similar) problem using the same kinds of techniques which are used for Chess, Go, and Checkers. The combinatorial expansion is simply enormous.

As for Ben and Imp II, congratulations. I believe you pulled off an outstanding solution to computer "AI," and while I often had to play that game on easy, that's the way it should be. http://www.shrapnelgames.com/ubb/images/icons/icon7.gif

Oh, BTW: CHEATER!!! http://www.shrapnelgames.com/ubb/images/icons/icon7.gif

C//

Courageous December 22nd, 2000 09:52 PM

Re: Wanted: Cheating AI
 
Oh, by the way, my only real complaint regarding Imperialism II was not the AI, but the way that it became nearly impossible to bust cities in the late game. That was frustrating; you should have had a siege model or something.

C//

Talenn December 22nd, 2000 10:22 PM

Re: Wanted: Cheating AI
 
Ben Polk:

Imperialism II has to be one of my favorite games of all times simply BECAUSE the AI was so challenging! http://www.shrapnelgames.com/ubb/images/icons/icon7.gif I LOVED the way it did the 'dog pile on the rabbit' if you were the weakest. And the best part is that it seemed to jump on the weakest regardless if it was a Human or AI controled nation...as it should be. Boy did it ever suck to be even perceived as having the weakest military... All the nation of Europe were like a pack of wild dogs smelling fresh meat!

I tend to agree with Courageous on the late game though. It did become a bit tedious reducing forts but overall its still one of the best games every published IMO. I've often cited I2's AI as the best AI in a PC game specifically because it DID appear to be playing by the same rules a human player (with a few exceptions).

Now if only you guys had allowed for tactical combat in multiplayer games.... http://www.shrapnelgames.com/ubb/images/icons/icon7.gif

Talenn

Courageous December 23rd, 2000 01:35 AM

Re: Wanted: Cheating AI
 
Yeah "dogpile on the weakest" was one of my favorite IMP II features. I discovered this the hard way in one of my earliest games, where I attempted to emphasize infrastructure over military. Didn't work out!

C//

benp December 23rd, 2000 08:27 AM

Re: Wanted: Cheating AI
 
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Courageous:
Oh, by the way, my only real complaint regarding Imperialism II was not the AI, but the way that it became nearly impossible to bust cities in the late game. That was frustrating; you should have had a siege model or something.

C//
<HR></BLOCKQUOTE>

Yeah, that was bad.

I2 also didn't carry the atmosphere of the times through the game as well as it should have.

It's hard to make a good game. Aaron and the MM crew have done a great job. I'm just waiting for the AI code and data file patches to be a little cleaner before diving in again. You can imagine how doing that kind of feels like work now. http://www.shrapnelgames.com/ubb/images/icons/icon7.gif


All times are GMT -4. The time now is 02:30 AM.

Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©1999 - 2025, Shrapnel Games, Inc. - All Rights Reserved.