Difficulty level should not be done by CHEATING!

Originally posted by Sumthinelse
it ain't as easy as it looks!
As a professional software geek, with over 20 years of experience let me add my emphatic you got that right!
You may be underestimating human imagination and inventiveness.
I certainly hope so. I much prefer to be proved wrong in these cases!

You are very correct that Firaxis has made an excellent, good-faith effort to improve the game for us. And while I, too, would like to see a "smarter" AI, I understand the difficulties of producing one. Time and money are two key factors. When you're told, "you've only got until October, and you only get XXX dollars to spend," you are not going to be running multiple iterations of "learning" AIs on some supercomputers. You are going to give it the best shot you've got, and hope it is enough. You may not make the best decisions every time in your design (nobody's perfect), but if it is "playable" then you have succeeded. And, IMHO, the Civ3 AI is "playable". Better to spend time on real bugs and save improving the AI for later. (Civ4? :D )
 
:) Thanks for having such a positive outlook.

I guess you're right in terms of time and money... since algorithms (smart little gameplay routines for the computer, I mean) are much easier to create and foolproof in terms of being able to work.
 
My post was just explaining that we could mathmatically predict how many calculations a truely 'smart' AI would require for Civ3. I didn't touch on current implementations of AI and whether or not they could be improved because it's rather obvious that they can.

View my post as a refutation of "It's impossible to prove something can't be done." as it pertains to game sentience, not a refutation of "Smarter AI's are possible".

The problem with 'smarter' AI's is that they will still be predictable as well. The tricks I eluded to teaching the AI can be viewed as a rather loosely defined gambit. For instance, the AI could be taught to use better combined arms stacks, and where to send them. Instead of sending a Archer/Spearman combo, they can send 3 Archers, 1 Spearman, and 2 Catapults. Eventually the player will learn to expect these stacks, and plan accordingly. The AI will not adapt.

Now you can add a random element, but then you have to be careful it doesn't have too much of a range. We wouldn't want completely inane stacks like 12 Catapults, 0 Spearmen, and 1 Archer basically giving the player 12 free Catapults. So we define ranges for each of the units. The player will learn to expect and plan for these ranges (knowing that there is a 'max' stack possible), but the AI won't adapt.

Even if we add all these tricks to a biological simulation on supercomputers, have it work out different combinations that work best, and implement that as our AI, it's still a combination of tricks we taught the AI in the first place, just ordered differently. The AI on the player's computer will still not adapt, and the player will be able to identify the patterns.

-------------------------

How to design a better AI

There are quite a few ways to do this, from distributed computing, to just hiring more programmers and spending more money.

A scripting language that is released to players can allow for a vast array of different AI's. Combine these in a AI library, which the game can choose from to implement, can reduce the player's ability to predict what the AI will do. The main problem with this is that few of the AI will be very efficient or difficult, and eventually the players will figure out how to identify the various AI's early on and play accordingly.

End user's computers can be hooked up in a network, allowing the AI to actually learn. Each computer uses idle time to help with the 'learning'. One computer might record something to the extent that "hey, I just captured a city under these circumstances by doing this..." for other computers to try out and rate in other circumstances. A central server would hold the ratings (type, effectiveness) for various tricks, which each individual computer can access. There are implementations of this in other feilds, SETI comes to mind. It would still be using tricks, but much more adaptable and less predictable. There could be a lot of really stupid AI's though until the project had been going on for a while. ;)
 
The AI on the player's computer will still not adapt, and the player will be able to identify the patterns.

I think your idea is quite interesting: :cool: :cool: :cool:

I still think that one can evolve AI behaviors, strategies, and learning methods, and not just algorithms.
 
Comparing chess programs to the Civ3 AI is ridiculus(sp?), and Aeson said it very well. Anyway, chess programs don't even strategize---they just look at every possible move x-turns ahead and pick this best one. Would you want an AI that just predicted every possible outcome? That just gives the appeacence of intelligence and strategy, not true strategy.

I think the Civ3 AI is very well done. They don't cheat, they just have advantages we don't---and that is done everywhere, from, say, golf to baseball!

Asking for an AI that is as intelligent and can plan as well as a human is asking for WAY too much. A major part of strategy is creativity---something a computer can barely even simulate. How would you like it if the AI just attacked in the same strategy every time, or just used a set list of attacks and defenses to win? That would get dull extremely quickly.

I think we should stop arguing over the AI's strategy skills, wait for PTW, and blow the hell out of each other!:goodjob:
 
Originally posted by Aeson
My post was just explaining that we could mathmatically predict how many calculations a truely 'smart' AI would require for Civ3. I didn't touch on current implementations of AI and whether or not they could be improved because it's rather obvious that they can.


Wow Aeson, I agree with you! :)

And I understand how difficult/expensive/slow it would be to make the AI play stronger!
 
whatever you do, human mind will oversmart it. it is always one pattern, or more, and there is always solution for it.
 
