50 内部依頼『イベントの処理がおかしい』3
Solomonというダンジョン管理術式は、今更説明するまでもなく様々な部分が『なっていない』
数々の不具合や、不具合一歩手前のおかしな挙動、そして使いにくい機能や、やたらと処理が重くなる機能などなど、不満点を上げればキリがない。
だが、開発部とてそんな評価をヘラヘラと笑って受け止めているわけではない。
上層部からは『こんな機能作れ』と言われ、ユーザからは『こんな機能要らん』と言われ、板挟みになりながらも術式を使えるものにするべく必死に改良を重ねている。
そんな彼らの大きな仕事は、Solomonのバージョンアップだ。
SolomonのVerは大まかにX.Y.Zのような三分割で表記される。
まずXに当たる部分が通称『大バージョン』。基本的に何か大きな機能の改善や、機能の追加、はたまた使用しているフリー術式の変更など、かなりでかい変更があった場合にナンバリングが変わる部分だ。
Solomonで言えば、ミミックの存在がモンスター召喚機能からトラップ設置機能、トラップ設置機能から家具配置機能に変わるような大きな変化があれば、ここの数字が変わることになる。
次にYまでの部分が『メジャーバージョン』。大バージョンほどの変化ではないにしろ、術式の安定性が変わるような大きな変化があった場合には、ここの数字が変更されることになる。
Solomonで言えば、モンスター召喚機能内で新しい派生種族が増える場合などは、ここの数字も変更されることになるだろう。
最後のZまでで『マイナーバージョン』。メジャーバージョンより更に小さな変化ではあるが、確実な変化があった場合にここの数字が変更される。
Solomonで言えば、モンスター召喚機能内での、軽微な不具合の修正などが行われた場合などに、ここの数字が変わることになるだろうか。
だいたいSolomonの大バージョンは数年から十数年、メジャーバージョンは半年から数年、そしてマイナーバージョンは数ヶ月ごとに更新されていくイメージだ。
話を開発部に戻せば、彼らの大きな仕事と言えばこのバージョンアップを行うこと。
ただし、彼らの仕事は当然、大幅な機能改善や追加機能が目玉となるバージョンアップだけではない。
というよりも、平時の彼らの仕事は主にバグ取り──保守サポート部などから齎される不具合情報や、自身等で発見した不具合を、修正するためのパッチ作りだ。
このパッチというのも、大まかに二つの種類に分けられる。
一つは、とある不具合をピンポイントで修正するための『個別パッチ』。
もう一つは、その個別パッチの修正をいくつかまとめたものとなる『累積パッチ』だ。
基本的に、個別パッチは保守サポート部に寄せられた新規不具合に起因して作成される。
お問い合わせの事象が明らかに不具合であるため、それをピンポイントで修正するパッチを作成し、回答と一緒にお客様へと送付するのが一般的な『個別パッチ』となる。
特定のお客様向けに作られた、特定の不具合修正だけのパッチである。
反対に累積パッチは、そういった特定の不具合を含む、数多の不具合を一度に直すためのパッチとなる。
マイナーバージョンアップの更にマイナー版。内部的に言えば30.1.0.NのNあたりに該当するのが、どの累積パッチを当てているかということだ。
基本的にはマイナーバージョンアップに至る前の、僅かな機能改善がこの累積パッチだと思って良い。
つまり開発部は、ちまちまとした不具合修正でパッチを作りながら、そのパッチを寄せ集めて累積パッチを作り、その累積パッチの修正を含んだマイナーバージョンアップを作りながら、根本的な機能改善のためのメジャーバージョンアップに取りかかり。
それらとは別の流れとして、大バージョンの構築も行っているというわけである。
端的に言えば、彼らは忙しいのだ。
その忙しい部署から、人員を割いてまで『魔王城の個別パッチ』は作られている。
目的は、メジャーバージョンアップを拒否し続ける魔王城に、最新の機能を使わせるための『個別パッチ』の開発である。
この『特殊な個別パッチ』は、もはやバグ取りなどという次元の話ではなかった。
その機能も──そして複雑さも。
──────
「先輩! この個別パッチを当てるのに必要なフリー術式の配布終わってます!?」
「魔王城フォルダの中に代替術式がある筈だ。探せ」
「メガネ先輩! 正しい順番でパッチを当てた筈なのにインストールエラーになります!」
「備考を読め、個別パッチ適用用補正パッチが必要になっているだろう。フォルダ内を探せ」
「先輩! 補正パッチ当てた筈なのにエラーが!?」
「ちゃんとリードミーを確認しろ。パッチの一部分の権限を書き換えないとインストールできないってあるだろ」
「メガネ先輩! 術式展開中にタイムアウトに!」
「そのパッチを当てるときはSolomon本体のタイムアウト猶予時間を伸ばせ。デフォルトのままだと展開がギリギリ間に合わない」
「先輩!」
「メガネ先輩!」
「リードミーを読め! ログ見て失敗の原因を探れ! 一度先人が通った道だ答えは必ずある!」
──────
──数時間後。
数えるのも億劫になるほどの、数多のパッチの山は、いずれも一筋縄では行かぬ程の難関であった。
これは、Solomon Ver3.2.4の魔改造だ。
コンソール画面は殺風景な昔のバージョンのまま。だが、より多くの機能が見えないところに内包されている。
例えば、モンスター召喚機能にまだミミックは居るのだが、内部的には家具配置機能から呼び出されていたりするし、カスタムトラップ機能は裏で、まだ存在しない筈のイベント関連機能と繋がっている。
例えるなら、見た目はただの軽自動車なのに、内部にロケットエンジンや人工知能を搭載して、その気になれば大気圏に飛び出せるようにしているようなもの。
数多ある個別パッチの最後の一つを適用できたとき、ドラ子も白騎士も冗談抜きで泣きそうになっていた。
途中からはメガネが答えを教えてくれなくなったので、そこからはずっと半泣きだったとも言える。
「……で、できた」
「できました……ね」
ドラ子と白騎士は、ようやく完成した『魔王城検証環境構築用Solomon Ver3.2.XXX』のデータを見ながら、お互いにひしっと抱き合った。
長く苦しい戦いだった。途中で何度、メガネに賄賂を送ってでも答えを教えて貰おうと思ったか分からない。
その分、成長はした気がする。特にこのSolomon Ver3.2.4の設定情報についてなら、なんでも答えられそうな気がしていた。
なお、Ver3.2.4のお問い合わせは来ないので、その知識は基本的になんの役にも立たないが。
「お疲れさま。それで、設定データは適用してみたか?」
大袈裟な二人を労いながらも、途中からは見捨てて自分の仕事に戻ったメガネが尋ねた。
ドラ子はそんな先輩への怨みと、自分たちでやり遂げたという達成感で複雑な気持ちになりながらも、自信満々に答える。
「当然行けるに決まってます。さぁ、白騎士ちゃん」
「はい!」
環境ができたなら、あとはデータを入れるだけだ。
メガネから転送されてきた、魔王城のコラボダンジョンの設定データを、本来は存在しない筈のインポート機能で送り込もうとして、そして白騎士は固まった。
「白騎士ちゃん?」
「…………『データのインポートに失敗しました』」
「……………………え」
「……………………『Solomonのバージョンが適切かどうか確認してください』……と」
二人ずっと作業してきた、ドラ子のデバイスを見やれば、白騎士が茫然と呟いた言葉と同様のメッセージが、無慈悲に表示されていた。
「ドンマイ」
そんな画面を後ろから覗き込んだメガネは、ぽんと二人の肩を叩いた。
「こふっ」
「うううっ」
そして、ドラ子と白騎士はついに、人目を憚ることなくその場に崩れ落ちたのだった。
なお、このインポートを成功させるための、フリー術式が足りていなかったことに気付いた時点で、その日の業務時間は終了した。
二人が環境構築に失敗したのを確認したメガネは、当然のように作ってあった自分の検証環境で、さっさと検証を終えて回答を提出した。
ガチで人を殺しそうな目をしていた二人には、頑張ったで賞でコーヒーを奢った。
メガネ「だって『なる早で』って書いてあったし」




