
このとき同じリクエスト内で自分のHPと相手のHPを更新してしまうと、別のユーザーの情報を更新できることになってしまいますが問題でしょうか?
同じリクエスト内では相手のユーザーの更新はせず攻撃を受けたイベントだけを記録し、相手ユーザーからのリクエストがあったときにイベントをまとめて処理する。などをしたほうがいいのでしょうか?
ケースバイケースだと思います。
前者の場合はほぼリアルタイムで計算されることになるので、たとえば自分でも相手でもない第三者がHPを参照する必要がある場合などは、この方法の方が望ましいと思います。また実装もシンプルになると思います。懸念点としては、チート対策などしっかり取る必要があるということでしょうか。
後者の場合は自分のステータスのみしか変更できないという制限をかけるので、チート対策がしやすいという反面、リクエストが来るまで自身のステータスが更新されないため、リアルタイム性が損なわれることだと思います。イベント情報から都度都度計算する方法もあると思いますが、実装がかなり面倒かと思います。
そのゲームの要件的に後者で問題がないのであれば後者の実装で良いと思いますが、普通に前者の実装で良いと思います。
0 コメント