第36話 おっさんズ、現用兵器と対峙する その1
その日も天界では天使達がシステムの改良に勤しんでいた。
「どうだー、マツエル、アレ、うまく行ってるか」
セキエルに問われてマツエルは焦りながら答える。
「いや、ここの処理がうまく行かなくて……」
「なんだよ、しっかりしてくれよ」
二人が今やろうとしているのは、ホムンクルスの思考を制御するシステムの改良だ。
戦いは兵器の性能だけではなく、兵士の能力も大きいと考え、より効果的な戦いが出来るよう、改良を試みているのだ。
そこへ、会議から戻ったモリエルがやって来た。
「どうかしたのかい、何か問題でも?」
「あ、モリエルさん、改善の効果がイマイチ見えなくて、機能してるのか、してないのか、デバッガーで追っても問題は出ないし……」
マツエルは悩み顔で上司に相談する。
これは難解な話だ。
コードのミスなら、コンパイル時にエラーが出るし、エラーの箇所も明示される。
実行時に出る動作上のエラーなら、コードを追いかければ判る。
だが論理エラーは判らない。
プログラムとしては何ら問題は無く、ただ単に発動した魔法に期待した効果が見られないだけ。
「こういう時は、動かしてみるのが早いよ。 サンドボックスで状況を色々変更して動かしてみるといい」
「そうですね、やってみます」
リアライズシステムなので、ワンタイム触媒になる模型無しに本来の動作を検証する事は出来ない。
デバッガーが作る仮想環境ではうまく検証出来ない事も色々ある。
だが、より高度なバーチャル実働環境を整えられるサンドボックスなら、話は違う。
最初から召喚済みのホムンクルスを出現させ、様々な初期条件や環境条件を変更して、動作を検証出来るのだ。
彼らの使うサンドボックス環境の最大のメリットは、途中の状況を省略し、いきなり必要な状況を内部に生成できる所と言える。
いちいちホムンクルスを召喚するための仮想模型を生成する所から始めなくても、即ホムンクルスを出現させ、テストの戦闘を始められる。
だが、この機能は両刃の剣、その事に誰も気づかないのであった。
様々な状況をテストし、セキエルとマツエルはホムンクルスの戦闘能力に対し、彼らが期待した効果を実装する事が出来た。
「やっぱやりますね、セキエルさん」
「お世辞はよせやい」
「でもこの改良を見たら、モリエルさんもセキエルさんの事見直すんじゃ無いですか」
「どうかなー」
「僕に言わせれば、アキエル氏なんかより、セキエルさんの方がずっと上ですよ。 自分でもそう思うでしょ」
「まぁね。 あの人はちょっとブッ飛んでるだけで、コードを見る限り無駄ばかりで実力は無いのに、モリエルさんの評価は無駄に高いんだよなー」
「ですよねー。 『AKに気を付けろ』ですねー」
「まったくだね」
そして彼らは修正して生成した実行ファイルをアップデートサーバーに配置する。
こうする事で、これから召喚されるホムンクルスだけでなく、召喚済みのホムンクルスにも更新が反映される。
でも、本番でのテスト無しで全更新とか、大丈夫なのか?
*****
その日マリエルは小規模な牽制作戦の実施を行う事にした。
「という訳で、飛竜を4体派遣して、村への補給物資流入を阻害してください」
「この間の作戦ね。 だけど4体も必要?」
「村は2つあるので、物資を運ぶキャラバンも2隊ありますわ。 それに相手も今度は妨害してくる事が考えられます」
「妨害……って、あの飛行機ね。 いくら飛竜でも空を飛んでいる相手とは……」
「そうですわね。 あの方々の飛行機、あの性能では飛竜と言えども格闘レンジに捉えるのはもちろん、ブレスの射程ですら論外」
「じゃ、どうすれば」
「2体は襲撃、2体は別ルートで先行し警戒ですわ。 飛行機が飛んできたら、先手を打って撤収。 この間は初めてだったから何もしなくても出来ましたが、あれは偶然。 それを必然にするのですわ」
「なるほどねー」
「目的は物資の阻止と牽制です。 大英様の軍団と戦う必要ありません。 西夏様の軍団が戦えるようになるまでの時間稼ぎも兼ねていますわ」
「りょーかい」
「出撃のタイミングは……」
マリエルはレイスの偵察で得られた情報から、キャラバンの到着タイミングが一定である事を掴んでいた。
大英は護衛を付けられないため、スケジュールを固定したのだが、それを逆手に取られた形になる。
打ち合わせが終わると、キリエルは作戦に参加する飛竜を選び、出撃待機のため倉庫へと移動させる。
赤土が召喚した戦車が待機しているこの地下倉庫、そもそも戦車を待機させるために作られたものでは無い。
出撃する亜人の兵や、魔獣を待機させるためのスペースだ。
今は赤土の家や、何両もの戦車、さらに飛行機までも置かれているため、あまり大軍を入れる事は出来ないが、飛竜4体くらいなら楽勝である。
そりゃそうだ。 40体もの魔法使いが召喚儀式に参加できるし、まだまだ装備は増えていくのだからな。
*****
領主の城。 ティアマト神は鍛冶師を呼んで、ある素材を渡す。
神が関わる話なので、当然の様に大英・秋津・ゴートも同席している。
「コレを加工するんですかい」
呼び出されたパンチャーラ=バージェスは見た事のない金属の塊を前に腕を組む。
「そうよ、詳しい事はアキエルが説明するわ」
空中にウインドウが現れ、アキエルの映像が出る。
「うお、こ、これは一体どういう理屈で……」
「あー、それは今度説明してあげるわ。 今はソレについての話ね」
「へ、へい」
その金属はヒヒイロカネという特殊な合金。
ナノマシンが埋め込まれており、インストールしたプログラムによって様々な効果の魔法を発動できる。
と言っても、プログラムの書き換えは天界でしか行えないので、地上では「特定用途の魔法金属」という扱いになる。
「このヒヒイロカネには、条件を満たすと重力子ビームを4次元方向に撃ちだすシステムを組み込んであるの」
「えーと、なんです?」
「あー、理解しなくていいわ、貴方は、そこの指示書に従って、弾丸を作ってくれれば良いの」
「わ、わかりやした」
全く聞き覚えの無い単語が並び、何を言ってるのか判らないパンチャーラ。
事情はゴートも同じで、21世紀の人間である秋津も同様だ。
だが、大英はこれを理解した。
「対レイス用の弾丸ですね」
「そうそう」
アキエルも笑顔で応える。
何にしても、意図を理解してくれる相手が居る事は嬉しいものである。
普段意図の説明に余計な手間を取られる事が多い彼女にとっては、ノンストレスで話が通じる事は貴重なのだ。
攻撃しては来ないものの、レイスが放浪しているのは好ましくない。
これでやっと対策が打てるという事で、大英ものどに引っかかった骨が取れる思いだ。
考えてもどうにもならない事態と言うのは、やはり精神衛生上好ましくないからね。
*****
飛竜が待機する倉庫。
出撃する兵や魔獣はここからゲートを通って森のはずれにある集結地へと移動し、進軍する。
その出撃用ゲートは天使が開くのではなく、基地のシステムが生成する。
魔法は何も生物だけが使うものでは無い。 機械も魔法を行使できるのである。
ティアマトの飛行機はティアマトの魔法で飛んでいたのではなく、飛行機自身が魔法を行使していたのだが、解説してなかったか。
まぁ、そういうことだ。
時が来て自動で開くゲート。
なお、このゲート、通過者が居なくなると自動で閉じる。
また、逆方法は通さないような規制もかけられる。
このため、ゲートの動作をいちいち天使が監視する事は無い。
そして、今回は指示に従った単純な作戦。
外の森にもキリエルが待つ事は無く、すべては予め指示を受けた飛竜に任せられている。
飛竜4体はゲートを通って森へと進む。
そして4体が通過した後、ゲートは閉じようとして、その動作を止め、再び既定のサイズに戻った。
それは、他にもゲートを通過しようとするモノが居たためであった。
用語集
・コンパイル
テキスト(天使が読み書きできる文字)で書かれたコードを魔法稼働システムの実行形式に変換する事。
・論理エラー
ZDNet Japan によると、
「論理エラーとは、プログラムの実行結果が意図した通りにならないエラーのことである。
論理エラーは、コンパイルが正常に行われ、プログラムの実行途中で異常終了することなく動作するものの、アルゴリズムが論理的に正しくない場合のことを意味する。 プログラムの文法や構文などが正しいため、コンパイラによって発見されることはない。」
とのこと。
まぁ、この説明でほぼ言い尽くしていると思うが、このままではプログラマーにしか通じない。
一般の方にもわかるように例を挙げてみよう。
全自動防空システムがあるとする。
飛行機(含むヘリコプター)が飛んでくると、対空ミサイルを発射して撃墜する。
撃墜できるか、攻撃有効範囲から出ていく、またはミサイルが尽きれば攻撃は終了する。
ミサイルが飛んで来た時も同様。
攻撃有効範囲は遠くだけでなく、近くにも限界がある。
近くになると、短射程のミサイルを使い、さらに使づくと機関砲を使う。
そのシステムに小型ドローンが接近した。
システムはこれを飛行機とは認識せず、ミサイルの判定にも引っかからなかった。
結果、何の迎撃行動も行われなかった。
システムには欠陥は無く、仕様通りに動作している。
だが、敵機の侵入を許した。
小型ドローンに対応する処理が無いという論理エラーだ。
・サンドボックス
システムが動く際に、現実と同じ結果を現すことが出来る仮想環境。
開発途中のシステムを動かしたり、特定の条件を指定して様々な動作環境をエミュレートできる。
実働環境では危なくて出来ない事や、稼働中のシステムに影響を与えずに実験を行う時などに使う。
・AKに気を付けろ
リアライズシステムの実証コードと言っても、すべてのソースをアキエル一人で書いたわけではない。
既存の流用できるコードもあれば、彼女の部下が書いたコードもある。
で、識別とか責任所在を示すため、ソースコードのトップコメントには書いた人の名前が記載される。
それは本名ではなく、略号で書かれる事が多い。
それがアキエルの場合、「AK」という訳。
「気を付けろ」とは、イミフなコードや、無駄なコードがあるから注意しろという事。
まぁ、彼ら基準での話だがな。
2024-01-20 誤字修正(用語集)
コンパイルラ → コンパイラ