表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

PR
15/65

第2章 Ep5:魔導開発3(弾幕展開)


波動砲メガ・クラッシュは強力だけど、致命的な欠陥があるわ」


 私は冷却中の杖を撫でながら、冷静に分析した。

 一撃必殺の威力はある。しかし、発射後の硬直クールダウンが長すぎる。その間、敵は好きなだけ行動できる。

 それに、敵は一直線に並んでくれるわけではない。現実は不親切だ。


「数学的に考えてみてよ。仮に100人の騎士が『縦隊』で行軍してきたとしても、最前線と最後尾の間隔は少なくとも50メートルはある」


 私はペンをくるくると回しながら、黒板上の図形へと視線を落とした。

 黒板には、騎士たちを表す円形の記号が散らばっている。


「最強の一撃で敵を50人減らしたって、残り450人よ。その間、私はただの『無防備な杖持ち』。次の詠唱を完成させるまでの3秒。敵さんたちはその間に、何メートル突き進むと思う?」


 計算は簡単だ。騎士団の行軍速度は秒速15メートル。つまり45メートル。

 領地の防壁から決戦地点までは200メートル。波動砲を4発撃つには12秒かかり、その間に敵は180メートル進む。つまり20メートルの距離まで詰められる。


「近い。近すぎる。その距離では、もう波動砲の威力も存分に発揮できない。装甲に阻まれたり、飛び散った破片で防壁が崩れたり、随伴する聖女の妨害魔法を喰らったり……」


 私は黒板の図に、複数の矢印を描き足した。上から、左から、右から、異なる角度から敵が流れ込む図だ。


「500人の騎士団が『散開』して攻めてきたら、一本のビームじゃ対処しきれない。物理法則上、不可能よ。必要なのは『面』を制圧する『絶対防御」、もといマウス。いや違った、『弾幕』よ」


 言い間違えて自分でため息をついた。前世で20年も過ごせば、こういったことが増える。


「古き良き『弾幕シューティング(バレットヘル)』。10年代後半のSTGの頂点。東方、Caveの流れを汲む、最高の芸術形式」


 私は新しいページを開き、弾幕を表現した図を描き始めた。

 画面全体を埋め尽くす、無数の点。赤、青、黄、緑、紫。色とりどりの魔力弾が、幾何学模様を形作る美しい図形。


「敵ユニット一体の当たり判定なんて、歩兵の肩幅分くらい。2メートルだ。けど、画面に映る同じサイズの敵に対して、マップ上の100体を同時に狙うなら?」


『でもお嬢、そんなに魔法を乱射したら、魔力回路がショートしちゃうよ?』


 ジェムが心配そうに割り込んできた。この使い魔はいつも機敏だ。正しい懸念だ。


『数百個の魔法弾を『同時に』操ると、魔力フロー(魔力の流れ)が複雑化しすぎる。人間の脳(CPU)じゃ、そんな複雑な計算を並行処理できないよ』


「ええ。通常の人間の脳ならね」


 私は薄く笑った。


「だから『並列処理マルチスレッド』させるのよ。システム設計の基本」


## 2. 魔法陣の民主化


 羊皮紙を広げ、私は魔法陣の設計図を複数枚用意した。

 基本となるマスター魔法陣はマスターコピー。そこから、同じ構造を持つサブ魔法陣を無数に複製コピーしていく。


「重要なのは『責任の分散』よ」


 シャルルが机の上から聞いている。


『責任ですか?』


「そ。魔法陣という知性体プロセスに『責任』を持たせる。ね、こういうイメージよ」


 私は図を描いた。


 【親魔法陣】

  ├→『射撃指令:パターンA、開始』

  └→【子魔法陣群】(計64個)

     ├─① 角度0度方向へ弾を発射。弾道計算は自分でやれ

     ├─② 角度5.625度方向へ弾を発射。落下計算は自分でやれ

     ├─③ 角度11.25度方向へ弾を発射。障害物判定は自分でやれ

          …以下60個続く…


「メインの魔法陣(親プロセス)がやるのは『撃て』という命令と、『弾幕パターン』の選択だけ。個々の弾道計算、落下判定、衝突判定——全部、独立した子魔法陣たちが『自律的に』処理する」


『つまり、あたしたちが計算の荷物を分け合うってわけね』


 ロキが頭をつかんだ。


『そしたら、お嬢の脳負荷は64分の1に?』


「いえ。実際には64個で四捨五入。使い魔どもの処理能力も信用できないから、スケジュール係として20%の余裕も見積もる。つまり、実質『50倍の効率化』ね」


 私はペンでマーカーを入れていく。


