第130話 魔法開発のすすめ~オブジェクト指向編~



 センの仕事部屋で、完全に仕事の手を止めたセンとハルカが魔法談議で盛り上がっている。

 ナツキかニャルサーナルがこの場に居れば、そろそろツッコミが入ってもいい頃ではあったが、生憎二人は今この家にはおらず二人の話は止まらない。


「魔法を覚えることが出来る容量は人それぞれだからな。ナツキみたいにいくらでも覚えられる例外はさておき、普通の魔法使いは五から十くらいの魔法を覚えるので精一杯なんだろ?」


「はい、そうらしいです。学府の研究室では、魔法式をどこまで短縮できるかというような研究も盛んでしたね」


「なるほど……短縮は確かに容量を有効に活用するという意味と発動速度を早くするという意味で有効だが……魔法を覚える量を劇的に増やせるかというと少し難しいだろうな」


「確かに、発動速度という意味ではかなり成果が出ていたみたいですが……魔法を覚えることが出来る量を増やすという点では、あまり成果が出ていなかったみたいです」


 そう言って、研究所にいた知り合いたちの苦悩を思い出すハルカ。成果の出にくい基礎研究部門は風当たりが強く、本当に苦労していたらしい。


「まぁ、そうだろうな。だが、この魔法式から別の魔法式を呼び出す技術を使うと、魔法式を短縮するよりも効率的に覚えられる魔法を増やすことが出来る」


「……ごめんなさい、やっぱりなんでそうなるのか分からないです」


 少し考えた後、肩を落としてハルカが言う。


「いや、気にする必要は無い。この考え方はプログラミングにおける考え方でな」


「プログラミングって……パソコンでゲームとか作る?」


「あー、まぁ、ゲームとは限らないが……そのプログラミングだ」


 ハルカが首を傾げながら言うと、センは苦笑しながら答える。


(まぁ、普通の高校生ならその程度の認識なのかもな)


「まぁ、プログラミングについて詳しい話をしても仕方ないから魔法式で説明するが、先程例で出した火の玉の魔法に必要な容量の十だが、これをパーツに分解するんだ。火を生む魔法式、球状にする魔法式……各種パラメータを設定する魔法式、撃ち出す魔法式。大雑把に言ったが、これを細分化する……火の玉を撃ち出す魔法を使うのに必要な魔法式を十個程に増やすんだ」


「えっと……火を生み出す魔法式から球状にする魔法式を呼んでそこからさらに次の魔法式を起動……って感じで数珠繋ぎにするってことですか?」


「正確には少し違う。イメージ的にはこうだ」


 そう言ってセンは紙に大きな丸を一つ、小さな丸を四個書いた。

 小さな丸の中には火、玉、パラメータ、発射と書き、大きな丸の中には起動、呼び出し、終了と書いてある。


「この大きな丸が火の玉の魔法の魔法式だ。今まではこの大きな丸の中に魔法式の内容を全て書き込んでいたが……俺がこれからやりたいのは、火の玉の魔法を使うためにこの大きな丸の魔法式を起動、その後パーツ化した小さな丸の魔法式を順番に呼び出していく……小さな丸の処理が終わったら大きな丸に戻り次の小さな丸を呼び出す、これを繰り返し全ての処理が終わったら大きな丸の処理も終了、魔法が発動する」


 センは説明をしながら大きな丸と小さな丸の間に、呼び出し、終了と書いた矢印を引いていく。

 ハルカは真剣な表情でセンの書く図を見ながら理解しようと話を聞き、疑問を口にする。


「えっと……これだと余計な魔法式が増えるってことになりませんか?先程の容量で言うなら……十一みたいな感じに」


「そうだな。ハルカの言う通り、魔法式は大きくなってしまう。内訳的には……大きい丸が四、小さい丸が二の四つとしておこうか、合計で十二。二割増しだな」


「あ、あー!そういう事ですか!」


 センの説明に言いたい事に気付いたハルカが珍しく大きな声を上げる。


「そこで、ほぼ同じ魔法式を使う水の玉、氷の玉、風の玉を撃つ魔法式が出てくるわけですね?」


「正解だ。水、氷、風の玉を撃つ為の大きな丸の魔法式をそれぞれ用意して、その魔法式の中で火の玉の時に使った小さな丸の魔法式を流用するんだ。火の玉と合わせて大きな丸が四つ、小さな丸も四つ……容量的には二十で済むって訳だ」


「凄いです……本来であれば四種類の魔法を覚えるのに容量を四十必要としていたのを、この方法なら半分に……この為に魔法式から別の魔法式を呼び出す方法を研究していたのですね。確かにこの方法なら、今までよりも多くの魔法を覚えられる可能性があります!」


 ハルカが興奮しながらセンにキラキラした目を向けるが、そんな視線を受けて苦笑しながらセンは口を開く。


「凄いと思ってくれるのは嬉しいが、これは別に俺が考えた方法じゃないからな?さっきも言ったがプログラミングで使う手法だ。色々なパターンの小さな丸……汎用化したパーツを用意することで開発速度を上げることが出来るし、パーツの事を知っている人間にとっては魔法式の可読性が上がり、逆にパーツの事を知らない人間にとっては難読化にもなる」


「開発速度を上げて、魔法を覚える量を増やして、可読性の向上と難読化……確かに魔法式を呼ぶ方法だけでこれだけの事を可能に……プログラミングって凄いですね」


「学府の研究者とは比べ物にならないくらいの人数が携わっている物だしな。式を書いて結果を出すという仕組みがプログラムその物だったとは言え、考え方を流用出来て良かった」


「こうなるとパーツの開発も進めないといけませんね……」


「そうだな。まぁパーツの中身自体は、既存の魔法式からそのまま移して少々手を加えるだけで済むし、問題はないだろう。リファレンスも作らないといけないな」


 自分で開発した物とは言え、やることが増えたセンは若干げんなりした表情を見せる。


「リファレンスって何ですか?」


「あー、これから開発が進んでパーツの数が膨大になって行ったら、流石にそれを全部は覚えていられないだろ?それを参照するための資料みたいなもんだ。流出すると危険な資料になるから取り扱いには注意だな」


「分かりました。あ、私の方も頼まれていた魔法の開発がいくつか終わっているので、確認をお願いしていいですか?」


 そう言ってハルカは自分の机に戻り、資料を持ってセンの傍に戻って来る。


「もう三つも出来たのか……凄いな」


「あはは、このエアコンの魔法は早めに欲しかったので頑張りました。ところでこの乾燥させる魔法と湿度を上げる魔法は何に使うんですか?」


「乾燥させる魔法は色々だな。陶器を焼く前の乾燥させる時間を短縮したり、木材や薪を乾燥させたりも出来る。やりすぎ注意だが、その辺の調整は各々に頑張ってもらおう。湿度を上げる魔法はそのまま加湿器だな。冬になれば出番が増えるだろう。ナツキが帰ってきたら、早速使ってもらうとするか」


「もう覚えて貰っているので帰ってきたらすぐに使えますよ」


「そりゃ助かる。二人は……今日は十階層だったか?」


「はい。その予定で聞いています」


 センの言う二人……ナツキとニャルサーナルは本日ダンジョンに行っている。

 数日おきにダンジョンに潜っている二人は順調に到達階数を伸ばしていき、今日はついに二桁階層に挑戦していた。


  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る