2011年11月13日日曜日

【雑記】過去に帰る勇者御一行

ある日、先日発売されたドラクエ3の続きをはじめようと思ったときだった。
バラモスを倒していた俺は、再開後、ルーラでラダトームを目指した。

が。

ないのだ。

ラダトームが。

移動後の選択先に。

しかもレベルも低くなっている。。。どういうことだ。。。

ここから俺の魔王を倒す旅を一度中断され、魔王よりも強敵な「時間を操る敵」の正体を探る冒険が始まった。



確認されている現象はひとつ。

冒険の書が過去の状態に戻っている。
自分のものだけではなく、妻や子どもたちがやっていた冒険の書も、過去に戻っている。
ということ。

どういうことだ?

そこで、俺はひとつの仮説を立てた。

今回のこのドラクエ123はエミュレーションで動いているはず。ということは、ROMデータとエミュレータの状態保存とは別の方法で管理されているはずだ。

この仮説の元、実験を始めた。


  1. まず、冒険の書から冒険を始める。
  2. 場所を変えて(ルーラとかで)そこで一時中断。
  3. 中断から初めてレベルを上げるなり、お金を預けるなり、適当に状態を進ませる。
  4. 冒険の書に書きこんで冒険をやめる。
  5. 中断から初めてから、冒険の書も書かず、中断もせずに終了する。
  6. 冒険の書から始めると、1で始めたときの冒険の書の状態になっている。
注目するところは2、4、5。

2でエミュレータの状態保存を実施している。このとき保存されるのはプレイしているエミュレータの状態。仮想スーファミのメモリだったりカートリッジROMの状態だったり。

3はエミュレータの状態復元で始めている。

4では、そのカートリッジROMにゲームの状態を保存している。これは普通にゲーム内で保存しているのと同じ状態。


で、問題の5。エミュレータの状態復元で一旦復元するも、特になにもせず、すぐにエミュレータをやめている。

そして、6。見事に冒険の書が過去の状態になっている。

今までの流れを追っていくと、これに戻っている場所は5であると予想できる。

どういうことか?

どうも、ドラクエ123は常時参照出来るエミュレータの状態は各カートリッジROMごとに一つしか存在していないようで、この状態復元は「エミュレータの状態を復元」するだけではなく、エミュレータが参照しているエミュレータの状態まで上書きしているようだ。

何を意味しているのか。どういうことなのか。

一度でも一時中断を利用した場合、誤って一時中断から再開してしまうと、利用した一時中断した時点の冒険の書の状態に戻ってしまう、ということだ。

こうして、原因を究明できた俺は、再び魔王を倒す、いや、倒し直す旅に出るのだった。

こうやって一人称で書くのも楽しいな。

0 件のコメント :

コメントを投稿