リプレイデータの書式(第3版)

1999.11.25 制定
2000.9.12 第2版制定
2001.5.21 第3版制定

 第2版ではWindows版「リプレイアプリ for Win」とMac版「いたストリプレイ」の互換性の厳密な設定、「cm」文、1行目の試合名・目標金額など、制定当初からの変更点を全てひとまとめにして再制定しました。
 第3版ではいたスト2の正式サポートに向け、書式の相違点を厳密に定義して再制定しました。

 リプレイデータの書式を解説します。なお、この中では「_」は「半角スペース」を意味します。実際に書く時は、スペースに置き換えて下さい。()でくくった内容が「変化する部分」で、そのときどきによって入るものが違います。実際に書く時は、ここを変えて書きます。[]でくくった内容は「時として省略される」部分で、書かれない場合があります。書かれるかどうかは、行動によって変わります。

 このリプレイデータは、マップ管理に座標を使う前提で書かれていますので、「座標を使った管理法」も合わせて御覧ください。座標の表わし方は「(x座標):(y座標)」です。

リプレイデータの基本
 リプレイデータは、1人の行動を1行に書くようになっています。複数の行動があった場合、行動が起こった順にカンマでつないで書きます(この中では、あるカンマから次のカンマまでを「1文」、1文の中で、ある半角スペースから次の半角スペースまでを「1語」と定義します)。どんなに長くなっても、1人1行とします。この1行1行がつながってできたものがリプレイデータです。
 リプレイデータは、「手で書くいたスト譜」になるべく近い書式にしました。更にワープ先、増資したお店などは座標を使って表わすので、こちらにある座標マップを印刷して、それを見ながら書いた方が良いでしょう。
 「サイコロを振る」以外の行動の識別には、小文字のアルファベット2文字の「識別子」を使います。1文の最初に書かれ、どの行動を取ったのかを示します。「サイコロを振る」という行動だけは「出目を数字で書く」という数字1文字の識別子とします。また、識別子の次には必ず「半角スペース」を書き、その後に行動の内容を書きます。
 リプレイデータでは、データの先頭に必ず書かれる3行があります。それは「プレイしたゲームがいたスト2かGKか(2なら「2」、GKなら「g」)」、「プレイしたストリートNo.(1〜22)」、「参加者」、「データ部分開始の印(Start)」です。具体的な書式は次の通りです。

 1行目 (プレイしたゲーム),(プレイしたストリート),(目標金額),(破産人数)[,(試合名)]
 2行目 (参加者の名前をサイコロを振る順番でカンマで区切って並べる)
 3行目 Start

 この3行を書いた後に1ターン目のプレイヤー1の行動が書かれるので、実際のデータは4行目から、ということになります。なお、1行目の「目標金額・破産人数」はMac版「いたストリプレイ」のみ対応しています。Windows版「リプレイアプリ for Win」では無視されますが、互換性を保つために記述して下さい。「試合名」はMac版・Windows版ともに省略可能です。

書式の例外
 リプレイデータは基本的に座標で位置を指定する事になっていますが、Mac版で、指定する地点がお店である時に限り、「お店記号」という、違う指定法もできます。「お店記号」は、「大文字アルファベット+数字1つ」という形です。アルファベットはエリア記号を、数字はエリア内でのお店の番号を示し、左上→右上→左下→右下の順でつけられます。詳しい「お店記号」はこちらにある座標マップに掲載しています。ただし、Windows版では「座標」のみのサポートになります。また、Windows版の「座標」は、1ケタの数字であった場合は十の位を「0」とします(例えば「7:4」なら「07:04」とする)。この書き方はMac版でも対応しています。
 ワープ先や、増資したお店を指定する時に、座標の代わりに「お店記号」を書きます。もちろん、座標で表わしても問題ありません。
 更にMac版では「エリアNo.」は「エリア記号」を使うこともできます。「エリアNo.」は、エリア記号のアルファベット順に「1〜14」を対応させます。ただし、これもWindows版では「エリアNo.」のみのサポートになります。

サイコロを振る前
 サイコロを振る前にできる行動は「株を売る」、「競売」、「改築」、「取り引き」です。そこで、これらの書式を個別に解説します。

