インタラクションとその結果の表示について

たとえばROで魔法を使った瞬間にラグが起こると、魔法が発動する瞬間までアニメーション等の処理が進んだ段階で停止する。そしてラグが治まりサーバーからのメッセージが届くようになった瞬間に魔法が発動して敵が死ぬ。

ROにおいて、敵に攻撃してそのヒットを確認するという一連の動作の表現は、エフェクトの一部としてダメージ値の数字が飛び出す、というFFの伝統的な流れを汲んだシステムデザインが仇となっていて、敵キャラを攻撃して火花なり何なりがでるという一連の画面上のアニメーションを構成するためにサーバーからの情報到達の待機がどうしても必要な部分ができてしまっている。(もしも数字をヒット時のエフェクトとして出さないなら攻撃モーション開始から敵が仰け反るまでクライアント側で一気に一方的に描いてしまって何も問題がないのだ。画面上ではキャラが敵に攻撃を当ててしまった後でも、遅れてサーバーが送ってよこした正確なダメージ値をログウィンドウにメッセージとして表示すればいいだけだ。)

クライアントのアニメーション処理はある時点まで進んだ時点でサーバーからの応答を待たなくてはならないし、そのためにアニメーションデータにはどの時点まで進んで待機するかといった情報も設定しておかなくてはならない。また、その待機しなくてはならない時点は表現の自然さから考えて、ダメージの原因(火の玉とか矢)が敵にぶつかる前、というかなり手前に設定しなくてはならないため、実際に画面上で敵が死ぬより前に、敵が死んだために起こる現象である、経験地の増加や、ドロップアイテムの出現といったことが起こってしまう。