1억 2천3백만 번의 CS2 케이스 개봉 시뮬레이션이 나에게 보여준 RNG 모델링에 대한 것
(dev.to)이 글은 1억 2천만 번의 CS2 케이스 개봉 시뮬레이션을 통해 발견한 RNG 모델링의 부동 소수점 오차와 로직 오류를 분석하고, 서비스 신뢰도 하락과 법적 리스크를 방지하기 위한 정수 기반 가중치 방식이라는 해결책을 제시한다.
이 글의 핵심 포인트
- 1부동 소수점 오차 방지를 위해 확률 계산 시 소수점 대신 정수 가중치(Integer Weights) 사용 권장
- 2StatTrak과 같은 특수 속성은 별도의 티어가 아닌, 아이템 결정 후의 조건부 확률(Conditional Probability)로 처리해야 함
- 3아이템의 상태(Float) 값은 단순 0~1 분포가 아닌, 아이템별로 설정된 최소/최대 범위(Clamped Range) 내에서 생성되어야 함