Foi-me dito que a maioria dos computadores modernos segue o mesmo padrão de ponto flutuante. Isso significa que todos obterão a mesma resposta flutuante para uma determinada operação matemática, se as entradas forem iguais?
Eu pergunto porque estou pesquisando sobre como criar um jogo RTS em uma rede, e sincronizar centenas de posições da unidade parece um mau caminho a percorrer.
Portanto, se eu enviar apenas apenas entradas, preciso garantir que todos os clientes obtenham o mesmo resultado, solicitando que eles executem a simulação a partir dessas entradas.
Li que os jogos RTS mais antigos usavam aritmética de ponto fixo, mas não sei se isso ainda é necessário nos computadores modernos, se todos seguirem o mesmo padrão? Também me disseram que, embora impreciso, o resultado do ponto flutuante é determinístico para a mesma entrada (o que eu presumo significa que qualquer computador seguindo o mesmo padrão obtém o mesmo resultado impreciso?).
Os computadores ainda têm desvios, mesmo que sigam o mesmo padrão de ponto flutuante?
Estou escrevendo este jogo em c # não tenho certeza se isso importa, mas pensei em mencioná-lo de qualquer maneira.