Thread Tools
Old December 4, 2001, 15:46   #1
Qnuc.dk
Chieftain
 
Local Time: 17:59
Local Date: October 31, 2010
Join Date: Nov 2001
Location: Denmark
Posts: 32
the civ3 game is already calculated before you make your moves
There's an interesting debate going on here
It's about game calculation and randomness

It seems like the game result is presettet.
There's is no luck





alt.games.civ3
http://groups.google.com/groups?hl=d...alt.games.civ3
Qnuc.dk is offline  
Old December 4, 2001, 16:00   #2
G.A
Chieftain
 
Local Time: 19:59
Local Date: October 31, 2010
Join Date: Nov 2001
Location: Kiev, Ukraine
Posts: 83
No. Reload game, and go the other way. You`ll find that it`s different
G.A is offline  
Old December 4, 2001, 16:00   #3
ScottVib
Chieftain
 
Local Time: 13:59
Local Date: October 31, 2010
Join Date: Nov 2001
Location: Here
Posts: 65
This has been brought up several times. Firaxis has fixed the seed in saved games. The result is that whenever you do the exact same moves in a saved game you'll get the exact same results as the first time you do it. This was done for two reasons first because it makes it easier while testing (much easier to reproduce bugs this way); and also to defeat those insidious people who like to save, fight a battle, lose, go back to the same game and fight the battle again, repeating the process until they win. Now if you do this you will be beating your head against the wall, since the seed is fixed the outcome will always be exactly the same, assuming you have done the exact same things each time. The only way to do beat this is to force the game into a situation where it has to generate a different random seed.

Hope this helps.
ScottVib is offline  
Old December 4, 2001, 16:06   #4
Dis
ACDG3 SpartansC4DG Vox
Deity
 
Dis's Avatar
 
Local Time: 10:59
Local Date: October 31, 2010
Join Date: Feb 2000
Location: Las Vegas
Posts: 17,354
I have noticed that you have to do several things different to change the seeding. just moving units out of order hasn't worked for me. I get the same result (yes I refuse to lose calvary to a spearman on flat ground- so I reload only if he dies- usually they retreat which is good).
__________________
Focus, discipline
Barack Obama- the antichrist
Dis is offline  
Old December 4, 2001, 16:12   #5
Jaybe
Mac
Emperor
 
Jaybe's Avatar
 
Local Time: 10:59
Local Date: October 31, 2010
Join Date: Sep 2001
Location: Henderson, NV USA
Posts: 4,168
Nonsense
Only the "dice rolls" have been predetermined. It is up to you to do the right thing (combat etc.) at the right time. The deck is not "stacked" as you imply.

And every time you restart the program, the random numbers are reseeded. It is a GOOD thing that you cannot just reload your in-progress game to try get a 'better' result. There are plenty of ways to 'cheat' as it is.
__________________
JB
I play BtS (3.19) -- Noble or Prince, Rome, marathon speed, huge hemispheres (2 of them), aggressive AI, no tech brokering. I enjoy the Hephmod Beyond mod. For all non-civ computer uses, including internet, I use a Mac.
Jaybe is offline  
Old December 4, 2001, 18:37   #6
Moraelin
Warlord
 
Moraelin's Avatar
 
