MUD (マルチプレイヤー インタラクティブ フィクション ゲーム) を作成しようとしています。
私は設計/概念化の段階にあり、解決策を思い付くことができない問題に遭遇しました。より経験豊富なプログラマーがアドバイスをくれることを願っています。
これが私が説明できる限りの問題です。プレイヤーがアクションを実行することを決定すると、サーバーにコマンドが送信されます。次に、サーバーはコマンドを処理し、アクションを実行できるかどうかを判断し、アクションを実行するか、実行できなかった理由について応答します。アクションが失敗する理由の 1 つは、プレーヤーが何か他のことをするのに忙しいことです。たとえば、プレイヤーが戦闘中に巨大なブロードソードを振った場合、このアクションを繰り返すまでに 3 秒かかることがあります。プレーヤーがすぐにもう一度スイングしようとすると、ゲームは応答して、それを行う前に x 秒待つ必要があることを示します。これで、おそらく問題なく設計できます。私が抱えている問題は、AI クリーチャーからこの動作をどのように再現できるかということです。サーバーが独自に実行しているすべてのイベント、プレーヤーが行ったことに対する即時の反応としてではなく、時間に敏感である必要があります。邪悪なモンスターがあなたに呪文を唱えましたが、もう一度それを行うには 30 秒待たなければなりません...おそらくこれらすべてのイベントをある種のイベント キューに追加することになると思いますが、そのイベント キューを時間に敏感にするにはどうすればよいでしょうか?