「株を売る」
 書式 「ku_(エリア記号)_(売った株数)」
 識別子「ku」を最初に書き、どのエリアの株をいくつ売ったかを書きます。例えば、テキサスの株を50株売ったら「ku_H_50」と書きます。

「競売」
 書式 「ky_(お店の座標)_(誰が買ったか)_(いくらで買ったか)」
 識別子「ky」を最初に書き、どこのお店を売ったか、誰がいくらで買ったかを書きます。売った時点のお店の価格は書きません。「誰が買ったか」のパラメーターはプレイヤーが買ったなら「1〜4」、銀行が買ったなら「0」とします。例えば、増資されて600Gになっている「ダラスエアポート(アメリカ大陸 テキサス一等地)」を競売に出し、プレイヤー1が800Gで買った時は「ky_5:6_1_800」と書きます。

「改築」
 書式 「ka_(お店の座標)_(何に改築したか)」
 識別子「ka」を最初に書き、どの空き地を何に改築したかを書きます。改築前の建物の種類は書きません。空き地の建物の番号は、「関所、宿屋、ヘリポート、税務署、露店、仮設店舗、商店、コンビニ」の順で「1〜9」を割り振ります。例えば、金星エリアにある空き地を税務署に改築した時は「ka_6:4_4」と書きます。

「取り引き」
 成立した取り引きのみを書きます。

 「お店を買う」
 書式 「tk_(お店の座標)_(いくらで買ったか)」
 識別子「tk」を最初に書き、どこのお店をいくらで買ったかを書きます。元の持ち主は誰か、は書きません。

 「お店を売る」
 書式 「tu_(お店の座標)_(誰に売ったか)_(いくらで売ったか)」
 識別子「tu」を最初に書き、どこのお店を誰にいくらで売ったかを書きます。「誰に売ったか」のパラメーターは競売の時の「誰が買ったか」のパラメーターと同じです。

 「お店を交換」
 書式 「tc_(現金授受)_(お店1の座標)_(お店2の座標)_(お店3の座標)_(お店4の座標)」
 識別子「tc」を最初に書き、現金をいくらやり取りしたのか、どこのお店を交換したかを書きます。「現金授受」のパラメーターは、もらったらプラス、払ったらマイナスで書きます。お店1とお店2が「交換で出した自分のお店」、お店3とお店4が「交換でもらった相手のお店」です。「誰と交換したか」は、お店3の元の持ち主を調べることで代用します。1軒しか交換に出さなかった場合は、お店2またはお店4に「0」を入れます。

サイコロを振って進む
 書式 「(出目)_(止まったマスのマス識別)_(進んだ方角)[_(お店を買ったか、増資したか、5倍買いしたか)]」
 最初に識別子として「出目」を書きます。次に「止まったマスのマス識別」を書きます。これは将来使う可能性があるパラメーターですが、今はまだ使わないので「.」としておきます。更に「進んだ方角」を、出目の数だけ、方角を数字に変換して書きます。変換の方法は次の通りです。
           このように、方角とテンキーを対応させます。

 方角を書くのは分岐点に到達した時です。それ以外の時は「.」を書きます。「分岐点」には、銀行に止まった次のターン、方向転換・ワープ後の次のターンも含みます。ただし、離れ小島にワープした時は、進める方角が1つしかないので「分岐点」として扱いません。また、マップ上では分かれ道に見えていても、進める方角が1つしかない場合は、分岐点ではありません。これらは簡単にまとめると、「手で書くいたスト譜」で、矢印が書かれていたら、その矢印の向きを数字に変換して書く、ということです。例えば、「クイーンバニー号の1ターン目、7を出して下へ行き、分岐点を左、上と進んだ」のなら「7_._2..4..8」となり、更に次のターンに3を出したなら「3_...」となります。
 「お店を買ったか、増資したか、5倍買いしたか」のパラメーターは、止まった地点がお店の類の時のみ書かれます。基本は「yまたはn」ですが、空き地に止まって何かを新築した時のみ、「y」の代わりに空き地の建物の番号を書きます。番号は、関所・宿屋・ヘリポート・税務署・動物園・露店・仮設店舗・商店・コンビニの順で1〜9です。この時も、何も建てなかった場合は「n」です。なお、「増資できない」は「増資しない」と同じように扱うので「n」と書かれます。
 まだ進んでいる途中に銀行を通過して株を買った時は、株買いだけ次の文として書きます。例えば、「銀行の1マス上で7を出し、銀行を通過する時にサラリーを900Gもらい、それでテキサスエリアの株を80株買い、銀行の下のチャンスマスで左に進み、お店を買った」という行動は次のようになります。