A lot of people CONTINUE TO MISS THE POINT.

Was the Civ 2 AI smarter than the Civ 3 AI? Certainly not. How did the Civ 2 AI change Difficulty levels? By altering combat results level to level.

Yes, the Civ 2 AI did dumb things - such as building battleships in lakes. But I have seen both my own Civ 3 governors and the Civ 3 AI do the same thing. Couldn't Firaxis correct at least that??

But there never was the hostility to the Civ 2 AI as to this Civ 3 AI. Why? Settler Diarrhea is one example as we watch a settler march into our territory, not leave, and then teleport itself to the other side of my civ onto open tiles it should not even know exist.

In Civ 2 it did not cheat, but Civ 3 does it in various sneaky diabolical ways that are annoying and in-your-face. It is also more of a Human Against the World situation than with Civ 2.

And yet, the Civ 3 AI does many DUMB things that are so predictable and tiresome they become exercises in TEDIUM.

Firaxis won't fix these problems, such as always sending a settler/foot soldier wandering towards a bunch of open tiles EVEN WHEN STILL AT WAR WITH ME. I destroyed three of these idiots within a dozen turns; it was so boring I quit in disgust. I reported it as a bug many months ago, but Firaxis won't fix it.

Must the stupid AI ALWAYS go chasing after an undefended worker, bombardment unit, or resource? :rolleyes:

Conclusion: the Civ 3 AI does very stupid inexcusable things the result of bad programming, not AI limitations. It cheats in ways that are intensely annoying, and does various things that fly in the face of logic and reality (be it 'razing" or garrisons disapparing in a flip, and others). So it is NOT about AI limitations; it is about Firaxis' sloppy programming.
 
I am by no means an expert at determining ways the ai can beat a human player, but i think sometimes "cheating" is necessary to beat a human player. The computer cannot adapt to the player's strategies so it must use a programmed behavior, cheating is just part of that.
 
Zouave: you should set the background color of your pic as a background color.

To do this in Paint: Open pic>Image>>Attributes>Transparency>>Pick Your Color>>save pic as gif>> upload>>done.

btw, what's the link for the picture? I want a picture but I can't find where to put the link. :cry:

PS: If I don't get some real research opportunity at my college maybe I'll make the 'real' next Civ to make a better AI and add better and cooler cool stuff. :crazyeye:
 
What "picture"???

If you mean the avatar it is exactly how I want it.


Good luck working on AI's. If you just made one logical and without crazy ideas, one that was playtested, you'd do better.

Of course if your company was owned by a bigger company that was rushing you and pushing for sales. . . ;)
 
Originally posted by sumthinelse


Everybody keeps repeating this mantra: The hardware is not fast enough. And this opinion is based on what? You don't know of any strong AI programs? You are going to exclude chess because it is simpler?

You're really trivializing this.

Chess is played on an 8x8 cartesian grid. There are only 6 distinct "units". There are only two opponents. Chess programs boast strong "AI" because the number of combinations (although massive) is within the computing limits of todays high end computers.

Computing requirements increase exponentially with the number of possible "combinations". The number of "combinations" in Civ III is light years ahead of that which is featured in a chess game.

Seriously think about that for a moment. The computer picks it's first move, and then projects from that first move until the end of the game, accounting for every single permutation that it, or its opponents could make along the way -- this includes workers, settlers, units, wars, diplomacy, trades, research, cities, barbarians, etc, etc for all civilizations within the game. That single first move could, concievably, take a loooooong time to figure out.

But yeah... Firaxis could probably spend the next couple decades working on Civ AI (about the same time that chess AI as been "evolving"). This would cost millions upon millions of dollars and probably bankrupt their company. But hey! They could boast a really strong AI package for the series of computer games known as "Civilization".

Or, they can just make the AI "cheat" to make it tougher.

Out,
Volstag
 
Originally posted by Volstag


You're really trivializing this.




or maybe your conclusions are based on incorrect assumptions. If you read this thread closely, you will see that I don't think improving the AI for CIV3 is trivial at all, and I do not expect Firaxis to improve the AI's playing strength significantly. I just disagree with another "trivialization": that the AI for Civ3 would have to use "brute force" methods like chess programs to improve.



Chess is played on an 8x8 cartesian grid. There are only 6 distinct "units". There are only two opponents. Chess programs boast strong "AI" because the number of combinations (although massive) is within the computing limits of todays high end computers.


partly true, but chess programs also have programmed "principles" of chess, for example, rules about passed pawns in endgames.

You do not seem to understand that normal home computers play chess very strongly. You do not need a "high end" computer.



Computing requirements increase exponentially with the number of possible "combinations". The number of "combinations" in Civ III is light years ahead of that which is featured in a chess game.


You start to go astray here. You are assuming that a good CIV3 AI would use a chess-like "brute force" approach for every single decision, and I do not believe such an approach could work with CIV3.

