|
難破船は落水経験のある方が居れば分かりますが、あれはMRや教室と違い、インしたサーバと同一のマップの一部です。
白ひげ鯨村は丸い形をしていますが、マップ自体は四角い二次元情報として扱われています。
その為、利用されていない余白部分が周囲にあります。
難破船は大体島の南東辺りの余白に詰め込まれています。
そのマップの範囲内に入ると、フラグが立ち、それによってマップ開閉やポータルの使用、「移動」の使用が制限され、範囲外へ移動するとフラグが消える仕組みになっていると思います。
難破船から落水した経験がありますが、この場合僕は状況を回避するために「島がある」方向へ移動し、ポータル制限を解除してポータルを使用して回避しました。
恐らく、スノービレッジもその様に管理されていると思います。
ところが、何らかの理由で、白ひげ鯨村の島がある方向と「反対方向」へ移動してしまうと、ゲーム内で取り扱えるマップ座標位置を越えてしまう可能性があります。
そうなるとオーバーフローが置き、予期しない状態になって落ちてしまうのだと思います。
クライアントを終了した場合も、強制終了が発生した場合も、アバターの現在位置座標がサーバ側に記録されると思います。(厳密には強制終了に備え、常時アバターの情報はサーバ側に更新されていると思います)
その時に、所謂ゲームでは取り扱えない、誤った数値の座標がサーバ側に書き込まれてしまうのだと思います。
よって、再起動した時に再び誤情報を読み取ってしまうことで、ゲームが停止してしまうと思います。
対策としては、手作業によってサーバ側に記録されている、アバターの座標位置を正しい位置に復元することで、ゲームを正常に起動させることができるわけです。
本来は、バグによってマップ領域のオーバーフローが検出された場合、強制的に安全な位置にワープさせる(マップ外周タイルに触れると、警告ダイアログを表示し、強制的にピシュル前へワープさせるとか)などの処理が必要なのだと思いますが、そういう例外処理がMILUにはまだ入っていないのだと思います。
余談ですが、アバターの立ち位置としてサーバに記録されている情報は、あくまで「アバターの立ち位置のX座標と、Y座標のみ」であり、高さや方向は記録されていないと思います。
よって、ロードした直後は、アバターの立ち位置がぐちゃぐちゃになっていたり、オブジェクトの上によじ登った状態になっていたりするのだと思います。
ローディングした時、あるいは他のアバターと遭遇した時には、恐らく同一座標の当たり判定のあるオブジェクトの「上部」にアバターが設置される様になっていると思います。
だから、草の上にいる、アップ式の時に後ろを向いてる人がいる(本人にとって後ろには見えない)。
などといった珍現象が発生すると予想します。
|