Spatzimaus
Mad Scientist
Kolyana said:I think a lot of the points Spatzimaus makes *could* be programmed into a game, and while a machine will not - at least this year- think like us or have the range of decision possibilities available to it, I *do* think that it could be programmed to think deeper and more cleverly.
They could be programmed to think deeper right now. It's not like people don't know how to program all the IF checks needed; the problem is processor speed, most likely. If coding a comprehensive AI to look one turn further ahead results in 10 times as many possible outcomes, then it's going to take 10 times as long to assess them, pure and simple. People have been complaining about 15-30 second wait times at the end of late-game turns; would the game be playable if this took 5 minutes, instead? If another turn beyond that added another factor of 10, would you be willing to wait 50 minutes per turn? Because that IS what it'd take to work through the possible moves in a "pure" AI, one that actually considers the possible options.
The typical way around this is to preprogram certain optimal chains of moves, sort of how chess players think in terms of openings and gambits. Basically, you make the machine "stupider" by removing its ability to select paths that humans already know are suboptimal. (Like, "no, I'm NOT going to move my King forward when he's not threatened.") In a Civ context, that'd be like saying "when you found a new town, build a defender, a temple, a granary, a docks if it's on water, and a worker". And guess what, that's basically what they've done, but it's a tradeoff; longer chains mean you can fit more of them in to the same amount of processor time, but you have a higher chance of something going wrong in the middle and not being able to react.
As far as I can tell, for most things the AI isn't ACTUALLY assessing the long-term impacts of the move, he's trying to match the current situation to some pre-programmed strategies, usually using some sort of "value" system. Front-line cities might go lighter on buildings and heavy on defenders, and terrain will tweak this a bit, of course, but it could simply use some formula based on distance, size, etc. to pick one of ten strategies. This is best seen in the AI's Cottage use; it's way too much, so clearly it didn't actually think ahead, and instead just looked to a table that said "cottages are good!" and went with it. Frankly, this is how most humans play, too; we put a mine on a hill not because we've figured out that ten turns down the road it'd be the best choice, but simply because we know that mines are best on hills. Sure, we might do things differently now and then, but once you've played through a few times, most of your decision-making is actually this sort of unthinking generalization; you put the mines on hills, the cottages on interior grasslands, farms where you can, and special resources get whatever harvests them.
So really, what you're asking for with these extra AI abilities are just more tables for it to look up, or more hard-coded strategies. And this isn't a bad thing, actually; if the AI was just a bit "smarter" with its units, with a few more rulesets detailing how to keep its units upgraded, or added a simple rule that said "place cities on coasts if you can", then maybe we wouldn't be having this discussion. I wouldn't be surprised if someone finds a way to use the SDK to fix this; it might only double the between-turn wait times, and lead to a much better game. But the AI won't actually be much "smarter". It won't actually think "deeper"... more like "wider", more comprehensive. And it will be nowhere close to the level playing field people are asking for.