96:その時何が起きていたのか
悲願の虚無撃破。その裏側で、何が起きていたのか。
96:その時何が起きていたのか
変数。
それは、ゲームに流れる血液のようなもの。
マジホリは、99999個の変数を保存する事が出来る。
例えば、変数00001番、この変数には「GAME_ON」という名前が与えられ、「ゲームをどう起動するか」が設定されている。
この変数に与えられた数字が0ならば、ゲームは起動した瞬間に強制終了され、
1ならば通常起動、
2ならばデバッグモード、
3ならMODを許容する状態での起動となる。
マジホリRSでは、ここに3が設定されている。
このような、状況に応じた変数のやり取りが、ゲーム内では常に大量に行われている。
200階ボスを撃破したぞ、という信号「0」は、変数88059番「DB_200」に書き込まれる。
そして、四層ボス、大邪神ガラエルと再び戦えるようになるまで、12時間の待ち時間が発生。
状態が撃破中の「0」の間、ゲーム内全てのプレイヤーはガラエルと戦えなくなる。
パーティーを次々切り替えて渡り歩いて層ボス戦をハシゴしたりといった荒稼ぎを封じる手だ。
どんな手を使っても、層ボス戦を次々繰り返す事は出来ないように作られている。
待ち時間は、三層で6時間、二層で3時間、一層で1時間。
プレイ人口が少ないマジホリにおいて、余程不幸なバッティングが無い限り、不都合は無い。
なんなら、同じ時間帯にボス戦がぶつからないように掲示板上で確認のやり取りをしたっていい。
12時間もの待ち時間が発生し得る200階挑戦の場合、特にこのやり取りが活発に行われ、ランカーによる掲示板利用が活発に行われ始めるきっかけともなっていた。
この「層ボス」は本来、「グローバルイベント」として用意されていたシステムを流用して作られている。
RSではなく、サービス終了前の本家マジホリでは、全サーバーの全プレイヤーが「ジグラットの聖印」を店売りした累計数をカウントし、隠しボスが突然プレイヤーの眼の前に姿を現す、というグローバルイベントが存在する。
このシステムを改変・転用し、RSでは層ボスの出現に制限を掛けているのだ。
一時間毎にカウントが1進むように設定され、12に到達した時点で四層ボスが復活。
ゲーム内では毎時、こうしたイベントボスの状態確認が行われている
このボス復活確認の時に読み込むべきデータ……プレイヤーセーブデータの空き領域を流用したもの……が異常を来していたがため、過去に二度、虚無が発生してしまう事態となっていまったのだ。
偶然、稚拙なスクリプトのいたずらで読み込まれてしまったその数値は、セーブデータの一番上にあった……
レベル、だ。
最初の虚無誕生の瞬間、「DB_200」に読み込まれたのはユウイのキャラクターデータのレベル、「1」だ。
「0」は撃破中、「1」は復活待機、「2」は発生中を示す。
たまたま、運悪く一時間毎のチェック時に、この「1」が四層ラスボスに与えられ、四層ボスは待機状態となる。
そして、その日ムラマサが200階に到達した時点で待機モードから、発生状態の「2」へと切り替わる。
ここでボスデータを格納したファイルから「どのボスを呼び出すのか」を読み取るのだが、読み込まれるべきボス名は、当然、ユウイのセーブデータ内に存在していない。
存在していない物からステータスを読み取る事はできない。
そのため、本来の四層ボスの代わりに、何もかもが空っぽの虚無が生まれる事となってしまった。
二体目の虚無誕生の際も、プレイヤーセーブテータ数の超過により、同様の現象が偶発事故として発生してしまったのだ。
そして、昨夜、ムラマサ達の討伐成功により、200階、四層ボスを管理する変数「DB_200」が、発生中を示す「2」から、死亡・復活待ちを示す「0」に書き換えられた……
はずだった。
確かに、虚無は死んだ。
もう「二体目の虚無」は存在しない。
だがしかし、ボスの生死を判定する変数「DB_200」に変化はない。
なぜなら、虚無が倒されたのは、151階だからだ。
ボス自体は撃破されたから、「ボスが死んだので、復活処理を行う」命令が実行される。
だが、キタガミの組んだ適当なスクリプトによって、「DB_○○○」には、今現在のプレイヤーが存在する階数が入るようになっている。
つまり、「0」が書き込まれたのは、「DB_151」なのだ。
ダンジョンボス=DBが用意されているのは、50、100、150、200。
99999個しか設定出来ない変数を節約する必要もあり、DB変数が用意されているのはこの4つのみ。
「DB_151」などという変数名は存在しない。
存在しないため、ゲーム内の……
「ボスが死んだので、復活処理を行う」は実行されるが、
「四層ボスに変化があったら、この指示を実行する」という次の指示はスキップされてしまう。
その本来あり得ないスキップが、また、ゲームを狂わせた。
簡単に示すと、本来ならこうでなければならない。
・イベントボスが死んだ
>どこのボス?
>50の場合、一層ボスを処理
>100の場合、二層ボスを処理
>150の場合、三層ボスを処理
>200の場合、四層ボスを処理
>どれでもない場合、エラーとして処理
虚無を倒したのは「151階」。
150の場合、200の場合、どちらにも該当しない。
従って、本来ならエラーとして処理されるはずなのだが、キタガミのスクリプト改修作業時のミスにより、この最後の一行が欠けていたため……
「は……?」
勝利の余韻が未だ冷めやらぬまま、翌日も習慣のようにプレイを開始しようとしたムラマサは、現実を受け入れられず、画面の前でだらしなく口を開け、放心状態となっていた。
「そんなぁッ!!!」
机を叩いて叫ぶ山田マン。
「嘘でしょ!? 全部!?」
キツネもまた、複数のアカウント全てを確認し、頭を抱える。
ムラマサの侍、キツネの忍者、そして、山田マンの借りていた、カノザキの天使……
全て、消滅していた。
それだけではない。
キツネのサブキャラクター、暗黒騎士のSOUKO3、付与術士のSOUKO2、旅商人のSOUKO1、全てが消えていた。
慌ててチャットルームに集合するランカーの面々。
悲劇は、この三人にのみ発生したワケでは無かった。
サイバラの吸血鬼も、人形姫の傀儡使いも、発光大王子の君主もやられていた。
『で、なーんで俺だけ無事なワケ?』
ブッチーは、なぜかデータ抹消を免れていた。
『あのー、誠に申し上げ難いのですが、私も……』
『すまん、なんか悪い…… 俺も無事なんだ』
マジメイジ、一閃も生存。
この時点では、トップランカーの面々はまだ事態の深刻さに気付いていなかった。
彼らははまだ知らない。
これが……
何がどうなっていたかの種明かし回と見せかけて途中から変調する回。
当然、もう一波乱、です。