「パターンA:『自機狙い』。敵の位置情報をキャッチして、全弾がその地点に集中。回避不能の破壊力」


「パターンB:『全方位拡散』。360度全て同時に弾を放つ。特に有効なのは『複数敵が囲んできた時』」


「パターンC:『ランダムばら撒き』。敵の予測を難しくする。見た目も美しい。何より、敵も『どこに着弾するか分からない不安感』に陥る」


 私の手はペンを握ったままだった。


「パターンD以降も構想中だけど……とりあえずA〜Cまで実装しよう」


 関数の美学に浸っていた。


```

for (int pattern = 0; pattern < 3; pattern++) {

for (int i = 0; i < 360; i += angle_step) {

if (pattern == A) { target_angle = calculate_enemy_position(); }

else if (pattern == B) { target_angle = i; }

else { target_angle = i + random(-30, 30); }


Fire_Child_Process(target_angle);

}

}

```


 この美しいループ処理。二重ネストで、複雑な計算を『読みやすく』『簡潔に』表現できている。


「昔のゲーム業界人は、こういう『美しさ』に命を懸けてた。容量が足りなくて、効率を追求し、その結果『古い』ゲームほど洗練されている。何というアイロニー」


『お嬢、いい加減に…』


 ロキがぼやいたが、私は聞く耳を持たなかった。


「さあ、実験開始よ。今夜が山場。テスト用のダミー敵を、最大数で展開しなさい」


『了解……。仮想敵ダミー設定:難易度『地獄』、敵数40体同時展開をスタンバイ』


 ジェムの気のない返事。だが、その声の奥には『もう止められない』という諦めと、ほのかな期待が混じっていた。


## 3. スペルカード発動——美の結晶


 午前10時。地下室の空気は既に張り詰めていた。


 テスト用の木人たちが、円形の配置で待機している。敵兵を模した40体のダミー。装甲は実物同等のミスリル合金製。重さも、硬度も、すべて本物と変わらない。


 私は深呼吸をした。


「来るわよ。『東方の美学』を、異世界へ。歴史に名を残すスペルカード『ハチのビーハイブ』」


 杖を掲げた。


 指先で複雑な軌跡を描く。上、下、左、右、反時計回り一回転。母国の言葉で呪詞を唱える。異世界の言語は間違える危険性があるからだ。


 次の瞬間——


 杖の先端に、光の粒が集結し始めた。


 最初は儚い光。次第に濃度を増す。赤は炎の色。青は冷気の色。黄は電撃の色。その光たちが、無数の結晶へと変化する。


『ひゃっ!? 仲間がいっぱい!』


 ロキが外部から中継している。


 私の周囲に浮かぶ4つのオプション(実は小型の独立魔法陣)が、高速で回転し始める。毎秒30回転。毎秒300回転。毎秒3000回転。


 回転が光の残像となって、私の身体の周りに『円形の壁』を作り出す。


 次の瞬間。


 ズバババババババッ!!!


 破裂音が響いた。


 いや、『破裂』ではない。同時に数千の弾が解き放たれる音。魔力が物質化する『歓喜の叫び』だ。


 赤、青、黄、緑、紫——5色の魔力弾が、らせん状に拡散していく。


 最初の秒間に、空間に50個の弾が存在する。次の秒間に、200個。さらにその次に、800個。


 もはや『弾』ではなく『弾の雨』。『弾の霧』。『弾の壁』。


 視界は光に満ちた。


『ああああああああ!? 隙間がない!』


 ロキが悲鳴を上げる。


 その隙間のなさは『意図的』だ。計算された美学。


 各弾幕パターンは、60度間隔で放出される。各パターン内では、5.625度間隔で細分化されている。つまり、360度を64分割したグリッド内に、隙間なく弾が配置されるのだ。


 この密度なら、『グレイズ』と呼ばれる『かすり判定』すら存在しない。敵が存在する空間そのものが、弾で満たされているからだ。


 木人たちは瞬く間に蜂の巣となった。


 アニメのように『煙が出る』のではなく、物理的に『削られている』。ミスリル装甲の表面が、魔力弾の連続着弾で、次々と削落さくらくされる。


 10体が消滅。20体が消滅。30体が消滅。


 最後の40体目が、弾幕に飲み込まれるのに、要した時間は『3秒』。


 だが、弾幕はここで終わらない。


 壁に当たった弾が、そのまま『反射』する。


 リフレクト機構を実装したのは、数日前だ。弾が壁面に当たった際、その壁の角度によって反射角度を自動計算。跳ね返る弾は、さらにカオスな軌道を描く。


 一度反射した弾が、別の壁に当たり、再度反射。その反射した弾が、床に当たり、再度反射。


 もはや『チェス盤』の上で『ボールを無限に転がし続ける』状態。


 部屋中が光で満ちた。音が満ちた。魔力の臭いが満ちた。


