레이싱 게임에서 유저의 고스트 기록을 업로드하는 것에 대해 질문

A유저가 X트랙에서 플레이했던 고스트 정보 약(100k)를 뒤끝에 올려놓고…
다른 B 유저가 X트랙을 플레이할 때 플레이했던 A유저의 정보를 가져와서 실시간 느낌나게 고스트 레이싱을 구현하려고 합니다.
트랙이 25개이고 한 개트랙당 한 천명의 유져의 데이타를 가지고 있게 하고 싶습니다.
이런 방식으로 데이타 관리가 가능할까요?

(트랙A라는 공용 저장소가 필요하며, 약 100K * 1천 의 정보가 들어갈 수 있나요?)

안녕하세요 개발자님,
문의해 주신 내용의 데이터 저장의 경우 가능하긴 하나,
플레이를 위해 랜덤한 데이터를 불러오는 과정이 원활하지 않아 실질적으로 불가한 상황으로 확인됩니다.

데이터 저장의 경우 유저의 플레이 데이터를 각 트랙명의 테이블에 삽입 저장되도록 하면 가능합니다.
이후 유저의 플레이마다 랜덤 하게 불러와 이용하도록 하는 방법을 고려할 수 있으나,
뒤끝에서 제공하는 랜덤 조회 기능의 특성상 최대 5개 그룹만을 생성할 수 있기에 25개 트랙을 모두 적용하기엔 어려움이 있습니다.
또한 where절을 통해 특정 조건으로 임의 조회를 하게 하는 방법을 생각해 볼 수 있겠으나 이 경우 DB 요금이 과다하게 발생할 수 있습니다.

만약 이미 고스트 데이터가 모두 준비되어 있다면 차트 기능을 활용할 수 있습니다.
최초 로그인 시 트랙 데이터를 다운로드 하도록 하고, 로컬에 저장된 차트의 트랙데이터를 활용하는 방법입니다.
단, 이 경우 매번 차트를 다운받게 하는 경우 데이터 부담이 커지기에 뒤끝 블로그의 컨텐츠를 참고하여 차트를 관리해 준다면 도움이 될 수 있습니다.

그럼… 방향을 바꺼서… 다시 질문 드려보겠습니다.

  1. X트랙에 대한 A플레이어의 고스트 정보는 개인 데이타로 저장해놓고.
  2. X트랙에 대한 플레이어의 완주 시간 정보는 리더보드로에 등록.
  3. 다른 F 유저가 X트랙을 플레이할 경우 리더보드 내에서 랜덤하게 유저 목록을 (6명정도) 받아온다음
  4. 받아온 아이디로 그유저의 고스트 정보를 다시 받아와서 F유저에서 전달해주면 가능할까요?

이러면 공용 저장소가 필요 없을 것 같습니다.

다음과 같은 방법으로 이용이 가능한 것으로 확인됩니다. :D

  1. A 플레이어가 X 트랙을 완주
  2. 완주한 기록을 랭킹 X에 등록
  3. B 플레이어가 X 트랙을 시도
  4. 랭킹 X에 등록된 유저 리스트를 불러오기
  5. 불러온 유저 리스트 중 몇 명만 무작위로 선택하여 게임정보 DB의 각 유저 완주 데이터 불러오기
  6. 5번의 데이터를 고스트 데이터로 변환하여 레이싱에 사용
  7. B 플레이어가 X 트랙을 완주
  8. 반복
좋아요 1