 |
|  |
 |
|
BillChin
|
|
Snipped from:
http://apolyton.net/misc/column/204_sidsoren.shtml
AI
-----------------------------
Soren was in charge of the AI and it took "7 or 8 months of his time to write it about half writing and then half testing." He'd set the AI to play against itself for ten minutes, and then rewrite as necc. He also tried playing against it himself, of course.
----
>>>
With this methodology, I can see how and why the AI is what it is. With only 4 months to do coding, I believe it is a minor miracle that the AI is as good as it is and a testament to the brilliance of the programmer. (Good in the sense that it can beat 20% of players on a level playing field.) Sure the AI does stupid things, but with one person coding and one person testing, many loopholes will never be found. Also there is the phenomenon that fixing one stupid behavior often leads to another, even more stupid behavior.
I am sure there was a lot more nipping and tucking after the primary engine was written, but the die was cast. It seems like it is too bad that an experienced gamer was not in the early AI development loop for testing and for ideas. Mr. Johnson may be a brilliant programmer, but I doubt he is in the top 20% of Civ III players or any 4x type game. (More likely the top 40% or top 50%.) Having a top flight Civ II player involved early, probably would have been a tremendous resource for Mr. Johnson.
My compliments to Mr. Johnson for coding the Civ III AI with what I see as limited time and resources.
Cheers.
|
|
|  |
 |
|
Coracle
|
|
". . . only four months to do coding". With just one person doing it.
And no doubt a deadline to get it marketed in time for the Holday buying season.
RUSHED TO MARkET AND INCOMPLETE.
The AI is INADEQUATE, TOO.
|
|
|  |
 |
|  |
 |
|  |
 |
|  |
 |
|
Dominae
|
|
quote: Originally posted by BillChin
It seems like it is too bad that an experienced gamer was not in the early AI development loop for testing and for ideas. Mr. Johnson may be a brilliant programmer, but I doubt he is in the top 20% of Civ III players or any 4x type game. (More likely the top 40% or top 50%.) Having a top flight Civ II player involved early, probably would have been a tremendous resource for Mr. Johnson. |
I see no evidence to support this. To create an AI that plays the game as well as it does requires intimate knowledge of all things Civ. I find it hard to imagine that Soren isn't in the top 1% of all Civ players, if you want to look at it that way. People who "write the book" on any topic are invariably experts.
Dominae
|
|
|  |
 |
|
Switch
|
 |
This just in, water has been discovered on Mars...
Apr 2002 time: 00:19
|
|
quote: Originally posted by cyclotron7
Or do you mean inadequate in comparison to a human player, in which case your naivite boggles the mind. Do you really think any mere game company has an AI that matches a human? Dream on, my friend... |
Any mere game company? Try any company, ever. Does anyone think anyone'll develop AI that even comes close to human behaviour? IMO, no. Our brains are just too complex, and then there's the added problem of dynamic personalities, forgetfullnes, moral fibres, and the soul. No, it's just too much for our small in comprehension yet high in complexity brains
|
|
|  |
 |
|
Dominae
|
|
Well said Theseus. MP will cull the weak.
Dominae
|
|
|  |
 |
|
Capt Dizle
|
|
cyclotron7,
Not to answer for anyone else but here is my take on it. AI has never being developed to the point that it should be the centerpiece of a computer game. Chess maybe, but not something like Civ.
After playing a few games of Civ3 I pretty well have an idea of what the AI could do. At this point, I was looking for something else to keep my interest and could not find it. I will admit that Civ3 AI is much better than SMAC AI. But it does not matter.
Lets suppose you have two unintelligent people. One has an IQ of 54. Moron. Other is 90. Sub-average. If you are looking for a quick wit both are lacking, only one is more obvious than the other. At the end of the day it does not matter.
With SMAC, there were tons of things in the game to be interested in. Features. Add in MP and they really shine.
Irregardless of how technically proficient Soren is he was doomed on day one because of the decision to showcase the AI. AI is the weakest part of computer gaming and when you decide to showcase a weakness you have already made a fatal blunder.
Someday maybe AI will be capable of learning and evolving. This is not that day.
Besides, take your average game of Civ with one human and seven AI. If the AI was equal to the human, the human would only win one in eight tries. If that were the case very few would play.
Make it fun first, deep second, and a challenge if you have spare development time cause all of your bugs are fixed.
|
|
|  |
 |
