Tokyo Railways 2 マップファイル仕様書
copyright 2009-2011 M.SHIOJIMA
v1.81対応 2009-12-25初版公開
v1.85対応 2010-01-27修正版公開
hintlistタグ、hintタグの追加、playerタグのchara属性に3種類の性格を追加
v1.90対応 2010-02-19修正版公開
infoタグ、descタグ(詳細情報)の追加、
gamedataタグのno属性の記載を追記、ttypeタグのimage属性の記載を追記、
基本的な仕様にZIP形式の圧縮ファイル".tmz"の記載を追記
v2.20対応 2011-04-20修正版公開
setupタグにconstperturn属性とbankrupt属性を追加
本書では「Tokyo Railways 2」のマップファイル(拡張子が".map"のファイル)の内容記述の仕様について説明する。
本書に関して、記述内容の間違いやリンク切れ等を見つけたら、ユーザー報告のサイトへ報告して欲しい。
- XML形式(XML1.0準拠)
マップファイルはXML形式で記述されており、XML1.0の仕様に準拠している。XML1.0の仕様についての説明は本書では省略する。XMLについては既に様々な書籍やサイトが存在するのでそちらを参照して欲しい。
- UTF-8
マップファイルの文字コードはUTF-8である。MacやWindowsのテキストファイルで標準的に使われているShift-JISやMS-932とは異なるので注意すること。
- ZIP形式
複数のマップファイルやイメージファイルなどを一つのファイルにまとめて配布してインストールしてもらう際には、ZIP形式で圧縮する。このときに圧縮後のファイルの拡張子を".tmz"に変更して配布すること。
マップファイルの作成・編集には以下のようなツールを使用することを前提とする。
- テキストエディター
- XML文法チェックツール
- OpenOffice.org
- マップ作成支援ツール
マップファイルはUTF-8形式なので、これを取り扱えるテキストエディターを用意する必要がある。テキストエディターには様々な種類があるので使い慣れたものを使用して構わない。ただし、既存マップにはSHIFT-JISコードにアサインされていない文字を使用しているもの(フランス、ドイツ、中国など)があり、これらを編集する場合には、内部コードもUNICODEに準じたコードを用いているエディターでないと文字化けする場合があるので注意すること。
テキストエディターの代わりに、Eclipseなどの統合開発環境を利用しても構わない。一部のテキストエディターや統合開発環境のXMLサポート機能などでは、XMLの構文解析や文法チェックを行ってくれるので、便利である。ただし、マップファイルは非常に巨大になるため、構文解析機能を有効にすると逆に重くてまともに動作しない場合もあるので、注意して欲しい。
XMLファイルの文法エラーを目視で見つけるのは困難であり、ゲームアプリのエラーメッセージからもその原因を特定するのはあまりに少ない情報しか得られない(手抜きだと非難しないで欲しい)。そのため、マップファイルの作成・編集の際には、なんらかのXML文法チェックツールを使用することをお勧めする。
本書では"xmllint"の使用をお勧めする。コマンドラインベースなので、コマンド入力に慣れていない方には使いづらいかもしれないが、機能の強力さと速度の速さを両立しているので一番実用的である。
xmllintはMac OS XやUbuntuでは標準でインストールされていると思うので、ターミナルを起動してプロンプトから"xmllint"と入力すれば実行できると思う。
Windowsの場合には、Web上からWindows用にビルドされたものを探し出して使って欲しい。詳しい使用方法についてもマニュアルコマンド(man)で調べるか、Webを検索して欲しいが、最低限以下の2つを知っていればほとんど事が足りると思う。
OpenOffice.orgはオープンソースのオフィススイートであり、無料でダウンロードできる。Windows/Mac OS X/各種Linux/Solaris用など各種OSに対応している。後述するマップ作成ツールがOpenOffice.orgのCalcで作られているため、これを使用するためにはインストールする必要がある。
マップ編集のために用意したOpenOffice.orgのスプレッドシート(Calc)用のファイルである。このツールには何枚かの式が埋め込まれたシートが用意されており、それぞれのシートに必要なデータを入力することで、マップの地形・都市・仕事コマを作成し、それぞれの部分のXMLデータを作り出すことができる。このXMLデータをマップファイルの該当部分に埋め込むことで、マップデータ作成を簡単に行うことができる。
マップ作成ツールの使用方法については、ツールに付属する説明書を読んで欲しい。
ファイル名 | 対応環境 | リリース日 | サイズ | 備考 | Download |
maptool_v100_20091225.zip | ALL | 2009-12-25 | 584KB | OpenOffice.orgが必要 |
Download |
本書に基づいて第三者が作成したマップデータは作者の許諾なしに自由に配布して構わない。
公式サイトでは第三者が作成したマップデータを配布する予定はないが、作者の判断で公式サイトから配布ページへのリンクを追加することがある。
マップデータ作成者から作者にリンクの申し出が合った場合、それが公序良俗に反しないと作者が判断した場合には、リンクに追加する。
本書の内容は将来のバージョンアップで変更される可能性がある。その際には第三者が作成したマップデータが動作しなくなることもありうる。第三者のマップデータに関して、その動作や改修に関して作者はなんら保障しない。
本書では、XML形式のタグ要素の種類ごとに、いくつかの表を載せている。
多くのタグ要素で、以下の3種類の表を用意している。
XMLではタグは以下のように入れ子構造となっている。
<tag1>
<tag2 attr1="value1" attr2="value2">
<tag3>...</tag3>
<tag4>...</tag4>
</tag2>
</tag1>
本書では入れ子の外側のタグを上位タグ、入れ子の内側のタグを下位タグと呼ぶ。
また、タグの内側で「attr="value"」のような形式で定義されているものを属性と呼ぶ。
上記の例で、tag2にとっての上位タグ、下位タグ、属性は以下のようになる。
上位タグ:tag1
下位タグ:tag3、tag4
属性:attr1、attr2
属性には以下の3種類のデータ型がある。
String : 文字列
int : 整数
double : 実数
データ型はプログラムが格納しているJAVAのデータ型に基づいて記載しており、取りうる値はJAVAの当該データ型と同じある。
マップデータのトップレベルタグ
例
<gamedata no="114" title="Nagasaki Tram" region="長崎" players="2~6" version="1.80" maxplayer="6">...</gamedata>
下位タグ
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
no | String | マップ番号(3桁) | 不可 | マップ固有の番号で、以下のように割り振られている。
000〜099:本体付属のマップ
100〜499:追加マップ
今のところ数字しか使っていないが、アルファベット
などでも構わないし、3桁でなくても構わない。新たに
マップを作る場合には、上記以外の領域から他のマップ
と重複しないようにアサインすること。
ハンドル名+"-"+連番などにすることを推奨する。
ただし、マップ番号はファイル名の作成に使用するの
でそれにふさわしくない文字(スラッシュ、バックスラッ
シュ、円マーク、括弧、空白など)は避けること。
|
title | String | マップ名 | 不可 | 今のところ、既存のマップは全て英文名となっている。 |
region | String | 地域 | 不可 | 画面には全角4文字分しか幅が用意されていない。 |
players | String | 表示用人数 | 不可 | "2〜9"のような形式。表示に使うのみで、プログラムが
実際に使っているのは"maxplayer"の方。 |
version | String | 必要version | 不可 | このマップを動かすのに必要なアプリのバージョン。
この仕様書にしたがって作った場合には、"2.20"となる。 |
maxplayer | String | 最大人数 | 不可 | このマップに参加可能な最大プレイヤー数。
playerタグの数と一致している必要がある。 |
地図データ
例
<map width="46" height="62">...</map>
上位タグ
下位タグ
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
width | int | 横方向のマス数 | 不可 | celllistタグの下のcellタグの内容と一致している必要がある。
メモリ使用量の制限から、セル数(width × height)は10000以下
でなければならない。 |
height | int | 縦方向のマス数 | 不可 | 同上 |
地形データ
例
<celllist defaultttype="PL">...</celllist>
上位タグ
下位タグ
タグ名 | 個数 | 概要 |
cell | 複数(0以上) | 各マスの地形を定義する |
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
defaultttype | String | 省略時の地形種別 | 可(PL) | ttypeタグで定義された地形種別を設定する。
cellタグが定義されなかったマスの地形を定義する。
v1.77以前とv1.81以降では省略可だが、v1.80のみ省略不可。
v1.77以前は設定値に関わらず固定で"PL"だった。
|
各マスの地形を定義する
例1:都市以外の場合
<cell id="r19c1" ttype="HL"/>
例2:都市の場合
<cell id="r24c21" ttype="LC" magercity="1" center="1">...</cell>
上位タグ
下位タグ
タグ名 | 個数 | 概要 |
city(地図データ) | 0または1 | 都市データを定義する
セルが都市の場合にのみ必要。都市以外は不要。 |
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
id | String | 位置(rc形式) | 不可 | マスの位置をrc形式で記述する。
mapタグの属性widthとheightの範囲内でなければなら
ない。
rは行(Y軸方向)、cは列(X軸方向)を示し、左上のマスは
"r0c0"となる。
width="46" height="62" ならば、最も右下のマスは
"r61c45"となる。
|
ttype | String | 地形種別 | 不可 | ttypeタグで定義した地形種別を記述する。 |
magercity | String | 大都市フラグ | 可(空値) | 大都市の場合には"1"を設定する。これを設定すると、
このマスから路線建設を開始できるようになる。
また、magercity="1"の隣接するマス間には路線建設が
できなくなり、更に路線がなくでも相互に移動できる
ようになる。
|
center | String | 大都市中心フラグ | 可(空値) | 大都市の中心の場合には"1"を設定する。
通常、大都市は中心にだけイメージや地名を表示する
ため、必ず大都市内のどこか1箇所だけ中心を指定する
必要がある。
中心がないと大都市が表示されなくなってしまう。 |
都市データを定義する。
例
<city no="077" name="神ノ島" kana="かみのしま" voffset="-10" hoffset="-10"/>
上位タグ
下位タグ;なし
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
no | String | 都市番号(3桁) | 不可 | 001〜999の都市ごとにユニークな番号を設定する。
大都市や番外接続など、複数のマスが同じ都市となって
いる場合、その都市に属するすべてのマスに同じ都市
番号を設定する必要がある。 |
name | String | 都市名 | 可(空値) | 大都市のマスでは、中心以外は省略可。
同じ都市番号のセルに都市名が複数設定されていても、
一つの都市名しか有効にならず、それ以外は全て無視
される。
都市名を始めとしたcityタグの属性が有効になるマス
は以下の規則で決まる。
1.その都市が大都市(cellタグにmagercity="1"が
設定)の場合、中心(cellタグにcenter="1"が設定)以外
はcityタグのno以外の属性は無効。
2.同じ都市番号で複数の有効なcityタグが定義されて
いる場合には、最後に定義されているcityタグが有効と
なる。
|
kana | String | かな名 | 可(空値) | 都市のかな名称。
有効・無効の規則については都市名と同様。 |
voffset | int | 都市名表示位置の
垂直修正 | 可(0) | 地図上に都市名を表示する位置の垂直方向の修正値。
単位はピクセル。マイナスの場合には上方向にずれ、
プラスの場合には下方向にずれる。プラスの場合にも
"+"をつけてはいけない。
(voffset="+10"ではなくてvoffset="10")
各マスのサイズは縦横ともに16ピクセルである。
有効・無効の規則については都市名と同様。
|
hoffset | int | 都市名表示位置の
水平修正 | 可(0) | 地図上に都市名を表示する位置の水平方向の修正値。
単位はピクセル。マイナスの場合には左方向にずれ、
プラスの場合には右方向にずれる。
有効・無効の規則については都市名と同様。 |
枠地形データ
例
<borderlist>...</borderlist>
上位タグ
下位タグ
属性:なし
例
<border loc="r16c22" btype="RV" direction="V"/>
上位タグ
下位タグ:なし
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
loc | String | 位置(rc形式) | 不可 | 枠の位置をcellタグのid属性と同様に指定する。
枠が縦方向(direction="V")の場合は枠の右隣、
枠が横方向(direction="H")の場合は枠の下隣の
マスの位置を指定する。
マスから見た場合には、縦方向の枠は左側、
横方向の枠は上側となる。
|
btype | String | 枠地形種別 | 不可 | btypeタグで定義されている枠地形種別を指定する。 |
direction | String | 方向種別 | 不可 | 枠の方向を指定する。属性値は以下の通り。
"V":垂直方向(縦)
"H":水平方向(横) |
フェリーリスト
例
<ferrylist>...</ferrylist>
上位タグ
下位タグ
タグ名 | 個数 | 概要 |
ferry | 複数(0以上) | フェリー航路を定義する。 |
属性:なし
フェリー航路を定義する。
フェリー航路は2箇所で折れ曲がる折れ線の形をしている。
起点の都市の位置はportloc1、終点の都市の位置はportloc2、起点側の折れ曲がり地点はvialoc1、終点側の折れ曲がり地点はvialoc2である。
料金の表示位置はcostlocである。
例
<ferry no="012" portloc1="r12c62" portloc2="r19c62" vialoc1="r16c61" vialoc2="r18c61" cost="10" costloc="r16c61" voffset="0" hoffset="0"/>
上位タグ
下位タグ:なし
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
no | String | フェリー番号(3桁) | 不可 | フェリーごとにユニークな番号を割り振る。 |
portloc1 | String | 起点都市位置 | 不可 | 起点の都市の位置をrc形式で指定する。
設定内容はcellタグのid属性と同様。 |
portloc2 | String | 終点都市位置 | 不可 | 終点の都市の位置をrc形式で指定する。 |
vialoc1 | String | 折れ曲がり点1 | 不可 | 起点側の折れ曲がり点の位置をrc形式で指定する。 |
vialoc2 | String | 折れ曲がり点2 | 不可 | 終点側の折れ曲がり点の位置をrc形式で指定する。 |
cost | int | 使用料金 | 不可 | フェリー航路の使用料金。 |
costloc | String | 料金表示位置 | 不可 | 使用料金の表示位置をrc形式で指定する。 |
voffset | int | 料金表示位置の
垂直修正 | 可(0) | 使用料金の表示位置を上下方向にずらす。
指定内容はcityタグ(地図データ)のvoffset属性と同様。 |
hoffset | int | 料金表示位置の
水平修正 | 可(0) | 使用料金の表示位置を左右方向にずらす。
指定内容はcityタグ(地図データ)のhoffset属性と同様。 |
地形種別リスト
例
<ttypelist>...</ttypelist>
上位タグ
下位タグ
タグ名 | 個数 | 概要 |
ttype | 複数(1以上) | 地形種別を定義する。 |
属性:なし
地形種別を定義する。
例
<ttype code="HL" name="丘陵" image="hill" cost="2" citytype="0"/>
上位タグ
下位タグ:なし
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
code | String | 地形種別コード | 不可 | 下記の地形種別一覧の中のいずれかのコード。
地形種別は思考ルーチンやイベントなどの処理で使用
しているため、下記以外のコードを使用すると正常に
動作しない恐れがある。 |
name | String | 地形種別名称 | 不可 | マップによって変更可能。 |
image | String | イメージ
ファイル名 | 不可 | イメージファイル名から拡張子(.png)を取り除いたもの。
v2.00以降はデフォルトでは変換ファイルを使ってテーマごとに
違うイメージファイルと紐付けられるようにする予定である。 |
cost | int | 建設コスト | 不可 | 0以上の整数。 |
citytype | String | 都市種別 | 不可 | 以下のいずれかの値を指定する。
"0":都市以外の地形
仕事コマの積み下ろしができない
"1":一般の都市
連結しても大都市連結にカウントしない
"2":大都市
大都市連結としてカウントする都市
|
display | String | 表示フラグ | 可(空値) | cellタグにmagercity="1"が設定されていると
中心(center="1")以外では、通常はイメージを表示しない。
上記の場合にも、display="1"が設定されている場合には
イメージを表示する。
今のところ、京浜東横追加マップの地形種別"TK"専用。
|
地形種別一覧
コード | イメージ の例 | 名称 | 使用している地図・備考 |
PL | | 平地 | 沖縄追加マップ以外の全マップ |
HL | | 丘陵 | 全マップ
大雪イベントの被害適用地形 |
MT | | 山岳
皇居(東京臨海) | ほとんどのマップ
大雪イベントの被害適用地形 |
SE | | 海洋 | 京都、相模原追加マップ以外の全マップ
波浪イベントの被害適用地形 |
LK | | 湖沼
大河川、大河川・湖沼(一部の都市マップ) | 全マップ
大洪水イベントの被害適用地形 |
LL | | 低地(東海)
平地(沖縄) | 東海マップと沖縄追加マップのみ
巨大台風イベントの被害適用地形 |
SW | | 湿地 | インド、米西部、ドイツ、中国
大洪水イベントの被害適用地形 |
DS | | 砂漠 | インド、米西部、中国 |
HM | | ヒマラヤ(インド)
京都御所(京都) | インドと京都追加マップのみ
コストが50を超えるため、実質的に進入不可 |
PT | | 港 | 多数 |
SC | | 小都市
拠点(松山、広島、京都など) | 全マップ
ゼネストイベントの被害適用地形 |
MC | | 中都市
重要拠点(広島、東京臨海、京都など) | 松山追加マップ以外の全マップ
ゼネストイベントの被害適用地形 |
LC | | 大都市
ターミナル(松山、広島、京都など) | 全マップ
ゼネストイベントの被害適用地形 |
GC | | 超巨大都市(関東)
東京(東海、東北) | 関東、東海、東北 |
MP | | 港湾都市 | 北陸マップの敦賀のみ |
TK | | 東京 | 京浜東横追加マップの東京(中心以外)用 |
TC | | 東京 | 京浜東横追加マップの東京(中心)用 |
ET | | 盤外接続 | 多くのマップ
上盤端用 |
EL | | 盤外接続 | 多くのマップ
左盤端用 |
ER | | 盤外接続 | 多くのマップ
右盤端用 |
EB | | 盤外接続 | 多くのマップ
下盤端用 |
CM | | 炭鉱 | 北海道のみ |
SM | | 硫黄鉱山 | 北海道のみ |
NT | | 平地(北方領土)(北海道)
平地(国外)(フランス) | 北海道、フランスのみ |
NH | | 丘陵(北方領土)(北海道)
丘陵(国外)(フランス) | 北海道、フランスのみ |
NA | | 山岳(国外) | フランスのみ |
NC | | 小都市(北方領土)(北海道)
小都市(国外)(フランス) | 北海道、フランスのみ
ゼネストイベントの影響を受けない
|
NM | | 中都市(国外) | フランスのみ
ゼネストイベントの影響を受けない
|
NP | | 港(国外) | フランスのみ |
枠地形種別リスト
例
<btypelist>...</btypelist>
上位タグ
下位タグ
タグ名 | 個数 | 概要 |
btype | 複数(1以上) | 枠の地形種別を定義する。 |
属性:なし
枠の地形種別を定義する。
例
<btype code="RV" name="河川" vimage="river_v" himage="river_h" cost="1"/>
上位タグ
下位タグ:なし
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
code | String | 枠地形種別コード | 不可 | "RV":河川、"CS":沿岸のいずれか。
枠地形種別はイベントや枠地形の横断判定処理などで
使用しているため、この2種類以外では正常に動作しない。
|
name | String | 枠地形種別名称 | 不可 | マップによって変更可能。 |
vimage | String | 垂直方向
イメージファイル名 | 不可 | 縦方向の枠地形用イメージファイル名から拡張子(.png)
を取り除いたもの。 |
himage | String | 水平方向
イメージファイル名 | 不可 | 横方向の枠地形用イメージファイル名から拡張子(.png)
を取り除いたもの。 |
cost | int | 建設コスト | 不可 | 0以上の整数 |
プレイヤーリスト
例
<playerlist count="5">...</playerlist>
上位タグ
下位タグ
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
count | int | 参加人数のデフォルト値 | 不可 | 初期状態の参加プレイヤー人数を指定する。
最大プレイヤー人数はgamedataタグの
属性maxplayerで指定する。 |
各プレイヤーの定義
例
<player no="1" name="長崎電気軌道" ai="0" difficulty="1" chara="004"/>
上位タグ
下位タグ:なし
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
no | String | プレイヤー番号 | 不可 | 1桁の数字で、"1"から連番 |
name | String | プレイヤー名 | 不可 | 任意の文字列 |
ai | String | AIフラグ | 不可 | "0"は人間が担当、"1"はコンピュータが担当。
通常はプレイヤー番号"1"のところが人間担当なので、
番号が"1"のプレイヤーだけ"0"で、それ以外は"1"。
|
difficulty | int | 難易度 | 不可 | 0:簡単、1:普通、2:困難、3:至難
通常はプレイヤー番号"1"だけ1(普通)。
それ以外は0(簡単)。
|
chara | String | 性格 | 可("001") | 以下の9種類のいずれかを指定する。
"001" : 標準
"002" : 建設重視
"003" : 倹約家
"004" : 地域路線網
"005" : 技術重視
"006" : 仕事重視
"007" : 広域路線網
"008" : 長距離路線
"009" : 慎重
"010" : 欲張り(v1.85で追加)
"011" : 短絡的(v1.85で追加)
"012" : 協力的(v1.85で追加)
|
プレイヤー色リスト
例
<colorlist>...</colorlist>
上位タグ
下位タグ
属性:なし
各プレイヤーの色定義
例
<color no="1" value="204-17-0-191"/>
上位タグ
下位タグ:なし
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
no | String | プレイヤー番号 | 不可 | playerタグのno属性で定義したプレイヤー番号を指定する。 |
value | String | 色データ
(R-G-B-A) | 不可 | 赤、緑、青、アルファ(不透明度)の4つの要素をそれぞれ
0~255の範囲で指定し、これをハイフンで連結する。
|
仕事コマリスト
例
<businesslist/>
上位タグ
下位タグ
属性:なし
各仕事コマの定義
例
<business no="501" type="BG" season="橋" from="062" to="138" reward="76" ferrypenalty="76"/>
上位タグ
下位タグ:なし
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
no | String | 仕事コマ番号 | 不可 | 仕事コマを識別する3桁の番号で、
通常は以下の規則で割り振っている。
"001"~"200" : 大都市仕事コマ(type="MG")
"201"~"500" : 中小都市仕事コマ(type="MN")
"501"~"900" : 季節仕事コマ(type="SC")など
"901"~"999" : イベント用
|
type | String | 仕事コマ種別 | 不可 | biztypeタグで定義した仕事コマ種別 |
season | String | 季節種別 | 可(空値) | 大都市仕事コマ(type="MG")や中小都市仕事コマ
(type="MN")では不要だが、それ以外の仕事コマ
種別の場合には必須。
季節仕事コマの場合にはeventタグのseason属性に
対応した値を設定する。
その他の仕事コマの場合にはstageタグの下の
placebizタグのseason属性に対応した値を設定する。
|
from | String | 出発地都市番号 | 不可 | 出発地の都市番号を3桁で指定する。
cityタグ(地図データ)のno属性に対応した値を設定する。 |
to | String | 目的地都市番号 | 不可 | 目的地の都市番号を3桁で指定する。
cityタグ(地図データ)のno属性に対応した値を設定する。 |
reward | int | 報酬額 | 不可 | 報酬額を設定する。 |
ferrypenalty | int | フェリー利用時
報酬減少額 | 可(0) | フェリーを利用した場合の報酬減少額を指定する。
仕事コマの"報酬額にはフェリー未使用時の報酬額
/使用時の報酬額"が表示される。
たとえばreward="80" ferrypenalty="30"の場合、
報酬額の表示は"80/50"となる。 |
各イベントの定義
例
<event no="911" type="EV" eno="11" etype="SB" name="花見" season="花">...</event>
上位タグ
下位タグ
タグ名 | 個数 | 概要 |
desc | 複数(0以上) | イベント説明文の一行分 |
cond(法人税) | 複数(0以上) | 法人税イベントの支払額条件 |
cond(固定資産税) | 複数(0以上) | 固定資産税イベントの支払額条件 |
cond(整備費) | 複数(0以上) | 整備費イベントの支払額条件 |
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
no | String | 仕事コマ番号 | 不可 | businessタグのno属性と同じ。
各イベントに"901"~"999"の範囲でユニークな番号を割り振る。 |
type | String | 仕事コマ種別 | 不可 | イベントの場合は"EV"固定。 |
eno | String | イベント番号 | 不可 | 各イベントにユニークな番号を"00"~"99"の範囲で割り振る。 |
etype | String | イベント種別 | 不可 | 以下の中のひとつを指定する。
"BM" : 好況
"DR" : 脱線
"EQ" : 大地震
"FT" : 固定資産税
"FL" : 大洪水
"GS" : ゼネスト
"IT" : 法人税
"IP" : 利子
"MT" : 整備費
"MS" : 濃霧
"RC" : 不況
"SB" : 季節仕事コマの発生
"SN" : 大雪
"ST" : ストライキ
"TY" : 巨大台風
"WV" : 波浪
|
name | String | イベント名称 | 不可 | イベント名 |
season | String | 季節種別 | 可(空値) | 季節仕事コマが発生するイベント(etype="SB")の場合に、
発生する仕事コマの季節種別を指定する。
businessタグのseason属性に対応する文字列を指定する。 |
イベント説明文の一行分
例
<desc>次の手番までの間、盤上に配置する仕事駒の上限が増加する。</desc>
<desc>大都市仕事駒+2、中小都市仕事駒+4 </desc>
上位タグ
下位タグ:なし
属性:なし
descタグの間にイベント説明文一行分のテキストを指定する。
イベント説明文の行数分のdescタグレコードが必要となる。
イベント説明文は最大で8行以下、1行の文字数は最大で全角34文字以下でなければならない。
法人税イベントの支払額条件
例
<cond moneyfrom="0" moneyto="99" tax="0"/>
上位タグ
下位タグ:なし
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
moneyfrom | int | 金額条件下限 | 不可 | プレイヤーの所持金額がこの金額以上の場合、
この条件の対象となる可能性がある。 |
moneyto | int | 金額条件上限 | 不可 | プレイヤーの所持金額がこの金額以下の場合、
この条件の対象となる可能性がある。 |
tax | int | 支払額 | 不可 | この条件に合致した場合の支払額。 |
法人税イベント( eventタグでetype="IT"を指定)の場合にこのタグの設定が必要となる。
法人税の金額条件の数だけcondタグの定義が必要となる。
ひとつの金額条件はmoneyfrom~moneytoの範囲となる。
この範囲内の所持金を持っているプレイヤーはtaxに指定された金額を支払う。
金額条件に隙間が生じないように注意すること。
また、金額条件を変更した場合には descタグの記述内容も同期して変更すること。
固定資産税イベントの支払額条件
例
<cond connect="0" tax="25"/>
上位タグ
下位タグ:なし
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
connect | int | 大都市接続数 | 不可 | 条件に合致する大都市接続数を指定する。
固定資産税額を決める際にはプレイヤーの大都市接続数が
条件となる。 |
tax | int | 支払額 | 不可 | 条件に合致した場合のプレイヤーの支払額を指定する。 |
固定資産税イベント( eventタグでetype="FT"を指定)の場合にこのタグの設定が必要となる。
接続可能な大都市の数だけこの設定が必要となる。
マップに登場する大都市の数にあわせて、このタグを追加すること。
また、このタグの設定内容を変更した場合には descタグの記述内容も同期して変更すること。
整備費イベントの支払額条件
例
<cond speed="27" capacity="2" cost="10"/>
上位タグ
下位タグ:なし
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
speed | int | 列車速度 | 不可 | プレイヤーの保有する列車の速度に対応する条件 |
capacity | int | 列車積載量 | 不可 | プレイヤーの保有する列車の積載量に対応する条件 |
cost | int | 支払額 | 不可 | 条件に合致した場合の支払額 |
整備費イベント( eventタグでetype="MT"を指定)の場合にこのタグの設定が必要となる。
trainタグで設定した列車の種類ごとに条件を設定する必要があり、列車の種類の数だけこのタグが
必要になる。
このタグの設定内容を変更した場合には descタグの記述内容も同期して変更すること。
仕事コマ種別リスト
例
<biztypelist>...</biztypelist>
上位タグ
下位タグ
タグ名 | 個数 | 概要 |
biztype | 複数(3以上) | 各仕事コマ種別を定義する。
最低限、大都市仕事コマ(type="MG")、中小都市仕事コマ(type="MN")、
季節仕事コマ(type="SC")の3種類が必要。 |
属性:なし
各仕事コマ種別を定義する。
例
<biztype type="MG" bgcolor="191-0-63-255"/>
上位タグ
下位タグ:なし
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
type | String | 仕事コマ種別 | 不可 | businessタグのtype属性と対応させる必要がある。
最低限以下の3種類の定義が必要
"MG" : 大都市仕事コマ
"MN" : 中小都市仕事コマ
"SC" : 季節仕事コマ
上記以外の仕事コマ種別は任意で追加可能。
|
bgcolor | String | 仕事コマの色 | 不可 | R-G-B-A形式で色を設定する。
色の設定方法はcolorタグのvalue属性と同じ。 |
最大仕事コマ数リスト
例
<bizmaxlist>...</bizmaxlist>
上位タグ
下位タグ
タグ名 | 個数 | 概要 |
bizmax | 2 | 仕事コマ種別ごとの最大仕事コマ数定義
大都市仕事コマ(type="MG")と中小都市仕事コマ(type="MN")の
2種類を定義する必要がある。 |
属性:なし
仕事コマ種別ごとの最大仕事コマ数定義
例
<bizmax type="MG" default="1.33" noprate="0.34" connectionrate="1"/>
上位タグ
下位タグ:なし
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
type | String | 仕事コマ種別 | 不可 | "MG"(大都市仕事コマ)か"MN"(中小都市仕事コマ)の
いずれか
上記以外の仕事コマ種別をbtypeタグに追加しても、
bizmaxタグの追加は不要。
|
default | double | 基本最大数 | 不可 | 人数や接続大都市数に関係なく加えられる数 |
noprate | double | 人数修正率 | 不可 | 人数に比例して加えられる数 |
connectionrate | double | 接続修正率 | 不可 | 大都市接続数が最大のプレイヤーの大都市接続数に
比例して加えられる数 |
マップ上に補充される最大仕事コマ数は、仕事コマ種別ごとに以下の式で算出される。
基本最大数(default)
+ 参加人数 × 人数修正率(noprate)
+ 最大大都市接続数 × 接続修正率(connectionrate)
算出後に小数点以下の端数は切り捨てる。
ゲーム開始時条件
例
<setup money="100" bizmg="0" bizmn="6" train="A"/>
上位タグ
下位タグ:なし
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
money | int | 所持金 | 不可 | ゲーム開始時の各プレイヤーの所持金 |
bizmg | int | 大都市仕事コマ数 | 不可 | ゲーム開始時の大都市仕事コマの初期配置数 |
bizmn | int | 中小都市仕事コマ数 | 不可 | ゲーム開始時の中小都市仕事コマの初期配置数 |
train | int | 列車種別 | 不可 | ゲーム開始時の各プレイヤーの列車種別 |
constperturn | int | 建設可能費用 | 可(50) | 一回の手番中に使用可能な建設費用(v2.20で追加) |
bankrupt | int | 破産負債額 | 可(-9999) | (v2.20で追加) |
列車種別リスト
例
<trainlist guide="resource/upgrade2.png">...</trainlist>
上位タグ
下位タグ
タグ名 | 個数 | 概要 |
train | 複数(1以上) | 各列車種別の定義 |
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
guide | String | アップグレード
表ファイルパス | 可
(resource/
upgrade.png) | 列車アップグレード表のイメージファイル名を指定する。
trainタグの定義と同期を取って変更する。
以下の4種類が用意されている。
resource/upgrade.png : 標準型
関東、関西、北海道、北陸、全追加マップ
resource/upgrade2.png : 弾丸列車型(63-4が登場)
東海、東北、瀬戸内、九州、フランス、ドイツ
※高速新線による旅客輸送が中心の地域で採用
resource/upgrade3.png : 北米型(39-5と63-3が登場)
米北東部、米西部、中国
※貨物の比重が高く、旅客輸送が制限される地域で採用
resource/upgrade4.png : インド型(33-5と45-3が登場)
インド
※途上国など整備資金が不足している地域で採用
|
各列車種別の定義
例
<train type="A" capasity="2" speed="27" name="27-2" speedrank="1">...</train>
上位タグ
下位タグ
タグ名 | 個数 | 概要 |
upgrade | 複数(0〜3) | 列車のアップグレードパスを定義する |
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
type | String | 列車種別 | 不可 | 列車種別を識別するコード |
capasity | int | 積載量 | 不可 | 列車が積載できる仕事コマの数 |
speed | int | 速度 | 不可 | 手番中に列車が移動で消費できる移動力 |
name | String | 名称 | 不可 | 列車種別の名称
たぶんゲーム中では使ってない |
speedrank | int | 必要接続数 | 可(※) | アップグレードに必要な大都市接続数
※省略時は以下の式で算出される。
(速度 - 27) ÷ 6 + 1
速度63の列車はこの式だと必要接続数が"7"になるが、
ゲーム中では全て"5"を設定している。
|
列車のアップグレードパスを定義する
例
<upgrade type="B" cost="20"/>
上位タグ
下位タグ:なし
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
type | String | 列車種別 | 不可 | アップグレード先の列車種別 |
cost | int | 費用 | 不可 | アップグレードにかかる費用 |
各列車種別ごとに以下の3種類のアップグレードパスを定義する必要がある。
積載量が1増える列車種別への変更 : 費用20
速度が1段階増える列車種別への変更 : 費用30(速度45→63は費用100)
積載量と速度の両方が1段階増える列車種別への変更 : 費用50
もちろん、該当する列車種別が存在しないアップグレードパスは定義不要。
勝利条件
例
<vclist>...</vclist>
上位タグ
下位タグ
タグ名 | 個数 | 概要 |
vc | 複数(人数分) | 人数別の勝利条件
最大参加人数(gamedataタグのmaxplayer属性)の数だけ必要 |
属性:なし
人数別の勝利条件
例
<vc ninzu="2" assetscond="1200">...</vc>
上位タグ
下位タグ
タグ名 | 個数 | 概要 |
citycond | 複数(1以上) | 都市接続条件
複数の条件を設定するとその条件を全て満たして始めて
都市接続条件がクリアできる。
|
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
ninzu | int | 参加人数 | 不可 | ゲームに参加した人数 |
assetcond | int | 資産勝利条件 | 不可 | 勝利に必要な資産額(資金-借金) |
都市接続条件
例
<citycond needs="4">...</citycond>
上位タグ
下位タグ
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
needs | int | 必要な都市数 | 不可 | cityタグで定義した大都市の中で、接続に必要な大都市の数 |
接続条件に含まれる都市情報
例
<city no="005"/>
上位タグ
下位タグ:なし
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
no | String | 都市番号(3桁) | 不可 | 地図情報のcityタグで定義した都市番号を指定する。
勝利条件に指定する都市の地形種別は必ず大都市(
ttypeタグがcitytype="2")であること。そうでないと、
コンピュータの思考ルーチンが正しく動作しない。
|
ステージリスト
例
<stagelist>...</stagelist>
上位タグ
下位タグ
タグ名 | 個数 | 概要 |
stage | 複数(1以上) | ステージを定義する |
属性:なし
ステージとはゲームの進行段階のこと。
いずれかの参加プレイヤーが次のステージの大都市接続数の条件を満たすと、ゲームは次の
ステージへと移行する。
ステージが更新されたときには、ステージごとに決められたメッセージが表示される。
また、ステージと連動して、特別な仕事コマを登場させたり、そのコマを盤上から取り除いたりする
ことができるし、特定の地形の場所に進入できなくすることもできる。
ステージの使い方としては北海道マップの史実シナリオを参考にして欲しい。
ステージを定義する
例
<stage no="7" connect="7" title="鉄道の神様">..</stage>
上位タグ
下位タグ
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
no | int | ステージ番号 | 不可 | 1から連番で設定 |
connect | int | 更新条件接続数 | 不可 | このステージに更新されるのに必要なプレイヤーの
大都市接続数。
いずれかのプレイヤーが更新条件接続数に達したら、
このステージに更新される。 |
title | String | 称号 | 可(空値) | ステージ更新の条件を最初にクリアしたプレイヤーに
与えられる称号。 |
配置する仕事コマを定義する
例
<placebiz season="炭1"/>
上位タグ
下位タグ:なし
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
season | String | 季節種別 | 不可 | ステージ更新時に登場する仕事コマの季節種別(businessタグの
season属性)を指定する。
登場する仕事コマの仕事コマ種別(businessタグのtype属性)は
"MG"、"MN"、"SC"以外でなければならない。 |
除去する仕事コマを定義する
例
<removebiz season="炭1"/>
上位タグ
下位タグ:なし
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
season | String | 季節種別 | 不可 | ステージ更新時に盤上から取り除く季節種別を指定する。
指定方法はplacebizタグと同じ。 |
進入できなくなる地形を定義する
例
<noenter ttype="NC"/>
上位タグ
下位タグ:なし
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
ttype | String | 地形種別 | 不可 | 進入できなくなる地形種別(ttypeタグのcode属性)を指定する。
この地形の中にいるプレイヤーは外に出るまではこの地形
種別内でも移動可能。 |
表示メッセージの一行分
例
<line>長崎へようこそ!</line>
上位タグ
下位タグ:なし
属性:なし
lineタグの間にステージ更新時に表示するメッセージの一行分のテキストを指定する。
メッセージの行数分のlineタグレコードが必要となる。
メッセージは最大で9行以下、1行の文字数は最大で全角34文字以下でなければならない。
プレイヤー紹介データ
例
<personlist>...</personlist>
上位タグ
下位タグ
タグ名 | 個数 | 概要 |
person | 複数(人数分) | 1人分の紹介文データ |
属性:なし
プレイヤー紹介機能で表示される紹介文を定義する。
基本的には最大参加人数分が必要だが、プレイヤー紹介機能は実際には表示のみで
システム的にはプレイヤーと紐づけていない。
1人分の紹介文データ
例
<person no="01" name="五島慶太" kana="ごとう けいた" life="1882-1959">...</person>
上位タグ
下位タグ
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
no | String | 紹介文番号 | 不可 | 2桁の数字で連番 |
name | String | プレイヤー名 | 不可 | プレイヤーの人物名または鉄道業者名 |
kana | String | かな名 | 不可 | プレイヤー名のかな名。日本語名を入れているマップもある。 |
line | String | 期間 | 可(空値) | 人物の場合には生年-没年、事業者の場合は存続期間
資料が見つからない場合が多く、省略しているマップが多い |
1行分の紹介文
例
<line> 東急グループの創業者。戦時中の東條内閣の運輸通信大臣。</line>
上位タグ
下位タグ:なし
lineタグの間にプレイヤー紹介文の一行分のテキストを指定する。
プレイヤー紹介文の行数分のlineタグレコードが必要となる。
プレイヤー紹介文は最大で11行以下、1行の文字数は最大で全角36文字以下でなければならない。
ヒント情報リスト
v1.85で追加
例
<hintlist/>
上位タグ
下位タグ
タグ名 | 個数 | 概要 |
hint | 複数(1以上) | 各ヒント情報の定義 |
属性:なし
ヒント情報は、コンピュータの思考ルーチンに対して、マップ上の重要なエリアを教えるための機能で、省略しても構わない。
ヒント情報の設定内容は、ゲーム中のメニューから「情報」を選択して、次のメニューから「エリア重要度」を選択することで確認することができる。
各ヒント情報の定義
v1.85で追加
例
<hint loc="r32c67" point="100" />
上位タグ
下位タグ:なし
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
loc | String | 位置(rc形式) | 不可 | ヒントポイントを設定する場所 |
point | int | ポイント | 不可 | 設定するヒントポイント |
各ヒント情報の設定は、位置とポイントのセットになっており、設定位置の周辺に効果を及ぼす。
設定位置のヒントポイントは、ポイントがフルで加算され、そこから距離が離れるに従って、その距離の数だけ加算されるヒントポイントは減っていく。ただしマイナスにはならない。
複数のヒント情報が近くに存在する場所では、その影響は合算される。
設定するポイントの数は以下の基準を参考にしてほしい
・一極集中的な巨大都市: 200 (例:関東マップの東京)
・重要な大都市: 100
・通常の大都市や特に重要な中小都市: 50
・あまり重要ではない大都市や重要な中小都市:25
マップの詳細情報
v1.90で追加
省略すると、地図情報画面に「詳細情報はありません」と表示される。
例
<info author="M.SHIOJIMA" createdate="2009-02-15" lastupdate="2010-02-03"
mapversion="1.10" url="/tokyorailways/index.html">
上位タグ
下位タグ
属性
属性名 | データ型 | 概要 | 省略可 (default) | 詳細 |
author | String | 作者 | 可(空値) | マップの著作権を保有する作者名を記載する。 |
createdate | String | 作成日 | 可(空値) | YYYY-MM-DD形式で記載する。 |
lastupdate | String | 更新日 | 可(空値) | YYYY-MM-DD形式で記載する。 |
mapversion | String | マップの
バージョン | 可(空値) | 形式は任意。 |
url | String | 配布URL | 可(空値) | 現バージョンは利用していないが、将来に配布元サイトを
ブラウザで参照できるように埋め込んでいる。 |
マップ説明文の一行分
v1.90で追加
省略すると、地図情報画面に「詳細情報はありません」と表示される。
例
<desc> 北陸地方とその周辺が舞台です。福井・石川・富山の3県か</desc>
<desc>らなる北陸地方は日本有数の急峻な山岳地帯である北アルプス</desc>
上位タグ
下位タグ:なし
属性:なし
descタグの間にマップ説明文一行分のテキストを指定する。
イベント説明文の行数分のdescタグレコードが必要となる。
イベント説明文は最大で8行以下、1行の文字数は最大で全角34文字以下でなければならない。
|