127 継続お問い合わせ『ダンジョンが臭い』3
「…………ん? おかしいな」
ドラ子の嘆きはあったにせよ、それで『じゃあこのチケットはなかったことに』なんて誰かが言ってくれるわけもなく。
ましてや、親切な誰かが代わりに引き受けてくれるわけでもないので、ドラ子は泣き言を飲み込んで検証環境の構築を行っているところだった。
とりあえず、顧客に貰ったダンジョンの設定情報をそのまま使い、SolomonのVerを合わせ、インポートするだけの簡単な仕事だったのだが。
ドラ子はデバイスの画面を見てぼそりと言った。
「…………うん、やっぱりおかしい」
「その、俺の反応を窺うような独り言をやめろ」
「と言いつつ反応しちゃうんですよね先輩はー」
先輩ちょっろ、と心の声が聞こえるようなドラ子の発言に、メガネのこめかみがピクリとした、が、なんとか抑えた。
ついでに、ドラ子は先程のような発言を十回近く繰り返しており、流石にメガネが根負けして反応してしまったところである。
「で、何がおかしい?」
「いや、顧客の設定情報をそのまま使ってインポートしてる筈なんですけど、一部ダンジョンの構築データの読み込みに失敗してるっぽいんですよね」
「ふむ?」
ドラ子がデバイスの画面をメガネの方に向ける。
メガネがデバイスを注意深く確認する前に、おかしな点はすぐに見つかった。
誰が見ても、即座に分かることだろう。
「壁が無いな」
「はい」
マップ情報が表示されたダンジョンの異変とは、とある階層に本来存在する筈の壁が一切存在していないことだった。
もちろん、ダンジョンを構築するための大枠になる外壁は消えていないのだが、ダンジョンの通路を区切る内壁が丸っと見当たらなかった。
あの宝箱も、あのモンスターも、なんなら次の階層への階段も、入った瞬間に丸見えである(とても視力が良く夜目が効く場合であり効果には個人差があります)
「これは何階だ?」
「えっと、地下8階のはずです」
ドラ子がダンジョンの情報を確認しながら言う。
地下8階。その数字に深い意味はなさそうだ。
「念の為確認しておくが、最初から壁が無い階層ってわけじゃないよな?」
「もちろん違います。というか壁が無かったらこの宝箱の設定とか意味不すぎますよ」
それもそうか、とメガネは納得する。
確かに、ダンジョンによっては特定の階層であえてそういう趣向を凝らすことはある。
ただ、だいたいそういうのは一階層をまるまる使った広大なフィールドとか、ボス戦用の特殊フィールドとかが基本で、地下8階という、二進数以外では特に区切りのいいわけでもない階層で、わざわざやることとも思えない。
だいいち、宝箱やアイテム、罠の配置もバラバラで意味が分からない。
「単なるインポート・エクスポートの失敗の可能性は?」
メガネが言うが早いか、ドラ子はあらかじめ当たりを付けていたらしい、該当する時間帯のログを見せる。
「貰ったエクスポートログを確認しましたけど、特にエラーは吐いてないです。で、インポートの方は──」
顧客側で問題は起きていない。
対して、こちら側でインポートする場合はどうか。
答えはこうだ。
「『インポートエラー:不正な地形データです』とのことです」
つまり、今起きている現象を流れにするとこうなる。
1:顧客がダンジョンの地形を作成する。
2:顧客がそのダンジョンの地形データを問題無く出力する。
3:ドラ子が貰った地形データを入力する。
4:その地形データに問題があり入力に失敗する。
「どういうことです?」
「どういうことだ?」
ドラ子と眼鏡は、二人揃って頭を傾げた。
まさか、検証環境の構築でいきなり問題が発生するとは思っていなかった。
そもそも、このチケットの事象解明に対して、今の状況からドラ子が出来ることは二通りあった。
一つは、貰ったログを片端から確認していって、怪しい部分が無いかを確認していくこと。
そしてもう一つが、検証環境を構築して、実際にどういった事象が起こりうるか確認することだ。
前者は文字通り、貰ったログの中に原因究明に繋がりそうなエラーが出力されていないかを地道に探すこと。
原因に繋がりそうな怪しい出力があっさり見つかれば、すぐにチケットの回答に移行できるかもしれない反面、もしログに有力な情報を出力されないパターンの不具合だったら、迷宮の袋小路に迷い込む可能性もある。
今回で言えば、何が原因で領域を圧迫しているのかのヒントが見つかれば早いが、それを見つける手がかりがあるとも言い難かった。
だから、ドラ子はまず後者──検証環境の構築をすることにした。
こちらはこちらで、もし再現性のある事象であれば、同じ環境を作ることですぐに原因の切り分けに移れる可能性がある反面、顧客のダンジョンが特殊な環境だったり、ダンジョンを稼働している最中に、稀に起こることが原因だった場合は再現が難しいこともある。
今回で言えば、領域を圧迫するような何かが検証環境で見つかれば足がかりを掴めるが、正常に動いてしまったら、環境の構築が無駄になってしまうかもしれない。
と、できることは二つあったが、どちらも一長一短であった。
だからドラ子は最初に検証環境の構築から入った。
理由は、そっちの方が簡単そうだったからである。
別に、チケットの効率を考えたとかそういうわけではない。
まぁ、結果として、それでおかしなことに遭遇できたわけだが。
「顧客の方の元ダンジョンのマップは?」
「今出します」
ドラ子がすぐに、顧客のダンジョンの設定情報から、地下8階のマップデータを呼び出す。
それを表示してみると、そこには当然、内壁のある至って普通の迷宮があった。
「壁があるな」
「壁がありますよね」
「念の為重ねて見てくれ」
「あい」
ドラ子がダンジョンのマップデータを透過して、二つを重ねて見れば、ものの見事に宝箱の位置や採取スポットの位置、トラップの位置などが合致した。もちろん、壁を使うタイプのトラップなどは一緒に無くなっているが。
「やはり同じダンジョンか」
「念の為、三回くらいインポートしてみましたけど、何回やってもダメっぽいです」
一回くらいなら、単純な読み込みミスで壁のデータだけ飛ぶ事もあるだろうが、三回やってダメならば可能性は低い。
デバイスのハード面の問題の可能性もあるが……。
「ドラ子、試しにVerが違うSolomonに入るか試してみろ」
「うぇ?」
何を言っているんだこの先輩、とドラ子は思った。
ドラ子の脳裏に浮かんだのは、かつて魔王城の魔改造Ver3.2にデータをインポートしようとして、失敗した悲しい過去だ。
あのときは、データのインポートを丸ごと失敗して、目の前が暗くなった。
だから、てっきりVerを合わせないとSolomonのデータは入らないと思っていたのだが。
そんなドラ子の様子を見て、メガネはさっと補足した。
「基本的にSolomonの古いVerから新しいVerへのインポートは問題ないんだ。互換性はある程度確保されている。あと地形情報とかのあまり形式に変化がないデータは案外過去のVerにも入る。新しいトラップとかはインポートできないが、単純な壁だったり床だったりなんかは、過去のVerで実装されてるものと形式が変わってなかったりするからな」
「へー」
知らなかったと思う反面、そりゃそうかとも思った。
この設定情報のインポート・エクスポートなんかは、そうやってVerを跨いでのデータのやり取りをするのが本来の使い方の一つに思える。
と、そこまで思って別の疑問も湧く。
「じゃあ別にメジャーアップデートとかしなくても、設定情報だけエクスポートして、新しいVerのSolomonを再インストールすれば問題ないんですね」
「…………」
メガネは沈黙した。
問題、あるのかもしれない。
「まぁ、お前がそこまでSolomonの機能を信じているなら、あえてそういう回答を書くのも止めないが」
「あ、やっぱり遠慮します」
言われてドラ子は思った。
そもそも現在進行形でインポートが上手く行ってないのに、Solomonの機能を信じて丸ごとデータを入れ直すなんて、できない。
怖くて、できるわけがない。
「と、とりあえずVer31.0には無理ですね。同じ『不正な地形データ』になります」
「オーケー。下は?」
「下は……」
ドラ子は自分が保存しているSolomonの古いバージョンを入れた雛形を呼び出し、そこに設定情報を入れて行く。
切れ目は、案外すぐに見つかった。
「あ、なんかVer22.3にはすんなり入りました」
ドラ子が言った通り、顧客から貰った地形データは、何故か顧客が使っているSolomonのVerよりも古いVer22.3にはすんなりインポートされた。
当然、内壁が消える、なんていう事象も起きていない。
「なんですかねこれ。顧客が自分の使ってるVerを勘違いしていて、本当は22.3以前だったとかいうオチですか?」
確かに、その可能性もゼロではない。
ゼロではないが、低い。
何故ならVerの情報は顧客のお問い合わせ本文ではなく、こちらの登録情報から確認したからだ。
何より、メガネの記憶にひっかかるものがあった。
そのあたりで改修した、地形を作る際の、アップデートの中に、一つ。
何かがあった筈だ。
メガネは、その記憶を頼りにマップ情報を確認し直し、すぐに原因を掴んだ。
「分かった」
「……えっと、何がです?」
「インポートできない原因」
「…………わぁお」
ドラ子は『まじかこいつ?』と思ったが口には出さず、代わりに感嘆の声を上げるに止めた。
そしてメガネは、画面に映っている内壁のあるマップデータのうち、一カ所を指差した。
それは、一見すると何の変哲もない小部屋である。
「あの、そこが何か?」
「ここ、出入り口がないだろ」
「あ、確かに」
それは、マップの隅の方にぽつんとある、本当に狭い空間だ。
だが、そこにはメガネが指摘するように、入口も出口も、上下の階層に繋がる階段も存在しない。
四方を壁に囲まれた、謎の空間である。
「でも、それがどうしたんです?」
とはいえ、だからなんだとドラ子は思う。
メガネはそんな彼女を特に不勉強だと思うことはなかった。
それはあまりにも地味で、ひっそりとしたSolomonの機能改修だったから。
「SolomonはVer23.0から、基本的に出入り口のない部屋を作ることができない仕様になってんだよ」
メガネは言った。
ドラ子は『え? でもあるじゃん?』と当たり前の疑問を持ったのだった。
私事ですみませんが、今度の水曜日に予定があるため更新できない可能性が高いです。
そのため次回の更新は体感土曜日になる可能性が高いです。
なるべく頑張ります。




