第三節 魔力の流れの変化と、ギルドの阿鼻叫喚
隣接している商業ギルドと生産職ギルドは、『魔力の流れが変わった』関連のスクリプト問題で、阿鼻叫喚の地獄だ。
サンローが怒りながら『魔力の流れが変わった』を解析した結果は酷いものだった。
サンロー「私の愛するLISPが狙い撃ちされたような気分だよ……『魔力枯渇』で私自身の検証は遅れたが、LISPのダメージが深刻なので……関数などが怪しいと見て中心的に探った。
やはり、関数やメソッドのような、保守性に関わる機能を使えば使うほど、負荷が高まるようだ。ゆえに、私は事実上LISPを封じられた。なんだこの悪意の塊のようなアップデートは!まるで ( の数だけで魔力枯渇を起こしているようだ!
(作者注:LISPとは括弧で構成された言語です、ぶっちゃけ変態です)」
姫子も、さすがに今回はサンローに同情的だった。
姫子「ホントになによ、この悪意あふれるアップデート!LISPはよくわからないけど……今回は原因判明ありがと、とても助かったわ。
Pythonも似たような状況ね、def の利用数だけで魔力枯渇に近づいているようなの。
しかしサンロー、LISPを封じられて、あんた大丈夫なの?」
サンロー「ふ、ふはははは、私は百の言語を操る者!どの言語も私に挨拶を欠かさないのだ!」
姫子「まさか、『Hello,World.』ができるだけとか言わないでしょうね」
サンロー「は、はは、馬鹿なそんなはずがないじゃないか……
ともかく、今後は姫子君に合わせてPythonを使うことにしておくよ。
C#も内部メソッドやLINQで迂回できないか、念のため研究しておこう。
Rustは……今のところ商人や生産職に利用者がいないから後回しでいいな……」
(作者注:C#やRustはスクリプトではなく、ガチのITエンジニアが使う言語です)
姫子「しかし、本当に参ったわね……サイクロマティック複雑度を測定したらとんでもない数値になるわよこれ……」
(作者注:一関数に大量の分岐を入れるほど爆発的に増えていく、複雑度を計算する一つの指標です。原則十を超えると危険とされますが、ここでは軽く数百を超えることが想定されています。読んだらSAN値が減るサグラダ・ファミリアを想像してください)
ひとまずサンローの解析により『魔力の流れが変わった』と『魔力枯渇』の原因追及については、一段落がついた状況だ。
しかし、それで話が終わるほど今回のメンテナンスの影響は軽微ではない。
サンローや姫子はミュークシスに属していない、一般的にはミュークシス系ギルドと見なされているが、ミュークシスの助力が得られないという苦しい立場だ。
まずはサンロー主導の姫子助手で、ケオエコ新旧ライブラリの比較から手を付けた。
その結果判明したのは、破壊的アップデートが多数存在したことであり、これは全ギルド員に衝撃を与えた。
サンロー「マズいぞ姫子君!もはや、従来スクリプトは軒並み使えない……そう考えた方が安全だ」
姫子「そうね……さすがに死亡事故までは起こらないだろうけど、いえ断言はできないわね。
最低でも大惨事くらいは想定しないと。
ギルド長!スクリプトを購入した全員に注意喚起を!
ねえ、これ旧ライブラリとの互換層を作った方がよくない?」
サンロー「姫子君よ忘れたのか?
スクリプトは全てサーバー上で実行する。
そして今回の破壊的アップデートはAPIすら変更されていると見るべきだ」
姫子「そっか……もういっそ作り直す方が現実的ね……
下手に互換層を作ろうにも関数すら使えないんだわ」
(作者注:分かりやすく言うと、自動車のアクセルのブレーキが突如入れ替わって、ハンドルを逆回転にして、それが明記されず元に戻せないような変更が、ケオエコで行われたようなものです。事前予告無しにやられると、プログラマは全員死にます)
さすがにこの破壊的アップデートについては、少なくともミュークシス系ギルド員が、全員一斉に電脳麻薬カンパニーへの抗議を行った。
最初は「契約を再度ご確認ください」という、いつもの定型文が返ってきていた。
しかし、全ギルド員が繰り返し抗議を行っていたら反応があった。
その返答には絶句するしかなかった「各スクリプト言語は、今でも使えますよね?」
誰もが思った「違う、そうじゃない!」と……!
しかし、これ以上の抗議は無意味と判断して、血の涙を堪えながら引き下がった。
スクリプト利用の注意喚起を行っても「使えるんじゃない?」と試す者は、残念ながらどうしても出てくる。
得てしてそういう者は、実際使えなかったらクレームを入れるのだ。
クレーマー「今まで動いたスクリプトが、魔力枯渇で動かなくなった!」
これが一人二人ならいい、そんなクレームが殺到したらギルド側も現実的な対応が遅れるのだ。その無理解にギルド員達は頭を抱えた。
姫子自身は従来の『モンスター素材剥ぎ取りスクリプト』に緊急パッチを配布していた。
しかし中には姫子のスクリプトを、転売屋から購入しながら、怒鳴り込んできた者もいた。そのような者は、ギルド関係店舗で出禁とされるに至った。
転売屋は、結局購入者から殺戮報復を受け続け、全財産を失って撤退したらしい。
また、ギルド関係店舗で出禁とされたプレイヤーも、怒鳴り込んだことを後悔するほどの……苛烈な報復を後に受けることになる。
ところで『魔力枯渇』は、二十四時間スクリプトが動かせないペナルティだ。しかしスクリプトを触れない人にとっては、むしろペナルティを受けてる方が安全だという見解すら、生産者ギルドや商業ギルド内で出てくるほどだった。
ケオエコ新ライブラリ対応は、破壊的アップデート対応だけではない。細かい作業も積み重なっているのだ。
必要とされる改修部分、必要かもしれない改修部分のリストアップは莫大な量になった。もはや紙に直すと、新ライブラリ仕様書と大してページ数も変わりがない。
(作者注:こんな改修作業、私だったら泣きます。SAN値チェック成功で1D6減ります)
だからと言って「必要かもしれない改修部分」を蔑ろにはできない、中には暗号通貨連動の機能だってあるのだ。
最優先事項をリスト書こうとしたら、ほとんどが最優先事項になるため、最優先事項リストは役に立たないと、そのリストは、途中から誰も見向きしなくなった。
ギルド員達は泣きそうになりながら、あるいはモニタの向こうでマジ泣きながら、必死に対応作業を進める。
(作者注:こんな改修作業、私だったら死にます。SAN値チェック成功で1D10減ります)
もはや連日徹夜も厭わず、スクリプト改修に勤しむ生産職や商人達。
オフラインで作業する者も多いが、実際の検証のためにオンラインになる者が多く、商業ギルドも生産職ギルドも、今や不夜城と化していた。
しかも今回のアップデートで、関数やメソッドを極力抑えなければいけないという、鬼畜制限付き。
(作者注:作者が自分で書いていて、あまりに鬼畜過ぎて頭が人外になります。SAN値チェック成功で2D10減ります)
今まで『改変不可/再配布不可』で独占していた生産職の人々も、今回のアップデートで流石に手に負えなくなり『改変可/再配布可』に切り替える者が多かった。
残念ながら、改変可に切り替えたところで、スクリプトに関わる人は自分のスクリプトに精一杯で、見てくれる人は誰もいなかったのだが……
今回の件を受けてなお『改変不可/再配布不可』を頑なに続ける商人は、むしろ都合の悪いことを隠しているのではないかと、本来痛くもない腹を探られる結果となり、信用の低下は避けられなかった。
この『改変可/再配布可』だけが、自由を掲げたケオエコの中で、唯一とも言える有意義な「自由」だったのは、極めて皮肉な結果といえるだろう。
生産職の主流は、商人の力を借りるか独力で『改変可/再配布可』のスクリプトを改修しながら利用するのが、今後のデファクトスタンダードとして確立した。
何日にもわたるデスマーチの末に、大半のスクリプトの互換品、もしくは上位互換品が完成したときは、ギルド員は皆歓喜の涙を流したとか……
『公式売買所』で、踊りスクリプトを買って、踊りを披露する者までいたお祭り騒ぎだ。
(作者注:SAN値チェック失敗した者を、その後見た者はいない)
なおサンローの行ったC#の研究結果では、LINQの有効性が確認されたのだが、そもそもC#を使える人がほとんどいなかったため、その成果は活用されなかったという。
サンローは『魔力枯渇』の原因追及に続き、オフラインのケオエコスクリプト環境の改修を先行して行ったため、C#の研究自体を責められるようなことはなかった。
このデスマーチ不可避の事態を受けて、ミュークシスは重大な決定をしようとしていた。




