やはり俺の相棒が劣等生なのはまちがっている。   作:読多裏闇

58 / 58
今回は解説回となります。
ですが、魔法の解釈が矛盾なく読み取ると恐らくこうなる、というものになりますのでその点留意して楽しんでいただけると幸いです。


九校戦編30

~達也side~

 

 

 

 ”現代魔法と古式魔法の優劣はCADの有無だ”などという的を得ているようで見当違いな発言が流布される程度にはCADと言う存在が社会に与えた影響は大きい。

 昨今の魔法師と言う存在はCADを用いて魔法を扱う人間

 確かに現代魔法は古式魔法と比べて優秀な部分が多い。

 だが、魔法発動を現代科学の結晶である電子計算を組み込むことで安定かつ高速化する現代の魔法の杖を単純に"現代魔法が優れている”で片付けるのは、いささかお粗末な理論と言わざる得ないだろう。

 何より"何故、優秀なのか"の点への説明が薄すぎてCADが魔法においての万能の神具かのような理論ではお笑い草だ。

 では、CADが魔法師にもたらした一番大きな恩恵とは何か。

 

 "魔法式を作る速度"である。

 

 魔法師のCAD操作の基本は3段階。

 

1.CADを自分のサイオンを用いて操作し必要な起動式を選択する

2.CADが計算、処理を行った起動式を受け取り魔法演算領域にて魔法式へと変換する。

3.魔法式を元に魔法を放つ。

 

 古式魔法はこの起動式の構築をすべて”人力”で行っている事が速度において現代魔法と大きく差が出ている原因だ。魔法的な演算処理とは言え、コンピューターで行うレベルの計算を暗算で行っているに等しくどうしても差が出てしまうのは仕方がないだろう。

 また、起動式を魔法式に変換する際に”変換しやすい形”で起動式を構築できるかどうかが魔法師側の技量になっている点も速度低下の原因になっている。

 CADは機械故にプログラム上の問題がなければ最適な形での起動式を出力する事が可能な為、そのCADの調整が合ってさえいればそこに魔法師の技量が介在せず、安定かつ最適な起動式で魔法を放てる。

 これが現代魔法が古式魔法より優れている、と言う勘違いを生み出した原因だ。こうやって速度という一点で見れば優劣があるように見えるが、勿論現代魔法にも問題はあるし古式魔法にも現代魔法では表現しきれない優れる点がいくつもある。

 その最たる例として言えるのが「現代魔法は良くも悪くもプログラム的な魔法になる」というものがある。人間らしい"曖昧さ"を機械では数字として処理しなければいけない。

 言い換えれば、古式魔法は機械的処理を挟まないが故に人間固有の程度解釈による処理が出来る点で秀でていると言え、「風を吹かせる」等の魔法を現代魔法で表現すると多段階かつ複雑なものになるか別の現象を利用した間接的な魔法にした方が表現しやすいと言う回りくどいものになってしまったりする。

 

 閑話休題(それはさておき)。

 

 今回古式、現代魔法の特徴について考えてしまったのはこの「現代魔法は良くも悪くもプログラム的な魔法になる」という性質が、八幡にとってあまりにも都合が良すぎる事を再認識したからだ。

 事実、あいつはこの段階においても事前準備をスケジュール通り繰り返しているだけだからな。

 

「達也、あの魔法どういう処理形態になってるんだい?」

 

 幹比古のこの質問が出たのは八幡のピラーズブレイクの試合終了間際。浮かせた氷を上から落として破壊した瞬間だった。今は深雪のピラーズブレイク決勝進出が確定し(八幡の試合が見たいが故にゴリ押しだった)よって次の試合までの時間がかなりあいてしまい手持ち無沙汰となったのもあって少し八幡戦を見ることにした。

 まぁ、余裕をもっているのは八幡の試合がすぐに終わる、というのもあるが。

 

「普通に持ち上げの後に氷をまとめて落としただけでしょ?

 何か変?」

 

「幹比古が気になっているのは終了条件についてだろう?」

 

 エリカが疑問に感じるのは魔法師であっても不思議ではない。

 本来魔法師はCADに記述した起動式を中心にして変数を変えることで魔法を処理する為終了条件等の処理は記述しておいたものをそのまま使うのが基本だ。細かいプログラム処理までしっかり理解できていない場合も珍しくない。起動式における終了条件の意味を正確に理解できていないのも学生としてはむしろ普通といっていいだろう。

 特にこの質問は起動式記述がちゃんと理解出来ている魔法師でもちゃんと考察しなければ気が付かないところなので幹比古の優秀さがよく分かる。これはある意味古式魔法師故の気づきといえるか?

 