Local Time: 17:59
Local Date: October 31, 2010
Join Date: Nov 2001
Posts: 284
Let me tell you a story. (And, no, for a change it's not Anti-Civ3.)

One of my friends was playing Panzer General. Like this: Save. Attack. Reload. Save again. Attack again. Reload again. 10 times in a row for each and every single attack. He wouldn't even reload only if he lost. He'd reload if his unit took more than 1 point of damage. (Out of 10..13 points, depending on experience.) He was proud of it.

If you ask me, FFS, just use an old fashioned cheat already if you need that.

Not sure if it's actually needed that Firaxis tries to control cheats, though. I mean, there's no MP anyway, and even in MP, the server could do consistency checks. So why bother? If anyone really wants to cheat in single player, I think it's their own business.
Moraelin is offline  
Old December 5, 2001, 03:36   #7
Qnuc.dk
Chieftain
 
Local Time: 17:59
Local Date: October 31, 2010
Join Date: Nov 2001
Location: Denmark
Posts: 32
But how does it work?

I can't believe that the game calculate all possibilities, this would take a large amount of cpu. It must be smarter to only calculate when needed, for maximizing the game speed porpuse.

Is there some auto saving going on for every step we take?
Qnuc.dk is offline  
Old December 5, 2001, 03:38   #8
Cian McGuire
Warlord
 
Local Time: 12:59
Local Date: October 31, 2010
Join Date: Aug 2001
Location: Philadelphia, PA
Posts: 161
It's not fixed from the beginning- just from turn to turn.

Don't like the outcome of a battle? Don't think that that barbarian attack from a hut is kosher? Wait a turn, then redo whatever you did- the number's will change.
Cian McGuire is offline  
Old December 5, 2001, 04:35   #9
kimmygibler
Warlord
 
Local Time: 10:59
Local Date: October 31, 2010
Join Date: Nov 2001
Posts: 236
"It seems like the game result is presettet.
There's is no luck"

duh... Even if it were all preset, you'd still be relying on luck...

=|
kimmygibler is offline  
Old December 5, 2001, 05:06   #10
docken
Settler
 
Local Time: 17:59
Local Date: October 31, 2010
Join Date: Nov 2001
Location: Sydney, Australia
Posts: 27
I personally think the seed idea was a bit over zealous. If people want to cheat in a single player game, hooray for them. In fact if the seed didn't exist, we would never have to worry about all those "WTF? my elite tank lost to conscript warrior in grassland!?!? I hate Civ 3 and Firaxis/Inforgrames/Associated partners" threads which is actually worth it IMO.
docken is offline  
Old December 5, 2001, 05:20   #11
Hurry
Chieftain
 
Local Time: 19:59
Local Date: October 31, 2010
Join Date: Nov 2001
Posts: 57
Cian McGuire wrote:

Quote:
Don't like the outcome of a battle? Don't think that that barbarian attack from a hut is kosher? Wait a turn, then redo whatever you did- the number's will change.
Not true. A new round does nothing to change the random seed. This can easily be tested in the early game, when really nothing happens between the rounds. Unless a random number is needed during the enemies turn, your outcome will always be the same, even if you waited several turns. However, as soon as a random number is needed (the same number which decided the hut was filled with barbs), you will get the next "die roll" when you tip the hut, and thus, results can be different. But it has nothing to do with the new turn.
Hurry is offline  
Old December 5, 2001, 05:31   #12
Expatriate
Chieftain
 
Local Time: 18:59
Local Date: October 31, 2010
Join Date: Dec 2001
Location: Syd for Køge....(Denmark)
Posts: 64
Quote:
Originally posted by Qnuc.dk
But how does it work?

I can't believe that the game calculate all possibilities, this would take a large amount of cpu. It must be smarter to only calculate when needed, for maximizing the game speed porpuse.

Is there some auto saving going on for every step we take?
It doesnt have to precalc anything. What happens is basically that the game has a number of "prerolled" random numbers ready for use. Everytime it needs a random number for a battle or to see what you get from a goody hut it just takes the first number from tose stored. To test a bit I saved a game just after building my intelligence agency and then made one try at planting a spy in each of the other nations in the order they were listed. Tries number 1,2 and 4 were succesfull. I then I reloaded and tried them all again, but in random order. Again tried number 1,2 and 4 were succesfull and the rest failed, but this time it was 3 different nations I succeded with because I did things in another order.
Expatriate is offline  
Old December 5, 2001, 05:56   #13
Moraelin
Warlord
 
Moraelin's Avatar
 
Local Time: 17:59
Local Date: October 31, 2010
Join Date: Nov 2001
Posts: 284
Warning: Long Technical Post (TM) ahead.

I'll simplify things a bit, so it doesn't get to be a maths lesson too. For starters I'll ignore terrain modifiers and stuff, and assume that everything is between units whose attack and defense is 8. (So everything is an 8 sided die roll.)

ANY random number generator in ANY game is in fact a series of pre-determined numbers, that the game advances through. (Well, not really, the list doesn't exist from the beginning, but due to the algorithm the 10'th number is determined before you even got the 1'st. So it kind of acts like a pre-determined list.) I'll write some numbers and put in brackets the one that will be taken next.

In the beginning it looks, let's say, like this:

(2) 7 1 5 7 4 6 2 ...

Let's say my conscript rifleman attacks a conscript something else. The first pair of numbers 2 and 7 mean I lose the first round (the opponent rolled higher), the second pair 1 and 5 mean I lose the second too, and my rifleman is dead. Waaah. Now the pointer advanced four positions and the list now looks like:

2 7 1 5 (7) 4 6 2 ...

In most other games, the list is not re-positioned when I reload. So I reload the game, and the list now still looks like:

2 7 1 5 (7) 4 6 2 ...

So I attack again. This time, the first round goes 7 and 4 for me, and the second round is 6 and 2 for me, so I win and my rifleman didn't even take a scratch. Yay! I'm so great! I'm the greatest general of all time!

Well, not really, but I can advance through the random list with save-reload until I stumble upon a sequence that's good for me. That's something that IRL generals can't do.

Now enter Firaxis and saving the random seed. I.e., saving the current position in that list. If I saved before the first attack, and then reload, the list's status becomes again what it was in the beginning:

(2) 7 1 5 7 4 6 2 ...

If I attack again, I'll roll 2 vs 7 and 1 vs 5 again, and I'll lose again. Buggrit.

However, I can do something else in the meantime, that uses up a random number. E.g., I can let the enemy attack me instead, in which case he'll get those next few bad rolls from that list. E.g., I can fire a catapult at something, so it's an attack vs defense roll that uses two of those numbers, so now it's:

2 7 (1) 5 7 4 6 2 ...

If I attack NOW, I'll pick an 1 vs 5 the first round, but 7 vs 4 in the second and 6 vs 2 in the third. My rifleman now took one point of damage, but won the battle. Yay! I'm a great general after all!

Also, later in the game, advancing a turn means advancing through a LOT of random numbers in that list. There are pollution dice rolls, culture dice rolls, and even the AI decisions seem to have a lot of random numbers in them. After that turn, I'm so far down that list from where I started, that it's a new list for any practical purpose.
Moraelin is offline  
Old December 5, 2001, 09:27   #14
Hurry
Chieftain
 
Local Time: 19:59
Local Date: October 31, 2010
Join Date: Nov 2001
Posts: 57
Thanks Moraelin for your insights. You make your point very clear. Now, by testing different combinations of attack, one could in theory detemine the actual die rolls.

As you say, it´s easy to figure out if the die roll was in your favour or against, but there must certainly be more to it than just win or lose. I´ll take your numbers as an example: (2) 7 1 5 7 4 6 2.

So, the first roll is 2 against 7, which is about 28% chance of winning. 100%-28%=72%, so if you have at least 72% chance of winning the round, you will win, otherwise lose. For example, a Cavalry (att 6) would score a hit on a Warrior (def 1), but be wounded if it attacked a Hoplite or anything better than that (def 3).

By changing the units and recording the win/lose-scheme, you could determine the die rolls. I will do some testing later and post my experiences.
Hurry is offline  
Old December 5, 2001, 11:40   #15
DATarbell
Guest
 
Posts: n/a
To further complicate things, there may even be multiple "random number queues" in operation (e.g., one for resolution of goody huts, another for resolution of attacks, another for resolution of defenses, another for resolution of resource discoveries, et cetera).
 
Old December 5, 2001, 11:45   #16
Moraelin
Warlord
 
Moraelin's Avatar
 
Local Time: 17:59
Local Date: October 31, 2010
Join Date: Nov 2001
Posts: 284
Quote:
Originally posted by Hurry So, the first roll is 2 against 7, which is about 28% chance of winning.
No. It's not a probability, it's the actual number rolled. Let's say me and you are playing a simple game of dice. No special rules, higher number wins immediately. I roll the dice, and get a 2, you roll the dice and get a 7. I lose, you win. No ifs, no buts, no probabilities. You had had the higher number, and that's that.
Moraelin is offline  
Old December 5, 2001, 12:29   #17
xane
Chieftain
 
Local Time: 17:59
Local Date: October 31, 2010
Join Date: Nov 2001
Posts: 97
Nearly all random number generations operate on a seed to kick it off, then they mix in some other "random" factors that mix it all further.

Try approaching a goody hut, but save a few turns earlier, then reload and try again but this time use a different direction to enter the square, or use different unit, it may make a difference

The big difference in Civ3 is one of the random factors is NOT time, most system use the internal clock or an internal time counter to randomise with, once you eliminate that the chances of reload-cheating are reduced (but not eliminated).
__________________
xane
xane is offline  
Old December 5, 2001, 12:35   #18
xane
Chieftain
 
Local Time: 17:59
Local Date: October 31, 2010
Join Date: Nov 2001
Posts: 97
Nearly all random number generations operate on a seed to kick it off, then they mix in some other "random" factors that mix it all further.

Try approaching a goody hut, but save a few turns earlier, then reload and try again but this time use a different direction to enter the square, or use different unit, it may make a difference

The big difference in Civ3 is one of the random factors is NOT time, most system use the internal clock or an internal time counter to randomise with, once you eliminate that the chances of reload-cheating are reduced (but not eliminated).
__________________
xane
xane is offline  
Old December 5, 2001, 15:16   #19
cavebear
Civilization II Democracy Game
Emperor
 
cavebear's Avatar
 
Local Time: 12:59
Local Date: October 31, 2010
Join Date: Oct 1999
Location: of the Pleistocene
Posts: 4,788
I find this all rather disturbing. I don't play the SP Civ games for their own sake, but to learn how to play in MP against other players. So, I treat the SP mode as a tutorial, a practice opportunity.

Given that, one of the things I want to get a good feel for is the range of likely outcomes in unit battles. In Civ2, I could replay battles between (for example) archers and legions to get a gut impression of how likely such a battle would come out. Of course it changed slightly from one atempt to the next, but I could get a general idea of what to expect.

Apparently, that it not possible in Civ3. At least this all explains *why* the battles turned out the same way a dozen times in a row. But it doesn't teach me anything about the next battle under similar situations (or slightly different ones).

If I understand correctly what I have read here, the software does not estsablish a new random number generator sequence each move. That seems a bit odd, but, OK, that's the way it works. What it means, though, is that I can't learn very much about how the units compete.

Worse, it seems that the range of possibilities has been set so wide that one cannot have any reasonable expectation of how a battle will be resolved even when the units suggest an obvious winner. I detest games where results are mostly random rather than comprehensible given the powers of the units involved.

I've read enough examples of seriously advanced units losing to ancient ones to make me wonder if this game is really worth playing. But my thanks to all those in this thread who explained how the battles work. I may return to Civ2...
__________________
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 5, 2001, 16:10   #20
Qnuc.dk
Chieftain
 
Local Time: 17:59
Local Date: October 31, 2010
Join Date: Nov 2001
Location: Denmark
Posts: 32
Ok, I see

Prerolled dices, or int list available for specific units or game elements

and the long precalculated lists are saved with the game whenever you save the game. That's why reloading the game won't change the same actions you made before. Cos you load the same precalculated int lists.

Something like this is going on (likely not true, but the basic idea would be... I guess)


The Pikemen (1-3-1) has the int list
13222132321322123212321231232...(loop back to start)

The Knight (4-3-2) has the int list
41234142341432142341234321432... (loop back to start)

These int list are based on the Knight attacking the Pikemen
The pikemen get int range numbers 1-3 because the defence value is 3
The knight because, 1-4, because it's attack value is 4

Let's say Pikemen is veteran (4 hitpoints)
And Knight regular (3 hitpoints)

Round 1
Knight 4
Pikemen 1

Hitpoint
Knight 3
Pikemen 3


Round 2
Knight 1
Pikemen 3

Hitpoint
Knight 2
Pikemen 3

Round 3
Knight 2
Pikemen 2

Hitpoint
Knight 1
Pikemen 3


Round 4
Knight 3
Pikemen 2

Hitpoint
Knight 1
Pikemen 2


Round 5
Knight 4
Pikemen 2

Hitpoint
Knight 1
Pikemen 1


Round 6
Knight 1
Pikemen 1

Hitpoint
Knight 0
Pikemen 1

Result: Pikemen win!




EDIT: Ofcause there's warrior against warrior
with 1 attack vs 1 defence, and the per cent chances in this example is completely wrong

So the int list system must be different than the example above


We know an attacking unit (value 4) vs a defending unit (value 2)
that the chance outcome for attacking unit is (4+2) / 4 = 2/3
and the chance outcome for defending unit is (4+2) / 2 = 1/3

So the system must be something like
adding the 2 units calculate value (in this case it is 4 and 2)
and from the result, then use an 6_ranged_int_list like

5415151412425566564646362525112636645 ... (loop to start)

and the attacking unit win with the values 1,2,3,4
and the defending unit with 5,6



Ok that was just some thoughts...






However ... WELCOME TO THE BIG RISK GAME

Last edited by Qnuc.dk; December 5, 2001 at 17:01.
Qnuc.dk is offline  
Old December 5, 2001, 17:33   #21
cavebear
Civilization II Democracy Game
Emperor
 
cavebear's Avatar
 
Local Time: 12:59
Local Date: October 31, 2010
Join Date: Oct 1999
Location: of the Pleistocene
Posts: 4,788
Thanks, really. But it still doesn't resolve my concern. Perhaps it is that Civ3 has a far broasder range of possible victory numbers for old units vs newer ones. I just can't get much interest in a game where a 3.2 swordsman loses to a 1.1 warrior on grassland.

I think I would rather play Risk, and where can I get the software/site for that? Civ3 is too uncontrolable in SP.
__________________
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 5, 2001, 20:39   #22
hanZ
Chieftain
 
hanZ's Avatar
 
Local Time: 18:59
Local Date: October 31, 2010
Join Date: Nov 2001
Location: Berlin, Germany
Posts: 43
first: the ai cheats in battles. firaxis will not stop to say this is not true - but it is.

second thing: unit strenght has NOTHING to do with the end of the fight. not directly. the number of lost/won rounds is calculated on a basis like: summary of attacking points of all attacking units vs. def points of all possible defensive units. when i attack two spearmen with two cavalry i will normally loose both fights on deity. in 9 of 10 cases. when i attack with 5 vs 2 i normally get the city nearly wihtou any scratch. a lot of testing brings me to this opinion:

on deity the ai gets 2 or more bonuspoints to the unit skills. attacking with a LOT of more units prevents you from loosing modern armor to spearmen. the ai cheats in the fights. and the fights are calculated (with of course a random numbers stack) on a global basis not on a unit based basis. when you attack with 2vs 2 units your chances to loose two units are very high! no matter which strenght they have. you can never be technologically advanced enough to get a advanced enough unit. the ai-cheat bonus will allways be higher.

and no - i dont whine, i dont do savereloadgotheotherway-games, but winning on deity is jsut normal. the AI is too poor. all the ai can do on higher levels is CHEATCHEATCHEAT not playing more intelligent.

a computer can beat the chessworldchampion - why cant the civ-AI cant just be more clever than a average human player?


sorry for my bad english - i play better civ then i speak english .-)
__________________
There have been no new posts in the last 1396 days to your subscribed threads.
hanZ is offline  
Old December 5, 2001, 20:50   #23
XPav
Chieftain
 
Local Time: 17:59
Local Date: October 31, 2010
Join Date: Nov 2001
Posts: 68
Quote:
Originally posted by hanZ
a computer can beat the chessworldchampion - why cant the civ-AI cant just be more clever than a average human player?
Because Chess is easier for a computer to play than Civ?
Because Deep Blue was a ridiculously powerful computer dedicated to one task, programmed by very very smart people?

There can be no comparison between the two.

In regards to the "same results over and over again" issue, I'd just like to point out that it just accurately models the fact that there is no free will in the world. Predestination is obviously the way of things.

Seriously though folks -- its a random number seed that is only part of the combat equations. There isn't multiple lists, is just that the same number dropped into different combats will result in different win/loss ratios.

I'd also say that no one has done enough statistical testing to prove that the Civ3 combat is broken. Anecdotal evidence is one thing -- sitting down and running hundreds of combat rounds between the same units on the same terrain is another thing entirely.
XPav is offline  
Old December 5, 2001, 21:22   #24
hanZ
Chieftain
 
hanZ's Avatar
 
Local Time: 18:59
Local Date: October 31, 2010
Join Date: Nov 2001
Location: Berlin, Germany
Posts: 43
Quote:
Originally posted by XPav

Because Chess is easier for a computer to play than Civ?
Because Deep Blue was a ridiculously powerful computer dedicated to one task, programmed by very very smart people?

There can be no comparison between the two.

Anecdotal evidence is one thing -- sitting down and running hundreds of combat rounds between the same units on the same terrain is another thing entirely.
erm.... i tried to figure out that when deepblue can beat worldchampions and a simple fritz-chess-prog can beat VERY good chess players - hwy cant the civ AI beat NORMAL playes without cheating? I mean without resource and combat cheating?
there are no "tricky-attack-routines" or stuff like this. thats the problem. i dont want the AI beating the worlds best civplayer on deity every time .-)

