2022 NDC/데이터분석

[NDC22-데이터분석] '카트라이더: 드리프트' 머신러닝을 활용한 위치 예측 개선

서니션 2022. 6. 26. 15:23
728x90
반응형

본 게시물은 강연을 들으며 메모한 것 입니다.
문제가 있을 경우 바로 삭제하겠습니다.

 

● 발표분야: 데이터분석

● 발표자: 니트로스튜디오 김진호 / Nitro Studio Jinho Kim

● 권장 대상: 게임 프로그래머, 데이터 분석가

● 키워드:#머신러닝

1. 위치 예측은 왜 해야 하는지?

    현실과 게임 속 세상 생각해보기

- 현실과 달리 온라인 게임 세계에서는 다른 유저들과 데이터를 주고 받는 것이 동시 에 이루어지지 않음

- 레이턴시를 고려하지 않고 게임을 만들면? 유저가 조종하는 카트가 앞서감

- 왜냐하면 카트의 반응성을 좋게 하기 위해 자신의 카트 위치를 서버를 거치지 않고 변경됨

- 반면 상대방 카트의 움직임은 서버를 통해 전달받기 때문에 레이턴시만큼 늦게 알 기 때문임

 

카트라이더에서는 레이턴시를 극복하기 위해 <등속 예측 모델>을 사용함

- 등속 예측 모델 → 과거 카트의 위치와 속도를 통해 예측

 

- 인터넷 연결 환경 상태에 따라서 레이턴시 차이가 남

- 이렇게 레이턴시가 큰 상황에서 기존 모델을 사용하면 드리프트시 실제 경로와 차 이가 큼 (해외서버는 더 차이남)

- 주행에 관여되는 파라미터가 많음 → 머신러닝으로 접근해보자! 데이터를 통해 답 을 구할 수 있을 것이다.

- 온라인 게임에서는 레이턴시 때문에 위치 예측 로직 필요 등속 예측 모델의 한계 - 드리프트 주행 예측 실패

- 머신 러닝을 통해 개선해보자!

 

2. 어떤 문제를 풀어야 하는지?

- 드리프트 주행만 포커스 하자

- 레이턴시 100ms 정도에서 자연스러운 모델을 만들자

- 예측은 매 프레임 계산되어야 하므로 연산량이 작아야함

- 60프레임이면 1초에 420번

- 패킷에 포함된 데이터는?

- 게임 시작은 괜찮은데 시간이 지나면서 이상해지는 경우 계산 → 드리프트 시작 위 치가 문제 → 그래서 최종 위치가 아니라 드리프트 시작점을 원점이라고 생각함

 

3. 머신 러닝 모델 소개

- 딥러닝 사용

- 개선도니 오차에 비해 연산량이 많아서 CPU 그래프가 튐

- DNN 구조로 실험

- GLU 함수 사용 : 좀 더 가벼우면서 좋은 성능 얻을 수 있었음

4. 마무리

- 드리프트 타이밍 미리 예측

  -유저의 실력/패턴 분석

  - 맵의 특징 분석

728x90
반응형