Hacker News new | past | comments | ask | show | jobs | submit login
Grandmother denied $41.8m casino jackpot payout [due to software glitch] (bbc.co.uk)
6 points by GotAnyMegadeth on April 28, 2015 | hide | past | favorite | 1 comment



I'm not so sure why people are upset or surprised by this - it's been standard operating procedure for a long time that malfunctions void all pays.

As for why, a comment from Ars:

"Created an account just to post this. Having formerly programmed casino games I've seen this bug many times before:

    To me this doesn't look like some "glitch" in the machine but rather an
    oversight by Aristocrat's programmers. Most casino games have a bonus
    round obtained from the right combination of symbols. So at the end of
    the bonus round the player will receive a "Regular Win" and a "Bonus
    Win". Sometimes the regular win is subtracted or not counted in the
    bonus win, sometimes it is counted. Can't remember what Miss Kitty's
    rules are exactly but let's say that in this case the regular win is
    subtracted from the Bonus win. So the programmer will subtract =>
    bonusWin - regularWIn = totalWin

    Ok, now lets assume that granny
    had a really terrible bonus round, like she only won $5 when she had a
    regular win of $10. Ok, so the grand total will be $5.00 - $10.00 =
    -$5.00.

    But why didn't the "Total Win" display a negative
    number? Well, it's simply because many casino game developers use
    Unsigned 32 bit integers in win amounts. Basically unsigned integers
    cannot have negative numbers. So when you subtract one larger unsigned
    integer from a smaller one instead of resulting in a negative number the
    result will wrap around to its largest possible value. In the case of
    unsigned Integers that's => 4,294,967,295 with two decimal places
    added it for the cent amounts it comes to $42,949,672.94!

    That
    still doesn't explain exactly why the win was a bit below $42 million.
    My guess is that its smaller because of the programming language used
    and the processor word size. Max integer size varies from language to
    language but it for an unsigned 32bit integer its usually around that
    value."




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: