Re:Rockstar condemns Max Payne 3 cheaters to play only again...
by ricree on Wednesday June 13, 2012 @07:07PM
(#4108954)
Interesting link, feral.
For anyone else reading, I'd also suggest reading some of the followup posts such as this one: http://www.box2d.org/forum/viewtopic.php?f=3&t=1800&...
Re:Rockstar condemns Max Payne 3 cheaters to play only again...
by derleth on Wednesday June 13, 2012 @10:13PM
(#4109464)
> floating point math is deterministic.
This is news? Isn't this the entire point of the IEEE754 standard, to save us from the days when programs that were well-conditioned on a VAX would become numerically unstable on a Cray?
'Cray instability' sounds like a Star Trek episode but it is apparently something that could happen.
Re:Rockstar condemns Max Payne 3 cheaters to play only again...
by tedunangst on Thursday June 14, 2012 @12:20AM
(#4109744)
Depends on compiler options. x86 floating point is 80-bit internally, but 64-bit in memory. Compile the same function with different optimization, for a different CPU, or whatever and get different answers. For gcc, the answer is to use -ffloat-store. But you have to remember to use it.
Your comment about the differences in how CPUs deal with floats is very interesting.
I found the following interesting comment, from a GPG employee, talking about how they take care to ensure their float math is deterministic:
"I work at Gas Powered Games and i can tell you first hand that floating point math is deterministic. You just need the same instruction set and compiler and of course the user's processor adhears to the IEEE754 standard, which includes all of our PC and 360 customers. The engine that runs DemiGod, Supreme Commander 1 and 2 rely upon the IEEE754 standard. Not to mention probably all other RTS peer to peer games in the market. As soon as you have a peer to peer network game where each client broadcasts what command they are doing on what 'tick' number and rely on the client computer to figure out the simulation/physical details your going to rely on the determinism of the floating point processor."
http://www.box2d.org/forum/viewtopic.php?f=3&t=1800#p164...