MODkit_リードミー


このページについて

  • Banishedツールキット1.0.4βに添付されているReadmeファイルの和訳です。
  • ファイルについての著作権はShining Rock Software.が所持しています。
  • リンク付き注釈はすべて原文にはありません。訳者の付け加えたものです

1. Banishedツールキット使用にあたり

  • BanishedツールキットにはBanishedのVer1.0.4β版かそれ以降を必要とします。Banished本体はWindowsXPでも動作しますが、このツールキットは保障できません。このツールキットはWindows7で開発され、使用されています。他のOSでは十分にテストしていません。
  • このツールキットにはすべてのグラフィックSDKが必要です。現時点ではDirectX11とDirectX9が必要になります。OpenGLは新しいリリースでは必要となる可能性があります。
  • 購入したゲームのデータファイルが必要です。
  • DirectX End User Runtimeがインストールされている必要があります。こちらで見つけることができます:http://www.microsoft.com/en-us/download/details.aspx?id=35 (訳注:リンク先ページの日本語版は : http://www.microsoft.com/ja-JP/download/details.aspx?id=35
  • Visual Studio 2012 Redist (再配布可能パッケージ)も、必要になります。こちらでダウンロードすることができます:http://www.microsoft.com/en-us/download/details.aspx?id=30679 (訳注:リンク先ページの日本語版は : http://www.microsoft.com/ja-jp/download/details.aspx?id=30679 このBanishedツールキットは、将来的にはVisual Studioの新しいバージョンを使用してコンパイルできるようになるかもしれません。もしそうなった場合は、新しいバージョンの再配布可能パッケージをインストールする必要があります。
  • IntelのカードとNvidiaのカードの両方を持っているマシン(主にラップトップ)のために、統合のものよりもハイパワービデオカードが使用されるよう、ツールとゲームの実行ファイルをセットしたことを確認してください。
  • このゲームは、フォント「FrancophilSans」を使用しています。作業によってはインストールする必要があるかもしれません。(訳注:「4. はじめに」の手順のバッチファイル実行時に必要になるようなので、インストールしておくのが無難)


2. ツールキットの内容

このツールキットは、以下のような構成になっています

bin フォルダ
Application-x64-profile.exe ゲームの開発者向けバージョン
Tools-x64.exe リソースをコンパイルするためのツール
Runtime-x64-profile.dll ゲームエンジンのdll
VideoDX9-x64-profile.dll DirectX 9のレンダラー
VideoDX11-x64-profile.dll DirectX 11のレンダラー
xWMAEncode.exe オーディオエンコーディングツール(DXSDK June2010より)
fbxsdk_20113_1_amd64.dll FBXローダー(FBXSDKより)
  • 上記の32bitバージョンのファイルも同様に含まれています

example フォルダ
animal フォルダ 動き回る動物を作成し、牧草地に追加するサンプル
building フォルダ 一つのリソースを取得し、別の新しい建築物を追加するサンプル
crop フォルダ 新しい農場の作物を追加するサンプル
translation フォルダ フォント、文字セット、および翻訳のサンプル
tree フォルダ 木を作成し、果樹園へ追加するサンプル

resource フォルダ
. サンプルと改変のためのゲームデータ


3. コマンドラインパラメーター

共通のコマンドライン パラメータ
/pathres <path> リソースディレクトリを設定。/bin が基準の相対パスで指定。デフォルトは /bin/../resource
/pathdat <path> コンパイルされたリソースのディレクトリを設定。/bin が基準の相対パスで指定。デフォルトは /bin/WinData
/pathpkg <path> パッケージディレクトリを設定。/bin が基準の相対パスで指定。デフォルトは /bin/WinData

Application-x64-profile.exe のコマンドライン パラメータ
/onlypkg ロード時に.pkg(ゲームパッケージ)と.pkm(ゲームMOD)ファイルのみを使用する。 それ以外の場合は、resourceフォルダの中の何かが最初にロードされる
/launcher ランチャーからゲームを開始。Ctrlキーを押したまま起動でもランチャーを開始できる
/nomods modを無効にしてゲームを開始。modによるクラッシュで起動できない場合に便利
/ref <リソース> ゲーム開始時にロードするMODリソースリストを指定。MODをパッケージ化する前、リソースを読み込ませるために使用することができる。例: /ref Package.rsc:modName

