Tokyo Railways 2
マップファイル仕様書

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"に変更して配布すること。

用意するツール

 マップファイルの作成・編集には以下のようなツールを使用することを前提とする。
  1. テキストエディター
  2. XML文法チェックツール
  3. OpenOffice.org
  4. マップ作成支援ツール

テキストエディター

 マップファイルはUTF-8形式なので、これを取り扱えるテキストエディターを用意する必要がある。テキストエディターには様々な種類があるので使い慣れたものを使用して構わない。ただし、既存マップにはSHIFT-JISコードにアサインされていない文字を使用しているもの(フランス、ドイツ、中国など)があり、これらを編集する場合には、内部コードもUNICODEに準じたコードを用いているエディターでないと文字化けする場合があるので注意すること。
 テキストエディターの代わりに、Eclipseなどの統合開発環境を利用しても構わない。一部のテキストエディターや統合開発環境のXMLサポート機能などでは、XMLの構文解析や文法チェックを行ってくれるので、便利である。ただし、マップファイルは非常に巨大になるため、構文解析機能を有効にすると逆に重くてまともに動作しない場合もあるので、注意して欲しい。

XML文法チェックツール

 XMLファイルの文法エラーを目視で見つけるのは困難であり、ゲームアプリのエラーメッセージからもその原因を特定するのはあまりに少ない情報しか得られない(手抜きだと非難しないで欲しい)。そのため、マップファイルの作成・編集の際には、なんらかのXML文法チェックツールを使用することをお勧めする。
 本書では"xmllint"の使用をお勧めする。コマンドラインベースなので、コマンド入力に慣れていない方には使いづらいかもしれないが、機能の強力さと速度の速さを両立しているので一番実用的である。
 xmllintはMac OS XやUbuntuでは標準でインストールされていると思うので、ターミナルを起動してプロンプトから"xmllint"と入力すれば実行できると思う。
 Windowsの場合には、Web上からWindows用にビルドされたものを探し出して使って欲しい。詳しい使用方法についてもマニュアルコマンド(man)で調べるか、Webを検索して欲しいが、最低限以下の2つを知っていればほとんど事が足りると思う。
  • エラーチェック
    $ xmllint --noout 【マップファイル名】
    
     エラーがあれば、エラーの内容が表示される。
     エラーが無ければなにも表示されない。

  • インデントの整形
    $ xmllint --format 【マップファイル名】 --output 【整形後ファイル名】
    
     注意しておくが、くれぐれも【マップファイル名】と【整形後ファイル名】を同じにしないこと!

OpenOffice.org

 OpenOffice.orgはオープンソースのオフィススイートであり、無料でダウンロードできる。Windows/Mac OS X/各種Linux/Solaris用など各種OSに対応している。後述するマップ作成ツールがOpenOffice.orgのCalcで作られているため、これを使用するためにはインストールする必要がある。

マップ作成支援ツール

 マップ編集のために用意したOpenOffice.orgのスプレッドシート(Calc)用のファイルである。このツールには何枚かの式が埋め込まれたシートが用意されており、それぞれのシートに必要なデータを入力することで、マップの地形・都市・仕事コマを作成し、それぞれの部分のXMLデータを作り出すことができる。このXMLデータをマップファイルの該当部分に埋め込むことで、マップデータ作成を簡単に行うことができる。
 マップ作成ツールの使用方法については、ツールに付属する説明書を読んで欲しい。
ファイル名対応環境リリース日サイズ備考Download
maptool_v100_20091225.zipALL2009-12-25584KBOpenOffice.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の当該データ型と同じある。

Chaptor 1 全体構造

gamedata

マップデータのトップレベルタグ

<gamedata no="114" title="Nagasaki Tram" region="長崎" players="2~6" version="1.80" maxplayer="6">...</gamedata>

下位タグ

タグ名個数概要
map1地図データ
playerlist1プレイヤーリスト
colorlist1プレイヤー色リスト
businesslist1仕事コマリスト
biztypelist1仕事コマ種別リスト
bizmaxlist1最大仕事コマ数リスト
setup1ゲーム開始時条件
trainlist1列車種別リスト
vclist1勝利条件
stagelist1ステージリスト
personlist1プレイヤー紹介データ
hintlist1ヒント情報リスト(省略可)
info1詳細情報(省略可)

属性

属性名データ型概要省略可
(default)
詳細
noStringマップ番号(3桁)不可マップ固有の番号で、以下のように割り振られている。 000〜099:本体付属のマップ 100〜499:追加マップ  今のところ数字しか使っていないが、アルファベット などでも構わないし、3桁でなくても構わない。新たに マップを作る場合には、上記以外の領域から他のマップ と重複しないようにアサインすること。  ハンドル名+"-"+連番などにすることを推奨する。  ただし、マップ番号はファイル名の作成に使用するの でそれにふさわしくない文字(スラッシュ、バックスラッ シュ、円マーク、括弧、空白など)は避けること。
titleStringマップ名不可今のところ、既存のマップは全て英文名となっている。
regionString地域不可画面には全角4文字分しか幅が用意されていない。
playersString表示用人数不可"2〜9"のような形式。表示に使うのみで、プログラムが 実際に使っているのは"maxplayer"の方。
versionString必要version不可このマップを動かすのに必要なアプリのバージョン。 この仕様書にしたがって作った場合には、"2.20"となる。
maxplayerString最大人数不可このマップに参加可能な最大プレイヤー数。 playerタグの数と一致している必要がある。

