Java でグリッド ベースのゲームを作成しており、ゲームの記録と再生を実装したいと考えています。2つのアイデアを検討しましたが、これを行う方法がわかりません:
毎秒数回、ゲーム全体の状態を記録します。再生するには、状態を読み取るレンダラーを作成し、視覚的な表現を作成します。ただし、これを使用すると、保存ファイルが大きくなる可能性があり、再生を試みると顕著な遅延が発生する可能性があります.
キーを押したりマウスをクリックしたりするたびに、保存ファイルに書き込むこともできます。これにより、ファイルが小さくなり、遅延が少なくなります。ただし、ゲーム開始時のわずかなエラー (たとえば、1 ミリ秒後の射撃) で、ゲームの数分後にゲームの状態が大きく異なります。
では、ゲームの再生を実装する最善の方法は何でしょうか?
編集 - 私のゲームがどれほど決定論的であるか正確にはわからないので、キーストロークとマウスのクリックだけを記録するだけでゲーム全体を正確につなぎ合わせることができるかどうかはわかりません.