tcgsim-webについて

これは何?

Niv-Mizzet氏によって考案されたアナログゲーム、「星見の塔トーナメント(Tournamented Celestial Gaze; TCG)」をweb上でシミュレートするものです。

TCGはその名の通りトーナメントで、メールで参加者を募って行われ、試合と成長を繰り返して優勝者を決定する形式をとっていました(2008-02-01終了)。ここでシミュレートするのはトーナメントを構成する個々の試合です。

TCGのルールは以下から辿ることができます。

TCGに関するその他の情報は以下にまとまっています。

使用上の注意

このサイトの運営者が入力されたキャラ情報をいちいち確認することはありませんが、バグ修正のための情報収集などによってキャラ情報が目に触れる可能性があります。また、万一、入力された情報が外部に漏れた場合にも責任を取りません。了承の上ご利用ください。

シミュレーションの正確性も保証しません。むしろ、きっとどこか間違っていると思います。おかしな挙動を見付けたら当サイトの掲示板まで報告いただけると助かります。

使い方

キャラ二人分の情報を入力し、「実行」ボタンをクリックすれば、一試合のシミュレーションが行われ、戦闘ログが出力されます。必要なキャラ情報は以下の通りです。

名前
キャラの名前。任意の文字列が使えます。省略した場合は適当な名前が割り当てられます。
体力、神経反射、知力
各パラメータを半角数字で入力してください。
スキルパターン
「風剣剣、地地地」のように入力してください。区切りは読点かコンマです。パターンの名前は、「A:地地剣剣」のようにコロンで指定します。名前を省略した場合はAから順に重複なく割り当てられます。
スキル
スキル名を読点またはコンマで区切って入力してください。省略記法として、スキル名は先頭の数文字を書くだけでも構いません。現在、「炎」か「水」で始まるもの以外は先頭一文字を指定するだけで十分です。
プラン
このシミュレータでは、プランの記述のために、日本語ではなく独自のプラン言語を使う必要があります。プランとプランの間は、「====」のように四個以上連続した半角イコールで区切ってください。なお、知力による文字数の制限はありません。

追加機能

お使いのブラウザでJavaScriptが有効なら、以下の機能が使えます。

定義済みキャラ
用意されているキャラデータを対戦させたり、雛形として使ったりできます。メニューからキャラを選べば、そのデータが入力欄に挿入されます。
現在、TCG本戦の一回戦に参加したキャラのデータを使わせていただいています。ただし、プランについては、言語の限界から、挙動を忠実に再現できていない部分があります。そのような部分についてはプラン中のコメントにその旨記載しました。
定型プランの作成
メニューから項目を選んでいくことで、プラン言語を覚えていなくても単純なプランを記述することができます。
例として、「霧の防壁を常に維持する。」という簡単なプランを入力する方法を解説します。プラン入力欄の下、「定型プラン作成」にあるドロップダウンリストをクリックすると、「〜ならば〜する」「〜を使わない」などの項目が一覧表示されるはずです。この中から、入力したいプランの構造にマッチするものを選んでください。この例では「〜を維持する」を選びます。すると枠が出現し、その中に、新たなドロップダウンリスト、「を維持する」という文字列、「×」と書かれたボタンの三つが配置されるはずです。このうち、「×」のボタンをクリックすると最初の状態に戻り、選択をやり直すことができます。「を維持する」の左側にあるドロップダウンリストでは、「〜を維持する」の「〜」に入るものを選ぶことができます。ここでは「霧の防壁」を選びます。これで、全体として「「霧の防壁」を維持する」のようになり、プランが完成しました。この時点で、下にある「プラン追加」のボタンがクリックできるようになるので、これをクリックすると、プラン入力欄の一番下に、「霧の防壁を常に維持する」を意味する「hold 霧の防壁;」という一文が挿入されます。
同様にして、「自分のHPが10以上なら安らぎを使わない。」「相手の現在のスキルパターンに地のパネルが含まれているならスキルパターンをBに変更する。」といった比較的よくある様式のプランを記述することができます。使い方に不明な点があれば当サイト掲示板で質問してください。
この方法でプランを入力する場合、新しいプランは常に入力欄の末尾に追加されます。順番を変更したい場合は、手動でカット&ペーストして入れ替えてください。

プラン言語

このシミュレータでは、プランを機械的に解釈できるようにするために、専用の簡単な言語でプランを記述する必要があります。この言語にはまだ名前が付いていませんが、さしあたってプラン言語と呼ぶことにします。

制約

TCGのプランは日本語で記述されるため、可能なプランの範囲は非常に広大であって、どこまでが可能かの境界も明白ではありません。プラン言語では、この広大な意味領域のほんの一部、予め定められた小数の語彙を使って表現できる範囲内のプランのみを記述することができます。

これらの語彙は、なるべく多くの実践的なプランが記述できるように選ばれており、キャラの持つスキルやスキルパターンやプラン、能力値、状態異常、ターン数などのゲーム上の状態、過去の攻撃やスキル使用の記録、過去におけるゲームの状態などに言及することができます。一方、 この言語で表現できないものには例えば以下があります。