Chaptor 2 地図データ

map

地図データ

<map width="46" height="62">...</map>

上位タグ

タグ名概要
gamedataトップレベルタグ

下位タグ

タグ名個数概要
celllist1地形データ
borderlist1枠地形データ
ferrylist1フェリーリスト
ttypelist1地形種別リスト
btypelist1枠地形種別リスト

属性

属性名データ型概要省略可
(default)
詳細
widthint横方向のマス数不可celllistタグの下のcellタグの内容と一致している必要がある。 メモリ使用量の制限から、セル数(width × height)は10000以下 でなければならない。
heightint縦方向のマス数不可同上

celllist

地形データ

<celllist defaultttype="PL">...</celllist>

上位タグ

タグ名概要
map地図データ

下位タグ

タグ名個数概要
cell複数(0以上)各マスの地形を定義する

属性

属性名データ型概要省略可
(default)
詳細
defaultttypeString省略時の地形種別可(PL)ttypeタグで定義された地形種別を設定する。 cellタグが定義されなかったマスの地形を定義する。 v1.77以前とv1.81以降では省略可だが、v1.80のみ省略不可。 v1.77以前は設定値に関わらず固定で"PL"だった。

cell

各マスの地形を定義する

例1:都市以外の場合

<cell id="r19c1" ttype="HL"/>

例2:都市の場合

<cell id="r24c21" ttype="LC" magercity="1" center="1">...</cell>

上位タグ

タグ名概要
celllist地形データ

下位タグ

タグ名個数概要
city(地図データ)0または1都市データを定義する セルが都市の場合にのみ必要。都市以外は不要。

属性

属性名データ型概要省略可
(default)
詳細
idString位置(rc形式)不可マスの位置をrc形式で記述する。 mapタグの属性widthとheightの範囲内でなければなら ない。 rは行(Y軸方向)、cは列(X軸方向)を示し、左上のマスは "r0c0"となる。 width="46" height="62" ならば、最も右下のマスは "r61c45"となる。
ttypeString地形種別不可ttypeタグで定義した地形種別を記述する。
magercityString大都市フラグ可(空値)大都市の場合には"1"を設定する。これを設定すると、 このマスから路線建設を開始できるようになる。 また、magercity="1"の隣接するマス間には路線建設が できなくなり、更に路線がなくでも相互に移動できる ようになる。
centerString大都市中心フラグ可(空値)大都市の中心の場合には"1"を設定する。 通常、大都市は中心にだけイメージや地名を表示する ため、必ず大都市内のどこか1箇所だけ中心を指定する 必要がある。 中心がないと大都市が表示されなくなってしまう。

city(地図データ)

都市データを定義する。

<city no="077" name="神ノ島" kana="かみのしま" voffset="-10" hoffset="-10"/>

上位タグ

タグ名概要
cell各マスの地形を定義する。

下位タグ;なし

属性

属性名データ型概要省略可
(default)
詳細
noString都市番号(3桁)不可001〜999の都市ごとにユニークな番号を設定する。 大都市や番外接続など、複数のマスが同じ都市となって いる場合、その都市に属するすべてのマスに同じ都市 番号を設定する必要がある。
nameString都市名可(空値)大都市のマスでは、中心以外は省略可。 同じ都市番号のセルに都市名が複数設定されていても、 一つの都市名しか有効にならず、それ以外は全て無視 される。 都市名を始めとしたcityタグの属性が有効になるマス は以下の規則で決まる。 1.その都市が大都市(cellタグにmagercity="1"が 設定)の場合、中心(cellタグにcenter="1"が設定)以外 はcityタグのno以外の属性は無効。 2.同じ都市番号で複数の有効なcityタグが定義されて いる場合には、最後に定義されているcityタグが有効と なる。
kanaStringかな名可(空値)都市のかな名称。 有効・無効の規則については都市名と同様。
voffsetint都市名表示位置の 垂直修正可(0)地図上に都市名を表示する位置の垂直方向の修正値。 単位はピクセル。マイナスの場合には上方向にずれ、 プラスの場合には下方向にずれる。プラスの場合にも "+"をつけてはいけない。 (voffset="+10"ではなくてvoffset="10") 各マスのサイズは縦横ともに16ピクセルである。 有効・無効の規則については都市名と同様。
hoffsetint都市名表示位置の 水平修正可(0)地図上に都市名を表示する位置の水平方向の修正値。 単位はピクセル。マイナスの場合には左方向にずれ、 プラスの場合には右方向にずれる。 有効・無効の規則については都市名と同様。

