Monty wrote:Haha! Thanks, Kroah, this is very interesting!
Kroah wrote:- a fortification decreases by one the defending factor
So the power of a fortified country isn't exactly doubled like it's being told? (or, if lower is better, the defending factor should be halved, not decreased by one, shouldn't it?)
"- the higher a factor, the weaker the side (and the lower, the stronger)."
I've not detailed here how the factor is used, but you're right: the factor determins the effective power of the army like this:
power = army / 2^factor
Don't ask me how the power is used, i want to keep some mysteries
Monty wrote:And generally about what you wrote: Is this Atari ST-reality, or is this just theory, like it SHOULD BE (and IS on Atari XL), but ISN'T on Atari ST, due to bugs?
Beside the big bug described below, the whole game remains the same. So everything in my previous post concerns both versions (including the current bugged atari ST one).
Monty wrote:Kroah wrote:The computer doesn't cheat for this:
- He can't build elsewhere than in his capital
- He can't build at non-building turn
But this seems to be massively masked by bugs.
Yes, it does.
Monty wrote:Well, what the spies are telling me isn't totally precise, but if I attack a 1000-men-country with 1 billion and do not beat it, then the only explanantion (apart from the mechanism being buggy) is that new army has been build there (if no other country is left for the cpu to ship army from).
It's the bug. I've a saved game somewhere showing this, i'll try to find it.
Monty wrote:Also, the constant rise of army on "last-resort-islands" led me to the assumption that the cpu could build army in non-factory countries, but this also seems to be based on a bug.
Actually, i haven't find something (or a bug) in the code letting the AI builds everywhere (or something similar). I may miss something of course. If someone send me a saved game showing this, i'll have a look.
Monty wrote:Do you know if the cpu is always investing all it's money or does it store some bucks for the bad times?
The AI spends all his money, but since he earns lot more according to his level, even without a lot of countries, he can always build a nice army.
A little explanation about the bug in the core battle code:
Everyone whom has played on Atari ST has seen that sometimes it's incredibly difficult to take an enemy country. In addition, the attacker loses a lot of men.
A really simplified *good* algorithm doing 1 round of battle is the following:
- Code: Select all
A has X men remaining
B has Y men remaining
nbMenPlayedForA = 0
nbMenPlayedForB = 0
nbMenForA = X
nbMenForB = Y
roundDoneForA = false
roundDoneForB = false
// loop on each man for each side
- do
// while all men haven't played for A
if nbMenPlayedForA <= nbMenForA
nbMenPlayedForA ++
According to its factor, kill a man of B (Y --) (*)
else // all the men of A have played
roundDoneForA = true
end-if
// while all men haven't played for B
if nbMenPlayedForB <= nbMenForB
nbMenPlayedForB ++
According to its factor, kill a man of A (X --) (*)
else // all the men of B have played
roundDoneForB = true
end-if
// until all men of both sides have played
- until roundDoneForA = true AND roundDoneForB = true
BUT in the real Atari ST version (i've checked 3 distinct versions, french one included), they've swapped the line (*) and (**). In this case, each side kills its own men... Since the factors are swapped too, the result *may* give the good result (if both sides have the same number of men).
For the same number of men with FactorA = 3 (strong), FactorB = 6 (weak):
Good: A does lot of damage to B (strong factor), B does few damage to of A (weak factor) -> B is dead
With bad algo, it gives:
Bad: A does few damage to A (weak factor), B does lot of damage to B (strong factor) -> B is dead
As you can see, the result *could* give the same result.
BUT, if one side has lot more men than the other, the result differs (number of men are not swapped):
Let A having 10000 men and B 100:
Good: A does lot of damage to B (strong factor) * 10000, B does few damage to A (weak factor) * 100 -> B is crushed, A near no damage
Bad: A does few damage to A (weak factor) * 10000, B does lot of damage to B (strong factor) * 100 -> A receives lot more damage, B receives a lot less damage -> country not conquered
That's why when attacking 10000 armies versus 100, the attacker takes 2000 kills and the defender ~30 AND the country isn't conquered.
Some others elements, like the retreat factor, change the outcome and let the game playable. But the Atari 800 (and maybe the C64) is still the reference witouht bug.
Pascal