私たちは現在、Meteor.js と Phaser.io に基づいて、リアルタイムのマルチプレイヤー ゲームを構築しています。
私たちの問題は次のとおりです。Meteor の発行/購読システムは、期待したほど高速ではありません。
クライアントは、1 秒間に最大 60 回、公開されたドキュメントを更新するメソッドを呼び出すことができます。また、MongoDB に各変更を書き込み、オブザーバーで変更をチェックし、他のクライアントにプッシュするという制限のために、プレイヤーの動きがフリーズすることが定期的に発生します。また、両方のプレイヤーが同時に移動している場合 (同じドキュメントに書き込みを行っている可能性があります)、フリーズがより頻繁に発生します。
明らかに、私がそれを尋ねると、フリーズは Phaser.io からではなく、パブリケーションの更新時間から発生することはすでに確信しています。
ここに私の質問があります: Meteor 内に「真の」リアルタイムシステムを実装するにはどうすればよいですか?
DDP を探していましたが、ドキュメントが非常に貧弱で、コミュニケーション プロセスを効率的に構築できるとは思えませんでした。DDP を使用してクライアントとサーバーの間でカスタム イベントを処理する方法はまったくないようです。
もちろんSocket.ioもありますが、Meteorでの実装に苦労されている方も多いようです。
あなたならどうしますか ?問題を解決するのに最適なツールまたは方法はどれですか?
ありがとうございます。