borderlist

枠地形データ

<borderlist>...</borderlist>

上位タグ

タグ名概要
map地図データ

下位タグ

タグ名個数概要
border複数(0以上)枠地形種別リスト

属性:なし


border

<border loc="r16c22" btype="RV" direction="V"/>

上位タグ

タグ名概要
borderlist枠地形種別リスト

下位タグ:なし

属性

属性名データ型概要省略可
(default)
詳細
locString位置(rc形式)不可枠の位置をcellタグのid属性と同様に指定する。 枠が縦方向(direction="V")の場合は枠の右隣、 枠が横方向(direction="H")の場合は枠の下隣の マスの位置を指定する。 マスから見た場合には、縦方向の枠は左側、 横方向の枠は上側となる。
btypeString枠地形種別不可btypeタグで定義されている枠地形種別を指定する。
directionString方向種別不可枠の方向を指定する。属性値は以下の通り。 "V":垂直方向(縦) "H":水平方向(横)

ferrylist

フェリーリスト

<ferrylist>...</ferrylist>

上位タグ

タグ名概要
map地図データ

下位タグ

タグ名個数概要
ferry複数(0以上)フェリー航路を定義する。

属性:なし


ferry

フェリー航路を定義する。

 フェリー航路は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"/>

上位タグ

タグ名概要
ferrylistフェリーリスト

下位タグ:なし

属性

属性名データ型概要省略可
(default)
詳細
noStringフェリー番号(3桁)不可フェリーごとにユニークな番号を割り振る。
portloc1String起点都市位置不可起点の都市の位置をrc形式で指定する。 設定内容はcellタグのid属性と同様。
portloc2String終点都市位置不可終点の都市の位置をrc形式で指定する。
vialoc1String折れ曲がり点1不可起点側の折れ曲がり点の位置をrc形式で指定する。
vialoc2String折れ曲がり点2不可終点側の折れ曲がり点の位置をrc形式で指定する。
costint使用料金不可フェリー航路の使用料金。
costlocString料金表示位置不可使用料金の表示位置をrc形式で指定する。
voffsetint料金表示位置の 垂直修正可(0)使用料金の表示位置を上下方向にずらす。 指定内容はcityタグ(地図データ)のvoffset属性と同様。
hoffsetint料金表示位置の 水平修正可(0)使用料金の表示位置を左右方向にずらす。 指定内容はcityタグ(地図データ)のhoffset属性と同様。
フェリー航路の例

ttypelist

地形種別リスト

<ttypelist>...</ttypelist>

上位タグ

タグ名概要
map地図データ

下位タグ

タグ名個数概要
ttype複数(1以上)地形種別を定義する。

属性:なし


ttype

地形種別を定義する。

<ttype code="HL" name="丘陵" image="hill" cost="2" citytype="0"/>

上位タグ

タグ名概要
ttypelist地形種別リスト

下位タグ:なし

属性

属性名データ型概要省略可
(default)
詳細
codeString地形種別コード不可下記の地形種別一覧の中のいずれかのコード。 地形種別は思考ルーチンやイベントなどの処理で使用 しているため、下記以外のコードを使用すると正常に 動作しない恐れがある。
nameString地形種別名称不可マップによって変更可能。
imageStringイメージ ファイル名不可イメージファイル名から拡張子(.png)を取り除いたもの。 v2.00以降はデフォルトでは変換ファイルを使ってテーマごとに 違うイメージファイルと紐付けられるようにする予定である。
costint建設コスト不可0以上の整数。
citytypeString都市種別不可以下のいずれかの値を指定する。 "0":都市以外の地形    仕事コマの積み下ろしができない "1":一般の都市    連結しても大都市連結にカウントしない "2":大都市    大都市連結としてカウントする都市
displayString表示フラグ可(空値)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>...</btypelist>

上位タグ

タグ名概要
map地図データ

下位タグ

タグ名個数概要
btype複数(1以上)枠の地形種別を定義する。

属性:なし


btype

枠の地形種別を定義する。

<btype code="RV" name="河川" vimage="river_v" himage="river_h" cost="1"/>

上位タグ

タグ名概要
btypelist枠地形種別リスト

下位タグ:なし

属性

属性名データ型概要省略可
(default)
詳細
codeString枠地形種別コード不可"RV":河川、"CS":沿岸のいずれか。 枠地形種別はイベントや枠地形の横断判定処理などで 使用しているため、この2種類以外では正常に動作しない。
nameString枠地形種別名称不可マップによって変更可能。
vimageString垂直方向 イメージファイル名不可縦方向の枠地形用イメージファイル名から拡張子(.png) を取り除いたもの。
himageString水平方向 イメージファイル名不可横方向の枠地形用イメージファイル名から拡張子(.png) を取り除いたもの。
costint建設コスト不可0以上の整数

Chaptor 3 プレイヤーデータ