Calculating all possible moves for CIV3 is beyond the capabilities of today's computers, but it is also beyond the capabilities of humans.

[/B][/QUOTE]
 
In comparing Chess AI to Civ AI, the biggest difference is that there is no static game board in Civ. Gambits and openings can be programmed into a Chess AI, and they will always work the same way. A move tree can be formed, where the player's action triggers a programmed response. As Chess has been around so long, and the gameboard is always the same, a Chess AI can be very very good with relatively little work.

The Civ AI can't be programmed the same way because the game board is different from game to game. Simple rules like giving each piece a certain number of points for occupying a certain tile won't work at all. The value of an Archer at a certain tile location can fluxuate tremendously from game to game, and might not even be a possibility. In Chess, there is strategic value for having your Knights in certain positions in a chess game, and it's usually pretty static from game to game. Controling the center of the board is usually a good thing, whereas in Civ there there may not be a center to the board (from a land perspective). Programming in gambits/openings won't either. Not only would "move your worker to the right (to build a mine), start building a Spearman...ect" not always be the best bet, but it often wouldn't even be possible to do. In chess you can do this sort of thing, in Civ it would result in extraordinarily stupid AI's. These are the types of things that consumer Chess programs take advantage of. Some add in a move search, usually limited by a certain number of moves, which is a bit of the brute force approach, but it still relies on values given to occupying tiles with different peices. I don't understand Chess very well, but I'll bet someone who can pick out what Gambit/Opening is being used, and knows the proper counters, can beat a consumer Chess AI every single time. The pattern just has to be figured out.

The most powerful, and least reproducible function of the human brain is not how much data it can handle, but in how it can choose 'important' data to focus on, bypassing the less meaningful. I may be wrong, but I can't think of any computer AI's that even come close this this sort of functionality. For the AI to 'see' the important things, it has to look at everything first. Then you're back to the brute force method again. Imagine trying to program an AI which doesn't pay attention to insignificant things. How does it learn what is insignificant or not? By looking at it and determining value... which is paying it attention.

For now we are stuck with AI's that once figured out, can be beaten methodically. I was really suprised at how good the Civ3 AI is, it's far better than any AI I've seen in a game of this complexity before. But there just isn't any one set way to play Civ3 'best', and so adaptability is the key to an AI that can do well. Adaptability is where AI's have problems. Your sig states the problem with that pretty well sumthinelse. :)
 
I agree with you about the Civ3 AI, it's the strongest turn-based AI I've ever played against. Considering the huge number of variables in the game it's a very impressive achievement.

One problem that you have making an AI for many types of computer strategy games is that you have a complex (i.e. non-linear) enviroment involving feedback. For instance, a terraforming improvement can effect research, unit/building production, and/or city growth. And these all in turn effect each other. It's a Gordian knot of interdependencies that can't be turned into a set of nice simple equations. Or to use an example from one of the above posts, the 'values' of things in Civ3 fluctuate wildly, and these fluctuations in term effect other things in a cascading chain.

Another difference is the element of chance. In chess, if you can take a piece you can take it. You don't have to have a fallback strategy in case your pawn 'fails' to capture a rook, it can't fail. When you combine the element of chance built into the game code with the one that comes with a human player being involved, it's not a shock that the AI sometimes does stupid things, it's a shock that it works as well as it does.

Any intelligence (AI or human) has limitations, and if you up the ante past that point you'll see a massive breakdown in appropriate behaviour. Anyone who's ever seen a person come apart under stress (or has done so themselves) knows this first hand. The fact that game's AI breaks down (usually ;)) before the humans playing them is to be expected given the very -very- short time such AI's have had in the world. It's not 'sloppy programming'. :rolleyes:
 
I agree that a brute-force approach cannot be applied to ever decision in CIV3, but I think such an approach could be useful in certain combat situations. I also agree that no opening books are possible in CIV3. However:

Originally posted by Aeson
In Chess, there is strategic value for having your Knights in certain positions in a chess game, and it's usually pretty static from game to game.

Not really. In the openings that is true, but chess programs can play very strongly without using an opening book at all. The correct placement of a knight in the middle game and endgame depends on the total situation.



I don't understand Chess very well, but I'll bet someone who can pick out what Gambit/Opening is being used, and knows the proper counters, can beat a consumer Chess AI every single time. The pattern just has to be figured out.



That used to be true, but some of the better commercial chess programs have options to randomize choices when they evaluate to a nearly identical value.



For now we are stuck with AI's that once figured out, can be beaten methodically

Not true for chess, but certainly true for CIV3. I am going to buy PTW, how about you? :)
 
Well I am planning to get AoM (Age of Mythology)... :) Comes out 9 days before Civ3. Not sure if I'll be buying PtW as it comes out, maybe much later..

Also, as an example of an excellent "force-feedback" AI, I give you "SuperPower" by Golem Labs.
 
Top Bottom