6話 魔法管理システム
※ハニワが作ったシステムについて長々と語っていますが、最後だけ読めば大丈夫です。
(プログラマの面倒臭さを表現しています。ご了承ください)
魔法の光に照らされたのは、見るからに凶悪そうな面構えの巨大ネズミの群れであった。
マッドラット。動くものに見境なく襲いかかり喰い尽くすネズミだ。全部で……7匹か。
別の獣の死骸に群がっていたところを照らされ、警戒しながら一斉に振り向く。
その先にあるのは……見るからに間抜けな面構えのハニワである。
謎の闖入者に驚くこともなくネズミは牙をむき出してハニワに飛びかかる。
「『呪球』」
ハニワの呟きとともにその眼前にスクリーンが浮かび、そこに魔法陣が瞬く間に描かれる。
魔法が発動して新たに生み出された魔力球は空中でネズミに直撃して弾き飛ばした。
跳ね返されたネズミは地面をバウンドして再び戦闘態勢を取り、魔力球の方は軌道を逸らされて壁に衝突して消える。
よし、問題なく使えるな。これが基本形だ。
そもそも威力はこの程度の魔法だ……普通ならば。
魔法による突然のダメージに面食らったようだが、再び飛びかかるために構えるネズミ。今度は複数で連携して攻撃を仕掛けようとしているようだ。
次のテストを開始する。
「『呪球:破裂』」
引数つきで並列起動したスクリーンの魔法陣は、今度は俺の周囲に5つの魔力球を同時に生成した。これが今の限界だ。
3匹ネズミが地を蹴った瞬間に射出し、逃げ場のない空中で迎撃する。
バァン!
命中した魔力球が破裂した。
内部に蓄えられていたエネルギーが解放された衝撃波はネズミたちを切り裂いて吹き飛ばし、壁に叩きつけた。
今度は地に伏したまま動かなくなる。
威力は倍以上──魔法のカスタマイズは成功だ。
2匹には2発当てたが、1発で十分なようだ。オーバーキルだったな。
残り4匹のネズミたちは警戒したか、俺の周りをぐるぐると回り出した。
逃げるのではなく背後からの攻撃を狙っているのか。意外と知能が高い。
「『呪球:衛星』」
今度の5つの魔力球はハニワの周囲を衛星のように旋回し、背後から襲いかかるネズミを自動迎撃する。
撃ち落としたネズミに間髪入れず追撃を叩き込み、トドメを刺した。
これで全部だ。
『解析』──1匹につき20DMPか。全部で維持コスト2日分くらいだな。こんなものだろう。
死骸を吸収するようにダンジョンコアサーバーに指令を出す。
新たな戦法は通用する──いや、想像以上の成果だ。
すばしこいマッドラット7匹は以前なら苦戦必至。勝てても傷だらけだっただろうが、今回はなんと無傷である。
ハニワは人間より強いことが証明された。なんか悲しい。
テストの結果をフィードバックするため一度帰還する。
計画・実行・評価・改善。
PDCAでシステムを改良するのだ。
──────
青の輝きを放つダンジョンコアの前で座り込むハニワ。
さぞかし絵になる光景だろう。
さて──今回の戦闘結果を元に、作りかけのシステムのアップデートをおこなう。
俺が作っているのは魔法管理システム。
残されたわずかな時間の中、丸2日をかけて作成したシステムの最終調整だ。
古代魔術により魔法を発動させるためには複雑な魔法陣を正確に描く必要があった。
今までは魔石粉のチョークを使い、魔力を込めて10分かけて丹念に描いていた。職人技である。
生まれてから今まで役に立った試しのなかった俺の『幻視』スキル……魔力を帯びた幻覚はイメージによる魔法陣の描画を可能とした。
だが、記憶から寸分の狂いもなく描画するためには極度の集中が必要だった。戦闘中に動きながらではそれは難しい。
それを解決するために『幻視』によりエミュレートされたPCでプログラムを書いて管理システムを作ることにした。
複雑な魔法陣の描画手順を分割して画像データとしてデータベース化し、起動コマンドによって自動で指定された順番に仮想スクリーンに再生する。
アニメーション画像方式……早い話がパラパラ漫画の進化形だ。
この方式を採用したことにより集中も不要で、魔法の起動時間は10分から驚きの1.2秒に短縮された。これは初級の詠唱魔術よりも速い。
さらにだ。
ダンジョンコアからダウンロードした『アーカイブ』。
そこで得た古代魔術知識の情報からは、魔法の作成ルールを抽出できた。
なにができるかというと……コンパイラだ。
今まではできあいの魔法を扱うことしかできなかった。
古代魔術の魔法陣はビルド済みのバイナリファイルのようなもので、『呪球』なら魔力球を投げるだけ、『探査』なら魔力波を放って物質の所在を探るだけといった決められた効果しか発揮できなかった。
しかし、コンパイラの作成によって魔法陣からプログラムソースコードへの逆コンパイル、改修したソースコードから魔法陣への再コンパイルが可能となった。
つまり魔法をカスタマイズすることができるのだ。
逆コンパイルしたソースコードはそれはもう酷い有様だった。
いわばGOTO文だらけのしっちゃかめっちゃかなスパゲッティ・コードである。
サブルーチンや構造体などの概念もないようでそこかしこに同じような処理が書いてあったりする。
それを整理し、さらに引数によって発動時に効果を調整できるように改良した。
俺の書いたプログラムコードはちゃんと魔法として発動できるようだ。
結果として『呪球』の魔法は立派な汎用魔法として変貌を遂げた。
光量を上げて照明として利用したり、着弾時に破裂させたり、周囲に漂わせて自動迎撃をさせたりという応用が可能になったのだ。
管理システムには他にもダンジョンコアをサーバーと見立てたクライアント機能やアーカイブの検索機能も持たせてあり、ウィジェットと呼ばれるパーツ単位でトップ画面に置いて簡単アクセス。
IDEをさらに拡張した統合管理システムというところだ。
よし、調整完了。
これでバージョン1.0の正式リリースだ。
名前をつけないとな……うーん、名付けは苦手なんだ。センスが足りない。
ハニワ……いや、ハニワはすぐ卒業の予定だ。
魔法のソースコードを管理する……
ダンジョンコア……書庫を元に作り上げた……
……よし、決めた。
「魔法管理システム『Code-X』、起動」
起動処理が始まる。
いくつものスクリーンが閃くように開く。
黒い背景に高速で流れるログの緑文字。
スクリーンに表示された魔法陣が連結し、ひとつのシステムが完成する。
世界が、変わる──