playerlist

プレイヤーリスト

<playerlist count="5">...</playerlist>

上位タグ

タグ名概要
gamedataマップデータのトップレベルタグ

下位タグ

タグ名個数概要
player複数(1以上)各プレイヤーの定義 gamedataタグの属性maxplayerと同数のプレイヤー定義が必要。

属性

属性名データ型概要省略可
(default)
詳細
countint参加人数のデフォルト値不可初期状態の参加プレイヤー人数を指定する。 最大プレイヤー人数はgamedataタグの 属性maxplayerで指定する。

player

各プレイヤーの定義

<player no="1" name="長崎電気軌道" ai="0" difficulty="1" chara="004"/>

上位タグ

タグ名概要
playerlistプレイヤーリスト

下位タグ:なし

属性

属性名データ型概要省略可
(default)
詳細
noStringプレイヤー番号不可1桁の数字で、"1"から連番
nameStringプレイヤー名不可任意の文字列
aiStringAIフラグ不可"0"は人間が担当、"1"はコンピュータが担当。 通常はプレイヤー番号"1"のところが人間担当なので、 番号が"1"のプレイヤーだけ"0"で、それ以外は"1"。
difficultyint難易度不可0:簡単、1:普通、2:困難、3:至難 通常はプレイヤー番号"1"だけ1(普通)。 それ以外は0(簡単)。
charaString性格可("001")以下の9種類のいずれかを指定する。 "001" : 標準 "002" : 建設重視 "003" : 倹約家 "004" : 地域路線網 "005" : 技術重視 "006" : 仕事重視 "007" : 広域路線網 "008" : 長距離路線 "009" : 慎重 "010" : 欲張り(v1.85で追加) "011" : 短絡的(v1.85で追加) "012" : 協力的(v1.85で追加)

colorlist

プレイヤー色リスト

<colorlist>...</colorlist>

上位タグ

タグ名概要
gamedataマップデータのトップレベルタグ

下位タグ

タグ名個数概要
color複数(1以上)各プレイヤーの色定義 gamedataタグの属性maxplayerで指定した人数分のデータが必要

属性:なし


color

各プレイヤーの色定義

<color no="1" value="204-17-0-191"/>

上位タグ

タグ名概要
colorlistプレイヤー色リスト

下位タグ:なし

属性

属性名データ型概要省略可
(default)
詳細
noStringプレイヤー番号不可playerタグのno属性で定義したプレイヤー番号を指定する。
valueString色データ (R-G-B-A)不可赤、緑、青、アルファ(不透明度)の4つの要素をそれぞれ 0~255の範囲で指定し、これをハイフンで連結する。

Chaptor 4 仕事コマデータ

businesslist

仕事コマリスト

<businesslist/>

上位タグ

タグ名概要
gamedataマップデータのトップレベルタグ

下位タグ

タグ名個数概要
business複数(1以上)各仕事コマの定義
event複数(1以上)各イベントの定義

属性:なし


business

各仕事コマの定義

<business no="501" type="BG" season="橋" from="062" to="138" reward="76" ferrypenalty="76"/>

上位タグ

タグ名概要
businesslist仕事コマリスト

下位タグ:なし

属性

属性名データ型概要省略可
(default)
詳細
noString仕事コマ番号不可仕事コマを識別する3桁の番号で、 通常は以下の規則で割り振っている。  "001"~"200" : 大都市仕事コマ(type="MG")  "201"~"500" : 中小都市仕事コマ(type="MN")  "501"~"900" : 季節仕事コマ(type="SC")など  "901"~"999" : イベント用
typeString仕事コマ種別不可biztypeタグで定義した仕事コマ種別
seasonString季節種別可(空値)大都市仕事コマ(type="MG")や中小都市仕事コマ (type="MN")では不要だが、それ以外の仕事コマ 種別の場合には必須。 季節仕事コマの場合にはeventタグのseason属性に 対応した値を設定する。 その他の仕事コマの場合にはstageタグの下の placebizタグのseason属性に対応した値を設定する。
fromString出発地都市番号不可出発地の都市番号を3桁で指定する。 cityタグ(地図データ)のno属性に対応した値を設定する。
toString目的地都市番号不可目的地の都市番号を3桁で指定する。 cityタグ(地図データ)のno属性に対応した値を設定する。
rewardint報酬額不可報酬額を設定する。
ferrypenaltyintフェリー利用時 報酬減少額可(0)フェリーを利用した場合の報酬減少額を指定する。 仕事コマの"報酬額にはフェリー未使用時の報酬額 /使用時の報酬額"が表示される。 たとえばreward="80" ferrypenalty="30"の場合、 報酬額の表示は"80/50"となる。

event

各イベントの定義

<event no="911" type="EV" eno="11" etype="SB" name="花見" season="花">...</event>

上位タグ

タグ名概要
businesslist仕事コマリスト

下位タグ