「あ、あはははは…………」


 私は笑った。止められなかった。


「見て。『見て、見てよ』!」


 笑いの中に、狂気が混じっていた。


 いや、違う。これは『喜び』だ。


 SEとしての『本能的な喜び』。


 自分が設計したロジックが、設計通り『完璧に』動作している。その快感。


 何の無駄もない。何の誤算もない。『数学的美学』が、このリアルな世界で『実装』され、『実行』されている。


 これは、かつてプログラマーたちが追求した『最高の瞬間』。


 容量が限られていた時代。プロセッサが遅かった時代。その中で、いかに『美しく』『効率的に』コードを書くか。


 その『芸術性』が、ここに。


 このクソみたいな異世界に。


 実現している。


『あ、あの……お嬢様?』


 シャルルが怯えた声を出した。


『これはもう、『貴族の嗜み』を完全に超えています。もはや……『虐殺兵器』です』


 シャルルの言葉は正しかった。


 床は焼け焦げ、壁は削られ、天井は穴が開いている。


 ダミーの残骸は『粉』になっていた。


 だが、私は杖を下ろさなかった。


「あと『6秒』……」


『え?』


「パターン『ハチの巣』のループは12秒が基本。すでに『6秒経過』したから、あと6秒で『一つのサイクルが完成』する」


 私の目は、もはや『人間的な輝き』を失っていた。


 代わりに、そこにあるのは『開発者の目』。


 『この美しい現象をすべて見届けたい』という執念。


 残り6秒。弾幕は依然として、反射を繰り返している。


 赤と青が衝突して、一瞬『紫』に見える。その瞬間の美しさ。


 黄と緑が交差して、『渦』を作る。その渦を貫く別の色の弾。


 物理演算とアルゴリズムが、『芸術作品』に昇華している。


 ようやく、最後の弾が、壁の最後の反射を終えて、消滅した。


「……はぁ、はぁ」


 私が杖を下ろした。


 地下室は『焦土』と化していた。


 熱風が吹き抜ける。焦げた魔力の臭い。木人の残骸。壁の損傷。


 だが、私の目には、そのすべてが『美しく』見えた。


「完璧だ……」


 つぶやく。


 この瞬間が、『デスマーチの中で最高の瞬間』だった。


『…………お嬢様』


 シャルルが、怯えたというより『呆然とした』声を出す。


『あなたは……もう『戦闘兵器』ですね。貴族ではなく』


「失礼ね」


 私は額の汗を拭った。


「これは『芸術アート』よ。兵器ではなく『完成度の追求』」


 自分の言葉に、自分が笑った。


## 4. 最適化と統合


 テストデータを分析する。


 弾幕展開における『魔力消費量』は、波動砲の『3倍』だった。


 だが、『効率(ダメージ/魔力消費)』は、波動砲の『5倍』だった。


 なぜなら、波動砲の弱点は『敵が散開すると無駄になる』という点。対して弾幕は『どう散開されようと、必ず数体は被弾する』という『確実性』を持つからだ。


 散開した500人の騎士団を相手にした場合、波動砲×4では180人程度しか撃破できない。対して、弾幕『ハチの巣』×2なら、240人の撃破が理論値だ。


「これで『火力(波動砲)』と『汎用性(弾幕)』が揃った」


 私は黒板に、戦略図を描き直した。


 【作戦図】

 敵の形態が『縦隊』→波動砲を使用

 敵の形態が『散開』→弾幕を使用

 敵が『混在』→波動砲+弾幕の『チェイン攻撃』


「あとは、これらを『統合』するだけ。そして……」


 私は目を細めた。


「『隠し機能』を仕込む時間も必要ね」


 デスマーチはまだ終わらない。


 むしろ、ここからが『本番』だ。


「次はいよいよ『仕上げ』よ。完成度を100%に、そして『ボーナスステージ』の実装」


 デバッグ合宿。


 開発者の特権『隠しコマンド』。


 その『裏技』を実装することで、初めて『完全版』となるのだ。


 私の目は、依然として血走っていた。


 デスマーチ特有の『ランナーズハイ』。


 睡眠8時間分を魔力で無理矢理補填する状態。


 理性は、ほぼ消滅している。


 だが、そこにあるのは『純粋な執念』。


 『マリエルとグレン団長を迎え撃つ準備』はいよいよ『最終段階』へと突入した。


評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

↑ページトップへ