ep.32 Capture The Flag
オレは2-d7に置かれたノートパソコンを抱え上げると、迷うことなく第三階層へ転移するボタンを押し込んだ。
視界が再び、純白の光に呑み込まれていく。
五秒後――
『プレイヤー2が第三階層へ到達しました』
無機質なアナウンスが室内に響き渡ると同時に、タクティカルポイントが一点付与される。
......先に到達したのはオレか。
タブレットへ手を伸ばし、表示を第三階層へ切り替える。マップの構造は第一階層、第二階層と全く同じだった。
その二秒後――
『プレイヤー1が第三階層へ到達しました』
やはり追いついてきたか。
『第三階層へようこそ』
『これより、新たなタクティカルポイントアクション「トレース」について説明します』
『トレースの使用には、タクティカルポイント五点を消費します』
『使用時は、相手が現在いると推測されるマスを一つ指定し「〈マス名〉、トレース」と宣言してください』
『宣言後、判定結果は全体アナウンスで通知されます』
『指定したマスに相手が存在した場合、「〈プレイヤー名〉、トレース成功」とアナウンスされ、消費したタクティカルポイント五点は全て返還されます』
『さらに、対象プレイヤーは百二十秒間、移動およびあらゆる宣言を行えません』
『指定したマスに相手が存在しなかった場合、「〈プレイヤー名〉、トレース失敗」とアナウンスされ、タクティカルポイントは返還されません』
『トレースは各プレイヤーにつき一度しか使用できません』
『説明は以上となります』
説明が終わると同時に、持参していたノートパソコンの一問目を解き終えた。そのままオレは左手で口元を隠し、右手だけでキーボードを叩き続ける。
問題を解きながら、立て続けに宣言した。
「3-d1・3-d2、オープン」
「3-d1・3-d2、レッドロック」
「3-c1・3-d1、ロック」
「3-d1・3-c1、ロック」
「3-d1・3-e1、ロック」
「3-e1・3-d1、ロック」
タクティカルポイント五点を一気に消費し、奴を閉じ込める檻を完成させる。
......勝った。
左手で覆った口元の奥で、自然と口角が吊り上がる。タクティカルポイントを温存してきた判断は、間違っていなかった。
オレはゲーム開始直後から、奴のオープンポイントを一ポイントたりとも見逃さず計測し続けている。一メートルほどのスタンドに設置されたノートパソコンに内包された問題を解くとき、人間の視線は必ず画面へ落ちる。タイピングが始まれば肩は小刻みに揺れ、視線は文章を追って左右へ動く。そして、オレは第一階層の時点で奴が各問題を解く速度まで測定済みだ。
第一問、第二問、第三問――それぞれ何秒で解き終えるか、そのデータはすべて頭の中へ叩き込んである。
奴がこれまで獲得したオープンポイントは合計二十七点、全体アナウンスで通知されたオープンとロックの宣言回数も、ちょうど二十七回。つまり、現在奴の手元に残っているオープンポイントはゼロ。
さらに、様子を見た限り、奴は第二階層のノートパソコンを持ち込んでいない。ということは、3-d1で三問すべて解かなければならない。
正面の3-d2へ続くドアを開放しようとした瞬間、レッドロックが発動してそこで詰みだ。
左右どちらかへ進んだとしても、結果は変わらない。ドアを開放してマスへ入り、問題を解き始めた瞬間、その座標へトレースを宣言する。成功すれば、百二十秒間、奴は一歩も動けず、宣言も一切できない。
現在、オレが所有しているオープンポイントはゼロ、タクティカルポイントは五点。奴が3-d1で三問を解いている間に、第二階層から持ち込んだノートパソコンの二問目と三問目を終わらせる。一問目に要する時間は約三十八秒。奴が拘束されている百二十秒の間、d列の各マスに設置された別のノートパソコンを使い、新たに三問を解きながら進む。ここで獲得できるオープンポイントは三点。手持ちの二点と合わせれば、合計五点になる。
あとはd列を一直線に進むだけで、GOALマスへ到達できる。
先に3-d2へ続くドアを開放した時点で、この勝負は決していた。奴は突破口を見つけようと、しばらく思考を巡らせるはずだ。その間、オレは第二階層から持ち込んだノートパソコンの問題を淡々と片付けるだけでいい。
勝敗は、もう覆らない。
八分三十秒後、奴の口が開く。
『3-d1・3-e1、ロック』
『3-e1・3-d1、ロック』
『3-d1・3-e1、オープン』
アナウンスが流れた。
......躊躇なくオープンポイントを使い切ったか。
奴は表情一つ変えず、視線と首を右へ向けると、そのまま3-e1へ足を踏み入れ、設置されたノートパソコンへ視線を落とした。
そして、何の迷いもなく問題を解き始める。
「なっ......!」
正気か......!?
オレが今この瞬間「3-e1、トレース」と宣言すれば、お前は百二十秒間、何一つできず、そのまま敗北するんだぞ......!
一瞬だけ、別の可能性が頭をよぎる。体だけを右へ向け、その場で足踏みをしただけではないか。あるいは前後に往復しただけで、本当は3-d1から一歩も動いていないのではないか。
......いや。
その考えは、すぐに切り捨てた。奴の絹のように滑らかな長髪は、ワックスで固めたオレの髪とは違う。前へ踏み出せば、慣性で髪は後方へ流れる。その動きは、第一階層から何度もモニター越しに観察してきた。足踏みなら髪は上下へ弾むように揺れ、前後に往復したなら、後退した瞬間に髪は前へ流れるはずだ。
だが、さっき3-e1へ進んだ瞬間、奴の長髪は後方へしか流れていなかった。あの髪の流れを見間違えるはずがない。
思考を巡らせていた、その時だった。
不意に奴が視線を上げ、薄笑いを浮かべながら、ゆっくりと口を開いた。
《来ないのか?》
......なるほど、ポーカーのブラフか。勝ち筋を失った人間ほど、余裕を演じる。強気な態度を見せつけることで、オレに「トレース」というハイリスク・ハイリターンの切り札を切らせない――必死の牽制だ。
その程度の心理戦に乗るものか。次に奴が口を開いた瞬間、トレースを叩き込む。
数秒後、奴の口が再び開く。
《3-e1・3-e2、オープ――》
「3-e1、トレース!」
奴の宣言に重ねるように叫ぶ。
直後――
『プレイヤー2、トレース失敗』
『3-e1・3-e2、オープン』
「......なぜだ」
思考が止まった。
奴は勝ち誇るように口角をわずかに上げ、そのまま3-e2へ歩いていく。オレはモニターを見つめたまま、一歩も動けなかった。
数十秒後、奴は3-e2で一問目を解き終え、再び口を開く。
『3-e2・3-e3、オープン』
その直後だった。
奴は突然踵を返すと、来た道を駆け戻り、STARTマスへ引き返した。
......何を企んでいる?
その疑問を抱いた瞬間、場内アナウンスが響く。
『プレイヤー1が第三階層へ到達しました』
「......は?」
第三階層へ到達......?
奴は、今まで第三階層にいたはずだ。オレが第三階層へ到達した二秒後にも『プレイヤー1が第三階層へ到達しました』というアナウンスが流れていた。
......待て。
そこで、すべてが一本の線で繋がった。
奴は、GOALマスにある第三階層への転移ボタンを自分の手で押したわけじゃない。2-d7から、別のマスで回収したノートパソコンを投げつけ、ボタンを押したんだ。
転移が第二階層のGOALマスから第三階層のSTARTマスへ、エレベーターのように移動する仕組みだとしたら......。2-d7にいた奴は転移されることなく、第三階層へ到達したというアナウンスとルール説明を、第二階層に留まりながら聞くことができる。
さらに、転移時には五秒間、純白の光が視界を覆い、お互いの姿は見えなくなる。奴はその五秒を利用した。ノートパソコンが転移したことを確認すると、第二階層のGOALマスへ進み、第三階層のSTARTマスにいるかのように体の向きだけを合わせる。モニター越しでは背景は映らない。だからオレは、奴が第三階層を移動していると完全に思い込んだ。
実際には、奴は第二階層で既に開放済みのドアを通って移動していただけ。オレが「3-e1、トレース」と宣言した、その瞬間――奴がいた場所は3-e1ではない。第二階層、2-c7だった。
......これがCTFラビリンス、三つ目の脆弱性。
CTF。頭脳。戦略。そして心理戦――そのすべてで、奴はオレを一枚上回っていた。
このままd列を直進すれば、今度は奴のトレースが飛んでくる。だからといって回り道を選べば、追いつくことはできない。
オレの負け......
いや。
まだだ。
これで終わってたまるか。
四つ目の脆弱性を見つけ出し、逆転するんだ。
思考を強引に立て直す。
序盤のルール説明を聞いていた時、頭の片隅に引っ掛かった違和感が二つあった。
一つ目――1-d7へ到達するとGOALマスへ続くドアが自動で開放されるなら、最初から1-d7をGOALマスにしてしまえばいい。にもかかわらず、NahamSecはわざわざ1-d7の正面にGOALマスを配置している。
二つ目――オープンやロックの宣言は音声入力しか受け付けず、タブレットから直接入力することはできない。
その二つが、ずっと喉に小骨が刺さったように引っ掛かっていた。
オレはタブレットに表示された第三階層のマップを凝視する。整然と並ぶ文字列、規則正しい座標......どこかで見たことがある。
全神経を集中させ、記憶を掘り返すと、一つの盤面が脳裏に浮かび上がった。
......チェスか。
チェス盤は縦横八マス、合計六十四マス。縦列にはaからh、横列には1から8の座標が割り当てられている。
そこで、ルール説明の一文が鮮明によみがえった。
『STARTマスまたはGOALマスの名称を含む宣言は受理されません』
......そういうことか。
GOALマスを「d8」と解釈すれば、宣言は成立する......!
その瞬間、頭の中で二つの違和感が一本の線で繋がった。
このマップは七×七ではない。チェス盤を模した八×八の盤面だったんだ。表記されていない八列目と八行目が存在する。だからNahamSecは「d7」をGOALマスにせず、その先にGOALマスを配置した。
そして、GOALマスを「GOAL」としか表記しなかった理由も説明がつく。座標を表示してしまえば、「d8」という存在に気付かれてしまうからだ。
さらに、宣言を音声入力のみに限定した理由も同じだ。タブレットから座標を入力できれば、存在しない座標は入力時点で弾かれる。盤面に存在する座標の範囲を、それだけで特定できてしまう。だからNahamSecは、宣言を音声入力に限定した。
......試してみる価値はある。
オレは口元を隠し、小さく宣言した。
「3-h1・3-h2、オープン」
直後、アナウンスが返ってくる。
『指定された区間にはドアが配置されていないため、宣言を受理できません』
......読み通りだ。
システムはh列を存在しない座標とは判定しなかった。つまり、八列目と八行目は盤面として存在する。ただし、GOALマスであるd8以外にドアは配置されていない。
奴の様子に変化は見られない。ということは、このエラーアナウンスは全体ではなく、宣言者本人にしか通知されない。
つまり、オレの仮説はすべて正しかった。
第二階層から持ち込んだノートパソコンで二問目と三問目を解き終え、現在オレが所有しているオープンポイントは二点、タクティカルポイントは二点。
対して、奴が所有するオープンポイントはゼロ。タクティカルポイントは、おそらく五点以上。
オレがd1、e1、f1、g1、h1を経由し、h列からGOALマスであるd8へ向かう場合、必要なオープンポイントは五点。
一方、奴の最短ルート――e3、e4、e5、e6、e7、d7、d8も、必要なオープンポイントは同じく五点。
ならば、勝機はある。奴のトレースさえ凌げればいい。
オレは左手で口元を隠し、宣言した。
「3-d2・3-d3、フェイク」
「3-d1・3-e1、オープン」
『3-d2・3-d3、オープン』
宣言を終えると同時に、横歩きで3-e1へ足を踏み入れる。そのままノートパソコンの前にしゃがみ込み、問題画面へ視線を落とした。
だが、問題文を読むより先に、モニターへ視線を向ける。奴は問題を解いていない。目線を上げたまま、じっとこちらを見つめていた。
......読まれている。
次の瞬間、奴は左手で静かに口元を覆う。トレース宣言の構えだ。
――頼む。ここさえ凌げれば......!
息を殺し、祈るような思いで待つ。
直後、場内アナウンスが響いた。
『プレイヤー1、トレース失敗』
その瞬間、張り詰めていた全身の力が一気に抜け、思わず口元が緩む。
一方、奴の表情には、わずかな動揺すら浮かばない。まるで、最初から失敗も計算の内だったかのような無表情だ。
......そのポーカーフェイスが、いつまで続くかな。
オレはすぐに視線を問題へ戻し、タイピングを再開する。
『3-e3・3-e4、オープン』
奴の宣言が流れる。
一問目を解き終えたオレも、続けて口を開いた。
「3-d3・3-d4、フェイク」
「3-e1・3-f1、オープン」
『3-d3・3-d4、オープン』
再び横歩きで3-f1へ移動する。
『3-e4・3-e5、オープン』
奴も迷いなく前進している。ならば、こちらも止まれない。
「3-d4・3-d5、フェイク」
「3-f1・3-g1、オープン」
『3-d4・3-d5、オープン』
さらに一マス進む。
『3-e5・3-e6、オープン』
奴との差は、ほとんど変わらない。
そして、ついにh列へ続く最後のドアが目の前に現れた。
迷いはとうに捨てていた。オレは声を張り上げる。
「3-d5・3-d6、フェイク」
「3-g1・3-h1、オープン」
『3-d5・3-d6、オープン』
ドアが開く。
オレはすぐさま3-h1へ飛び込んだ。
3-h1へ足を踏み入れた瞬間、オレは息を呑んだ。
目の前には、一直線に伸びる通路。その通路には、一メートルほどのスタンドに設置されたノートパソコンが八台、等間隔に並んでいた。
......やはり。
このマップは、八×八のチェス盤だった。
3-h1からGOALマス――3-d8までの距離は、およそ五十五メートル。
オレは迷わず床を蹴り、一直線の通路を全力で駆け抜ける。
『3-e6・3-e7、オープン』
第1位の宣言が場内へ響く。だが、耳を貸す余裕などない。視線はただ、その先だけを見据えていた。
一直線に走り続け、突き当たりの3-h8へ飛び込む。
そして、最後の宣言を叫んだ。
「3-d8・3-e8、オープン!!」
直後――
『3-d8・3-e8、ロック』
「ぐっ......!」
予想もしなかったアナウンスが響く。
目の前のドアは開かず、そのまま勢いよく激突した。
「なぜだ......!」
ロック......?
なぜ、そこを......。
まさか、バレていたのか!?
乱れた体勢を立て直し、荒れそうになる呼吸を無理やり整える。
焦るな。
まだ終わっていない。
オレはすぐさま3-e8に設置されたノートパソコンへ駆け寄り、問題画面を開いた。指先がキーボードの上を走る。
三十六秒で一問目を解き終え、オープンポイントを獲得した、その瞬間だった。
『3-d7・3-e7、オープン』
「まずい......!」
第一位が、GOALマス目前まで到達した。
オレは獲得したばかりのオープンポイントを使い、叫ぶ。
「3-d8・3-e8、オープン!!」
頼む。
開いてくれ!
『3-d8・3-e8、オープン』
次の瞬間、ドアが左右へ開いた。
オレは一切減速せず床を蹴り、GOALマスへ飛び込むと、設置されたボタンに向かって右腕を限界まで伸ばす。
――届け!
指先がボタンを押し込んだ。
純白の光が全身を包み込む。
五秒後――
『プレイヤー1が最上階層へ到達しました』
『プレイヤー2が最上階層へ到達しました』
二つのアナウンスが、コンマ一秒の狂いもなく重なった。
視界を覆っていた純白の光が消えた。
オレが立っていたのは、白い一本の通路。
正面、およそ五十メートル先には、一メートルほどのスタンドの上に白い旗が設置されている。
そして、そのさらに向こう側には、ノートパソコンを抱えた第1位の姿があった。
オレは床を蹴り、旗へ向かって全速力で駆け抜ける。
向かい側から走ってくる奴は、左手でノートパソコンを抱え、右手だけで必死にタイピングを続けていた。
......何をする気だ。
距離は三十メートル。
二十メートル。
十メートル。
白い旗が、互いの目の前まで迫る。
オレは右腕を勢いよく伸ばし、旗を掴み取った。
その瞬間――
奴はノートパソコンの画面をこちらへ向けた。
「なぜ......オレの本名を知っている」