タグ名個数概要
desc複数(0以上)イベント説明文の一行分
cond(法人税)複数(0以上)法人税イベントの支払額条件
cond(固定資産税)複数(0以上)固定資産税イベントの支払額条件
cond(整備費)複数(0以上)整備費イベントの支払額条件

属性

属性名データ型概要省略可
(default)
詳細
noString仕事コマ番号不可businessタグのno属性と同じ。 各イベントに"901"~"999"の範囲でユニークな番号を割り振る。
typeString仕事コマ種別不可イベントの場合は"EV"固定。
enoStringイベント番号不可各イベントにユニークな番号を"00"~"99"の範囲で割り振る。
etypeStringイベント種別不可以下の中のひとつを指定する。  "BM" : 好況  "DR" : 脱線  "EQ" : 大地震  "FT" : 固定資産税  "FL" : 大洪水  "GS" : ゼネスト  "IT" : 法人税  "IP" : 利子  "MT" : 整備費  "MS" : 濃霧  "RC" : 不況  "SB" : 季節仕事コマの発生  "SN" : 大雪  "ST" : ストライキ  "TY" : 巨大台風  "WV" : 波浪
nameStringイベント名称不可イベント名
seasonString季節種別可(空値)季節仕事コマが発生するイベント(etype="SB")の場合に、 発生する仕事コマの季節種別を指定する。 businessタグのseason属性に対応する文字列を指定する。

desc(イベント)

イベント説明文の一行分

<desc>次の手番までの間、盤上に配置する仕事駒の上限が増加する。</desc>
<desc>大都市仕事駒+2、中小都市仕事駒+4 </desc>

上位タグ

タグ名概要
event各イベントの定義

下位タグ:なし

属性:なし

descタグの間にイベント説明文一行分のテキストを指定する。 イベント説明文の行数分のdescタグレコードが必要となる。 イベント説明文は最大で8行以下、1行の文字数は最大で全角34文字以下でなければならない。

cond(法人税)

法人税イベントの支払額条件

<cond moneyfrom="0" moneyto="99" tax="0"/>

上位タグ

タグ名概要
event各イベントの定義

下位タグ:なし

属性

属性名データ型概要省略可
(default)
詳細
moneyfromint金額条件下限不可プレイヤーの所持金額がこの金額以上の場合、 この条件の対象となる可能性がある。
moneytoint金額条件上限不可プレイヤーの所持金額がこの金額以下の場合、 この条件の対象となる可能性がある。
taxint支払額不可この条件に合致した場合の支払額。
法人税イベント(eventタグでetype="IT"を指定)の場合にこのタグの設定が必要となる。 法人税の金額条件の数だけcondタグの定義が必要となる。 ひとつの金額条件はmoneyfrom~moneytoの範囲となる。 この範囲内の所持金を持っているプレイヤーはtaxに指定された金額を支払う。 金額条件に隙間が生じないように注意すること。 また、金額条件を変更した場合にはdescタグの記述内容も同期して変更すること。

cond(固定資産税)

固定資産税イベントの支払額条件

<cond connect="0" tax="25"/>

上位タグ

タグ名概要
event各イベントの定義

下位タグ:なし

属性

属性名データ型概要省略可
(default)
詳細
connectint大都市接続数不可条件に合致する大都市接続数を指定する。 固定資産税額を決める際にはプレイヤーの大都市接続数が 条件となる。
taxint支払額不可条件に合致した場合のプレイヤーの支払額を指定する。
固定資産税イベント(eventタグでetype="FT"を指定)の場合にこのタグの設定が必要となる。 接続可能な大都市の数だけこの設定が必要となる。 マップに登場する大都市の数にあわせて、このタグを追加すること。 また、このタグの設定内容を変更した場合にはdescタグの記述内容も同期して変更すること。

cond(整備費)

整備費イベントの支払額条件

<cond speed="27" capacity="2" cost="10"/>

上位タグ

タグ名概要
event各イベントの定義

下位タグ:なし

属性

属性名データ型概要省略可
(default)
詳細
speedint列車速度不可プレイヤーの保有する列車の速度に対応する条件
capacityint列車積載量不可プレイヤーの保有する列車の積載量に対応する条件
costint支払額不可条件に合致した場合の支払額
整備費イベント(eventタグでetype="MT"を指定)の場合にこのタグの設定が必要となる。 trainタグで設定した列車の種類ごとに条件を設定する必要があり、列車の種類の数だけこのタグが 必要になる。 このタグの設定内容を変更した場合にはdescタグの記述内容も同期して変更すること。

biztypelist

仕事コマ種別リスト

<biztypelist>...</biztypelist>

上位タグ

タグ名概要
gamedataマップデータのトップレベルタグ

下位タグ

タグ名個数概要
biztype複数(3以上)各仕事コマ種別を定義する。 最低限、大都市仕事コマ(type="MG")、中小都市仕事コマ(type="MN")、 季節仕事コマ(type="SC")の3種類が必要。

属性:なし


biztype

各仕事コマ種別を定義する。

