ゲームセーブデータを圧縮する


9

多くの詳細データ(一部のエンティティの正確な軌跡)を外部ファイルに保存する必要があるゲームを書いています。ドライブのスペースと帯域幅を圧縮して節約したいのですが、これを行ったことがないので、適切な方法があるかどうかわかりません。

もちろん、圧縮解凍はゲームの速度にあまり影響を与えてはいけません。


1
どの言語を使用していますか?
Richard Marskell-Drackir、2011年

回答:


8

zlibライブラリは、ほとんどのプログラミング言語のバインディングを持っており、非常に高速です。1つのアルゴリズムは上より高い圧縮率を達成することができるので、しかし、あなたは、さまざまなcomperssionアルゴリズムを比較する必要があり、あなたの一般的な場合に比べてデータの種類。


1

データを圧縮する1つの、おそらく極端な方法は、データの作成に使用されたステップ/入力のみを記録することです。ModNation Racerが行うようなものです(トラックを再作成するときに、長いロード時間を呪います)。(ModNation Racerのトラックエディターのビデオ用のGoogle)。

つまり、地形を保存している場合は、すべての操作を平坦な平原から保存します。つまり、ここでこの力で火山型のブラシを適用します。この力で、この領域に地形の平滑化操作を適用します。ここに定義済みオブジェクトを追加します。'キーフレーム'でベジェカーブのようなカーブを使用して、トラック全体、フライトパスなどを作成します。

他の多くのゲームは、レベルの読み込みだけでなくゲームプレイでも、このようなことを行います。ゲームを確定的にして、プレーヤーの入力のみを送信することで行います(PixelJunk Shooter 2がこれを行うと思います)。

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