testing: i made several hundred test on different terrains. does it count?

in 30 fights i lost overpowered units to spearmen in 2on2 fights 9 of 10 rounds. same procedure with 5:2 won ALL fights. similar thing in differant situations. the ai cheats and combat is calculated with influences from all possible fights.

but who cares - knowing the cheat means beating the ai. i ALWAYS attack with *enough* units - so the problem is solved .-)
my casualties are nothing compared to those of the ai - as long as i have enough units possibly attacking the AI-city.
__________________
There have been no new posts in the last 1396 days to your subscribed threads.
hanZ is offline  
Old December 5, 2001, 21:41   #25
Karhgath
Chieftain
 
Karhgath's Avatar
 
Local Time: 12:59
Local Date: October 31, 2010
Join Date: Dec 1999
Posts: 82
I've heard Elite unit in a defending stack gives a small bonus, not sure if I dreamed that tho.

Anyway, to test the combat like you said, about an hundred of times, you would need about an hundred of turns, since you would need to wait for the enxt turn, just to be sure the random list is resetted and different. I can tell you that an hundred turns is long, and the AI won't just stand there =)

The point is, not one has done any mathematical proof that the AI is cheating. I feel that, in deity, especially early on with warriors, spearmen and all, fights are more difficult for me. However, it's just an impression I think, you EXPECT the fight to be harder, so you will interpret anything as that. However, I've made a small test, not any stats or anything, just a simple test.

