Thread Tools
Old December 15, 2001, 15:19   #1
cavebear
Civilization II Democracy Game
Emperor
 
cavebear's Avatar
 
Local Time: 13:32
Local Date: October 31, 2010
Join Date: Oct 1999
Location: of the Pleistocene
Posts: 4,788
Software Designing Suggestion
One of the awkward facts of the civ games (and all the others, I'm sure, but I don't play any others) is that the computer always knows everything about your civ right down to the last unit in the smallest city. This is not only inherently unfair (and the reason I prefer MP mode) but it actually damages the playability of the game. It makes the Player/AI competition unworkable.

I do not do game design. I am not knowledgeable in modern programming languages. But I used to program (Fortran, Basic, Cobol - Hey, I'm old, OK?)

So I ask this seemingly simple question. Why isn't the AI program isolated from the game operations programming? It isn't impossible to keep part of a program from having information from another part of the program (actually, it takes deliberate effort). So why shouldn't the AI program know only the same things that I do? Is that such a bizarre idea?

The AI programs will never improve as long as the developers *depend* on the AI having secret information (as a crutch). Let the AI see only my city, not the units inside. Let the AI have to trade with me not knowing how much gold I have. Let the AI not know the locations of my cities (or the other civs).

It wouldn't bother me in the least to have a level of difficulty that is virtually unbeatable (there are plenty of chess programs like that already, for me anyway). But let the AI play the same game I am playing, and let me test my skill against *that*.
__________________
Civ2 Demo Game #1 City-Planner, President, Historian
Civ2 Demo Game #2 Minister of War,President, Minister of Trade, Vice President, City-Planner
Civ2 Demo Game #3 President, Minister of War, President
Civ2 Demo Game #4 Despot, City-Planner, Consul
cavebear is offline  
Old December 15, 2001, 15:38   #2
Dan Magaha FIRAXIS
Firaxis Games
 
Dan Magaha FIRAXIS's Avatar
 
Local Time: 13:32
Local Date: October 31, 2010
Join Date: Mar 2000
Location: The Metropolis known as Hunt Valley
Posts: 612
Soren would be the definitive answer on this topic, but I suspect it revolves around the issue of efficiency vs performance.

Remember that the computer that finally beat Garry Kasparov in chess was a monstrosity of a parallel supercomputer that cost 5 million dollars and 5 years to build.

Clearly we don't have that kind of horsepower luxury with PC's, and I think there's a pretty good argument for Civ being more complex than chess in terms of the number of calculations that the AI needs to make each turn.

Dan
__________________
Dan Magaha
Firaxis Games, Inc.
--------------------------
Dan Magaha FIRAXIS is offline  
Old December 15, 2001, 16:01   #3
jackshot
Chieftain
 
Local Time: 12:32
Local Date: October 31, 2010
Join Date: Aug 2001
Posts: 89
Re: Software Designing Suggestion
Quote:
Originally posted by cavebear
the computer always knows everything about your civ right down to the last unit in the smallest city. This is not only inherently unfair (and the reason I prefer MP mode) but it actually damages the playability of the game. It makes the Player/AI competition unworkable.
I've always thought just the opposite, it is an untapped sourse of gaming.

The computer can do things the human can't, humans can do things the computer can't. Right there is competition. People talk about how clever human players are, forgetting the computer has one BIG advantage - it makes up the rules.

Personally, instead of limiting what the human can do in Civ3, I wish they had just made the AI Civs grow and act outwardly like Civs, not worrying about shields and where to send workers. You would need to add variables so it wasn't too predictable, and you would need to still fight over resources so you're not just doing assaults on cities, but it could be done.

I never understood why build a game the computer can't play (which is a general comment on bad AI, not a comment on Cv3 specifically), or dumb one down so it can? How does that make a good game?
__________________
"Is it sport? I think it is. And does affection breed it? I think it does. Is it frailty that so errs? It is so too." - Shakespeare, Othello IV,iii
jackshot is offline  
Old December 15, 2001, 17:43   #4
Code Monkey
Chieftain
 
Local Time: 13:32
Local Date: October 31, 2010
Join Date: Dec 2001
Posts: 72
Quote:
Originally posted by Dan Magaha FIRAXIS
Soren would be the definitive answer on this topic, but I suspect it revolves around the issue of efficiency vs performance.

Dan
It's definitely an efficency issue. If you give the CP players the ability to simply read the existing data structures holding your (and other Civ's units), that's clean and easy to implement.

If you wan't to go for realism you have to check every single unit every single turn for which, if any, of a given opponent they can see and merge all of that data into a "You know this about the opponent". And then repeat this for each opposing civ, and then repeat for each of the other civs AIs. Then you have run the "you know this about the opponent" through some sort of fudge factor algorithm taking into account what that civ probably actually has based on spy info, or units you saw a few turns ago, etc.

I wouldn't even want to think about coding this such that it would work well (or even poorly ). A human can remember he saw 4 battleships move past his shore ten turns ago. A human can make gut assumptions about the strength of the opponent by piecing lots of little things together. None of these things would be efficient to implement in a way that would work well - balance it one way and the AI would consistently undershoot your strength and get itself slaughtered, balance it the other and the AI would consistently overshoot your strength and run from your modern age spearman.

The trick, and something I think Soren mentioned in some post or interview, is tweaking the fudging of the real data such that the AI behaves more realistically. There should be functions in place to prevent the AI from going "London and Shrewsbury have 3 pikemen each but York 6 squares farther away and deep in English territory only has 1 pikemen, let's attack it!"
Code Monkey is offline  
 

Bookmarks

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump


All times are GMT -4. The time now is 14:32.


Design by Vjacheslav Trushkin, color scheme by ColorizeIt!.
Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Apolyton Civilization Site | Copyright © The Apolyton Team