「7_._2.4...._y,kk_H_80」

 サラリーをもらったり、移動中に関所、宿屋を通過し、持ち主に通行料を支払った、という行動は、データには書かず、アプリに判定させます。

特殊マスに止まった時の書き方
 お店でないマスに止まった場合、「サイコロを振って進む」の部分には何も書かれません。しかし、次の文として何かが書かれることがあります。
銀行、証券取引所 株をどこか買った時に限り、それを次の文として書きます。どのストリートも、銀行から証券取引所へはサイコロ1振りでは行けないので、買わなかったかどうかの識別は、「今読み込んでいる文の次の文の識別子が「kk」でなければ、株を買っていない」とすれば良いでしょう。
ラッキー、休日 何も書きません。止まった地点による処理をアプリにさせます。
チャンス・マーク 次の文として、チャンスカードの書式に従って書きます。
サイコロ屋 次の文として、「サイコロを振って進む」と同じように書きます。
カジノ 次の文として、カジノの書式に従って書きます。現金不足で誰もカジノに参加しなかった場合は何も書きません。
ワープマス 通常は何も書きません。ワープ処理はアプリにさせます。しかし、ワープ先が銀行、チャンスマスの時は、ワープ後のマスで何かが起こることがあるので、起こったことを次の文として書式に従って書きます。例えば、アメリカ大陸の本州でワープマスに止まり、ハワイに行ったとしたらチャンスカードを引くので、次の文として「チャンスの書き方」と同じように書きます。

 これら「お店」は5倍買いができます。5倍買いをしたかどうかの判定は、「サイコロを振って進む」の文に書かれます。
ヘリポート 自分のヘリポートの時だけ、チャンスカードによるワープと同じように書きます。相手のヘリポートだった時は普通のお店と同じように扱います。
税務署 自分の税務署の時は、止まっても何も書きません。相手の税務署だった時は普通のお店と同じように扱います。
動物園 自分の動物園の時は、100G払って大きくしたかどうかを「yまたはn」で、「サイコロを振って進む」の文に書きます。「増資したかどうか」ということです。識別子「zo」を使って次の文として書く、ということはしません。相手の動物園だった時は普通のお店と同じように扱います。
関所、宿屋 普通のお店と同じように扱います。宿屋の場合、通過数を増やす事を忘れないようにしましょう。

その他
セリフ表示の書き方
 書式 「cm(表示させたいセリフ)」
 識別子「cm」を最初に書き、表示させたいセリフを書きます。セリフを表示したいタイミング(例えばサイコロを振る前とか、次のプレイヤーの行動前)にこの1文を挿入します。いつでも、どこでも挿入する事が可能です。連続使用もできます。セリフは「"」で挟む必要は特にありませんが、誤動作を招くのでセリフに「カンマ」は絶対に使用しないで下さい。セリフは1行しか表示できません。あまり長いセリフは1度に表示できませんので、全角30字を目安に使用して下さい。
 これは、より臨場感を上げる手段として使います。ですから、データ中に1つもなくても問題はありません。行動者しかセリフを設定できないので、違うプレイヤーのセリフとしたい場合、セリフの中に「誰のセリフか」をあらかじめ書いてしまうと良いでしょう。

株買いの書き方
 書式 「kk_(エリア記号)_(買った株数)」
 識別子「kk」を最初に書き、どのエリアの株をいくつ買ったかを書きます。「株を売る」と書き方が似ていますが、識別子が違います。例えば、テキサスの株を50株買ったら「kk_H_50」または「kk_8_50」と書きます。

増資の書き方
 書式 「zo_(お店の座標)_(いくら増資したか)」
 識別子「zo」を最初に書き、どのお店にいくら増資したかを、「サイコロを振って進む」または「チャンスカード」の次の文として書きます。買い物料・株価の変動は、増資処理後にアプリが計算します。

株価上昇・下落
 株価変動は、全てアプリが計算するので、データには書かれません。