Situation : Deity Game. I brought about 10 swordsmen to a city size 2 built on a hill. 2 defenders, spearmen, and probably a couple of buildings adding to defense. I attack with all my units one after another. I lost 7(really really bad luck), but finally got the city, but it needed 9 units. I reloaded the game, waited one turn, and did the same... miracle, I haven't lost one unit and my second swordman defeated the second pikeman without a scratch. I did everything in the same order, but waited a turn. What does that tell us? Well, that luck plays a BIG role in the game, bigger than in any previous civ games. I happen to like that. Does that say that the AI isn't cheating? No, but it doesn't say it does. I am trusting Firaxis until someone prove it, which will probably take a very long while.

Oh, and while we're talking about chess and all. Well, writing a chess program is VERY easy. Making a very easy or very good AI is the same programming difficulty. How? Well, the algorithm is pretty simple. The AI will try every possible move in his 'head' and will choose the best one. The 'deeper' it goes(the more turns he lookforward), the 'better' he will be. So, for an easy CPU, you make it look 2 turns ahead, and for a pro, you make it look maybe 32 turns ahead(hehe). That is why it takes a LONG time to play against good AI in simple chess programs. So, it's easy to scale an algorithm to make it easy or hard for chess.

Now, in Civ, it is a LOT more complicated than chess. There a LOT more variables than 16 pieces on each sides and a 8x8 chessboard. Doing a 'brute force' AI algorithm takes a LOT more resources than for chess. If you are tired of waiting 5 mins between turns in huge maps with 16 civs, well, I'm not sure you are ready to wait a couple of days between turn in tiny maps with 2 other civs =) That's why it 'cheats', as it is mostly 'preprogrammed', in the sense that, in general case X and depending on Y, do Z. That way, it is very hard to make it pro, as it is mostly static. The more cases, and the more variables in each condition, the better the AI is, it is not easely scalable. The AI in Civ3 is more advanced than in Civ2, but programmes programmed them, so they will always be as good as the cases they programmed. I am simplifying a little, but I think you can see the point here, heh.
__________________
-Karhgath

