第14話「月面のメカニック」
警報が鳴った。
『警告:推進剤残量、限界値を下回りました。現在の軌道で月面到達は可能ですが、着陸制動に必要な推進剤が不足しています。推定不足率:23%』
「……23%足りないって、それは『着陸』じゃなくて『墜落』だろ」
『表現の正確性を考慮すると——はい。制御不能な接地になる可能性があります』
「正直すぎるだろ、お前」
カインが目を覚ました。宇宙空間で八時間、壁にもたれたまま熟睡していた男が、警報の三秒後には完全に覚醒している。
「旦那。何が起きた」
「燃料が足りない。月に突っ込むことはできるが、止まれるかどうかが怪しい」
「止まれなかったら?」
「月面にクレーターが一つ増える」
「……勘弁してくれ」
リーゼも起きている。毛布を握りしめて、窓の外を見ている。灰色の月が、もう視界の大半を占めている。近い。近すぎる。
月面の拡大スキャンが走っている。SORAの中継タワー——高さ推定800メートルの針のような構造物が、月面のクレーターの中央に突き立っている。その周囲にドーム状の施設群。
だが、直接あそこに突っ込むのは無理だ。防衛システムが生きている。武装全停止の丸腰で敵の正面玄関に着陸したら、そのまま蒸発する。
「方舟。中継タワーから離れた位置に、着陸可能な平面はあるか」
『スキャン中——検出しました。中継タワーから約12km北東に、旧時代の構造物群を確認。平坦な着陸スペースあり。ただし、施設の状態は不明です』
旧時代の構造物。SORAの中継基地とは別の、もっと古い施設か。
「そこに降りる。中継タワーの防衛範囲外であることを祈りながら」
『了解しました。着陸シーケンスを——手動操縦で実行しますか?』
「ああ。推進剤が足りないなら、俺の操縦で無駄を削る。——管理者権限で、残りの推進剤の噴射効率を限界まで最適化しろ」
『最適化完了。噴射効率を12%向上。……ですが、それでも制動には不十分です』
「残りは腕でカバーする」
操縦桿を握り直した。手が馴染む。指が覚えている。
月面が迫ってくる。灰色の荒野。クレーター。岩の影。そして——左手の遠方に、SORAの中継タワーがそびえ立っている。黒い針。先端が微かに赤く発光している。あれが全ての元凶だ。
だが、今は右へ。旧施設群を目指す。
「減速開始——全推進剤、逆噴射に投入」
方舟が震えた。逆噴射の振動が船体を揺らす。速度が落ちていく。だが、まだ速い。月面の1/6重力でも、この速度で接地したら——。
「カイン、リーゼ、何かに掴まれ!」
「毎回このパターンだな!」
「今回は本当にヤバい!」
月面が目の前に迫る。灰色の地面。旧施設のドーム屋根が見えた。その横に、平坦な——着陸ポートだ。小さい。方舟のサイズギリギリ。
操縦桿を引いた。機首を上げる。推進剤が尽きかけている。ノズルが咳き込む。最後の一噴射で速度を殺し——。
衝撃。
着地というより着弾。方舟が月面を滑走し、旧施設の外壁をかすめ、砂煙を巻き上げながら停止した。
沈黙。
生きてる。
「……旦那」
「……ああ」
「着陸と呼んでいいのか、これは」
「結果的に止まったから、着陸だ。——経営で言うと、赤字決算だが倒産は免れた、くらいの着地点だな」
「その例え、全然安心できないんだが」
リーゼが座席の下から顔を出した。いつの間にか潜り込んでいた。
「……生きてる?」
「生きてるよ。全員無事だ」
方舟のステータスを確認する。
『着陸完了(非推奨手順)。
船体損傷:軽微(外殻に擦過傷)
推進剤残量:0.3%(実質枯渇)
論理ロック残存時間:61時間08分
演算リソース配分:変更なし(98%を論理ロック維持に使用中)』
推進剤0.3%。帰りどころか、離陸すら怪しい。
「……方舟。周辺環境をスキャン」
『月面大気:なし(真空)。重力:地球の約1/6。旧施設内部に微弱な生命維持環境を検出。酸素濃度は呼吸可能レベル。ただし、温度管理は不安定です。また——生体反応を1件検出』
「生体反応?」
『旧施設内部。人型。推定年齢——若年。詳細不明』
誰かがいる。この月面の廃墟に。
「……カイン」
「わかってる。先に行く」
カインが振動剣の柄に手をかけた。ハッチを開く。
月面に足を踏み出した瞬間——体が浮いた。
1/6重力。地球の六分の一。一歩踏み出しただけで、体がふわりと持ち上がる。
——知ってる。
この浮遊感。足の裏から伝わる、地面を蹴った力が返ってこない感覚。——知ってる。着地のタイミングも、膝の使い方も。足が、この重力を覚えている。
俺は、ここに来たことがある。
体が、覚えている。
「……旦那? 固まってるぞ」
「——いや。何でもない。行こう」
カインが先行し、リーゼが俺の隣について歩く。方舟から旧施設までは百メートルほど。月面の砂を踏みしめながら進む。1/6重力に慣れるまで、歩き方がぎこちない。
旧施設の外壁は灰色のコンクリートに似た素材で、ところどころひび割れている。入口のエアロックは半開きだった。電力が残っているのか、内部からかすかに光が漏れている。
エアロックを抜けると、空気があった。薄いが、呼吸はできる。温度は低い。息が白い。
通路を進む。壁面に文字が刻まれている。
日本語だ。
『月面開拓ステーション「ツクヨミ」 第3居住区』
「……ツクヨミ。月読命か。日本語の名前だ」
「宙さん、読めるの?」
「ああ。——ここは、俺たちの先祖が作った場所だ」
通路の壁には、退色したポスターが貼られている。「安全第一」「ヘルメット着用厳守」。——どこの国のどの時代でも、現場の注意書きは変わらないらしい。
奥に進むと、広い空間に出た。格納庫のような場所。天井が高い。
その中央に——。
一台の作業用ロボットが、分解された状態で床に広がっていた。頭部、胴体、四肢、内部回路。全てがバラバラに並べられ、しかし整然と配置されている。分解したのではなく、整備中だ。
そして、そのロボットの胸部パネルの中に、上半身を突っ込んでいる小柄な人影。
ガチャガチャと金属音が響いている。物理的な工具——レンチかスパナか——を使って、何かを締めている。ナノマシンの詠唱ではなく、手と工具。
「——ダメだ、このサーボ、また焼けてる。三号機のパーツを流用するしかないか……」
少年の声。高く、明るく、独り言が多い。
カインが振動剣に手をかけたまま、俺を見た。俺は首を横に振った。敵じゃない。少なくとも、工具を握って独り言を言いながらロボットを直している人間に殺意はない。
「——おい」
「うわぁっ!?」
少年が飛び出した。文字通り。1/6重力のせいで、驚いた拍子に天井近くまで跳ね上がった。
着地。顔を見る。
16歳くらい。短い茶髪。額にゴーグルを上げている。つなぎの作業服はオイルまみれで、両手にはレンチとマイナスドライバー。目が大きい。そして、その目が——俺たちを見て、恐怖ではなく好奇心で輝いている。
「——え、人!? 人だ! 生きてる人間! うそ、マジで!?」
「……落ち着け」
「だって! ここ三年、人なんか来なかったんだ! ていうか外に船あったけど、あんたたちの? すごい船だな! 何あのデザイン、古い型だけどめちゃくちゃカッコいい! エンジンの音、外にいても聞こえて——」
「落ち着け。名前は」
「あ、ごめん。ルーク。ルーク・ファレンハイト。ここの——まあ、管理人、ってほどでもないけど。住人? 一人で住んでる」
ルーク。16歳。月面のステーションに一人で住んでいる機械オタクの少年。
「一人で?」
「うん。元々ここには何人かいたんだけど、三年前に中継タワーから『立ち退き命令』が来て、みんな地上に降りた。俺だけ残った」
「なぜ残った」
「——こいつを、置いていけなかったから」
ルークが振り返った。分解中のロボット。二メートルほどの人型機械。古い型だが、丁寧に磨かれている。
「三号機っていうんだ。ここのステーションで使われてた作業用ロボット。他の機体はみんな動かなくなったけど、三号機だけはまだ直せると思って」
「……三年間、一人で直してるのか」
「うん。パーツがないから、他の機体から流用して。魔法……っていうか、ナノマシンのコマンドじゃ精密な機械は直せないんだ。結局、手と工具でやるしかない」
この子は、ナノマシンが「魔法」ではなく技術であることを理解している。そして、ナノマシンでは対処できない領域を、物理的な技術で補おうとしている。
——好きだ、こういう人間。
ルークのワークスペースを見た。壁面にモニターが三台。旧式のターミナルが動いている。画面にはコードが流れている。
「……これ、お前が書いたコードか?」
「え? あ、うん。三号機の制御プログラム。独学で書いてるんだけど、なかなか動かなくて……」
モニターに近づいた。コードを読む。
——ひどい。いや、ひどいというのは語弊がある。独学で、参考書もなく、この環境でここまで書いたのは普通にすごい。だが、効率が壊滅的だ。同じ処理を三回繰り返している箇所がある。メモリ管理がザルで、リソースの半分が無駄に消費されている。
——指が動いた。
考えるより先に、手がタッチパネルに触れていた。不要な行を削除し、関数を統合し、メモリ管理を追加し、ループ条件を修正する。なぜこの書き方が正しいのかは説明できない。だが、指が知っている。
三分で、ルークの300行のコードが80行になった。
「……は?」
ルークが固まっている。
「……え? 何が起きたの? 300行が80行に……えっ、しかも動作速度が四倍……?」
「わからない。指が勝手にやった。——でも、お前のロジックは合ってた。実装がちょっと冗長だっただけだ」
「ちょっと……? これ、ちょっとの範囲じゃないでしょ……! あんた何者!?」
ルークが目を見開いている。だが——三秒後、その目つきが変わった。
「……待って。この23行目。メモリ確保の単位、変えてますよね。ここ、三号機のメモリチップは旧規格なんで、この単位だとオーバーフローします。——ソフトは綺麗だけど、ハードを知らないと動かない」
指摘が正確だった。俺のコードは論理的に正しいが、実機のハードウェア制約を無視している。
「……言うじゃねえか」
「三年間、こいつの中身を触り続けた人間を舐めないでもらえます?」
生意気だ。——だが、正しい。ソフト屋がハード屋に教えられる。こういう関係が、一番いい。
「俺は倉橋宙。——お前の先輩みたいなもんだ」
「先輩……!」
ルークの目が、星を見たように輝いた。——まずい。これは懐かれるパターンだ。
「先輩、このサーボモーターの制御信号なんですけど——」
「話を聞け」
カインが呆れた顔をしている。リーゼが笑っている。——いいけど。いい場面だけど。今はそれどころじゃない。
「ルーク。お前に頼みがある」
「何でも言ってください、先輩!」
「俺たちの船が壊れてる。正確には、リソースの98%を別のタスクに使ってて、推進剤も尽きた。月面を移動する手段がない」
「船……あの外の? 見ました。あれ、すごい型ですね。たぶんSORA規格以前の設計ベースで——」
「そう。古い船だ。で、あの船の推進系を補修できるか? せめて月面を短距離で移動できる程度に」
ルークの目つきが変わった。好奇心から、職人の目に。
「……見せてもらっていいですか」
「ああ。来い」
方舟に案内した。ルークがハッチから中に入った瞬間、動きが止まった。
「…………」
「おい。固まるな」
「……すげえ。何だこの船。SORAの標準設計と全然違う。コードの書き方が——まるで、教科書みたいに綺麗だ。いや、教科書より綺麗だ。誰が書いたんだこれ……」
「さあな。たぶん——俺が書いた。たぶん」
「たぶんって何ですか」
「記憶がないんだ。色々あってな」
ルークが首を傾げたが、すぐに興味が船の内部に移った。這うようにして配管の間を縫い、コンソールの裏蓋を開け、回路を覗き込む。三号機で鍛えた整備力が遺憾なく発揮されている。
三十分後。
「先輩。結論から言います」
「どうだった」
「推進系は直せます。ステーションの予備パーツを使えば、月面を短距離移動できるくらいには復旧可能です。——ただし」
「ただし?」
「十二時間かかります」
「十二時間……」
論理ロック残存時間は61時間。十二時間を修理に使うと、残り49時間。中継タワーまでの移動、タワー内部への侵入、SORAの制御権奪取、帰還。——全部を49時間以内に終わらせないと、王都の十万人が死ぬ。
「……きついな」
「もっと早くできる方法はあります。——俺も手伝えば」
「お前も?」
「俺、この月で三年間、機械いじってた人間です。ソフトはさっき負けた——けど、ハードなら絶対負けない。あんたがソフトを最適化して、俺がハードを物理で直す。二人でやれば——八時間に短縮できるかもしれない」
ソフトとハード。二人のエンジニアの分業。
——なぜかはわからない。だが、優秀な現場がいるのに使わないのは、どうしようもなく無能な行為だ。体の中にある何かが、そう言っている。
「ルーク。一つ聞く」
「何ですか」
「なぜ手伝ってくれる? 俺たちは突然現れた見ず知らずの人間だ」
ルークが少し考えた。それから、笑った。
「……三年間、一人で三号機を直してた。誰にもコードを見てもらえなかった。——あんたは、俺のコードを読んで、三分で直してくれた。300行を80行にして、しかも『ロジックは合ってた』って言ってくれた」
ルークの目が、少し赤くなっていた。
「……俺のやってたことが、間違いじゃなかったって。初めて誰かに言ってもらえた」
——ああ、くそ。
こういうの、弱いんだよ。
「……わかった。お前、今日から俺の整備班だ。——給料は出ないが、コードレビューは毎日してやる」
「まっ、マジですか先輩!?」
「カイン、リーゼ。修理に入る。八時間、この施設を拠点にする」
「了解だ、旦那。俺は周辺を見回りしてくる。敵の施設が近いからな」
「リーゼ、お前は——」
「私、このルークさんって人に質問があるの」
「質問?」
「月の生活のこと! 何食べてるの? お水はどうしてるの? 寒くないの?」
「あっ、えっと、ハイドロポニクス——水耕栽培で野菜を育ててて——」
リーゼとルークが話し始めた。——いいコンビだ。リーゼの好奇心とルークの説明欲が噛み合っている。
コンソールに向かう。方舟のシステムをルークの端末と接続する。ソフトウェア側の最適化を始める。
モニターの隅に、タイムリミットが刻まれている。
『論理ロック残存時間:60時間44分』
八時間後、修理が終わる。
その後、中継タワーまで12km。丸腰じゃない——ルークが武装システムの一部を復旧してくれるかもしれない。
方舟のコードを読み進めていると、ルークが隣に来た。
「先輩。この船の武装システム、見ました。——すごい設計ですけど、ソフトウェアロックがかかってます。SORA規格の暗号化で封印されてる」
「封印?」
「はい。誰かが意図的にロックしてる。船を作った人じゃなくて、後から追加されたロックです。——解除するには、SORA側の復号鍵が必要です」
SORAの暗号で、方舟の武装が封印されている。つまり——この船が作られた後に、SORAが武装を使えないようにした。方舟が本来の力を発揮できないのは、SORAの妨害のせいだ。
「解除は——」
「ソフトウェアロックなら、先輩の管理者権限で——」
管理者権限でコンソールに触れた。暗号化レイヤーにアクセス。——駄目だ。SORAの最上位暗号。俺の権限では、三重のロックのうち一つしか外せない。
「一つ解除。残り二つ。——これで使える武装は?」
『近距離防衛システム「ポイントディフェンス」が使用可能になりました。有効射程:500m。用途:迎撃・近接防御。攻撃力:中程度』
「500m……。中継タワーの防衛システムを突破するには心もとないが、ないよりは遥かにマシだ」
「残りのロックは、中継タワーの中にSORAの復号鍵があれば解除できるかもしれません」
「つまり——敵の拠点に乗り込んで、鍵を奪って、自分の船の武装を全開にする」
「そういうことになりますね」
「RPGの中盤で封印武器を解放するイベントじゃないんだから……」
だが、悪くない。むしろ、これは朗報だ。方舟にはまだ、俺が引き出せていない力がある。
窓の外を見た。中継タワーの先端が、月面の地平線の上に突き出している。赤い光が明滅している。あそこが、これから殴り込む場所だ。
と——赤い光の明滅パターンが変わった。
規則的な点滅から、こちらに向けた収束光に。
『警告:SORA中継タワーの防衛システムが起動。本船の位置が捕捉されました。ロックオン検出。ただし、現在の距離(12km)では攻撃射程外です。接近した場合、迎撃を受ける可能性——極めて高い』
「見つかったか……」
「先輩。急いだ方がいいですね」
「ああ。——八時間を、六時間に縮めるぞ。ルーク、ハードを任せる。俺はソフトを全部書き直す」
「了解、先輩!」
赤い光が、月面の地平線の向こうで、じっとこちらを見つめている。
タイムリミットは縮まった。だが——仲間が増えた。
四人。方舟。そして、ルークの三年間の孤独が磨いた技術。
悪くない手札だ。
『論理ロック残存時間:60時間31分』