所持金不足の時にお店・株を売った時の書き方
 「サイコロを振る前の行動」の時と同じように書きます。行動後にお店を売った場合、売った人にはお店の値段の75%の現金しか入らない事、競売を始める時には値段が初期状態に戻り、「増資された額」も0になる事に注意しましょう。店を売ったが結局破産しゲーム終了した、というような時は「ky_(お店の座標)_0_0」と書きます。つまり「銀行が0Gで買い取った」扱いになります。

マハラジャの行動の書き方
 基本的にはプレイヤーと同じ書き方をします。順番としては、プレイヤー4の次の行に割り込んでくる形になります。マハラジャはチャンスカードを引かないので、特殊マスに止まった時は何も書かれない事になりますし、お店を買ったり、増資したりしないので、「お店を買ったか、増資したか、5倍買いしたか」には必ず「n」が入る事になります。また、何ターンか経過していなくなった時に限り、次の文として「me」と書きます。

破産時・ゲーム終了時の書き方
 誰かが破産し、かつゲームが続行する場合は、破産したプレイヤーがいなくなったものとして続けて書きます。そのプレイヤーの行動データは書かれず、行が詰められます。ゲーム終了した場合、データの最後の行に「exit」と書いておきます。アプリ側では、「読み込んだデータが「exit」だったら、ゲーム中断する」という処理をします。ただ、正常に再現できれば当然最後の行でゲームが終わるはずですので、書かなくても大丈夫でしょう。そのため、これはデータ入力の間違いを探すために強制中断させる手段として使います。また、ゲーム終了後のデータは、アプリ内で逐次計算されているはずですので、データとしては書きません。

実際の記述法の例
 では、実際の行動をリプレイデータとして書いてみましょう。
 次のような行動をプレイヤー1が行なったとします。舞台は海底都市の終盤、銀行の上の休日マスからの行動です。

「サイコロを振る前にトリトンセンターの株を10株売り、更に取り引きで座標(4:4)のお店をプレイヤー4に500Gで売った。それからサイコロを振り6を出し、下に進んで、4歩進んだところで分岐点を右に曲がってチャンスカードを引いた。この移動中に銀行を通過したので、マゼランラインの株を50株買った。チャンスカードスペシャル50Gをもらい、引いたカードのNo.は03。ワープ先を座標(4:2)に指定し、自分のお店だったので増資を行なった。増資したお店の座標は(7:7)で、999G増資した。その結果所持金不足になったので、自分のお店である座標(4:2)の600Gのお店を売り、更にアトランラインの株を5株、マゼランラインの株を9株売った。競売に出されたお店はプレイヤー3が500Gで落札した。」

 これをリプレイデータとして書くとこうなります。今までの解説を見ながら確認してみて下さい。

「p1,ku_A_10,tu_4:4_4_500,6_._2...6.,kk_D_50,ch_50_3,wa_4:2_y,zo_7:7_999,ky_4:2_3_500,ku_C_5,ku_D_9」

 リプレイデータは、ゲームの序盤よりも終盤の方が1行が長くなります。終盤の方が行動の種類が多くなりやすいためです。記述ミスは終盤に多くなるので注意しましょう。

他機種とのデータ互換性
 このリプレイデータは、Windowsのリプレイアプリでも全く同じ書式を採用している(ただし、Mac版の方が書式に厳密です)ので、1つのデータを作ればほとんどのパソコンでリプレイできるはずです。しかし、ただそのまま読み込んでもリプレイできないでしょう。そこで、ある操作をします。その操作とは、「改行コード・漢字コードの変換」です。
 改行コード・漢字コードは、機種別に下のように変換します。なお、ダウンロードコーナーにあるリプレイデータもこのように変換しています。

  Mac版 改行コード:CR  漢字コード:シフトJIS
Windows版 改行コード:CR+LF  漢字コード:シフトJIS

 リプレイデータを公開する時は、できるだけ2機種分(無理ならばWindows版を最優先)用意しましょう。なお、Windows版リプレイデータはMac版でもそのまま読み込めます。Mac版のリプレイデータからWindows版に変換するのは簡単です。ダウンロードコーナーにある「ReplayDataConverter」を利用すればいいのです。


別館表紙へ戻る  いたスト譜TOPへ