Siege University 200

■講義201 テンプレート#3

<ネーミングのきまり>

 ネーミングに関する決まり事はテンプレートを扱う上でとりわけ重要なことです。常に2つのルールを守らなければなりません。ひとつめは,同じ名前のテンプレートを2つ作ってはならないこと,ふたつめは,テンプレート名にスペースを入れてはならない,ということです。ネーミングに関して,テンプレートの一般名は左から右に向かって細分化していくべきです。
次の木のリーフ・テンプレートについて考えてみましょう。

[t:template,n:tree_grs_apple_01]

 このラインはゲームエンジンにデータの種類(テンプレート)を伝えて,その次にテンプレートの名前"tree_grs_apple_01"を明示しています。重ねて言いますが,すべてのテンプレートは全システムにおいて独自の名前を持っていなくてはなりません。同じテンプレート名が2つあると,シージエディタを立ち上げる際に,重複テンプレートエラーを引き起こします。2つ同名のテンプレートがあった場合,エンジンはGASファイルを読み込む際に最初に見つけたテンプレートを読み込み,同名の他のテンプレートは無視します。

 先ほど提示したテンプレート名を見てください。"tree"という名称があり,次に"grs"(エリアの種類,"grass"から来ています)が来て,さらに詳細な木の種類"apple",そして最後にそのappleの木のバージョンが来ています。もし大きさが異なるだけの3本の林檎の木を用意するなら,それらを次のように命名すれば良いのです。


[t:template,n:tree_grs_apple_small]
[t:template,n:tree_grs_apple_medium]
[t:template,n:tree_grs_apple_large]

 または,もっと簡潔にもできます。


[t:template,n:tree_grs_apple_01]
[t:template,n:tree_grs_apple_02]
[t:template,n:tree_grs_apple_03]

 テンプレートにどんな名前を付けるかはあなた次第ですが,後に述べるような決まり事に従ってください。特にあなたが大量のテンプレートを作るならなおさらです。そして,システム全体に同じ名前を付けてはいけないということを忘れないで下さい。これはシステム全体(つまり自作のMODも製品版のゲームも,そして他人の作ったMODも含む)において同名のテンプレートがあってはなりません。

 もうひとつMOD制作者に強く推奨することは,新しくテンプレートを作る時,冒頭にあなた(またはグループ名)のイニシャルを加えてテンプレート名をつけてください。例えば,我々GPG(Gas Powered Games)が自作のMODを制作し,新しく3つの林檎の木を付け加えるとしたら,こんな形で3つのテンプレートに名前を付けます。


[t:template,n:gpg_tree_grs_apple_01]
[t:template,n:gpg_tree_grs_apple_02]
[t:template,n:gpg_tree_grs_apple_03]

 本来こういった事は必要な条件ではないのですが,他のコミュニティのメンバーが作ったMOD同士でデータが衝突するのを避けるために強く推奨します。もう一つの注意点は,"world\contentdb\templates"ディレクトリにあるGASファイルのネーミングについて,エンジンはまったく関与しないと言うことです。あなたは望んだだけいくらでも新しいファイルに名前を付けることができます,そしてもちろん,イニシャルを付け加えてファイル名を付けることを推奨します(例えばgpg_wpn_sword.GASといったように)。

<アート資産:配置と名前付け)>

 テンプレートの欠如やテンプレートファイルのネーミング制限(さらに重複,スペース)といった事とは対照的に,テンプレートから参照されるアートリソースは,必ずきっちりとした決まり事に従わなければなりません。エンジンはartディレクトリ内の場所とそのファイル名に基づいてアートリソースを参照します。アートファイルは以下のディレクトリにあります。

\art\Animations
\art\Bitmaps
\art\Meshes
\art\Terrain

 これらは資産管理(似たようなものが膨大な数あるからです)とエンジンの使用用途という2つの理由によりネーミングされています。エンジンはそのアートファイルを理解し運用するために”ネーミングキー(Naming Key)”を使います。NamingKeyを見てみましょう。NNKファイルは以下にあります。

\art\NamingKey.NNK

 ネーミングキーは,エンジンがファイル名に基づいてアートファイルがどこにあるのか,どのように参照するのかを知るため暗号解読書です。それぞれのファイルタイプは,エンジンがそれがどこにあるのか知るためのネーミングキーで定義されていなくてはならない接頭語を持っています。アートファイルの種類やネーミングキーに関する様々な説明は文末の「beyond the scope」にあります。しかしNNKの使用を解読したりアートファイルを熟読するのは本当に簡単な事です。最初にネーミングキーをざっと見ただけでネーミングのきまり事がナンセンスなものだと思われるでしょうが,ネーミングシステムはダンジョンシージの数千にも及ぶアートファイルの管理を維持するためにあるのです。

<おわりに&まとめ>

 テンプレートはSiege Editorを使って設置するオブジェクトを定義したり,実行時にゲームエンジンによって(自動的に)設置されます。テンプレートはツリー状の階層に属し,ツリー下層のテンプレートはツリー上層のテンプレートを特殊化しプロパティを受け継ぎます。
 テンプレートにはフィールドとその値により構成されるコンポーネントブロックがあります。これらの値はツリー下層のテンプレートによって無効化することもできます。テンプレートは好きなように名称を付けられますが,スペースを入れてはならないこと,同じ名称のテンプレートが2つあってはならないこと,という決まりがあります。重複を防ぐためにもテンプレート名にはMOD制作者のイニシャルを付け加えておくことを推奨します。


<範囲外のことについて>

 この文書を書いている最中に,なんとか200レベルの文書に納めようとしてテンプレートのトピック内にかけ離れた部分や複雑な部分があることが明らかになりました。これまで読まれた通り,「範囲外」という言葉が何度か出てきたと思います。それには私もうんざりなのです。もし更なるやる気(と時間)があれば,300レベルの文書をご覧下さい。300レベルの文書でカバーされるトピックは以下のようなものです:

  • パラメトライズド・コンテンツ
  • ベテランとエリートのテンプレート(より難易度の高いレベル)
  • アーマーについて
  • パフォーマンスの最適化
  • ゲームコンソール コマンドリファレンス

 事実これらの内容はこの最初のコースの範囲外のことであり,ここでは述べられていません。更なる情報はゲームファイルそのものから苦労して収集することになるでしょう。MOD制作者はここで学んだことを基礎として,ここに記述されていないことを継ぎ合わせる事になるでしょう。
どんな資料も無いままMODを制作するということは,MODコミュニティーの能力を示す証となるのです!

楽しいテンプレート制作を!

The Gas Powered Team

前に戻る