「みんなが知っている通り魔法式を構築するための起動式は対象物の指定、魔法のプロセス、事象改変の影響の調整などの他に、魔法の終了条件を記述する必要がある。

 今回の場合は魔法を浮かせる工程、その後浮かせることが出来なかった氷の上に氷を集める工程を挟み、集積した段階を終了条件として事象改変を終える様にプログラムされている。

 だが、昨日までの試合ではそもそもとして全ての氷が浮き上がってしまっている為、本来ならば終了条件を満たすことが出来ない。」

 

「氷を集める場所が指定できないから、だよね。残っている氷の上で集積するっていう定義式だったら変数がそもそも入力されないってことだし。

 終了条件が枝分かれする事はないから、魔法の発動途中に定義破綻して魔法が・・・あ。」

 

 説明を引き継ぎつつ考察して気が付いた様だな。

 流石だな。

 

「幹比古は察したみたいだが、魔法は定義破綻して”その後の処理を行えず”終了する。

 終了といっているが所謂定義破綻による進行不能だから、魔法発動失敗という状況だ。

 途中、しばらく空中に浮いているのは座標入力が行われるまでの時間に遊びを持たせているせいで浮いているだけで入力が無ければ強制終了する。

 もちろん今回の場合は全て氷が浮いていれば変数が入力されることはないので強制終了することは変わらない。」

 

「じゃあ、わざと失敗するように魔法撃ってるってこと!?

 しかも、相手が魔法を妨害することに”失敗して”ちゃんと魔法が動いたら魔法が失敗するようになってるって事よね?」

 

「ほぼほぼ正解だ。

 正確には「終了条件を満たさない可能性がある不完全な起動式をあえて使っている」だな。」

 

 「性格悪そうな魔法・・・。」というエリカのコメントは比較的的を射ていると言えるな。

 そもそもとしてCADによる現代魔法は決められた工程を一本道で処理する。

 起動式に記述された魔法を枝分かれや分岐をせずに基本的に全ての工程で実行して終了条件を伴って完了するものだ。何らかの条件付けを行うのも次の工程へ向かうための条件等の場合のみだ。

 八幡の場合では特定の高さまで氷が上昇した段階で氷そのものが収束する座標を自動で決定し次の工程に移行する。基本的に複数の終了条件を持った魔法は記述出来ないとされている。

 例外として言えるのは常駐型魔法だ。

 常駐型魔法は現代魔法におけるプログラム的な性質を大きく活用出来る面があり、魔法を常に制御下に置くことで特定条件によって発生する事に対して魔法的に対処するプログラムを走らせ続けることが出来る。簡単に言えば、プログラムの条件式や性質が使えるということだ。

 例えば雫が使った能動空中機雷(アクティブ・エアー・マイン)では「仮想エリアで個体物を関知した場合に術者がトリガーを引けば検知範囲の物体に振動を与える」という状況によって処理が変わるという定義式で、FLTで作った汎用的飛行魔法ではサイオン補充効率が規定値を下回ると1/10Gで軟着陸するように術者のサイオン量に応じて処理が変わる様に定義式が設定されている。

 

「知っての通り、通常の魔法は常在型魔法とは違い後から変数を入力することで魔法の性質を変更したりする場合魔法を一度キャンセル、又は事象経変の処理中に終了条件を無理やり変更して再度発動しなおす必要がある。

 八幡の魔法の場合は全ての氷が浮いた場合と浮いていない場合を状況に応じて処理を変える必要があるんだが正常な動作で行うには常駐型の魔法を選択する必要がある。

 だが、八幡の戦術と常在型魔法の相性が悪いのは釈迦に説法だろう。」

 

「常在型魔法の欠点はサイオン消費量もさることながら魔法式の規模と制御にかかる負担が大きすぎてスピードが出しにくい。

 確かに古式の魔法も制御を手放さないものが多いからスピードが出にくいからすごくよく分かるよ。」

 

 古式魔法は状況に応じて適宜対応する魔法が多く、常駐型魔法や複数の系統を複合した魔法が多い。複雑な処理を挟みあいまいな表現を許容するため制御の負担が大きく現代プログラムの記述が難しいのに加え、状況に応じて術式を調節出来る点が結果スピード面では重石となっている。

 こういったスピードを重視する競技では向いていないと言えるだろう。

 