Last edited by Karhgath; December 5, 2001 at 21:49.
Karhgath is offline  
Old December 5, 2001, 21:53   #26
XPav
Chieftain
 
Local Time: 17:59
Local Date: October 31, 2010
Join Date: Nov 2001
Posts: 68
Quote:
Originally posted by hanZ
erm.... i tried to figure out that when deepblue can beat worldchampions and a simple fritz-chess-prog can beat VERY good chess players - hwy cant the civ AI beat NORMAL playes without cheating? I mean without resource and combat cheating?
there are no "tricky-attack-routines" or stuff like this. thats the problem. i dont want the AI beating the worlds best civplayer on deity every time .-)
Chess is a simple program for a computer to play. You can write out the rules for chess on a piece of paper. 8x8 grid, 6 types of pieces each with different movement rules. That's it. Take the movement rules, calculate every single possible move that the computer and the opponent can make out as far as you can make them, pick the best move (this is the trickiest part) that you can that will checkmate your opponent, and do it.

Make sure to bring lots of processor. :-)

Civ -- there are too many rules for the computer to brute force calculate, and there are too many objectives. I mean, firstly you have to figure out how you want to win the game.

You can't compare the two.

Quote:
Originally posted by hanZ
testing: i made several hundred test on different terrains. does it count?
No, because you look funny.

