ある日、先日発売されたドラクエ3の続きをはじめようと思ったときだった。
バラモスを倒していた俺は、再開後、ルーラでラダトームを目指した。
が。
ないのだ。
ラダトームが。
移動後の選択先に。
しかもレベルも低くなっている。。。どういうことだ。。。
ここから俺の魔王を倒す旅を一度中断され、魔王よりも強敵な「時間を操る敵」の正体を探る冒険が始まった。
確認されている現象はひとつ。
冒険の書が過去の状態に戻っている。
自分のものだけではなく、妻や子どもたちがやっていた冒険の書も、過去に戻っている。
ということ。
どういうことだ?
そこで、俺はひとつの仮説を立てた。
今回のこのドラクエ123はエミュレーションで動いているはず。ということは、ROMデータとエミュレータの状態保存とは別の方法で管理されているはずだ。
この仮説の元、実験を始めた。
- まず、冒険の書から冒険を始める。
- 場所を変えて(ルーラとかで)そこで一時中断。
- 中断から初めてレベルを上げるなり、お金を預けるなり、適当に状態を進ませる。
- 冒険の書に書きこんで冒険をやめる。
- 中断から初めてから、冒険の書も書かず、中断もせずに終了する。
- 冒険の書から始めると、1で始めたときの冒険の書の状態になっている。
注目するところは2、4、5。
2でエミュレータの状態保存を実施している。このとき保存されるのはプレイしているエミュレータの状態。仮想スーファミのメモリだったりカートリッジROMの状態だったり。
3はエミュレータの状態復元で始めている。
4では、そのカートリッジROMにゲームの状態を保存している。これは普通にゲーム内で保存しているのと同じ状態。
で、問題の5。エミュレータの状態復元で一旦復元するも、特になにもせず、すぐにエミュレータをやめている。
そして、6。見事に冒険の書が過去の状態になっている。
今までの流れを追っていくと、これに戻っている場所は5であると予想できる。
どういうことか?
どうも、ドラクエ123は常時参照出来るエミュレータの状態は各カートリッジROMごとに一つしか存在していないようで、この状態復元は「エミュレータの状態を復元」するだけではなく、エミュレータが参照しているエミュレータの状態まで上書きしているようだ。
何を意味しているのか。どういうことなのか。
一度でも一時中断を利用した場合、誤って一時中断から再開してしまうと、利用した一時中断した時点の冒険の書の状態に戻ってしまう、ということだ。
こうして、原因を究明できた俺は、再び魔王を倒す、いや、倒し直す旅に出るのだった。
こうやって一人称で書くのも楽しいな。
コメント
コメントを投稿