「本来ならば撃つ度にキャンセルすればいい話だが、毎回するのが面倒でこういったやり方をしているのだろうが・・・メリットもある。」

 

「普通に手抜きに見えるんだけど・・・?」

 

 エリカの疑わしい目は八幡の普段の行いだろうな。

 

「本来魔法は処理が終了した段階で干渉力を失う。八幡魔法が移動魔法の処理だけの場合だと、氷が一定の高さに持上がったのち魔法が終了してそのまま落ちる。

 だからこれまでの試合で魔法が終了したのちに浮いているのは"八幡が勝敗を明確にするために終了条件を変えてあえて浮かせている"と周りは解釈したはずだ。」

 

 これこそがこの手法の悪質な部分といえる。

 魔法そのものは集まる座標という変数魔法を進行するために必要な情報が無いため処理が続行できずどこかしらでキャンセルしなければならないがスピードが早すぎて誤報を疑われない様に”運営が勝利判定が出るまで氷を浮かせ続けている”かの様に見せている。

 もちろんどこかで進行不能なこの魔法はキャンセルする必要があるが、勝利判定が出た後ならばキャンセルしても疑われない。

 毎回魔法を氷が上った直後に自発的にキャンセルしていては"その先の処理を行わないようにしている"と感づかれかねない。

 

「他の選手ももし持ち上がらない氷が発生した場合”持ち上げた氷を攻撃手段に用いる”予想はしていただろうが、その為には浮かせた術式から攻撃用の魔法を選択し直す隙が出来るはず、と予想したはずだ。」

 

 事実として今回の選手はその隙をついて相手の氷を脅かすことで八幡の集中力を削ぎに行こうとしていた。八幡が何らかの魔法を追加でキャストする兆候があればいつでも対処できるように構えつつの魔法で、カウンターとしては満点だと言っていいだろう。

 だからこそ、”八幡の魔法に有効的な対応を考えて実行に移せるだけの技量”があったからこそ、致命的な一撃となったともいえる。

 

「相手選手には持ち上げる魔法を八幡が維持し続けているだけにしか映らないからその魔法がそのまま攻撃用の魔法も工程に含まれているとは思わず、虚を突かれたようになってしまっていた。

 八幡の魔法に対応できるキャストスピードがある選手でも既に発動して処理中の魔法に魔法をキャンセルして間に合わせるのは至難の業だ。」

 

「見事に不意打ちを一切労力を払わずに行った・・・という事になるね。

 にしてもよくそんなプログラムの穴をつく様な事思いつくね。」

 

「どちらかというと、思いついても普通はやらない手法なんだがな。」

 

 こと、これに関しては苦笑いしかできない。

 ああいう処理にした”技術者的理由”は分かるんだが、正直邪道過ぎて技術者はほとんど見てて顔をしかめるだろう。言ってしまえば作動失敗する前提のプログラムを実践で使っているようなもので素人が組んだ”無駄が多いし間違っているけれど、とりあえず動作はしている”プログラムを容赦なく使っているに等しい。

 手段を選ばないと言えば聞こえは良いがバグの不正利用のようなものなので俺から見ても、もっとほかの手段があったろう?と思わなくはない。

 まぁだが”この条件”での最高効率はこれだ、と言われれば否定できない部分もあるところが八幡らしいと言えるだろうか。

 

 

 

 

 

 




ややこしいだろうなぁ、と思いながら投げました。
質問補足等怒濤に出ることが予想されるので感想にてどしどし送ってきてください。
同様に感想、批判、ツッコミ、指摘お待ちしております。作者が泣いて喜びます。

さて、そろそろ大駒動かしたいなぁ。

▲ページの一番上に飛ぶ
X(Twitter)で読了報告
感想を書く ※感想一覧 ※ログインせずに感想を書き込みたい場合はこちら
内容
0文字 10~5000文字
感想を書き込む前に 感想を投稿する際のガイドライン に違反していないか確認して下さい。
※展開予想はネタ潰しになるだけですので、感想欄ではご遠慮ください。

評価する
※目安 0:10の真逆 5:普通 10:(このサイトで)これ以上素晴らしい作品とは出会えない。
※評価値0,10についてはそれぞれ11個以上は投票できません。
評価する前に 評価する際のガイドライン に違反していないか確認して下さい。