support/Tutoreal

Last-modified: 2016-09-26 (月) 15:10:31

アドオン制作チュートリアル

前置き

simutransにおいて、建築物や道路、車両などを対応ファイルを追加することによりゲーム上に登場させることが可能である。このファイルを「アドオン」と呼ぶ。
このアドオンはユーザーに対しオープンであり、作成法なども日本語化サイトなどで解説されている。

必要なもの

 アドオン作成に必要なものは以下の通り。場合によっては不要な場合も存在する
1)テキストエディタ - データを記述する「datファイル」を作成するために必要。Windows付属の「メモ帳」でもできないことはないが、優れたテキストエディタはたくさん存在する。また、日本語化に必要なja.tabはメモ帳で作成できない。
2)グラフィックエディタ - ゲーム内で表示される画像「pngファイル」を作成するために必要。Windows付属の「ペイント」でもできないことはないが、ドット絵用のエディタをつかったほうがいろいろはかどる。
3)makeobj.exe - 「datファイル」及び「pngファイル」からアドオンファイルである「pakファイル」を作成するプログラムファイル。ちなみにコマンドラインから動かす必要があり、動作に癖が存在する。また、新しいものを使った場合、古いバージョンの本体では立ち上がらなくなるため注意が必要。
4)makeobj用.batファイル - コマンドラインから起動するのが面倒な場合、複数のコマンド実行をテキストファイルに記載し、拡張子をbatに変更すると自動的にプログラムを動かすことができる。
5)simutrans及びpakセット - 作成した「pakファイル」をチェックするために必要。
このほかにも、様々な「ファイル作成を補助するツール」などがユーザーにより開発されています。
このほかにも「バイナリエディタで直接pakファイルをいじる」という方法が存在するが、これは禁じ手とされている。

おおざっぱな作成法

1)必要なdatファイルおよびpngファイルを用意する。これは改造でも自作でもどちらでもよい。
2)用意した二種類のファイルをbatファイルの内容に従い、makeobjを通してpakファイルにする。
3)作成されたpakファイルにエラーがないか確認し、simutrans本体で動作確認を行う。
これだけの作業である。簡単でしょ?

1)必要なファイルの用意。

アドオンファイルと一口に言っても、各種の種類が存在する。ここに挙げると
goods( 貨物 )
factory( 産業 )
building( 建築物 )
vehicle( 乗り物 )
pedestrian( 通行人 )
citycar( 自動車 )
tree( 樹木 )
way( 道路及線路 )
bridge( 橋 )
roadsign( 信号等 )
tunnel( トンネル )
way-object( 架線など )
crossing( 平面交差 )
ground_obj( 静止物、移動物 )
smoke( 煙、炎 )
ground( 地面 )
field( 田畑 )
misc( その他いろいろ )
symbol ( 各種アイコン )
menu( メニューアイコン )
それぞれのdatには書式が存在する。ただし、通常のユーザーがよく使うのはvehicle、buildingがメインでwayやroadsign、tunnel、bridge、crossing、way-object、goodsやfactryなどが時々見られる程度。groundやsymbol、treeやpeaestrianなどはほとんど作成される機会はない( 作成した人ごめんなさい。このあたりを作り出そうとするとそれこそpakセットを作るレベルでないと触る機会はないはず )。
それぞれの書式はsourceforge:simutrans上のcodeの項目に存在するソースこのサイトや個人のサイト、さらには日本語化サイトなどにアップロードされたdatファイルを参照したり、日本語化サイトのアドオン開発や個人のサイトに日本語の解説などが存在するため、それらを参考にして作成、あるいは既存アドオンのソースなどから改造して作成されたし。
なお、pakファイルの画像指定方法は一つの単位の左上を0.0として前の数字が上下、後ろの数字を右に取ります。また、画像の指定に関しては別のフォルダーに画像をまとめることも可能( これは特に公式のソースでみる記述法です )。
pngファイルは、pakセットにもよるものの、pak64の場合64X64を一つの単位として、必要なデータ、例えば方向などの差分のデータを組み合わせて作成する。一つのファイルでもばらばらのファイルでも好きなほうでかまいませんが、一つのファイルに詰め込んだほうがその後の管理やdatファイルの記述が楽かもしれません。また、透過色や夜間に変化しない色など特殊な色が存在します。それは日本語化サイトの画像項目に記述が存在するため、目を通しておくこと。
pngに関しての作成方法は執筆者も実はよくわからないため、詳しい説明は省略。ごめんなさい。日本語化サイトの簡単な解説やドット絵の描き方のサイト、他のユーザーの描いた画像等を参照されたし
書式がうまく理解できない場合、アドオンの利用規約を参照し、改造OKなものを改造することから始めるのが上達の早道である。

pakファイルの作成

用意したファイルをmakeobj.exe( このプログラムはsourceforgeにあります )を使い、pakファイルを作成する。ちなみにmakeobj.exeはコマンドラインから起動するプログラムであり、直接クリックしても使い方が一瞬表示されるだけで何も起こらない代物です。
そこで、batファイルを作成することになります。pak64の場合、以下の斜線で示すようにテキストファイルに記述し、「makeobj.bat」等、わかりやすい名前に変更する。
makeobj pak > err.txt 2>&1
ちなみにこれは「makeobjにて標準サイズで個々のファイルでpak化、err.txtにエラー等を書き出す」という意味とのことである。
pak64以外の場合、例えばpak32の場合は以下の通り。
makeobj pak32 > err.txt 2>&1
そのほかいろいろオプションや、興味のある方は日本語化サイトの「makeobj」を参照されたし。
この記述の場合、makeobj.exeのフォルダにdatファイルとpngファイルを移動させ、makeobj.batをクリックすると、自動的に処理され、pakファイルが作成される。
作成した際、err.txtが作成されますので、作成後は必ず確認すべきである、これはまれにタイプミスや設定ミス、画像が読み込めないなどの理由により、途中までpakファイルを作成して停止した、あるいはきちんと設定されていないなどの問題が発生していることがあります。それを確認し、問題がなければ( まれにまだ対応していなかったり廃止された機能等の記述があり、それを無視したという警告が出ることがある )一応アドオンは完成です。

3)に関して

作成したアドオンは自分でチェックしてみましょう。makeobjでエラーを返さなくても、以下の状況がみられることがあります。
性能に問題がある、例えば背景色が透過されていない、夜間変なところが光る、画像がずれている、重すぎて自走不能、画像の指定が間違っていて車両が変な向きで動く、特定の方向で車両が別のものになる、導入してもゲーム中に登場させることができない、動かなくなる、pakセットが立ち上がらなくなるなどの症状がみられる場合があります。
そのような場合はもう一度pngやdatから原因を見直してみるべきでしょう。例えば背景色が表示される場合、pngの背景画像の設定が間違っている、自走不能の場合馬力を上昇させるか、自重を減らすなどの対策が必要となる。特に公開を考えている場合はチェックは必須

参考サイト等

Simutrans 建物アドオン 描き方入門 - togetter - 作成:初代管理人(@masayoshi_main)