<biztype type="MG" bgcolor="191-0-63-255"/>

上位タグ

タグ名概要
biztypelist仕事コマ種別リスト

下位タグ:なし

属性

属性名データ型概要省略可
(default)
詳細
typeString仕事コマ種別不可businessタグのtype属性と対応させる必要がある。 最低限以下の3種類の定義が必要  "MG" : 大都市仕事コマ  "MN" : 中小都市仕事コマ  "SC" : 季節仕事コマ 上記以外の仕事コマ種別は任意で追加可能。
bgcolorString仕事コマの色不可R-G-B-A形式で色を設定する。 色の設定方法はcolorタグのvalue属性と同じ。

bizmaxlist

最大仕事コマ数リスト

<bizmaxlist>...</bizmaxlist>

上位タグ

タグ名概要
gamedataマップデータのトップレベルタグ

下位タグ

タグ名個数概要
bizmax2仕事コマ種別ごとの最大仕事コマ数定義 大都市仕事コマ(type="MG")と中小都市仕事コマ(type="MN")の 2種類を定義する必要がある。

属性:なし


bizmax

仕事コマ種別ごとの最大仕事コマ数定義

<bizmax type="MG" default="1.33" noprate="0.34" connectionrate="1"/>

上位タグ

タグ名概要
bizmaxlist最大仕事コマ数リスト

下位タグ:なし

属性

属性名データ型概要省略可
(default)
詳細
typeString仕事コマ種別不可"MG"(大都市仕事コマ)か"MN"(中小都市仕事コマ)の いずれか 上記以外の仕事コマ種別をbtypeタグに追加しても、 bizmaxタグの追加は不要。
defaultdouble基本最大数不可人数や接続大都市数に関係なく加えられる数
nopratedouble人数修正率不可人数に比例して加えられる数
connectionratedouble接続修正率不可大都市接続数が最大のプレイヤーの大都市接続数に 比例して加えられる数
マップ上に補充される最大仕事コマ数は、仕事コマ種別ごとに以下の式で算出される。 基本最大数(default)   + 参加人数 × 人数修正率(noprate)   + 最大大都市接続数 × 接続修正率(connectionrate) 算出後に小数点以下の端数は切り捨てる。

Chaptor 5 シナリオデータ

setup

ゲーム開始時条件

<setup money="100" bizmg="0" bizmn="6" train="A"/>

上位タグ

タグ名概要
gamedataマップデータのトップレベルタグ

下位タグ:なし

属性

属性名データ型概要省略可
(default)
詳細
moneyint所持金不可ゲーム開始時の各プレイヤーの所持金
bizmgint大都市仕事コマ数不可ゲーム開始時の大都市仕事コマの初期配置数
bizmnint中小都市仕事コマ数不可ゲーム開始時の中小都市仕事コマの初期配置数
trainint列車種別不可ゲーム開始時の各プレイヤーの列車種別
constperturnint建設可能費用可(50)一回の手番中に使用可能な建設費用(v2.20で追加)
bankruptint破産負債額可(-9999)(v2.20で追加)

trainlist

列車種別リスト

<trainlist guide="resource/upgrade2.png">...</trainlist>

上位タグ

タグ名概要
gamedataマップデータのトップレベルタグ

下位タグ

タグ名個数概要
train複数(1以上)各列車種別の定義

属性

