Games in Progress: 3 | Players logged in: 3 | Players Registered: 37413 | Games Played Total: 68649
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: AI wins too much money from pub  (Read 1367 times)
kipley
Prototype Tester
Mule Regular
***
Posts: 68


View Profile WWW
« on: April 26, 2010, 16:56 »

The new computer AI wins more money than is possible for human players from the pub.  In the early turns of the game (before turn 4), the AI routinely wins more than $200.  And this is after doing its typical busy schedule each round of altering the production of every single plot it owns, catching the wampus, and assaying three plots.

Whereas if a human player runs directly into the pub during an early turn in the game, he'll receive less than $100, I think.  Certainly much less than $200.

This behavior occurred when the "observe computer development" was turned OFF... I'm not sure if the computer is such a great pub gambler as well when you actually watch his entire move.

The effect of this is that the computer is often in first place for the early rounds, which is actually kind of nice for those of us trying to avoid the first place curse.  But still, it's a bug.
Logged
Peter
Turborilla
Administrator
Mule Expert
*****
Posts: 379


Planet M.U.L.E. Team


View Profile WWW
« Reply #1 on: April 28, 2010, 14:15 »

We'll have a look at it. The AI's gambling amount is only slightly related to the number of actions it takes.

A human player can get over $240 by immediatly running into the pub the first round. However, the usual amount for doing that will be around $150.
Logged

kipley
Prototype Tester
Mule Regular
***
Posts: 68


View Profile WWW
« Reply #2 on: April 28, 2010, 15:53 »

I decided to do a bit of a "Mythbusters-style" test to see if the AI was winning more money gambling than it should (after performing many actions, so having less time left on the clock).  If you have less time on the clock, you should generally win less money from the pub.  From the FAQ:

"GAMBLING AT THE PUB
Once you enter the Pub, you're guaranteed to win some money, but you also end your turn. However, the more time you have left when you go to the Pub, the more money you're likely to win."

So anyways, I created a training game with me and 3 AIs.  On my turns, I ran directly into the pub, doing nothing else.  The AIs, of course, did their normal turns of developing their plots, hunting the wampus, and assaying land.  So in theory they should have won less money from the pub, on average, than me, because they would have less time remaining on their clocks.  Here's how it went in my first test game:

Round 1 - Me: 143, AIs: 83, 142, 78
Round 2 - Me: 229, AIs: 193, 171, 150