|  |
 |
|  |
 |
|
Adm.Naismith
|
 |
Milano - Italy
Oct 1999 time: 06:19
|
|
quote: Originally posted by Captain
I'm curious as to what you'd have liked to do, if you weren't working in an 8 month time frame.
what would you change, or have added, to civ 3 if you were free to do so and had unlimited resources? what's soren's wish-list? |
Good question. I'm afraid Soren can't answer it at his pleasure, because some concept can be in development for XP, too, so not disclosure agreement can be a pain in the neck here.
So, softening the attention from Civ III to TBS genre, where do you think AI development for TBS can gain more, Mr. Soren? Where results are more dependant from new algorithm, more computational resources, different approach, more link between game rules design and AI development (to mask limits and build more on stronger points)?.
|
|
|  |
 |
|
BillChin
|
|
quote: Originally posted by Dominae
I see no evidence to support this. To create an AI that plays the game as well as it does requires intimate knowledge of all things Civ. I find it hard to imagine that Soren isn't in the top 1% of all Civ players, if you want to look at it that way. People who "write the book" on any topic are invariably experts.
Dominae |
My evidence is hearsay. However, I do remember Mr. Johnson himself saying he is an average Civ III player on one of the chat sessions or interviews. I also remember someone saying that no one at Firaxis could beat Deity level more than once in a blue moon when the game was released. The top 10% of Civ III players can do better than that, so probably no one at Firaxis was in that category at time of release.
The other evidence is the AI engine itself. There are certain design decisions such as combined arms that an experienced wargamer (or Civ player) probably would have made a high priority instead of an after thought. Several patches after release, the AI still has no clue about combined arms. The AI sometimes can be observed running around with a single artillery unit escorted by a single defender, but this is perhaps the least effective way to use bombard units on the offense. On other threads I have suggested relatively easy ways to code the AI to include bombard units in an attacking stack without leaving them open to easy capture. Combined Arms is just one example, there are many more available.
When I factor in what I view as the averageness of Mr. Johnson's gaming skills, the AI is even a greater achievement. Kudos are in order.
|
|
|  |
 |
|  |
 |
|
Dominae
|
|
BillChin, thumbs up on a very good reply.
Of course, I do have a couple of comments...
The game engine is an interesting place to look for the shortcomings of the programmer. It is also very misleading.
First, humans will always use available resources more efficiently than the computer (if they try hard enough). Why? Because a human player can learn from the AI. Although I admit that artillery is quite an oversight, there will always be something the AI "doesn't do" as well as us people. This does not reflect that programmer's gaming ability, as coding Civ3 is much harder than criticizing it.
Second, the AI was designed to be fun, and not simply challenging. People are forgetting this. If the AI gets so many free units at the beginning of the game, shouldn't it trounce us every time? I've often wondered why the Zulus, with their 10-15 Impi to my 6 Warriors, don't choose to wipe me out immediately. The answer is that it wouldn't be as fun that way (although it does happen for time to time to keep us on our toes). But if I started with extra units, I promise you I would beeline for the closest AI civ and eradicate it.
Third (this point is closely related to the second above), if the true gamers could design the AI, Civ would be boring. By "true gamers" I here refer to what you call the top 1% of the civ community. If this were the case, we'd have the AI ICSing full time, creating naval blockades till the cows come home, pounding cities into the ground with nukes, and plenty of other stuff that just isn't fun for the average gamer. Yes, it would be cool if Deity were like this. However, I firmly believe that such an AI is within Firaxis' capabilities. The reasons not to include it in Civ3 are surely (IMO) other than lack of gaming experience on their part.
Fourth (and most importantly), the Civ3 AI is sufficiently good for 95% of players out there. Coding an AI that accomplishes demonstrates knowledge of strategic game mechanics as well as "fun" game mechanics.
Anyway, I'm not going to push this issue further. I'm simply tired of people criticizing Firaxis left and right (as I unfortunately do, from time to time). From your previous posts I know that you're not a whiner, so all is well. 
Dominae
|
|
|  |
 |
|
hexagonian
|
 |
Gnawing on your mind...
Jun 1999 time: 23:19
|
|
...and Dominae,
Your post is an excellent response to the whole issue of how hard it is to create an AI that would truly challenge a human player - something that I believe cannot be done at this time to the extent that everyone seems to want.
The problem is that the AI, for all its number crunching ability and built-in bonuses, simply cannot plan out a long term strategy. It uses built-in cheats to simulate a thought process. Cheats have to be the norm at this point in time - and the AI cheats are countered by a human having the ability to exploit the way an AI is coded to react in a given situation, because ultimately, the AI is a program.
Take this situation and try to figure out how the AI would figure out what is the best plan of action...
An AI needs to be programmed to take a particular route to get at a target. The question needs to be asked, 'What constitutes the best path to get at that target - the fastest, or a path that may take much longer, but may pay off with a greater gain because it may take the player off-guard?' The choice will vary from situation to situation and is actually a very subjective matter to determine - ask 20 different players and you would get 20 different responses. How do you program the AI to think in a subjective manner?
All everyone has to do is look at the howls of outrage when it was discovered that the civ3 AI was able to see where your defenses were placed in cities and was moving its forces to the most lightly defended city (an obvious cheat). It is interesting to note that once that characteristic was noticed, players had come up with a way to exploit that feature against the AI too.
Your second point is a good one, because it is so true. If the AI played to win (especially with those bonuses), those enemy forces would be on your doorstep ASAP and would be crushing you into the ground. The goal of the human player is to reach the same point when it can do the same against the AI - so the balancing issue for game companies is to give the semblance of a challenge without totally unleashing the AI.
|
|
|  |
 |
|
Dominae
|
|
monkeyman, no genetic algorithm (that I know of) could at present help "fix" the Civ3 AI.
A genetic algorithm requires some framework to determine where "mutations" occur, and what exactly they consist of. For example, if the state of the game could be represented as a bit string, it would be simple matter to change some of the bits so that the AI could alter in subtle ways and eventually adapt to the human players. There are two problems.
First, mutations, taken individually, would have to cause insignificant changes to the AI's existing behaviour, or the human player would, more often than not, playing against an AI that was altering its behaviour in seemingly stupid ways. But insignificant changes, taken together, require too long to evolve into a "good" version; the human player would have to play literally thousands of games to see any effect.
Second, Civ3 is too complex to represent as a bit string, so classic genetic algorithms are out. The "mutations" would have to occur over some complex structures (i.e. game mechanics). For example, slight changes could be made to the pathing algorithm to determine the "best" way of getting from point A to point B. But again, it would require so much time to train the AI to learn what is "best" in various situations that players would get bored with their "stupid 'genetic' AI" (as I can hear them say already!). Furthermore, applying genetic algorithms to these complex structures is (I think) possible, but certainly no piece of cake. It would definitely be more work than Firaxis is being contracted to do.
The Civ3 AI is inherently "simple", but still manages to generate some pretty complex behaviour. The fact that we humans learn to adapt to it is a credit to our incredible brains, not the AI's "stupidity".
Dominae
|
|
|  |
 |
|
Dominae
|
|
hexagonian, very thoughtful post. The Civ3 AI is a perfect example of artificial intelligence that is in no way intelligent.
The designers made a conscious decision to create a game-playing program that would be competitive with humans. To do so they anticipated human strategies and weaknesses, and coded against them. They also coded in some "cheats" to ensure the AI's competitive edge.
These are essentially rule-based constructs. As has been said many times before, creating a game AI that is as difficult and as fun as that of Civ3 without resource to any fancy algorithms warrants a tip of the hat to the Firaxis team.
Dominae
|
|
|  |
All times are GMT. The time now is 05:19. Apolyton Time is 00:19. |
top of page
|
| archivepost |
|
Forum 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
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|