022 飛行魔法の開発①
物理学における4つの根源的な力は電磁気力・強い力・弱い力・重力なんだけど、多分こっちの世界でも同じだろう。
これらを直接的に取り扱う魔法(というかAPI)はこの世界(OS)に用意されているのだろうか?気になって仕方ない。
なにしろ、これらの自由な操作はどれも非常に危険な結果をもたらすことになるしな。
例えば、電磁気力についてはクーロン力制御によって荷電粒子砲の魔法とか作れそうだし、できるのならば作ってみたい。
強い力は原子核を構成するための力で、弱い力は原子の放射性崩壊に関する力だ。どう考えてもやばいにおいしかしない。
核分裂や核融合なんかを実現できちゃうな。非核三原則!
重力はほかのと比べると危険度は低そうだが、完全に重力の影響をゼロにすると多分宇宙に放り出されるだろうな。この惑星は自転も公転もしてるのだから。
うむ、やはり4つの力は危険だな。
既存の詠唱魔法にも魔導書にも4つの力を制御するような魔法は無かった。やはり、できないということなのか?
できれば重力制御によって空を自由に飛びたいものだ。タケ〇プター。
前世における魔女のイメージはほうきに乗って空を飛ぶものだしな。魔女宅は名作だ。あとストパンとか(ほうきじゃなくてスト〇イカーユニットだけど)。
重力制御ではなく、風魔法で飛行魔法を実現することは魔法陣を使えばできそうなんだけど、それが載っている魔導書を探すか(存在するかどうかすら分からんけど)、自分自身で作るしかない。
作ったほうが早そうだな。
要件定義から始めて、まずは基本設計を行う。さらに詳細設計で細かい部分を作りこんで、最後にコーディングだ。
コーディングといってもプログラムコードを記述するのではなく、魔法陣で使う言語を使ってその機能を記述していく作業だけど。
本当に【全言語理解】には感謝だな。
コツコツと魔法陣を組み上げていく作業。つ、ツライ。
あぁコンパイラが欲しい!
詠唱呪文のような自然言語による手順書を読み込んで魔法陣に変換する魔法だ。
まずはコンパイル魔法(魔法陣変換魔法)から作るべきだったか?
言うなれば、高水準言語を使わずマシン語で直接プログラミングしているようなもんだからな。ツラすぎる、まじで。
でもコンパイラって、字句解析や構文解析、意味解析とかやらないといけないし、これまたきつい作業になりそうだけどね。
前世でも作ったことないんだよね。だって既存のコンパイラがあるんだもん。車輪の再発明は致しません。
設計に取り掛かって一週間、実装に取り掛かって三週間。毎日少しずつ魔法陣の形が出来上がっていく。
途中で何度か発動実験を行い、テストしながら組み上げていく。
なのでスタートアップルーチンは早い段階で組み込んだし、魔力吸収モジュールのマルチスレッド化も終わっている。
なお、最終的には発動者自身が空を自由に飛べるようにするつもりだけど、テストするのが怖いので指定対象物を風魔法で浮かせる形で作っている。
いわゆる前世におけるドローンみたいな感じだな。
いや、自分が飛んでるときに魔力供給が止まって、いきなり落下とかいやだよ。怖いじゃん。
結局、要件定義から一か月半ほどかかって飛行魔法の魔法陣(アルファ版)が完成した。
もっともここからテストで不具合を抽出していき改修していく作業が始まるので、実際にはまだ完成じゃない。
ここからベータ版、RC1、RC2と完成度を上げていく。
まぁ、とにかく発動してみるかな?
脳内メニューを作るのが面倒だったので、鑑定魔法と同様に指定対象物を目視してから発動する。
羽ペン(またかよ)を見つめてからスタートアップルーチンに魔力を供給すると、羽ペンから風が噴出したのか空気の流れを感じた。
一瞬で天井まで到達した羽ペンは天井にぶち当たって大きな音をたてた。慌てて魔法を中断すると羽ペンが落下してくるのですかさずキャッチ。
部屋の外からメイドの声が聞こえる。
「お嬢様、大丈夫ですか?何かありましたか?」
現在部屋の中には私一人だけで、勉強中は誰も入れないようにしている。勉強じゃないけど。
メイドも勝手に入室できないんだけど、大きな物音がしたので気になったんだね。
「心配しないで。何でもないわ。ちょっと羽ペンを落としてしまっただけなの」
落としたにしては大きな音だったはずだけど、メイドは納得したのか引き下がった。
あと、羽ペンが壊れていなくて良かった。100,000エント。
しかし、やっべぇな、これ。人間で試さなくて良かった。
ドローンのように一定高度をホバリングするような機能が必要だ。…って設計時点で気付けよ、私。
となると、高度を測る機能が必要になるけどどうやって実現しよう。
高度計なんて仕組み知らねぇよ。
うーん、スロットルの開け閉めという手作業による高度調整しかないか。
ていうか対象物の重量によっても風の出力は変えなきゃならんよな。難しいな、これ。