属性名データ型概要省略可
(default)
詳細
guideStringアップグレード 表ファイルパス可 (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

各列車種別の定義

<train type="A" capasity="2" speed="27" name="27-2" speedrank="1">...</train>

上位タグ

タグ名概要
trainlist列車種別リスト

下位タグ

タグ名個数概要
upgrade複数(0〜3)列車のアップグレードパスを定義する

属性

属性名データ型概要省略可
(default)
詳細
typeString列車種別不可列車種別を識別するコード
capasityint積載量不可列車が積載できる仕事コマの数
speedint速度不可手番中に列車が移動で消費できる移動力
nameString名称不可列車種別の名称 たぶんゲーム中では使ってない
speedrankint必要接続数可(※)アップグレードに必要な大都市接続数 ※省略時は以下の式で算出される。  (速度 - 27) ÷ 6 + 1 速度63の列車はこの式だと必要接続数が"7"になるが、 ゲーム中では全て"5"を設定している。

upgrade

列車のアップグレードパスを定義する

<upgrade type="B" cost="20"/>

上位タグ

タグ名概要
train各列車種別の定義

下位タグ:なし

属性

属性名データ型概要省略可
(default)
詳細
typeString列車種別不可アップグレード先の列車種別
costint費用不可アップグレードにかかる費用
各列車種別ごとに以下の3種類のアップグレードパスを定義する必要がある。  積載量が1増える列車種別への変更 : 費用20  速度が1段階増える列車種別への変更 : 費用30(速度45→63は費用100)  積載量と速度の両方が1段階増える列車種別への変更 : 費用50 もちろん、該当する列車種別が存在しないアップグレードパスは定義不要。

vclist

勝利条件

<vclist>...</vclist>

上位タグ

タグ名概要
gamedataマップデータのトップレベルタグ

下位タグ

タグ名個数概要
vc複数(人数分)人数別の勝利条件 最大参加人数(gamedataタグのmaxplayer属性)の数だけ必要

属性:なし


vc

人数別の勝利条件

<vc ninzu="2" assetscond="1200">...</vc>

上位タグ

タグ名概要
vclist勝利条件

下位タグ

タグ名個数概要
citycond複数(1以上)都市接続条件 複数の条件を設定するとその条件を全て満たして始めて 都市接続条件がクリアできる。

属性

属性名データ型概要省略可
(default)
詳細
ninzuint参加人数不可ゲームに参加した人数
assetcondint資産勝利条件不可勝利に必要な資産額(資金-借金)

citycond

都市接続条件

<citycond needs="4">...</citycond>

上位タグ

タグ名概要
vc人数別の勝利条件

下位タグ

タグ名個数概要
city(勝利条件)複数(1以上)接続条件に含まれる都市情報

属性

属性名データ型概要省略可
(default)
詳細
needsint必要な都市数不可cityタグで定義した大都市の中で、接続に必要な大都市の数

city(勝利条件)

接続条件に含まれる都市情報

<city no="005"/>

上位タグ

タグ名概要
citycond都市接続条件

下位タグ:なし

属性

属性名データ型概要省略可
(default)
詳細
noString都市番号(3桁)不可地図情報のcityタグで定義した都市番号を指定する。 勝利条件に指定する都市の地形種別は必ず大都市( ttypeタグがcitytype="2")であること。そうでないと、 コンピュータの思考ルーチンが正しく動作しない。

stagelist

ステージリスト

<stagelist>...</stagelist>

上位タグ

タグ名概要
gamedataマップデータのトップレベルタグ

下位タグ

タグ名個数概要
stage複数(1以上)ステージを定義する

属性:なし

 ステージとはゲームの進行段階のこと。  いずれかの参加プレイヤーが次のステージの大都市接続数の条件を満たすと、ゲームは次の ステージへと移行する。  ステージが更新されたときには、ステージごとに決められたメッセージが表示される。  また、ステージと連動して、特別な仕事コマを登場させたり、そのコマを盤上から取り除いたりする ことができるし、特定の地形の場所に進入できなくすることもできる。  ステージの使い方としては北海道マップの史実シナリオを参考にして欲しい。

stage

ステージを定義する

<stage no="7" connect="7" title="鉄道の神様">..</stage>

上位タグ

タグ名概要
stagelistステージリスト

下位タグ

タグ名個数概要
placebiz複数(0以上)配置する仕事コマを定義する
removebiz複数(0以上)除去する仕事コマを定義する
noenter複数(0以上)進入できなくなる地形を定義する
line(ステージ)複数(1以上)表示メッセージの一行分

属性

属性名データ型概要省略可
(default)
詳細
nointステージ番号不可1から連番で設定
connectint更新条件接続数不可このステージに更新されるのに必要なプレイヤーの 大都市接続数。 いずれかのプレイヤーが更新条件接続数に達したら、 このステージに更新される。
titleString称号可(空値)ステージ更新の条件を最初にクリアしたプレイヤーに 与えられる称号。

placebiz

配置する仕事コマを定義する

<placebiz season="炭1"/>

上位タグ

タグ名概要
stageステージを定義する

下位タグ:なし

属性

属性名データ型概要省略可
(default)
詳細
seasonString季節種別不可ステージ更新時に登場する仕事コマの季節種別(businessタグの season属性)を指定する。 登場する仕事コマの仕事コマ種別(businessタグのtype属性)は "MG"、"MN"、"SC"以外でなければならない。

removebiz

除去する仕事コマを定義する

<removebiz season="炭1"/>

上位タグ

タグ名概要
stageステージを定義する

下位タグ:なし

属性

属性名データ型概要省略可
(default)
詳細
seasonString季節種別不可ステージ更新時に盤上から取り除く季節種別を指定する。 指定方法はplacebizタグと同じ。

noenter

進入できなくなる地形を定義する

<noenter ttype="NC"/>

上位タグ

タグ名概要
stageステージを定義する

下位タグ:なし

属性

属性名データ型概要省略可
(default)
詳細
ttypeString地形種別不可進入できなくなる地形種別(ttypeタグのcode属性)を指定する。 この地形の中にいるプレイヤーは外に出るまではこの地形 種別内でも移動可能。

line(ステージ)

表示メッセージの一行分

<line>長崎へようこそ!</line>

上位タグ

タグ名概要
stageステージを定義する

下位タグ:なし

属性:なし

lineタグの間にステージ更新時に表示するメッセージの一行分のテキストを指定する。 メッセージの行数分のlineタグレコードが必要となる。 メッセージは最大で9行以下、1行の文字数は最大で全角34文字以下でなければならない。

personlist

プレイヤー紹介データ

<personlist>...</personlist>

上位タグ

タグ名概要
gamedataマップデータのトップレベルタグ

下位タグ

タグ名個数概要
person複数(人数分)1人分の紹介文データ

属性:なし

プレイヤー紹介機能で表示される紹介文を定義する。 基本的には最大参加人数分が必要だが、プレイヤー紹介機能は実際には表示のみで システム的にはプレイヤーと紐づけていない。

person

1人分の紹介文データ

<person no="01" name="五島慶太" kana="ごとう けいた" life="1882-1959">...</person>

上位タグ

タグ名概要
personlistプレイヤー紹介データ

下位タグ

タグ名個数概要
line(プレイヤー紹介)複数(0〜11)1行分の紹介文

属性

属性名データ型概要省略可
(default)
詳細
noString紹介文番号不可2桁の数字で連番
nameStringプレイヤー名不可プレイヤーの人物名または鉄道業者名
kanaStringかな名不可プレイヤー名のかな名。日本語名を入れているマップもある。
lineString期間可(空値)人物の場合には生年-没年、事業者の場合は存続期間 資料が見つからない場合が多く、省略しているマップが多い

line(プレイヤー紹介)

1行分の紹介文

<line> 東急グループの創業者。戦時中の東條内閣の運輸通信大臣。</line>

上位タグ

タグ名概要
person1人分の紹介文データ

下位タグ:なし

lineタグの間にプレイヤー紹介文の一行分のテキストを指定する。 プレイヤー紹介文の行数分のlineタグレコードが必要となる。 プレイヤー紹介文は最大で11行以下、1行の文字数は最大で全角36文字以下でなければならない。

Chaptor 6 ヒント情報

hintlist

ヒント情報リスト

 v1.85で追加

<hintlist/>

上位タグ

タグ名概要
gamedataマップデータのトップレベルタグ

下位タグ

タグ名個数概要
hint複数(1以上)各ヒント情報の定義

属性:なし


 ヒント情報は、コンピュータの思考ルーチンに対して、マップ上の重要なエリアを教えるための機能で、省略しても構わない。
 ヒント情報の設定内容は、ゲーム中のメニューから「情報」を選択して、次のメニューから「エリア重要度」を選択することで確認することができる。

hint

各ヒント情報の定義

 v1.85で追加

<hint loc="r32c67" point="100" />

上位タグ

タグ名概要
hintlistヒント情報リスト

下位タグ:なし

属性

属性名データ型概要省略可
(default)
詳細
locString位置(rc形式)不可ヒントポイントを設定する場所
pointintポイント不可設定するヒントポイント

 各ヒント情報の設定は、位置とポイントのセットになっており、設定位置の周辺に効果を及ぼす。
 設定位置のヒントポイントは、ポイントがフルで加算され、そこから距離が離れるに従って、その距離の数だけ加算されるヒントポイントは減っていく。ただしマイナスにはならない。
 複数のヒント情報が近くに存在する場所では、その影響は合算される。
 設定するポイントの数は以下の基準を参考にしてほしい
 
 ・一極集中的な巨大都市:         200 (例:関東マップの東京)
 ・重要な大都市:             100
 ・通常の大都市や特に重要な中小都市:    50
 ・あまり重要ではない大都市や重要な中小都市:25


Chaptor 7 詳細情報

info

マップの詳細情報

 v1.90で追加
 省略すると、地図情報画面に「詳細情報はありません」と表示される。

<info author="M.SHIOJIMA" createdate="2009-02-15" lastupdate="2010-02-03" mapversion="1.10" url="/tokyorailways/index.html">

上位タグ

タグ名概要
gamedataマップデータのトップレベルタグ

下位タグ

タグ名個数概要
desc(詳細情報)複数(1以上)マップの説明文1行分

属性

属性名データ型概要省略可
(default)
詳細
authorString作者可(空値)マップの著作権を保有する作者名を記載する。
createdateString作成日可(空値)YYYY-MM-DD形式で記載する。
lastupdateString更新日可(空値)YYYY-MM-DD形式で記載する。
mapversionStringマップの バージョン可(空値)形式は任意。
urlString配布URL可(空値)現バージョンは利用していないが、将来に配布元サイトを ブラウザで参照できるように埋め込んでいる。

desc(詳細情報)

マップ説明文の一行分

 v1.90で追加
 省略すると、地図情報画面に「詳細情報はありません」と表示される。

<desc> 北陸地方とその周辺が舞台です。福井・石川・富山の3県か</desc>
<desc>らなる北陸地方は日本有数の急峻な山岳地帯である北アルプス</desc>

上位タグ

タグ名概要
info詳細情報

下位タグ:なし

属性:なし

descタグの間にマップ説明文一行分のテキストを指定する。 イベント説明文の行数分のdescタグレコードが必要となる。 イベント説明文は最大で8行以下、1行の文字数は最大で全角34文字以下でなければならない。