Seriously though -- you may have found another factor to the combat rules, but the same rules APPLY TO YOU. Unfortunately, you can prove that because you can't force the AI to attack you.

In the abscence of proof, it really comes down to "WHO DO YOU TRUST". Firaxis has says that the AI doesn't cheat beyond the well-known bonuses (that depend on difficulty level). I believe them. You might not.
XPav is offline  
Old December 5, 2001, 21:56   #27
Executor
Warlord
 
Executor's Avatar
 
Local Time: 12:59
Local Date: October 31, 2010
Join Date: Jul 2001
Location: of Terra Prime, homeworld of the Terran Star Empire
Posts: 179
It's easy to defeat. Save, attack, lose, reload, fire artillery, attack, win, conquer city.
__________________
Humans are like cockroaches, no matter how hard you try, you can't exterminate them all!
Executor is offline  
Old December 6, 2001, 03:09   #28
Moraelin
Warlord
 
Moraelin's Avatar
 
Local Time: 17:59
Local Date: October 31, 2010
Join Date: Nov 2001
Posts: 284
Actually, if you all really want to go into the technical side of it:

1) It IS possible to re-seed the random number generator before each move, based on the system clock. I.e., effectively create a new list, based on the purely unpredictable factor of how many milliseconds the player took to click. But I seriously doubt that most games do that. As I've said, if you don't save the seed, reloading will already produce new numbers so why bother?

