2

単に公開するという意味ではなく、純粋なコーディングが完了してから最初のバージョンがリリースされるまでのほとんどすべてのことです。たとえば、セーブファイルを非表示/ハッキングできないようにする方法、すべてのスプライトを含むリソースファイルを使用するのではなく、ゲーム内にリソースを含める方法などです。 .rect や .screen_mode などの特別なファイル拡張子があります。

ゲームの純粋なコードを完成させてからリリースするまでのプロセスを説明している優れた本、記事、ウェブサイトなどを知っている人はいますか?

4

7 に答える 7

2

開発者は、保存が隠されているか、ハッキングできないようにするために多くの努力をしているとは思いません。PCゲームは通常、フォルダに保存するだけで、保存ごとに1つのファイルが保存されます。難読化は、バイナリファイル形式(リバースエンジニアリングにある程度の労力が必要)またはあまり意味のないプレーンテキスト値を使用した結果である可能性があります。コンテキストの、しかしハッキングを回避するための意図的な試みではありません。非常に簡単にハッキング可能なテキストまたはXML保存ファイルが付属しているPCゲームはおそらくたくさんありますが、私は保存ハッカーになったことがないので、具体的な例はありません。コンソールでは、保存ファイルはメモリカードまたはコンソールのハードドライブに送られるため、本質的にアクセスが不便ですが、それを超えると、コンソール開発者は保存データを暗号化または難読化するために多くの努力を払うことはないと思います。

特別なファイル拡張子は、独自の拡張子を使用したり、独自のファイル形式を定義したりすることで得られます。どのファイルにも任意の拡張子を使用できるため、拡張子が異なる単なるテキストファイルである「特別な」ファイル形式がたくさんあります。私はこれを何度も行ってきました。また、独自のバイナリファイル形式を定義している場合は、実行時にそれらのファイルを処理するための独自のファイルパーサーもあることを意味します。

どのプラットフォームを考えているのかわかりませんが、PCおよびコンソールゲームの場合、リソースは実行可能ファイルに埋め込まれていません。通常、個別の実行可能ファイルが表示され、次にさまざまなアーカイブと構成ファイルが表示されます。ゲームによっては、単一のリソースパック、またはグラフィック、サウンド、レベルデータなどの関連リソース用の少数のパックの場合があります。一般的な監視コンソールゲームは、より積極的にアーカイブされます(低速のオプティカルでのファイル操作を最小限に抑えるため)メディア、そしておそらくより原始的なプラットフォーム上のネイティブファイルシステムの制限を克服するために)。一部のPCゲームのアセットは非常に緩く、スクリプトファイルも開いたままになっています。

于 2009-06-20T19:55:00.157 に答える
1

あなたが本を探しているなら、ゲーム開発エッセンシャルシリーズはあなたの質問に答えるべきです。

于 2009-06-20T19:37:27.540 に答える
1

WindowsまたはXBox360向けに開発している場合、Microsoftはここでいくつかのヘルプを提供する場合があります。Visual Studio C ++ExpressEdition用のゲーム開発ツールを確認してください。

于 2009-06-20T19:28:22.130 に答える
0

ゲームで特別なファイル拡張子を使用するには、次の手順を実行します。

  1. その拡張子を持つ任意の形式でいくつかのファイルを作成してから、
  2. その形式の読み取り方法を知っているコードを記述し、それらのファイルをポイントします。

ファイル拡張子は慣例であり、それ以上のものではありません。それらには何の魔法もありません。

ETA:リソースの埋め込みに関しては、その問題に取り組むためのいくつかの異なる方法があります。一般的な手法の1つは、すべてのリソースを少数のファイルにバンドルしておくことです。おそらく1つだけです(Guild Warsがそのアプローチを採用しています)。

もう一方の極端な例では、リソースをディレクトリツリー内の多くのファイルに分散させたままにすることができます。おそらく、変更するために特別なツールを必要とするカスタム形式で、そうでない場合もあります。Civilization 4は、私が精通しているすべてのTurbineゲームと同様に、このように動作します。これは好みの問題であり、どちらにしてもそれほど重要ではありません。

于 2009-06-20T19:30:15.323 に答える
0

より良い解決策は、画像を既知のサイズのタイルに2つ分割してから、ランダムな順序で新しいファイルに結合することです。このランダムな順序はあなただけが知っているので、元の画像を取り戻すためにタイルをごちゃ混ぜにする方法を知っているのはあなただけです。

アプローチは、一次元配列を維持し、その中のタイルの位置を維持することです。MIDPのトリミング機能を使用して、各タイルを抽出し、各タイルをコンソールにレンダリングします。

必要に応じて、コードを投稿できます。

于 2009-06-20T19:39:36.303 に答える
0

保存されたファイルの変更を回避するために、単純な暗号化アルゴリズムを実装し、それを使用して保存されたファイルを暗号化し、ロード時にそれらを復号化することができます。ファイル拡張子は単に選択の問題です。

于 2009-06-20T19:23:34.697 に答える
0

World of Goo (素晴らしいゲーム) の開発者によるプレゼンテーションを確認することをお勧めします: http://2dboy.com/public/eyawtkagibwata.pdf .

于 2009-06-20T20:21:13.007 に答える