Originally posted by Hurry So, the first roll is 2 against 7, which is about 28% chance of winning.
Announcement
Collapse
No announcement yet.
the civ3 game is already calculated before you make your moves
Collapse
X
-
-
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
Comment
-
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
Comment
-
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
Comment
-
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 GAMELast edited by Qnuc.dk; December 5, 2001, 17:01.
Comment
-
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
Comment
-
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.
Comment
-
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 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.
Comment
-
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.
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.
Comment
-
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.Last edited by Karhgath; December 5, 2001, 21:49.-Karhgath
Comment
-
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 .-)
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.
Originally posted by hanZ
testing: i made several hundred test on different terrains. does it count?
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.
Comment
-
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.
Comment
-
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.
Comment
-
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.
Comment
Comment