...then we had a fire in the store, which created a food shortage, invalidating the test (the test is only meaningful if everyone has full food.  I wasn't producing food, but I was buying food until full each turn).  So I created a second test game, which went as follows:

Round 1 - Me: 178, AIs: 224, 191, 70
Round 2 - Me: 177, AIs: 154, 235, 213
Round 3 - Me: 71, AIs: 118, 174, 71
Round 4 - Me: 250, AIs: 250, 100, 192
Round 5 - Me: 136, AIs: 248, 242, 229

Adding up the totals for all seven test rounds, we get:

Totals - Me: 1184, AIs (averaged): 3528 / 3 = 1176

So, it would seem from this (admittedly small sample-sized) test that a human who does nothing on his turn (and has maximum clock time when entering the pub) will receive from gambling just about the same amount of money as an AI that does a regular "busy" turn (and should have a lot less clock time when entering the pub).

In my mind this test lends credence to my original theory that the AI is winning more money than it should.  On some of the computers turns, it does a LOT (developing, catching the wampus, assaying 3 plots), and STILL gets a whole lot of money gambling.

On the other hand, the test did surprise me in how much variance to how much you'll win from pub gambling.  I was under the impression it was much more consistent than that.  I guess after so many games the pub amounts just become "noise" and you don't really notice how much the differ.  It actually explains some things... I've often been confused after the first round why one bot is in the lead instead of another, given their production, etc.... and I now know it probably was just that one got much luckier in the pub than the other.

Both tests were done with "observe computer development" turned off.
Logged
Keybounce
Prototype Tester
Mule Senior
****
Posts: 170


View Profile
« Reply #3 on: April 29, 2010, 00:01 »

Can you please retest with "observe computer development" turned on?

Yet another reason I keep it on.
Logged
kipley
Prototype Tester
Mule Regular
***
Posts: 68


View Profile WWW
« Reply #4 on: April 29, 2010, 04:21 »

Can you please retest with "observe computer development" turned on?

I can... but of course, so can anyone else.  Since I never play with the observe computer development turned on (as the game moves too slow for me as it is!), I'm personally less concerned with whether or not the (alleged) bug occurs there.

I may get around to doing a further test of this someday, but I'm not in much of a hurry to do so right now.
Logged
qoonpooka
Mule Forum Newbie
*
Posts: 6


View Profile
« Reply #5 on: April 29, 2010, 16:17 »

Kip.

I wish I could thumbs-up you.  Thank you for gathering and posting that data.  I don't work on this project, but I have worked on other projects and so many people simply can't be bothered to submit data like that.

I'm sure the PM devs love you for it too. Smiley

Logged
Orv
Jr. Planeteer
**
Posts: 15


Bird!


View Profile
« Reply #6 on: April 29, 2010, 18:28 »

I wonder if the computer's actions with "show development" off are being considered to take effectively zero time?  It would stand to reason, since it speeds things up.
Logged

Bird!
Keybounce
Prototype Tester
Mule Senior
****
Posts: 170


View Profile
« Reply #7 on: April 29, 2010, 19:04 »

Can you please retest with "observe computer development" turned on?

I can... but of course, so can anyone else.  Since I never play with the observe computer development turned on (as the game moves too slow for me as it is!), I'm personally less concerned with whether or not the (alleged) bug occurs there.
Ok, but my testing might differ slightly from you.

My testing: Ignoring the land grab. Just running straight into the pub. Buying full food each turn. Ignoring the auctions. (Hmm, can I make money from crysite and smithore time-factors?)

Turn 1:

Who-hoo.
Code:
  INFO [MuleGameContainer.logSkippedFrames]          Skipped frames: 1006
  INFO [SlickLogSystem.info]                         Too much real time passed since last frame. Breaking sync with real time.
  INFO [SlickLogSystem.info]                         Too much real time passed since last frame. Breaking sync with real time.
  INFO [SlickLogSystem.info]                         Too much real time passed since last frame. Breaking sync with real time.
  INFO [SlickLogSystem.info]                         Too much real time passed since last frame. Breaking sync with real time.
  INFO [MuleGameContainer.logSkippedFrames]          Skipped frames: 1001
  INFO [SlickLogSystem.info]                         Too much real time passed since last frame. Breaking sync with real time.

That's the system backup program starting up before I even get to the first land grab.
Waiting for it to finish ...

Ohh, according to the log file, the AI's now agree on which land plots each will aim for. They aren't working against each other now, but are co-operating.

Turn 2: Shortage of food, test invalidated. Restarting.

Code:
  INFO [DevelopmentMessenger.showMessage]            <A.L.A.N.> won $111 in the pub
  INFO [DevelopmentMessenger.showMessage]            <D.A.N.> won $125 in the pub
  INFO [DevelopmentMessenger.showMessage]            <B.I.L.L.> won $81 in the pub
  INFO [DevelopmentMessenger.showMessage]            Keybounce won $203 in the pub
  INFO [DevelopmentMessenger.showMessage]            <B.I.L.L.> won $89 in the pub
  INFO [DevelopmentMessenger.showMessage]            <A.L.A.N.> won $110 in the pub
  INFO [DevelopmentMessenger.showMessage]            <D.A.N.> won $102 in the pub
  INFO [DevelopmentMessenger.showMessage]            Keybounce won $128 in the pub
  INFO [DevelopmentMessenger.showMessage]            <A.L.A.N.> won $57 in the pub
  INFO [DevelopmentMessenger.showMessage]            <D.A.N.> won $104 in the pub
  INFO [DevelopmentMessenger.showMessage]            <B.I.L.L.> won $103 in the pub
  INFO [DevelopmentMessenger.showMessage]            Keybounce won $205 in the pub
  INFO [DevelopmentMessenger.showMessage]            Keybounce won $147 in the pub
  INFO [DevelopmentMessenger.showMessage]            <B.I.L.L.> won $173 in the pub
  INFO [DevelopmentMessenger.showMessage]            <A.L.A.N.> won $118 in the pub
  INFO [DevelopmentMessenger.showMessage]            <D.A.N.> won $190 in the pub
  INFO [DevelopmentMessenger.showMessage]            <A.L.A.N.> won $200 in the pub
  INFO [DevelopmentMessenger.showMessage]            <B.I.L.L.> won $226 in the pub
  INFO [DevelopmentMessenger.showMessage]            Keybounce won $167 in the pub
  INFO [DevelopmentMessenger.showMessage]            <D.A.N.> won $183 in the pub
  INFO [DevelopmentMessenger.showMessage]            <A.L.A.N.> won $179 in the pub
  INFO [DevelopmentMessenger.showMessage]            <B.I.L.L.> won $123 in the pub
  INFO [DevelopmentMessenger.showMessage]            Keybounce won $237 in the pub
  INFO [DevelopmentMessenger.showMessage]            <D.A.N.> won $153 in the pub
  INFO [DevelopmentMessenger.showMessage]            <A.L.A.N.> won $101 in the pub
  INFO [DevelopmentMessenger.showMessage]            <B.I.L.L.> won $174 in the pub
  INFO [DevelopmentMessenger.showMessage]            Keybounce won $250 in the pub
  INFO [DevelopmentMessenger.showMessage]            <D.A.N.> won $212 in the pub
  INFO [DevelopmentMessenger.showMessage]            <A.L.A.N.> won $250 in the pub
  INFO [DevelopmentMessenger.showMessage]            <B.I.L.L.> won $179 in the pub
  INFO [DevelopmentMessenger.showMessage]            Keybounce won $222 in the pub
  INFO [DevelopmentMessenger.showMessage]            <D.A.N.> won $218 in the pub
  INFO [DevelopmentMessenger.showMessage]            <A.L.A.N.> won $163 in the pub
  INFO [DevelopmentMessenger.showMessage]            <B.I.L.L.> won $226 in the pub
  INFO [DevelopmentMessenger.showMessage]            Keybounce won $201 in the pub
  INFO [DevelopmentMessenger.showMessage]            <D.A.N.> won $195 in the pub
  INFO [DevelopmentMessenger.showMessage]            <A.L.A.N.> won $156 in the pub
  INFO [DevelopmentMessenger.showMessage]            <B.I.L.L.> won $190 in the pub
  INFO [DevelopmentMessenger.showMessage]            Keybounce won $250 in the pub
  INFO [DevelopmentMessenger.showMessage]            <D.A.N.> won $250 in the pub
  INFO [DevelopmentMessenger.showMessage]            <A.L.A.N.> won $212 in the pub
  INFO [DevelopmentMessenger.showMessage]            <B.I.L.L.> won $250 in the pub
  INFO [DevelopmentMessenger.showMessage]            Keybounce won $250 in the pub
  INFO [DevelopmentMessenger.showMessage]            <A.L.A.N.> won $250 in the pub
  INFO [DevelopmentMessenger.showMessage]            <D.A.N.> won $250 in the pub
  INFO [DevelopmentMessenger.showMessage]            <B.I.L.L.> won $250 in the pub
  INFO [DevelopmentMessenger.showMessage]            Keybounce won $220 in the pub

Code:
Kleiman-ibook:bin michael$ egrep 'in the pub' ~/Documents/Downloads/To\ Install/Games/mule_mac_1.2.3/mule.app/Contents/Resources/Java/data/log.txt | awk '{ sub("\\$", " ", $5); print $5; sum = sum + $5} END {print NR " " sum " " sum/NR}'
 111
 125
 81
 203
 89
 110
 102
 128
 57
 104
 103
 205
 147
 173
 118
 190
 200
 226
 167
 183
 179
 123
 237
 153
 101
 174
 250
 212
 250
 179
 222
 218
 163
 226
 201
 195
 156
 190
 250
 250
 212
 250
 250
 250
 250
 250
 220
47 8433 179.426

Average pub winning: 179

Code:
Kleiman-ibook:bin michael$ egrep 'in the pub' ~/Documents/Downloads/To\ Install/Games/mule_mac_1.2.3/mule.app/Contents/Resources/Java/data/log.txt | egrep 'eybounce' | awk '{ sub("\\$", " ", $5); print $5; sum = sum + $5} END {print NR " " sum " " sum/NR}'
 203
 128
 205
 147
 167
 237
 250
 222
 201
 250
 250
 220
12 2480 206.667
Average player winning: 206

So with the AI's turn time accurately counted, the time does make a difference, and the AI missed completely once.
Logged
Peter
Turborilla
Administrator
Mule Expert
*****
Posts: 379


Planet M.U.L.E. Team


View Profile WWW
« Reply #8 on: May 03, 2010, 06:48 »

I've confirmed this as a bug when the player development is not shown. The AI has a higher chance of winning large amounts at the pub. It will be adjusted in the next version.
Logged

veridia
Mule Regular
***
Posts: 27


View Profile
« Reply #9 on: May 07, 2010, 11:01 »

The new computer AI wins more money than is possible for human players from the pub.  In the early turns of the game (before turn 4), the AI routinely wins more than $200.  And this is after doing its typical busy schedule each round of altering the production of every single plot it owns, catching the wampus, and assaying three plots.

Whereas if a human player runs directly into the pub during an early turn in the game, he'll receive less than $100, I think.  Certainly much less than $200.

This behavior occurred when the "observe computer development" was turned OFF... I'm not sure if the computer is such a great pub gambler as well when you actually watch his entire move.

The effect of this is that the computer is often in first place for the early rounds, which is actually kind of nice for those of us trying to avoid the first place curse.  But still, it's a bug.

Agreed, pub winnings early game are way too high. They should be nerfed to the classic game values. Winning more than $100 in the first round was incredibly rare in the classic commodore version. The most common winnings were almost always around $50, give or take a few bucks. I don't ever remember winning more than $200 in the early rounds.
Logged
Pages: [1]
  Print  
 
Jump to: