개발중인게임에 비동기 멀티플레이 전투 기능 추가하자고 말 나옴
클라는 직접 시뮬돌리면서 화면 렌더링만 담당하고, 랭크 실반영은 서버쪽에서 돌린 결과로 반영 하기로 했음
지금까지는 랜덤시드만 동일하게 주면 동일조건에서 시뮬 과정이랑 결과가 항상 동일하게 나왔어서 별 걱정 없이 알겠다고 했는데
오늘 다시 분석해보니까 부동소수점연산은 OS나 하드웨어가 달라지면 결과도 달라지는 거였네...
그럼 당연히 서버랑 클라쪽 연산에 차이가 생길 수 밖에 없을테고
float이랑 double으로 선언한 데이터들 일일이 찾아내서 decimal로 바꾼다고해도 어떤 문제가 더 있을지도 모르겠네
ㅅㅂ 어카지....
decimal은 일반적인 연산도 잘 안될걸? 나라면 int형으로 바꾸고 1을 100으로 치환하든지 할 것 같은데 1.21 = 121로 계산해서
고정소숫점은 게임개발에서 쓰기엔 불편한 점이 많아서 fpga에서 밖에 안 써봤음 서버 값을 기준으로 다 처리하거나 아니면 윗댓처럼 하는 게 제일 좋은 방법일듯