私は参加者が20ラウンドのインタラクティブな意思決定を行うマルチプレイヤーゲーム(科学実験用)を開発しています。各ラウンドには3つのステージがあり、それぞれ最大30秒間持続する必要があります。私は、カウントダウンを実装するにはどうすればよいのだろうかと思います。流星の同期カウントダウン
現在、私はクライアントサイドのアプローチを使用しています。ラウンドテンプレートの作成時には、クライアント側のタイマーを使用して、参加者の回答が0になったときにそれを送信します。これはこれまでのところうまくいきます。(誰もが同じ時間にゲームを開始し、誰もが回答を提出した)。参加者が切断されたり(オフラインになったり、ブラウザを閉じたり、接続に問題があったりして)、セッションや何かを操作する可能性があることを考慮すると、これを行うには良い方法だとは思えません。
サーバー側のタイマーを行う方がよいでしょうか?たとえば、タイマーを含むコレクションで、参加者はそのコレクションを購読しますか?もしそうなら、どのようにサーバー側のカウントダウンを実装しますか?また、このアプローチでは、カウントダウン(テンプレートに表示する)に1秒ごとにサーバー上のデータをリッスンする必要があるため、サーバーに対する要求が高くなりますか?
素晴らしい!これは私が探しているものです。私は少し初心者ですので、これを実装するコードの一部を追加することができれば、私を大きく助けるでしょう! – amaatouq
あなたが最初にしようとすると、私はあなたの文脈の外になるだろう...あなたが問題を抱えたり、試してみるとエラーが発生した場合は、特定のコードの助けを得るためにSOに戻ってきてください。 – Salketer