2009-06-20 4 views
2

純粋なコーディングが完了し、最初のバージョンがリリースされるまでの間に、ほとんどすべてを公開することを意味するのではありません。例えば、ゲームはどのようにして、保存ファイルが隠されている/解錠できないようにするのか、どのようにリソースファイルをすべてのスプライトなどを含むのではなく、どのようにゲームに含めるのですか? .rectや.screen_modeなどの特別なファイル拡張子があります。以下同様です。ゲームを公開するには?

ゲームの純粋なコードを完成させてからリリースするまでの過程を説明する良い本、記事、ウェブサイトなどは誰も知っていますか?

+0

J2MEベースのゲームについて言及していますか? –

答えて

2

私は、開発者は、保存が隠されているかどうかを確認するために多くの努力をしているとは思いません。 PCゲームは通常、保存するたびに1つのファイルをフォルダに保存し、バイナリファイル形式(リバースエンジニアリングにはある程度の努力が必要)や、あまり意味のないプレーンテキスト値ハッキングを回避する意図的な試みではありません。おそらく、非常に簡単にハック可能なテキストやXML保存ファイルを同梱したPCゲームがたくさんありますが、私はハッカーを救ったことはありませんでしたので、具体的な例はありません。コンソール上では、セーブファイルはメモリカードやコンソールのハードドライブに送られるため、アクセスには本質的に不便ですが、それ以上ではコンソール開発者はセーブデータを暗号化したり、難読化したりすることはほとんどありません。そのエネルギーは、オンラインゲームの場合や他のシステムをより良く動作させる場合に、不正行為に対してゲームを確実にする方向に向かう可能性が高くなります。

特殊なファイル拡張子は、独自の拡張子を使用したり、独自のファイル形式を定義したりするだけです。任意のファイルに任意の拡張子を使うことができるので、拡張子が異なるテキストファイルだけの "特別な"ファイル形式がたくさんあります。それ以外の場合は、独自のバイナリファイル形式を定義している場合は、実行時にそれらのファイルを処理する独自のファイルパーサーもあることを意味します。

私はどのプラットフォームを覚えているのかわかりませんが、PCやコンソールゲームの場合、リソースは実行可能ファイルに埋め込まれていません。通常、別々の実行可能ファイルと、さまざまなアーカイブと構成ファイルが表示されます。ゲームに応じて、それは単一のリソースパック、またはグラフィックス、サウンド、レベルデータなどの関連リソース用のほんの一握りのパックであってもよい。一般的な観察コンソールゲームはより積極的にアーカイブされる(遅い光学より原始的なプラットフォーム上のネイティブファイルシステムの限界を克服するために) PCゲームの中には非常に緩やかな資産があり、スクリプトファイルも公開されています。

0

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

1

WindowsまたはXBox 360用に開発した場合は、マイクロソフトがここで役立つかもしれません。 のVisual Studio C++ Express Editionを参照してください。あなたのゲームに特別なファイル拡張子を使用するには

0

、ちょうど次の操作を行います

  1. どのように知っているいくつかのコードを記述し、その拡張子を持つお好みの形式でいくつかのファイルを作成し、
  2. その形式を読んで、それらのファイルをポイントしてください。

ファイル拡張子はそれ以上の慣習ではありません。それについて何も魔法はありません。

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

他の極端な場合、リソースをディレクトリツリー内の多くのファイルに分散させておくことができます。変更するための特別なツールが必要なカスタム形式や、そうでないかもしれません。文明4は、私がよく知っているすべてのタービンゲームと同様に、このようなことを行います。これは味の問題であり、それほど重要ではありません。

0

もっと良い解決策は、2つの既知のサイズのタイルでイメージを分割してから、新しいファイルでいくつかのランダムな順番でそれらを結合することです。このランダムな順序はあなたにしか知られていないので、元のイメージを元に戻すためにタイルをぶら下げる方法を知っています。

アプローチは、1次元配列を維持し、その中にタイルの位置を維持することです。 MIDPのクロップ機能を使用して各タイルを抽出し、各タイルをコンソールにレンダリングすることを知ってください。

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

関連する問題