単純な「ステップ ベース」のグラフィカル エンジンでは、オブジェクトの動きが直接フレーム レートに結び付けられます。これは、ハードウェアが同一であった 1980 年代には問題ありませんでした。
何年もの間、エンジンは d=s/t の「時間ベース」でした。これは、コンピュータのフレーム レートやパワーに関係なく、オブジェクトが A から B に移動するのに同じ時間がかかることを意味します。
すべてが時間ベースである場合、NPC に攻撃されたときにキャラクターのヒット ポイントが x ずつ減少するようなアクションをどのように実行できますか? 「ヒット」は 5 秒ごとです。
私が知る限り、この 5 秒の遅延は「ハートビート」と呼ばれます。多くの MMO は、多くのアクションに対してグローバルなこのようなハートビートを使用します。
「ハートビート」は、時間ベースのエンジンで線形でないイベントに使用する最良の方法ですか?
アップデート:
詳細なご回答ありがとうございます。可能であれば、明確にしようと思います。MMO サーバーが制御する世界を内部的にシミュレートするために使用するオプションを決定しようとしています。
私が理解しているように、オブジェクトを変更するシステムには 3 つの主な「刺激」があります。 注:これらはサーバー内部のみです。
線形統合操作。これらはゲームループ内で行われます。たとえば、A から B への NPC の移動。
クライアント イベント。サーバーに関する限り、これらは一見ランダムな時間に発生します。たとえば、ユーザーが発砲をクリックします。
時間ベース。これらはハートビート間隔で発生します。たとえば、アイドル状態の NPC をチェックして、何かすることを与えます。
ステップ 3 は、私が取り組んでいるもので、この方法が正しいかどうかを明確にするために探しています。これで私の質問が明確になることを願っています。