005:大乱闘
黒い清掃ロボットたちは、手当たり次第に周りを壊し続ける。ゾウたちに守られている私たちも、いつまで安全か分からない。
「出入り口が封鎖されると、救援部隊の到着は遅れそうね」
「俺の拘束ワイヤーや足止めトラップだと、1体のロボットを相手にするのが精一杯だ。10体以上だと、とてもじゃないが手を出せない」
なにか解決策はないかと、ゾウの隙間から周りを見渡す。少し離れた場所では黒いロボットたちが暴れている。周りに倒れているのは小さな動物たちだろうか。他のお客さんはログアウトしたのか、姿が見えない。
「ノラを残してログアウトはできない。ここで隠れるしかないか」
ノラは象の背中で心配そうに遠くを見つめる。すると、デジタル考古学アプリから一件のメッセージを受信した。
『緊急ミッション:動物園で暴走するボットを調査する』
タロウも同じメッセージを受信したようだ。急いでメッセージを選択して詳細を確認する。
『G11地区の動物園でロボットが暴走して多数の被害が出ています。原因を調査してく報告してください。ミッションの達成条件は次の通りです。
1.暴走するロボットの活動を記録する。
2.動物園の被害状況を報告する。
3.ロボットの内部データを提出する。
このミッションには部分点が適用されます。また複数プレイヤーで協力が可能です』
タロウと顔を見合わせる。
「どうする?」
タロウの答えは決まっていたようで、すでにミッションを始めていた。私も急いでアプリを開いてミッションの開始を選択する。
「よし、作戦会議を始めるぞ」
対応するようにノラが報告する。
「白い清掃ロボットがいる」
よく見ると、黒いロボットの近くで、いくつかの白いロボットが動いている。そして、清掃ロボット同士で戦っている?
「故障なのかバグなのか分からないけれど、黒い清掃ロボットは暴れまわっている。でも、白い清掃ロボットはその影響を受けずに、まだ正常に動作しているのかも」
「動物園を守るために戦っているのか。だとしたら、俺たちも力になれるかもしれないぞ」
タロウは地図を起動する。画面には動物園の地図が表示された。
「俺たちがいる場所が、このサバンナ地域。で、ここから南に100m進んだところにあるこの建物がロボット格納庫。清掃は交代制だから、かなりの数の清掃ロボットが待機している」
「なんで、タロウがそんなこと知ってるのよ」
「ヒカリたちに合流するとき、少し歩いて探したって話しただろ。そのときに、ちょっと覗いてきたんだよ」
「それじゃ、黒い清掃ロボットに気づかれずに100m移動する方法を考えないと」
「それは、ぼくにまかせて」
ノラは、親ゾウの背中から飛び降りて地面に着地する。すぐに小ゾウがノラの周りに集まる。ノラが南に向かって走り始めると、小ゾウが後を追い、その後を親ゾウが追う。そうやって、ゾウの群れが一斉に南に向かって走りはじめた。
私とタロウは急いであとを追いかける。
「ゾウの足の速さって時速40kmもあるのよ。人間が100m走で金メダルと取れる速さと同じ」
「どうりで追いつけないはずだ」
ゾウの群れからはぐれそうになりながらも、群れに紛れてなんとか無事にロボット格納庫に到着。ノラは途中で小ゾウに追いつかれ、サッカーボールのようにもみくちゃにされていた。
ロボット格納庫では、壁沿いにロボットたちが並んで座っている。数えると20体。ロボットを管理するための操作パネルは入り口の近くにあった。操作パネルの電源を入れると、パスワードの入力を求められる。
「たぶん、これだろ」
タロウが、壁に貼られた一枚の付箋を指差す。付箋には英字と数字が組み合わされた12文字が書かれている。
「そういうところは、抜け目がないのね」
書かれた12文字を入力すると、画面が次に進んだ。正しいパスワードだ。画面には『コマンドを指示してください』とメッセージが表示された。
「俺がやっていい? こういうの、一度やってみたかったんだよ」
私は無言で手のひらを上に向けて、タロウに差し出す。どうぞどうぞ。
「よし、それじゃ。あー…。全員起動! 黒いロボットたちを倒しに行くぞ! 出撃だ!」
真っ白な20体の清掃ロボットが、一斉に起動して立ち上がり、格納庫から出撃する。目標はもちろん黒い清掃ロボット。白い清掃ロボットたちは、自律的に動き、移動し、協力する。
こうして、白い清掃ロボットと黒い清掃ロボットの戦いが始まった。あるロボットは、池の真ん中でフラミンゴに囲まれて戦う。別のロボットは、砂漠の真ん中で相撲を取るように組み合う。サバンナの真ん中で、キリンに蹴られて飛んでいったロボットもいた。まるで、戦国時代の合戦のよう。
しかし、数の上では優勢だった白い清掃ロボットも、時間が経つにつれ次第に劣勢に追い込まれていく。同じ性能のはずなのに、明らかに黒い清掃ロボットのほうが早く動き、力も強い。
「たぶん、リミッターが解除されているんだろう。ふつうはロボットが出せる力は制限されている。でも何かの拍子に制限が外れる、つまりリミッターが解除されると、ふつうでは出せないような力が出せるようになる」
「でもそんな無理をしたら、あっという間に壊れるんじゃない?」
「もちろん無理を続ければ、いずれは壊れてしまう。けど、黒い清掃ロボットはそんなこと気にしてないみたいだな」
そんな向こう見ずな力で、白い清掃ロボットは次々と倒れていく。
「このままだと押し切られるな。逆転できる作戦を考えないと」
なにかヒントがないかと周りを探すと、木に引っかかった1体の黒い清掃ロボットが目に止まった。馬かキリンにでも蹴っ飛ばされたのだろう。近づいても動かない。
「なにか弱点が見つかるかも」
アイテム保管ボックスから、ロボットを調べるための装備を取り出す。まずは反射型防壁を起動。次に病原体感染判定キットと不正通信検出ツールを起動。ノラを調べるときに使ったが装備が同じように使えそうだ。
3分ほど調べてみると、いろいろなことが分かってきた。外部から操作されている痕跡は見つからない。おそらく自立型、つまりロボット自身の意思で動いている。不正なプログラムに感染している様子も見つからない。未知のウイルスに感染している可能性は残っているけれど、手持ちの装置ではこれ以上調べるのはむずかしい。気になるのがロボットの思考機能。感情パターンが赤と青の2色。これは怒りと悲しみを表している。でも、そもそも清掃ロボットに感情なんて必要ないはず。いったいどういうことだろう。詳しく調べるために構造分析プログラムを試してみたが、ノラと同じで使えなかった。手詰まりか。
「ロボットから、データが少しずつ消えている」
となりで様子をうかがっていたノラが教えてくれる。
「データが消えていくのは、ゴミ?」
はっと気づいて、アプリで黒い清掃ロボットを読み取る。すぐに検査結果が画面に表示された。
・判定:ゴミ
・種類:保証期間が切れたロボット
・生まれた時間:15日03時間52分前
・所有者:なし
・地区:G11
・座標:8329.9018
登録しますか? YES/NO
「所有者が設定されていない。つまり、これは使い終わって破棄されたロボットなんだ」
うしろからタロウが検査結果をのぞき込む。
「壊れて動かなくなったから、ゴミとして判定されているんじゃないのか?」
「いえ、それだと生まれた時間がもっと新しくなるはず。例えば3分前とか。でも読み取った結果では15日前にゴミになってる。ということは、15日前に破棄されたのよ」
確認のために、もう1つの壊れた黒い清掃ロボットを見つけて、同じように読み取る。結果は同じだった。
「つまり、使い終わって捨てられたロボットが、とつぜん群れをなして周りを攻撃し始めたってことか。でもどうして」
「理由はわからない。ただ、いまはこの状態をなんとかしないと」
少し離れた場所では、白と黒のロボットたちが戦い続けている。白と黒。
「黒い清掃ロボットは、なぜお互いを攻撃しないんだろう」
「黒い見た目で仲間だと判断するとか?」
「それか、何か特別な信号をやり取りしてるとか。ノラ、黒い清掃ロボットから流れるデータを見ることはできる?」
「遠くて、むずかしい」
「ロボットの中に記録が残っているかもよ?」
「そうか、デバッグ接続すればいいんだ。破棄されて所有者が設定されてないなら、私でも接続できる」
解析アプリを起動して、ケーブルを壊れた黒い清掃ロボットにつなげる。画面にはCONNECTEDの文字が表示された。
「接続できた! これなら調べられる」
解析アプリでコマンドを入力する。
hikari@cleaning_robo_004 > history -l 10
ACCESS DENIED
hikari@cleaning_robo_004 > sudo su
SUCCESS
root@cleaning_robo_004 > history -l 10
PROCESSING...
コマンドの実行は成功し、黒いロボットの行動記録が画面に表示された。
・172秒前:ターゲット013に攻撃
・169秒前:ターゲット013からの攻撃を確認
・168秒前:自身の致命的な破壊を検知
・167秒前:ターゲット013からの攻撃を確認
・165秒前:自身の致命的な破壊を検知
・163秒前:行動不可により機能停止
・162秒前:自己保存モードに移行
・015秒前:外部からのデバッグ接続を確認
・010秒前:危険を検知
・009秒前:救援信号を発信開始。コード0xFFFF
突然、タロウが叫ぶ。
「おい。黒いロボットが集まってきたぞ」
しまった。デバッグ接続に反応して、救助を求める信号0xFFFFが発信されている。信号の宛先は、周囲の黒い清掃ロボットたちだ。安易なデバッグ接続があだになった。
「ごめん、ミスしたかも。少し時間を稼いで」
「長くは持たないぞ」
タロウはアイテム保管ボックスを開いて、応戦する準備をはじめる。黒いロボットはすぐそこまで迫っている。見えるだけでも4体。
急いで検索プログラムを実行する。黒い清掃ロボット同士でやり取りする、秘密のコードがあるはずだ。それを見つければ、コードを使って黒い清掃ロボットを混乱させられる。上手く行けば動きを止められるかもしれない。データ受信の記録に絞り込んで探そう。
・候補が見つかりました:「231秒前:位置ビーコン105から座標情報 3929.3892を受信」
目的のデータは見つかりましたか? YES/NO → NO
・候補が見つかりました:「252秒前:ゲートMM3に開放申請 F842を送信」
目的のデータは見つかりましたか? YES/NO → NO
デバッグ接続したロボットの中には、たくさんのデータが残されている。でも、この中から目的のデータを見つけ出すのは、まさに『干し草の中から針を探す』だ。
・候補が見つかりました:「261秒前:周辺気象データ No.003819を受信」
目的のデータは見つかりましたか? YES/NO → NO
タロウは、拘束ワイヤーと足止めトラップを駆使して、黒い清掃ロボットと戦う。白い清掃ロボットも集まり戦いに参加する。三つ巴の戦いが始まった。
黒い清掃ロボットはとても強い。リミッターを解除したその動きは、白い清掃ロボットをなぎ倒し、拘束ワイヤーを引きちぎり、足止めトラップを踏み潰す。ずいぶん長いこと暴れまわっているはずなのに、疲れる気配もない。
白い清掃ロボットは、1体また1体と力尽きて倒れていく。気がつくと、タロウは黒い清掃ロボットに囲まれていた。これ以上は危険だ。
「いったん逃げて」
すると、突然ノラが叫びはじめた。
「パオオォーーン!」
次の瞬間、地面が揺れ、地響きが鳴る。近くの林からゾウの群れが飛び出してきた。さっき私たちを守ってくれたゾウたちだ。
群れは、止まることなく走り続け、黒い清掃ロボットに向かって体当りする。体重5トンのゾウが時速40kmでぶつかると、グシャっという音とともに、黒いロボットが吹き飛ばされる。
ノラは得意げに説明する。
「ゾウさんに言葉、教えてもらった。だから、助けを呼んだ」
子ゾウとノラは挨拶するように耳をパタパタさせる。親ゾウは長い鼻を使って、倒れた白い清掃ロボットを起こしていく。
そして、大乱闘が始まった。暴走する黒いロボット。巨体で走り回るゾウ。立ち上がる白いロボット。拘束ワイヤーを振り回すタロウ。逃げ惑うノラ。舞い上がる砂埃。響き渡る衝撃音。もうめちゃくちゃ。
私も急がないと。画面に目を戻し、検索プログラムの実行結果を確認する。
・候補が見つかりました:「325秒前:通信遮断エリアの展開開始を検知」
目的のデータは見つかりましたか? YES/NO → NO
・候補が見つかりました:「363秒前:位置ビーコン093から座標情報 3929.3812を受信」
目的のデータは見つかりましたか? YES/NO→ NO
・候補が見つかりました:「378秒前:信号0x308505を受信」
目的のデータは見つかりましたか? YES / NO →
見つけたかも。急いで前後のデータを確認する。
381秒前:15mの移動が完了
379秒前:周辺環境の調査を実行
379秒前:ターゲット002の存在を確認
378秒前:信号0x308505を受信
377秒前:ターゲット002を協力者として登録
374秒前:周辺環境の調査を実行
……
信号0x308505を受信すると、目の前の相手を仲間だと認識している。この信号が、黒い清掃ロボットが使う仲間の合図だ。
急いでロボット格納庫に戻る。ガランとした倉庫の中で、操作パネルは次のコマンドを待っていた。私は大きな声で命令する。
「すべての清掃ロボットは、信号0x308505を発信。できる限り長く。出力は最大」
信号は人間の耳には聞こえない。でも、たしかに発信された。黒い清掃ロボットは次々と攻撃を止める。
「うまくいってる」
信号を受信した黒い清掃ロボットは、目の前の対象を仲間だと認識する。だから、信号を発信し続ければ、目に映るものすべてが仲間に見え、そして攻撃する対象はいなくなる。
タロウとノラのいる場所に戻ると、大乱闘は終わり、砂埃だけが残っていた。地面に座り込んだタロウが話しかける。
「やるじゃないか」
私は笑顔で答える。
「あなたもね」
しばらくすると、セキュリティ治安部隊のエージェントが、動物園の入り口を破壊して突入してきた。冷蔵庫ぐらいの大きさの四角く滑らかな黄色いロボットが四方に散らばっていく。
入り口は順番に開放される。エージェントは黒い清掃ロボットを袋に詰め込んで、どこかへ持っていく。残されたのはボロボロになった白い清掃ロボットと、たくさんの動かなくなった動物たち。
タロウは、ばらばらになった拘束ワイヤーと壊れた足止めトラップを拾い集める。ノラは、ゾウにありがとうを伝える。ゾウの群れはゆっくりとサバンナ地域へ帰っていった。
「俺たちもここから離れよう。セキュリティ治安部隊に目をつけられると、なにかと面倒だからな」
「そうね、ノラを隠さないと。秘密基地に戻りましょう」