2016-05-12 14 views
4

私はオープンワールドのRPGのアーキテクチャを設計していました(私は楽しいものを作り出していますが、ヒットゲームではないと思います:D)、重大な壁にぶつかったので停止しなければなりませんでした。Unity3Dでパッチを当てるためのゲームをデザインするには?

大きなオープンな世界のゲームを作成すると、そのサイズは大きくなります。

私のゲームには新しいパッチが見つかると自動的に更新されるランチャーがあるとしましょう。

マイナーな変更がある場合は、マイナーなバグ修正がある場合、誰もがゲーム全体を再度ダウンロードするため、ゲーム全体をもう一度ダウンロードすることはできません。

なんとか私はパッチ可能なアーキテクチャを作らなければならないので、アップデートがあれば、私のランチャーはクライアント全体ではなく変更されたファイルしかダウンロードしません。

ゲームをビルドすると、ゲームデータの90%(それ以上)は1つのプログラムデバッグデータベースにあります。

ワールドオブウォークラフトなどのゲームを見ると、そのファイルは圧縮されたディレクトリに整理されています。 1つのゾーンの特定の場所(ツリーが欠落しているなど)に小さな修正がある場合、ゲーム全体を更新する必要はなく、マップ全体ではなく、ゾーン全体でも更新する必要はありません。

代わりに、ファイルが更新されるだけで、バグがどこにあるか(たとえば世界の20x20メートルの領域)が決まります。

それでは、簡単な例で実用的な取得してみましょう:

私はそれで大きな地形とのワンシーンを持っている、と私はそれの少しの部分を修正する必要があります。

クライアント全体を再度ダウンロードせずに、リリースされたクライアントのバグ部分を更新するにはどうすればよいですか?

ご協力いただきありがとうございます。 :)

+1

あなたが質問が広すぎると思うなら、閉鎖のための "旗"をクリックしてください – Fattie

+2

Tudvari - (1)資産バンドルを使用してください、それは完全にこの目的のためにUnityに組み込まれています誰もパッチ適用を気にしない。これは無関係な問題です。単に普通のアップデートを発行するだけです。 – Fattie

+0

あなたは、回答をクリックする必要があります。 – Fattie

答えて

1

これを行うにはいくつかの方法があります。 で最も一般的な方法の1つはasset-bundlesです。これは、あなたのゲームを、例えばwowと同様の方法で更新することができます。

アセットストアにはたくさんの資産があります。私が個人的に使用しているのは、主にそれが無料だったので、これは主にM2HPatcherです。私はそれがまだであるかどうか分かりません

+1

私はM2HPatcherを見つけましたが、所有者が欠陥のある製品を売りたくないので、もう利用できません。 – Tudvari

+0

アセットバンドルの例をいくつか見ましたが、それが私が望むものかどうかはわかりません。 たとえば、シーンに2つのオブジェクトがあり、1つのオブジェクトを削除し、もう一方のオブジェクトを編集し、新しいオブジェクトをどこかに追加する「パッチ」を作成したいとします。アセットバンドルにスクリプトを置くことができない場合は、どうすればいいですか? – Tudvari

+0

@Tudvariアセットバンドルからのスクリプトの読み込みは、WindowsストアアプリとWindows Phoneではサポートされていません。さらにそれは完全に可能です。次に、資産バンドルからオブジェクトを削除するだけです。一般的な/再利用可能なコードをオブジェクト指向の方法で記述すると、しばしばそれに問題はないはずです。 –

関連する問題