Page 1 of 2

Like the game BUT....

Posted: Fri Jan 12, 2007 3:41 am
by nzld
Really enjoy the game. However it really really bugs me that at least once a game (usually several times) I can attack a country with no defense (just the basic colour) with 12 or 15 armies and lose. I understand that it is statistically possible, but in actuality it is virtually impossible, especially with the regularity with which it occurs.

Why is this?

Posted: Fri Jan 12, 2007 9:13 am
by Sean OConnor
I promise you it's just random! The game doesn't cheat with dice throws ever.

Posted: Sat Jan 13, 2007 4:28 pm
by qwas
Maybe make it that if attacking an undefended country, if there is over one army the army will be captured. Citizens might be able to destroy part of an army... I often attack an undefended country with one or two armies left (or I have one army left after a massive fight) and often get anhililated.

Posted: Sat Jan 13, 2007 10:17 pm
by Sean OConnor
I want to keep the attacking rules the same as in the Risk board game.

If you play the board game you need to keep one army of your colour to indicate that you own that territory, so that army can't ever be moved (or the territory would be "un-owned"). To make things look more clear on Conquest I just show one less army per territory and use the colouring to show who owns a territory. If you'd like it to look more like the actual board game just unselect the "Show only moveable men" option.

Posted: Mon Jan 15, 2007 5:27 am
by nzld
With the rules of the original Risk game it is theoretically possible that 1 troop can defeat 12 attackers, but in actuality it is statistically improbable. Try it with a set of dice at home, it will never happen. But in the computer game it seems to happen.

Posted: Mon Jan 15, 2007 10:01 am
by Sean OConnor
nzld wrote:With the rules of the original Risk game it is theoretically possible that 1 troop can defeat 12 attackers, but in actuality it is statistically improbable. Try it with a set of dice at home, it will never happen. But in the computer game it seems to happen.


Yes, it's statistically unlikely to happen but if you play enough games it will happen eventually. I've never had that much bad luck ever myself but I get stopped by smaller forces quite regularly.

I'll say again though that the game doesn't cheat at all with dice throws and doesn't pick on human players over computer players or do anything else that could be called cheating.

Posted: Mon Jan 15, 2007 3:46 pm
by TheKangaroo
Well, I personally used to have the theory (in those old days when I was playing board games more often), that thrown dice don't fall as random as random numbers from a computer do. After all a dice is influenced by the way it is thrown and it's actual shape, which is not a perfect cube and so on and so on...

Posted: Wed Jan 17, 2007 5:52 am
by BoxZone_Author
I remember having a "falling out" with my brother after rolling 12 of 16 defence rolls as 6s. He assumed that I was somehow cheating in the way I rolled the dice.

It does happen with real dice.
It's also one of the reasons I rarely select "attach until I win" but always go three at a time incase I do really badly and want to stop.

Posted: Thu Jan 18, 2007 7:46 am
by nzld
I don't believe there is any built in cheating, not at all what I was suggesting.



Yes, it's statistically unlikely to happen but if you play enough games it will happen eventually

You would have to play a lot of games for the sorts of odds I am talking about!! You would be better off buying a lottery ticket, better chances.

I do enjoy the game and will probably keep playing, but the sheer frequency of times where I attack a territory with overwhelming force (ie they only have the base unit) and lose is extremely frustrating. This is not an isolated occurance and I have run some statistical analysis and do not see how this can happen so often. In fact it is impossible. Maybe the algorithm used gives an unstatistical advantage to the defending side different from that used by the Risk game?

Posted: Thu Jan 18, 2007 11:49 am
by Sean OConnor
nzld wrote:Maybe the algorithm used gives an unstatistical advantage to the defending side different from that used by the Risk game?


No, it just rolls "dice" using Windows' built in random number function exactly in the same way you would get random numbers by throwing a dice in the board game.

Posted: Fri Feb 09, 2007 6:27 am
by nzld
I think the game is great. I have definitely got my money's worth so no complaints there.

Todays' game, I controlled Venezuela, Peru and Argentina. Brazil had no extra troops on it. I attacked it with 20 from Argentina. Somehow I lost all of them without gaining the territory. I then attacked with 15 from Peru. Again, I lost them all without gaining the territory. Lastly, I attacked with everything I had left on Vensuela, 16 of them. Again I lost them all.

This is just not possible. It really isn't. I guess I will stop playing the game now.

Posted: Fri Feb 09, 2007 9:55 am
by Sean OConnor
I'll say it again (and I'm sure this won't be the last time...)

The game doesn't cheat. The dice rolls are completely random.

If you play enough times you'll run into a stretch of bad luck eventually.

Posted: Tue Feb 13, 2007 1:58 am
by nzld
As I have said, I know the computer doesn't cheat. It can only do what it is programmed to do.

The statistics show that the dice rolls are not random.

Posted: Tue Feb 13, 2007 10:32 am
by Sean OConnor
Sigh...

The dice rolls are completely random.

Random doesn't mean that everyone will throw the same number of 1s or 6s. Look, I'll even post the piece of code that does the dice rolls here. rand() is a Windows function which returns a random number. The code doesn't know if it's a human or a computer that it's rolling the dice for.

Code: Select all

   // roll the dice
   if (option.bSounds == TRUE)
   {
      sndPlaySound("Dice.wav", SND_SYNC);
   }

   while (config.defend[0].iCountdown > 0 || config.defend[1].iCountdown > 0
      || config.attack[0].iCountdown > 0 || config.attack[1].iCountdown > 0 || config.attack[2].iCountdown > 0)
   {
      for (i=0; i<iAttackDice; i++)
      {
         if (config.attack[i].iCountdown > 0)
         {
            config.attack[i].iCountdown --;
            config.attack[i].iNumber = rand()% 6 + 1;
         }
      }

      for (i=0; i<iDefendDice; i++)
      {
         if (config.defend[i].iCountdown > 0)
         {
            config.defend[i].iCountdown --;
            config.defend[i].iNumber = rand()% 6 + 1;
         }
      }

      if (config.defend[0].iCountdown > 0 || config.defend[1].iCountdown > 0               // don't bother drawing last one
       || config.attack[0].iCountdown > 0 || config.attack[1].iCountdown > 0 || config.attack[2].iCountdown > 0)
      {
         Draw_DrawScreen(hMainWindow, &bitmaps, &config, &option, territory, &ptHolding, &ptHoldingOld, iNetworkStatus, hNetworkWaiting, bPressingDoneButton, REDRAW_ALL);

         if (option.bSounds == TRUE)
         {
            sndPlaySound("Dice.wav", SND_SYNC);
         }
      }
   }


I don't think there's much more I can say really.

Posted: Wed Feb 14, 2007 7:17 am
by Fusion_power
The code is pretty explicit. Unfortunately, the rnd function is not very random. I'm just quibbling though. Even a Cray supercomputer has problems generating truly random numbers. Lets say that your code is about as random as you can get using the internal random number generator.

Years ago, the commodore 64 had a programmable sound chip. It could be set to a high frequency and you could read the value at random intervals using the rnd function. The combination resulted in the most highly random numbers I've been able to generate. Unfortunately, the PC doesn't have anything even similar to it.

Fusion