2) It's NOT that each unit has its own list of rolls it will take. It's one global list, and everyone takes the next one.

Think of playing Blackjack. There's only one stack of cards, and everyone takes from that one. Sure, it's pre-determined what the 10'th card will be, before even taking the first card. But you still have a choice what to do next. If I split, there'll be two next cards that come my way, while if I stay, no card will. What I do influences what the next guy will receive, and viceversa. Even if you knew in advance what the whole list of cards is, you cannot predict who'll win the 50'th game. (Or in the case of Civ 3 who'll win the 50'th battle.)

3) By now someone probably is ready to say, "But Moraelin, you big silly, Infantry has 10 defense, while Immortals have 4 attack. They can't possibly take their numbers from the same list." Well, actually they can. That list is actually of fractional numbers between zero and one. So the global list might actually look something like:

(0.2) 0.7 0.1 0.5 0.7 0.4 0.6 0.2 ...

Each unit picks one of those fractions and multiplies it with its own attack or defense number. So if those Immortals attack my Infantry, the Immortals pick a 0.2 and multiply it by their Attack number, which is 4, and get a 0.8 (which might or might not be rounded to an integer before comparing it), while my Infantry picks the 0.7 and multiplies it with their 10, and get a 7. The Infantry wins the first round.

However, if the position in the list looked like this:

