ゲームでゴーストリプレイ機能を作成する方法は?


19

コンソールレースゲームで個人的なベストラップタイムを設定する場合、ゴーストと競うオプションがあります。

この機能は、シングルプレーヤーのカジュアルタイプのゲームでどのように作成できますか?


2
+1ゲーム開発の初心者(me)の人にとって興味深い質問です。=)
ウィルマルクイラー

どんな種類のゲームか教えていただければ、より具体的にお手伝いできます。
AttackingHobo

回答:


10

ゴーストは通常​​、以前の試行のリプレイを表示することによって行われます。このリプレイは、衝突しないバージョンのプレイヤーカーでレンダリングされるため、影響を与えることはできません。とにかく、レースゲームにはしばしばリプレイ機能があるため、この種のゲームは無料で提供されます。

リプレイシステムを構築するための良い出発点は次のとおりです。http//www.gamasutra.com/view/feature/2029/developing_your_own_replay_system.php

また、このトピックに関するいくつかの質問があります。


+1回答で新しいことを学んだだけです、ありがとう!=)
ウィルマルクイラー

1

使用しているテクノロジーによって異なります。したがって、最良の方法については、技術ごとに変わる可能性があるため、実際には説明できません。私の意見では、大まかなアイデアは次のようになります。

  1. 基になるデータストアを使用して、データ(XML、Cookie、データベース、CSVなど)を永続化します。
  2. この基になるデータストアへのデータアクセスを機能させます。
  3. プレーヤーの最高得点に関する情報データを保持する必要があるため、識別子(電子メール、入力名など)が必要です。
  4. この最高スコアを何らかの方法で識別子に関連付けます。

つまり、データベースの使用を想定して、2つのテーブルを作成できます。

  1. ユーザー/プレーヤーのデータ(識別子、電子メールなど);
  2. ベストスコアボード情報データ。

次に、必要に応じて、このスコアが達成された日時に関するレジストリを含めることができる個々のスコアボードとともにユーザー情報を保存できます。

これがお役に立てば幸いであり、質問を正しく理解できたことを願っています。それ以外の場合は、それに応じて回答を編集できるように伝えてください。


3
彼はおそらくこれを達成するための録音/再生メカニズムを探していると思います。決定論的なゲーム環境、物事を変更するイベントの追跡(プレイヤーの入力など)などは、通常これを行うための推奨される方法です。
ジェームズ

ご意見ありがとうございますジェームズ!これらは私が知らないものですが、私の答えは簡単にできるアプローチでもあります。ただし、このトピックについて詳しく知りたいと思っています。ああ、あなたのコメントに+1、これは他の実行可能なアプローチがあることを教えてくれます。=)ありがとう!=)
ウィルマルクイラー

私はあなたの情報の両方のおかげで基本を学んでいますが、私はまだ持っていないので適切な知識で本当に返信することはできません。私が達成したいのは、ハイスコアを設定したときのゲームのプレイ方法のゴースト(リプレイ)を画面に表示する個人的なハイスコアを
破ろうとするたびに

@彼が実際にシングルプレイヤーゲームについての彼の質問への答えを理解したら、マルチプレイヤーのセットアップのために何ができるかについて彼に情報を伝えますか?彼の質問は、そもそもゴーストを作成する方法です。
AttackingHobo

@AttackingHobo:教えてくれてありがとう。私は実際にレコーディングの事柄についてのジェームズのコメントから理解し、それからwkerslakeの答えを読んだので、OPが何を求められているのかをよりよく理解できるようになりました。余談ですが、提案されたセットアップはマルチプレイヤーセットアップで使用される可能性が高いと言っても間違いありません。ねえ、私はまだここで学んでいます、そして成長を許可してくれてありがとう!私は経験豊富な開発者ですが、ゲーム開発はまだ私にとって新しいトリックです。=)コメントをありがとう。AttackingHobo!=)
ウィルマルクイラー

1

ゲームに関する詳細情報がなくても、この質問に答えることは簡単ではありません。wkerslakeからの回答は、ゴーストとの現在のプレイスルーが記録されたゴーストデータの決定性に影響を与えない限り機能します。記録されたデータが静的な環境での1台の自動車のタイムトライアルである場合、その手法を使用しても大丈夫です。

ただし、スーパーミートボーイなど、ゴースト再生のある多くのゲームでは、プレーヤーの位置によってレベルとAIの状態が変わることがあります。明らかに、世界とAIに影響するゴーストを持たせることはできないため、メインプレーヤーのすべてのフレームで位置+アニメーションの変更(およびその他の表示されているもの)を記録することをお勧めします。再生中は、ゴーストを現在の場所とアニメーションフレームでレンダリングします。これにより、ゴーストを再生し、現在のプレーヤーに影響を与えないようにすることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.