Tools-x64.exe のコマンドライン パラメータ
/build <リソース> リソースとすべての依存関係をビルドする。
例: /build Game/GameResources.rsc:resource
/mod <pkgresource> modパッケージをビルド。 オリジナルデータと異なるすべての変更と新しいファイルは、一つのファイルにパッケージ化される
/texpad <pngファイル> 画像上のアルファチャンネルが0のピクセルを拡張した境界線の色で塗りつぶす。これはミップマップテクスチャをうまく作るのに有用な方法


4. はじめに

アーカイブの解凍をしたら必ず、すべてが正常に動作しているかどうかツールキット環境をテストをします。

  1. ゲームデータの.pkgファイルを、ツールキットにコピーして配置します。ここでは C:\BanishedKit\ にツールキットを配置したと仮定して進めます。
    C:\BanishedKit\bin\WinData へコピーしてください。
    Steamを使用している場合、ゲームデータはおそらく C:\Program Files (x86)\Steam\SteamApps\common\Banished\WinData にあります。
    非Steamの場合、デフォルトでは C:\Program Files\Shining Rock Software\Banished\WinData に構築されています。
  2. コマンドプロンプトを開き、ツールキットのディレクトリに移動します(C:\BanishedKit)。
  3. バッチファイル BuildResources.bat を実行します。これは、数分かかりそうです。
  4. すべてがうまくいけば、すべてのリソースがバイナリ形式にコンパイルされ、/bin/WinData に置かれます。Compiled ImageBuffer: Terrain\TerrainDirtTexture.rsc:resource のように大量の出力を見るでしょう。
    通常このツールは、ダイアログボックスまたはテキストで、すべてのエラーを通知します。または、クラッシュするかもしれません。

    もしエラーやクラッシュが出た場合は、正しい場所に.pkgゲームファイルがあるか確認して、前提条件として必要なものがすべてインストールされているか確認してください。

  5. ゲームの開発者向けバージョン、/bin/Application-x64-profile.exe を開始します。 ゲームは通常どおり実行する必要があります。これで新しくコンパイルされたリソースがロードされます - そしてそのリソースは、ゲームパッケージファイルの中のものと一致していなければなりません。
  6. リソースを変更し、ゲームに影響が出るか確認しましょう
    1. テキストエディタで /resource/Dialog/StringTable.rsc を開きます
    2. 次の文字列を探して変更します
      { String _name = "NewGame"; String _text = "New"; }
      これを、以下のように変更
      { String _name = "NewGame"; String _text = "MODDED!!!"; }
    3. ファイルを保存します
    4. Application-x64-profile.exe を再起動します。ゲームはストリングテーブルの変更を感知し、それを再コンパイルします。
      あなたは BuildResources のバッチファイルを再実行することもできますが、これは必須ではありません。このゲームは、あなたが Tools-x64.exe を使いコマンドラインへ仔細なテキストを出力させなくても、すべてのリソースを再コンパイルできます。(訳注:この章ではTools-x64.exeの名は出てないけど、BuildResources.bat が呼び出して使ってました (*1)
    5. ゲームが起動すると、新しいゲームを開始するボタンの文字列が、改変された表示になっているはずです
  7. これが、ゲームを改変するための仕組みです。あなたは、ストリングテーブルの変更を元に戻したいと今思ってますよね。

5. ベストプラクティス

ほとんどのゲーム構成データは、ゲーム中で全てのものがどのようにまとめられているのか、によって規定されています。データは自由に修正することができますが、modを配布する際には、自分が作ったmodが他のmodといっしょに機能するために注意することがあります。

共有される可能性のあるリソースに注意!

コアリソースに変更を加えるのは控えてください。コアリソースのファイルに複数のmodが新しくリソースした場合、1セットしかロードされず、その結果予期せぬ動作を引き起こしてしまいます。

そうしたリソースの例:
Game/Toolbar.rsc ゲームのツールバーに表示される項目
Dialog/StringTable.rsc ゲームのためのほとんどのテキスト
Dialog/SpriteSheet.rsc ユーザーインターフェイスを描画するために使うスプライト (*2)

新しいテキスト、スプライト、原材料、天然資源、家畜などを読み込ませる必要がある場合は、独自のリソースリストを作成しゲームに伝えるべきです。ExternalList リソースを作成します。/example/building のmodは良い例です。
たとえば養蜂場、養蜂家とはちみつを追加する場合:

ExternalList resource
{
    External _resources
    [
        "Apiary.rsc:apiary"        // 養蜂場のためのすべてを参照
    ]
}

ゲームを実行するときは、以下のようにパラメータ付きでスタートしてください:
Application-x64-profile.exe /ref apiaryResources.rsc

modをパッケージ化した後、それが正しく名付けられていて有効化されていれば、そのファイルは自動的に読み込まれます。

テキスト、ユーザーインターフェイスのレイアウトや見た目、3Dモデル、テクスチャ、市民の設定などにあなただけの変更を加えている場合、オリジナルのリソースを上書きすることができます。
あなたのmodと他のmodが同時に有効化されて対立している場合、エラーが通知されます。

複数のmodの作業

このドキュメントにあるサンプルをすべてやってみているなど作業中のmodが複数ある場合、modを切り替える時にコンパイルされたリソースをbinフォルダから消去することをお勧めします。または、バイナリリソースを他へ分離して/pathdat コマンドラインフラグを使うようにします。

modをパッケージ化する時、現在作業を行っているバイナリフォルダのファイルのうち元のゲームパッケージファイルのものと一致しないファイルはすべて入ります。

新素材や音声に注意

新しい頂点シェーダやピクセルシェーダを作成、またはゲームにオーディオファイルを追加しようとしている場合、将来のある時点でゲームが他のプラットフォームに移植される際に、おそらくOpenGLと他のオーディオシステムをサポートするために変更を加える必要が出てくると思います。
新しい頂点シェーダやピクセルシェーダ、オーディオファイルを追加しないmodはおそらく大丈夫です。多分。



6. セーブに関する注意

セーブゲームはセーブ時、どのmodが有効になっているかを保存します。それらが再び読み込まれると、まずすべてのmodは無効になって、それから以前のセーブで有効にされていたものが読み込まれます。newでゲームを始めると、メインメニューのmod設定の状態でゲームが始まります。

ゲームの実行中にmodを有効にできるので、既存のマップに新しい建物を追加することも可能です。とはいえ、ゲームに同梱されていたリソースが変更されていた場合は、予期しない動作がおこるかもしれません。たとえば、もしmodでstorage barnのマップ上のサイズが変更され、古いstorage barnが削除された場合、経路の問題やクラッシュを引き起こす可能性があります。

ゲームの実行中にmodを無効にすると、クラッシュすることがあります。建物を配置するmodを有効にしている場合、それらの建物が配置したうえでそのmodを無効にするとクラッシュします。

セーブゲームもmodの変更を検出します。modの新しいバージョンが公開されてそれで上書きしてしまった時、modが異なっているかバージョン違いかで予期せぬ動作が起こるかもしれないことをゲームはあなたに警告してきます


7. 作成例

ゲームに加えることのできる変更や追加の方法をすべて書くには、複雑な詳細があまりにも多すぎるので、(ドキュメントに数か月を費やすのはやめて)ゲームの設定データと例から試行錯誤しして学ぶ必要があります。これらいくつかのサンプルから始めることになりますが、/resource フォルダの中身ほとんどをもっと知りたいと思うようになるでしょう。



A. 簡単なMOD - 翻訳、フォント、キャラクターセット

最初のサンプル、 /example/translation の中身はゲーム内すべての文字列を翻訳するためのものです。フォントの変更と新しい文字種の追加もできます。/example/translationフォルダを見て下さい。いくつか改変されたゲームリソースの写しがあります。
この翻訳サンプルは、テキストの母音部分について、アクセント記号を付けるよう改変を行います。文字種類には、特殊記号(^f0、^jl、その他)を含んでいる事に気をつけて下さい。また、'~~~'(チルダ)のような引用符や、@N(Nは0~9)のような変数を含みます。翻訳に際しては、このエスケープ文字を保持しなければいけません。

最初に、この文字種を定義する必要があります。/example/translation/Font/CharacterSet.rscを閲覧すると、文字種を見る事が出来ます。


CharacterSet resource
{
String _characters = "
 // Special escape characters(特殊なエスケープ文字)
 ~~ ~"
 // Punctuation(記号)
 `!@#$%^&*()_+-={}|[]\:;'<>?,./©
 // Numbers(数字)
 01234567890
 // characters for English (no lower case, note: help text will not display correctly)(アルファベット、これを表示させないと、ヘルプテキストがまともに表示されなくなる)
 ABCDEFGHIJKLMNOPQRSTUVWXYZ 
 abcdefghijklmnopqrstuvwxyz 
 // additional characters for this example(このサンプルに必要な追加文字)
 ÂÊÎÔÛ
   ";
}

次にゲーム中のフォントを変更します。主に4つのフォントがあり、それぞれサイズが異なります。フォントリソースは下記になります。

Font resource
{
  // reference character set
   CharacterSet _characterSet = "Font/CharacterSet.rsc"; 
   
   // whatever font you want, has to be loaded into windows
   String _fontName = "Arial"; 
   
   // height in pixels of the font
   int _fontHeight = 24; 
   
   // name of the sprite sheet to create, and its size. You may have to increase the size of 
   // the sheet to contain all the characters
   String _sheetName = "Build/FontSheet.rsc";
   int _sheetWidth = 256;
   int _sheetHeight = 128;
   
   // name of the material that uses this font. The material needs to reference 
   // the correct texture.
   String _materialName = "Font/FontMaterial.rsc";
   
   // the texture to output with all the glyphs on it. 
   String _imageName = "Build/uiFontImage.png";
}

最後に、全てのテキストを変換します。全てのテキストはストリングテーブル中に、下記のように含まれています。

StringTable common
{
  Entry _strings
   [ 
       { String _name = "Ok";                    String _text = "ÔK"; }
       { String _name = "Cancel";                String _text = "CÂNCÊL"; }
       { String _name = "Yes";                    String _text = "YÊS"; }
       { String _name = "No";                    String _text = "NÔ"; }
       { String _name = "Apply";                String _text = "ÂPPLY"; }
       { String _name = "Next";                String _text = "NÊXT"; }
       { String _name = "Quit";                String _text = "QÛÎT"; }
   ]
}

注意:Unicode文字が文字をサポートするために必要な場合、リソースファイルはUSC-2 LEとして保存する事ができます。よくわからない場合でも、CaracterSet.rscが既にこのフォーマットを所持しています。

翻訳文は、テキストのサイズによって、一部の表示がおかしくなる場合があります。これを解決するには、ユーザーインターフェースのレイアウトを一部変更する可能性があります。

Modの構築を容易にする為、単一の外部リストリソースが、全てのリソースの変化を参照するようになっています。コマンドを実行し、このMODをbuildするにはコマンドラインに

bin\Tools-x64.exe /build Package.rsc:list /pathres ../example/translation /pathdat ../example/translation/bin

と入力してください。次に下のコマンドを入力してください。これで、コマンドを利用してゲームを実行する事が出来ます。

bin\Application-x64-profile.exe /pathres ../example/translation /pathdat ../example/translation/bin

これにより、変更が有効であったかを確認できます。この方法は、迅速な開発には有用ですが、他の人にModを配布したい場合、これをパッケージ化する必要があります。

最初に、パッケージの定義ファイルを作成します。(/example/translation/Package.rsc を参照してください)

PackageFile translationExample
{
  String _name = "Translation Example";
   String _author = "Shining Rock Software, LLC";
   String _description = "This mod changes the font from the default to Arial. 
       It also modifies the default character set. All text strings
       are made uppercase and vowels have accents over them.";
   String _icon = "icon.png";    // must be 48x48
   int _userVersion = 1;

  // all files in resource directory (each item is searched recursively)
   String _includeList
   [
       "*"    
   ]
   
   // exclude package files, mod files, file used for building packages
   String _excludeList
   [
       "Package_*.crs"
       "*.pkg"
       "*.pkm"
   ]
}

次に、 /mod のパラメーターを使ってパッケージ化します。

bin\Tools-x64.exe /mod Package.rsc:translationExample /pathres ../example/translation /pathdat ../example/translation/bin

Modパッケージを構築する際、どれだけのデータがあるかにもよりますが、多少時間がかかります。このツールは、ゲームに含まれているものに対して、新しいリソースをチェックし、変更、あるいは新しく追加されたファイルをパッケージ化します。

最終的には、translationExample.pkmがbin/WinDataフォルダに現れます。

次に、Modを試しましょう。

  1. ゲームを起動するときに、パッケージのみを使用します。
    • bin\Application-x64-profile.exe /onlypkg
  2. 全てのテキストは通常通りに表示されます。
  3. Modsボタンを押し、Modダイアログを開きます。リストの中に、サンプルのModが表示されるでしょう。Xボタンを押してチェックを入れます。
  4. OKボタンを押します。
  5. メニュー画面を再読み込みすると、Modが効果を現します。
  6. Modが効果を表しているようでしたら、他のユーザーに.pkmファイルとして配布する事が出来ます。WinDataフォルダ内に.pkmファイルを配置するとModを使用する事が出来ます。


B. 建物と職業

このサンプルでは、新しい建物、新しい食用アイテム、そして新しい職を追加します。ここでの建物は養蜂場です。そして、この建物は蜂蜜を作り出します。職は養蜂家です。このmodをビルドして、テストをしたいなら…
bin\Tools-x64.exe /build apiaryResources.rsc /pathres ../example/building /pathdat ../example/building/bin

これでゲームで実行できるようになり、養蜂場はfoodメニューから利用可能になっているでしょう。modをパッケージ化する前に、/ref パラメータを使用して明示的にリソースの読み込みをするようゲームに指示する必要があることに注意してください。翻訳のサンプルでは、リソースの参照が必要でなかったので単純に上書きしましたが、ここでは参照されています。参照がなければ、新しいリソースは読み込まれないでしょう。
bin\Application-x64-profile.exe /ref apiaryResources.rsc /pathres ../example/building /pathdat ../example/building/bin

Newでゲームを開始し、Food Productionアイコンをクリックすると、ハニカムのアイコンの新しい建物がリストに表示されますね。この建物を配置し、建設されたら労働者を割り当てることができます。professions(職業)ダイアログに、新しい職の養蜂家もリストされています。

翻訳のサンプルと同様にパッケージとしてmodをビルドできます:
bin\Tools-x64.exe /mod Package.rsc:apiary /pathres ../example/building /pathdat ../example/building/bin

自分でmodをテストするために、パッケージだけを使ってゲームを実行することができます。
bin\Application-x64-profile.exe /onlypkg

ゲームのModsダイアログに新しいmodがリストされている必要があり、それを有効にできます。

新しい建物を追加するには、たくさんの紐づけられたリソースを必要とします。メッシュ、テクスチャ、マテリアル、エンティティの概要、テキスト、スプライト、および地形デカール 。以下は、新しい建物作成への一般的なステップです。

新しい建物や職業を作るための一般的な手順

  1. 建物およびすべての工事中の建設モデルをモデル化します。
    • 参考 /example/building/Models/apiary.fbx
  2. pivotが適切にオブジェクトの中心に置かれていることを確認します。たとえば、4x5mの建物で角が(0、0、0)の場合なら、(2、2.5、0)にpivotを持つべきです。
  3. 建物にマテリアルを割り当てます。マテリアルの名称は、ディスク上にマテリアル名を定義します。マテリアルは、モデルと同じディレクトリの中のMaterialInstanceフォルダにある必要があります。見つからない場合、ツールは適切な名称のマテリアルがないかリソースのルートまで親ディレクトリをチェックするでしょう。
  4. ダミーヘルパーオブジェクトを追加して、使用される位置を定義します
    • build_XXX というヘルパーは、建物を建設するときに労働者が立つ位置です
    • use_XXX というヘルパーは、建物で働く際に労働者が立つ位置です
    • create_XXXというヘルパーは、建物でリソースが作成される位置です(訳注:養蜂場では蜂蜜ができる位置)
    • パーティクルシステムを取り付けるためのヘルパーは、任意に名付けることができます。例えば、the smoke from the building 。(訳注:WoodHouseの煙は単に"smoke"だった)
  5. テクスチャリングのため、モデルをUV展開
  6. 最初のUVチャンネルは建物のマテリアルのプライマリテクスチャとして使われます(あなたが異なる作用をするシェーダーを作成しない限り)
  7. 2つ目のUVチャンネルは、アンビエントオクルージョン(AO)テクスチャとして使われます。各建築モデルは、独自のAOテクスチャを必要とします
  8. 建物が地形より上の部分を持っているなら、市民が上を歩くために非常に低解像度の「床」オブジェクトを作ります(養蜂場はそれを使用または必要としません)
    • 参考 /resource/Models/Buildings/FishermansDock/FishermansDockFloor.rsc
    • 参考 /resource/Template/FishermansDock.rsc
  9. モデルをFBXフォーマットで出力します
  10. ゲームが使用するマテリアルリソースをビルドしてください
    • 参考 /example/building/Models/MaterialInstance/Apiary.rsc
  11. ゲームが使用するテクスチャリソースをビルドしてください
    • 参考 /example/building/Models/MaterialInstance/ApiaryTexture.rsc
  12. AOテクスチャリソースをビルド
    • 参考 /example/building/Models/MaterialInstance/ApiaryAO.rsc
  13. 建物と建設中の建物のためのモデルリソースを作成します。これは、モデルの視覚表示用です。また、これらのファイルは、ゲーム中で選択されると視覚メッシュのふちにハイライトを表示する「エッジメッシュ」を含んでいます。
    • 参考 /example/building/Models/ApiaryMesh.rsc, ApiaryBuild01Mesh.rsc, ApiaryBuild02Mesh.rsc
  14. 建物と建設中の建物のためのピッキングリソースを作成します。これは、マウスを使って建物を選択するために使われます。
    • 参考 /example/building/Models/ApiaryPicking.rsc, ApiaryPicking01Mesh.rsc, ApiaryPicking02Mesh.rsc
  15. 労働者が作業時に立つ位置や生成物ができる位置、建物を建築する位置を定義するためのポイントリソースを作成します。このポイントファイルは、モデリングの時に作成したダミーヘルパーの位置を参照します。
    • 参考 /example/building/Models/ApiaryPoints.rsc
  16. 建物の上に市民が歩ける部分がある場合、フロアリソースを作成します。
  17. 地形に貼られるデカールを作成します。あなたが複数の建物を作っている場合、すべてのデカールを同じテクスチャに置くことができます。テクスチャに複数のデカールを配置すると、レンダリングのパフォーマンスが良くなります。
    • 参考 /example/building/Models/MaterialInstance/ApiaryFootprint*
  18. 建物にかかわるすべてのスプライトを作成します。複数の建物を作っている場合は、同じシート上にすべてのスプライトを置くことができます。1スプライトシートにできるだけ多くのスプライトシートを配置するようにすると、レンダリングのパフォーマンスが良くなります。
    • 参考 /example/building/UI/ApiarySpriteSheet*
  19. 建物に関連するすべての文字列を作成します。複数の建物を作っている場合は、単一の文字列テーブル(string table)にすべての文字列を置くことができます。
    • 参考 /example/building/UI/ApiaryStringTable.rsc
  20. 必要に応じて、新しい職業を作成します
    • 参考 /example/building/Profession/Profession.rsc
  21. 建物が必要とするかもしれない、あらゆる新しいリソースを作成します。 メモ:このタイプのリソースは、それに関連付けられた追加モデル、スプライト、テクスチャ、および文字列を持っていることに注意してください。 前の段階で建物のモデルを作った時のように、それらを作ってください。(訳注:養蜂場では蜂蜜のこと)
    • 参考 /example/building/Template/RawMaterialHoney.rsc
    • 参考 /example/building/Models/honey.fbx
    • 参考 /example/building/Models/HoneyMesh.fbx
    • 参考 /example/building/Models/MaterialInstance/Honey*
  22. すべてのリソースを結びつけて、建物がどう働いているかを定義するエンティティをセットアップしてください。エンティティのセットアップは複雑です。より多くの例、すべてのゲーム エンティティは /resource/Template/ で見れます。
    • 参考 /example/building/Template/Apiary.rsc
  23. メインのゲームツールバーに、建物を追加するツールバー項目を加えてください。
    • 参考 /example/building/Apiary.rsc;
  24. すべてのリソースを読み込むための、リソース参照ファイルを作成します。 このリソースは、<mod名>Resources.rsc:resource という形で命名される必要があります。そうしないと、modフォーマットにパッケージ化する際、正しく読み込まれなくなります。
    • 参考 /example/building/apiaryResources.rsc;

多くの場合、ゲーム中でモデルやテクスチャを繰り返し確認していくのが簡単です。テクスチャやモデルを簡易な作りの代用版でビルドしてからゲーム中に持っていけば、詳細を加えながらゲームに再読み込みさせることができます。ゲーム実行中にFBXやPNGを書き出す場合、変更を検出するでしょう。Application-profileだけが変更を検出します。最終リリースの実行可能ファイルにはありません。メモ:ゆるいリソースで動作するのはこれが唯一ということに注意。すでに単一ファイルにパッケージ化されたmodは、リソースを再読み込みしません。特に、/onlypkg フラグが使用される場合。(訳注:この段落あやふや)
上記段落の原文:
In many cases it's easier to iterate on models and textures while viewing them in game. If you build simple stub versions of the textures and models and get them into game - you can have the game reload them while you add details. Simply leave the game running and it will detect changes when you export fbx or pngs. Only Application-profile will detect changes. The final release executable does not. Note that this only works with loose resources. A mod already packaged into a single file will not reload resources, especially if the /onlypkg flag is used.


エンティティ定義などの他のリソースを変更することもできます。しかしながら、いくつかの変更でゲームはクラッシュするかもしれません。特に配列内の数値を変更した場合。例えばダミーノードヘルパーのリストを変更し、ゲームを起動中に再出力するとクラッシュします。UI定義などのその他の項目は再読み込みしますが、UIが閉じてから再度開かれるまでは有効になりません。

建物のマテリアルが一つで単一オブジェクトであることは、パフォーマンスを高めるための良い習慣です。ゲームは複数のオブジェクトと複数のマテリアルをサポートしていますが、それらのオブジェクトをレンダリングするのは時間がかかってしまうでしょう。

C. デバッグ・オプション

デバッグモードを有効にすると、資源なしで建物を配置できますので、テストしたいときには役に立つでしょう。また、資源、住民、季節、霧や光の色、災害の発生、そして一般的なパフォーマンスや統計をみる事が出来ます。これを有効にするには、下記を編集します。

/resource/Game/Toolbar.rsc

Debugのツールバーアイテムを、下記のように変更します。

bool _visible = false;

から

bool _visible = true;

次に、ツールとレポートツールバーをロードすると、デバッグツールとダイアログが表示されます。デバッグモードを有効にした状態では、ゲームが正しく動作することが保証されているわけではないことに注意して下さい。時間のスライダーを動かし、季節を変更すると、クラッシュする可能性があります。
通常のリソースフォルダと別にModを作っている場合、ツールバーリソースを、同じ相対位置のフォルダにコピーしておく必要があり余す。

D. 新しい作物の追加

E. 新しい樹木の追加

F. 新しい動物の追加


  • 最終更新:2014-09-28 09:13:48

このWIKIを編集するにはパスワード入力が必要です

認証パスワード