게임에서 고스트 리플레이 기능을 만드는 방법은 무엇입니까?


19

콘솔 레이싱 게임에서 개인 최고의 랩 타임을 설정하면 유령과 경쟁 할 수있는 옵션이 있습니다.

싱글 플레이어 캐주얼 타입 게임에서이 기능을 어떻게 만들 수 있습니까?


2
+1 게임 개발의 초보자에 불과한 재미있는 질문입니다. =)
Will Marcouiller

어떤 종류의 게임인지 알려 주시면 더 구체적으로 도와 드리겠습니다.
AttackingHobo

답변:


10

고스트는 일반적으로 이전 시도의 재생을 표시하여 수행됩니다. 이 재생은 충돌이 불가능한 버전의 플레이어 자동차로 렌더링되므로 영향을 미치지 않습니다. 레이싱 게임에는 종종 재생 기능이 있기 때문에 이런 종류의 게임은 무료로 제공됩니다.

다음은 리플레이 시스템을 구축하기위한 좋은 출발점입니다. http://www.gamasutra.com/view/feature/2029/developing_your_own_replay_system.php

또한 해당 주제에 대한 여러 가지 질문이 있습니다.


+1 방금 답변으로 새로운 것을 배웠습니다. 감사합니다! =)
Will Marcouiller

1

작업중인 기술에 따라 다릅니다. 따라서 기술에서 다른 기술로 변경 될 수 있으므로 가장 좋은 방법에 대해서는 실제로 논의 할 수 없습니다. 내 생각에 총체적인 아이디어는 다음과 같습니다.

  1. 기본 데이터 저장소를 사용하여 데이터 (XML, 쿠키, 데이터베이스, CSV 등)를 유지하십시오.
  2. 이 기본 데이터 저장소에 대한 데이터 액세스를 수행하십시오.
  3. 플레이어의 최고 점수에 대한 정보 데이터를 유지해야하므로 식별자 (이메일, 입력 이름 등)가 필요합니다.
  4. 이 최고 점수를 식별자와 연관시킵니다.

간단히 말해서, 데이터베이스를 사용한다고 가정하면 두 개의 테이블이있을 수 있습니다.

  1. 사용자 / 플레이어 데이터 (식별자, 이메일 등);
  2. 최고 점수 보드 정보 데이터.

그런 다음, 원하는 경우이 점수에 도달 한 날짜 및 시간 레지스트리를 포함 할 수있는 개별 스코어 보드와 함께 사용자 정보를 저장할 수 있습니다.

이것이 도움이 되길 바랍니다. 그렇지 않으면 그에 따라 답변을 편집 할 수 있도록 알려주십시오.


3
그는 이것을 달성하기 위해 녹음 / 재생 메커니즘을 찾고 있다고 생각합니다. 결정적인 게임 환경, 사물을 변경하는 이벤트 추적 (예 : 플레이어 입력) 등이 일반적으로 권장되는 방법입니다.
James

입력 해 주셔서 감사합니다 제임스! 이것들은 내가 알지 못하는 것들이지만 내 대답은 겸손하게 쉽게 수행되는 접근법입니다. 그러나 주제에 대해 더 자세히 알고 싶습니다. 아, 그리고 당신의 의견에 +1, 이것은 다른 가능한 접근법이 있음을 가르쳐줍니다. =) 감사합니다! =)
Will Marcouiller

나는이 바보 같은 것에 대해 정말 죄송합니다. 귀하의 정보에 대한 두 가지 덕분에 여전히 기본 사항을 배우고 있습니다. 아무 것도 없기 때문에 적절한 지식으로 대답 할 수 없습니다. 내가 달성하고자하는 것은 내가 화면에서 볼 수있는 개인의 높은 점수를 이길 때마다 내가 높은 점수를 설정할 때 어떻게 게임을했는지의 유령 (재생)
claude keller

@ 싱글 플레이어 게임에 대한 질문에 대한 답을 실제로 알아 낸 후에는 멀티 플레이어 설정을 위해 수행 할 수있는 작업에 대한 정보를 알려줄 것입니다. 그의 질문은 처음에 유령을 만드는 방법입니다.
AttackingHobo

@AttackingHobo : 말해 주셔서 감사합니다. 나는 실제로 기록에 관한 James의 의견을 알아 낸 다음 wkerslake의 답변을 읽었으며 이제 OP의 요청을 더 잘 이해할 수 있습니다. 제 제안 된 설정이 멀티 플레이어 설정에서 사용될 가능성이 높다고 말할 수 있습니다. 이봐, 난 아직도 여기서 배우고 있고, 더 잘 자라게 해줘서 고마워! 숙련 된 개발자이지만 게임 개발은 여전히 ​​새로운 기술입니다. =) 귀하의 의견에 감사드립니다 AttackingHobo! =)
Will Marcouiller

1

게임에 대한 추가 정보가 없으면이 질문에 대답하기가 쉽지 않습니다. Wkerslake의 답변은 현재 고스트 재생이 기록 된 고스트 데이터의 결정에 영향을 미치지 않는 한 작동합니다. 정적 환경에서 기록 된 데이터가 단일 자동차 시간 시험 인 경우 해당 기술을 사용하는 것이 좋습니다.

그러나 Super Meat Boy와 같은 고스트 재생 기능이있는 많은 게임에서 플레이어의 위치는 레벨과 AI의 상태를 변경할 수 있습니다. 고스트가 월드와 AI에 영향을 줄 수 없기 때문에 메인 플레이어의 모든 프레임마다 위치 + 애니메이션 변경 (및 기타 표시)을 기록하는 것이 좋습니다. 재생하는 동안 월드에 있지 않아도 현재 위치와 애니메이션 프레임에서 고스트를 렌더링 할 수 있습니다. 이를 통해 고스트를 재생할 수 있으며 현재 플레이어가 고스트에 영향을 미치지 않도록 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.