コンピュータシミュレーションの制約によるもの
「相手がプランで地を狙う指示をしている場合」といった、別のプランの解釈を伴う条件は、人間にとっては比較的容易に判断できますが、コンピュータで扱えるような曖昧さのない条件として与えるのが困難です。
実装の手抜きによるもの
現在このシミュレータでは振ったサイコロの出目を内部的に記録していないため、プランから言及することもできません。これは純粋に手抜きであって、要望があれば対応するかもしれません。同種の制限として、「スキルを使用する際に消費するパネルを指定できない」「あるプランで変数を定義し、別のプランからそれを使う、ということができない」などがあります。

説明

チュートリアル
プラン言語を学ぶための導入文書
リファレンス
言語の網羅的な解説

正確性

不準拠点

このシミュレータは、本家のルールのうち、基本ルールおよび3レベルスキルにのみ対応しており、特殊パネル、ダーク1レベルスキル、NPC(あるいはボス)毎の特殊能力、その他の拡張ルールには対応していません。加えて、以下の点で正しくない振る舞いをすることが分かっています。

オルゴーの滅びの呪文の属性が常に「維持・攻撃」である。
公式には、オルゴーの滅びの呪文は、使用された時点では維持の属性のみを持ち、これに対して反撃が行われることはない。オルゴーの滅びの呪文の維持が解除されたとき、攻撃の属性のみを持つスキルとして処理する。オルゴーの滅びの呪文が使用されても維持されてもいない状態でプランによって言及される場合、攻撃と維持の両方の属性を持つものと見做す。とあります。
維持解除の処理順が混乱している
現在、ターンの終了や崩れゆく聖域の効果によって、複数の維持スキルが同時に解除された場合、解除の処理順がいい加減です。特に、沙羅双樹の解除は即座に敗北につながる場合があり、勝敗に影響することがあり得ます。

独自の解釈

このシミュレータは、ルールに明記されておらず、試合の裁定から推測することもできない規則については、独自の解釈に従って処理します。以下に一覧を示しますが、抜けがあるかもしれません。

なお、このサイト、およびシミュレータの出力するログにおいて、「(スキルの)発動」という言葉を使っていますが、これは「使用」と同義と解釈してください。開発初期からなぜか間違って用語を覚えており、発動(invocation)という言葉をいたるところで使い、あまつさえuseを別の意味で使ってしまったので、修正しにくいのです。

「攻撃」「反撃」とは何か
スキルのテキストにある、「〜点のダメージを与える」の効果を実行すること、と解釈する。したがって、「攻撃」は「攻撃スキルの発動」とは別のものであり、攻撃スキルの発動が成功した後、その効果解決の段階で初めて攻撃が行われると見なす。このため、例えばスキルパターン水風地、霧の防壁と陥穽をこの順で構えている状態で、相手が爆撃を発動した場合、霧の防壁(攻撃に反応)でなく陥穽(発動に反応)を使うことになる。
攻撃した際の干渉順

攻撃に対して受動スキルが使用されたり、予め維持されていたスキルによって攻撃が影響を受ける場合、以下の手順で処理する。

  1. 攻撃スキルのweakenを適用する
  2. 攻撃側の炎天使の効果を適用する
  3. 防御側の維持スキルが反応するなら、発動した順に干渉する。干渉は、ダメージ軽減、効果の打ち消し、その他の動作(反撃など)の予約、の三つからなる。軽減と打ち消し以外のすべての動作は、予約されるだけでまだ実行されない。
  4. この攻撃スキルの発動に対して草薙の剣が使用されていた場合、軽減効果を適用する
  5. 攻撃に対して反応する受動スキルが、プランによって指定された順番/回数で発動し、即座に干渉する
  6. 攻撃スキルが暗殺なら、ダメージに決められた値を掛ける
  7. ここまででダメージ値が0点まで軽減されていないなら、ダメージ発生とみなして、HPと、沙羅双樹維持中なら体力を減らして、敗北判定
  8. 草薙の剣によって「ダメージ以外の効果」が打ち消されている場合は、攻撃スキルの維持を解除する。そうでない場合、攻撃スキルの残りの効果(状態異常の付加など。ただし攻撃以外)を実行する。
  9. 予約された動作(反撃など)を順に実行
  10. 攻撃スキルの残りの効果のうち、まだ実行されていないもの(沙羅双樹と災厄の剣なら二撃目の攻撃)を実行する
災厄の剣は自分の沙羅双樹を起動するか?
する。反撃は相手に向かう。
パネルが失われるときは使用済みかどうかの情報を保持するのか?
しない
発動に使われたスロットが失われたが、まだ同じスキルが別スロットにある場合維持は解除されるか?
される
炎天使を二重に維持した状態で体力を四点失い、片方だけ解除した場合どうなるか?
元の体力より二点多い状態になる。一般に、炎天使が解除されたとき、体力値は、考え得る値の中で最も小さいものになる。
もともと地だったパネルが旋風で火になり、さらにConfuseで地になっていて、それが維持パネルとして使われているとき、楽園の抱擁が使われたら、維持は解除されるか?
されない
炎天使を維持した状態で体力を一点失い、その状態で楽園の抱擁を使った場合、体力はどうなるか?
変わらない。元の体力より二点多いまま。
AでもBでも沙羅双樹を維持していてHPが負の時に、AからBにパターンを変更したら敗北するか?
する
キュトスの羊膜なども能動で使えるか?
プランで指定すれば使える