0.2 (0.7) 0.1 0.5 0.7 0.4 0.6 0.2 ...

Then the Immortals pick the 0.7, which multiplied by 4 gives a 2.8, while the infantry picks a 0.1, which multiplied by 10 gives a 1. Now the Infantry lost the first round.

Well, I know there are usually a lot more decimals than one, and that there are random number generators (e.g., Mitchel-Moore) which don't use floating point numbers, but you get the idea. The whole point is that it's possible to use one single stack of cards for everyone, not one list for pikemen, one list for knights and so on.
Moraelin is offline  
Old December 6, 2001, 03:36   #29
XPav
Chieftain
 
Local Time: 17:59
Local Date: October 31, 2010
Join Date: Nov 2001
Posts: 68
Exactly.

Random numbers are important though for many things, especially cryptography. Since computers can't generate random numbers, what operating systems like Linux do is grab random numbers from external events (like from the network card for example) and add that to a pool. That way, if an app needs a REAL random number (because algorithmic random number generators have slight (and I mean REALLY slight, nothing that would mess up your Civ3 game) ), it can get one.
XPav is offline  
Old December 6, 2001, 04:30   #30
Ironwood
Prince
 
Local Time: 10:59
Local Date: October 31, 2010
Join Date: Oct 2001
Location: Clovis, CA
Posts: 386
There's only one thing wrong with the way you're calculating these battles: I'm pretty sure the Civ2 rules you're using don't apply in Civ3.

Either I had a really wierd dream in which I discovered the combat rules and remember it as reality, or this is the way it actually works:

attacker + defender = determinant

get number between 1 and determinant (or rather, between 0 and determinant - 1)

if is between 1 and attacker, attacker wins. if is between attacker and determinant, defender wins.

Meaning, you add together the two numbers, take a random number between one and the result. If it's... why can I not put this into words? Maybe because it's midnight, and I'm tired.

Anyway, an example. Suppose a knight is duking it out with a musketeer on a flat plainn (knight is attacking). Add together the attack power of the knight and the defense of the musketman
(4 + 4). You get eight. Take a random number between 1 and 8. If it's 1 to 4, knight wins. If it's 5 to 8, musketman wins. 50/50 chance (which is *much* worse odds, than heavy cavalry expect to get, the arrogant fools).

Suppose it's a horseman going up against that same musketman. Horse attack is 2, musket defense is 4. Take a number between 1 and 6. if it's 1 or 2, horse wins, 3, 4, 5, or 6, musket wins. Meaning the horsemen win a third of the time (which is actually pretty good odds for the horse, though the guy with the musket armies will win in the long run, barring rediculous bad luck).

If this looks too good for the low tech units, remember that this calculation is done multiple times in a single battle (once per hitpoint).

EDIT: It wasn't a dream. I just turned to the "Units" chapter in the manual (page 82, "Calculating the Winner"), and this is *exactly* how it works.
__________________
To those who understand,
I extend my hand.
To the doubtful I demand,
Take me as I am.
Ironwood 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 13:59.


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