問題タブ [multiplayer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - Http で機能するクロック スキューを推定するアルゴリズムはありますか?
Windows Phone 7 用のマルチプレイヤー ゲームを作成しています。イベントが各プレイヤーに対して同時に発生するようにする必要があります。現時点での私のアプローチは、イベントを開催したい時間を事前にブロードキャストし、電話の時計がかなり正確であることに依存することです。
問題は、時計が正確でない状況をいくつか見たことがあることです。数秒ずれている可能性があります。そこで私がやりたいのは、電話の時計の時刻がサーバーの時刻とどの程度異なるかを見積もることです。もちろん、ネットワーク レイテンシを考慮に入れる必要があります。特に、私が利用できる唯一のネットワーク プロトコルは Http であるためです。
私の質問は、クライアントとサーバー間のクロック時間の差を約 100 ミリ秒の精度で推定するために使用できるアルゴリズムを知っている人はいますか?
数学の学部生時代から、定数とエラー量 (レイテンシ) で構成されると想定される値をサンプリングするこの状況で使用できる統計モデルがあったことを覚えているようです。何らかの分布に従うと仮定されます。誰かがこれについて知っていますか、そしてそれは実際に適用されますか?
android - 描画に surfaceview を使用し、マルチプレイヤーに bluetooth を使用するマルチプレイヤー ゲーム (パフォーマンス)
私は現在、Android用のゲームを構築しています。ゲーム自体は、Google の月着陸船と同じアーキテクチャを使用して動作します。また、Bluetooth API と Bluetooth チャット アプリについても調べました。Bluetoothを使用して2つのデバイスでプレイできるようにゲームを作成したいと思います。
私は卓球スタイルのゲームを作っています。だから私はボールと2つのパドルを持っています。各プレイヤーに 1 つ。ゲームの更新とサーフェスビューへのリダリングにスレッドを使用しています。現在、このスレッドを使用して、パドルの位置を他のデバイスに送信しています。ゲームは 50 fps で実行されます。これは、Bluetooth経由で50回の書き込みを行うことを意味します。この方法は機能しますが、大きな遅延があります...
Bluetooth のパフォーマンスを向上させるにはどうすればよいですか? どのタイプの入力ストリームと出力ストリームを使用する必要がありますか?
敬具
node.js - マルチプレイヤーサーバーを構築するためのテクニック
私は自分のマルチプレイヤーゲームサーバー(おそらくnodejsで)を作成しようとしていますが、データを転送するためにどのプロトコルを使用すべきか疑問に思っていましたか?データグラムは情報を送信するための標準ですか(プロトコルの上に書き込むことができるHTTPのような配信を確認していないことに気づきました)?パフォーマンスが証明されたシステムの提案は、本当に助けになります。
データ転送を迅速かつ効果的に処理するための成功した手法を探していると思います(サーバー上の状態の維持とスケーリングは、私がしっかりと理解している別の問題です)。
最初はデスクトップ/モバイルゲーム(MacOS、iOS、Android)をサポートしたいと思っています。
c++ - ゲーム エンジンの設計: マルチプレイヤーとリッスン サーバー
私のゲーム エンジンは現在、動作するシングルプレイヤー パーツで構成されています。私は今、マルチプレイヤーの部分をどのように行うかについて考え始めています.
多くのゲームには実際のシングルプレイヤー モードがないことがわかりましたが、1 人でプレイしているときは、実際にはローカル サーバーもホストしており、ほとんどすべてがマルチプレイヤーであるかのように実行されます (ただし、データ パケットを渡すことができる場合を除きます)。パフォーマンスを向上させるための代替ルートを介して)
このモデルに適応するには、私のエンジンを大幅にリファクタリングする必要があります。可能なモードは 3 つあります。専用クライアント、専用サーバー、クライアント サーバー (リッスン モード) です。
- リッスン サーバー モデルは、ゲーム業界でどのくらいの頻度で使用されていますか?
- それの(欠点)利点は何ですか?
- 他にどのようなオプションがありますか?
php - Type-Racer, TheWikiGame ウェブサイトのようなマルチプレイヤー ゲーム
ログインして対戦できるサイトを作るにはどうしたらいいのだろうと考えていました。出発点または既存のフレームワークを探しています。
前もって感謝します!
c++ - 物理演算を使用した 2D ゲームのマルチプレイヤー / ネットワーク オプション
概要:
物理エンジンとして Box2D を使用した 50% 完成した 2D サイドスクローラーは、最終バージョンでマルチプレイヤーをサポートする必要があります。ただし、現在のコードは 1 人用のゲームです。
- 私は今どうすればいい?
- さらに重要なことに、マルチプレイヤーを実装してシングルプレイヤーと組み合わせるにはどうすればよいですか?
- シングルプレイヤー モードをマルチプレイヤー モードから分離してコーディングするのは悪い考えですか ( Notch が Minecraft で行ったように)?
シングルプレイヤーでのパフォーマンスは可能な限り優れている必要があります (シングルプレイヤー モードを実装するためにループバック サーバーを使用して物理学をシミュレートすると、問題が発生する可能性があります)。
完全な背景 / 質問:
私は C++ で比較的大規模な 2D ゲーム プロジェクトに取り組んでおり、その中核要素として物理学を使用しています。(そのためにBox2Dを使用します)
完成したゲームはマルチプレイヤーを完全にサポートするはずですが、ネットワーク部分を適切に計画していなかったというミスを犯し、基本的に今までシングルプレイヤー ゲームに取り組んでいました。
マルチプレイヤー サポートは、ほぼ完成したシングルプレイヤー ゲームに比較的簡単かつ明確な方法で追加できると考えていましたが、明らかに、私が読んだ限りではこれは間違っています。
マルチプレイヤー ゲームは最初から 1 つとしてプログラムする必要があることも読みました。シングルプレイヤー モードは、実際には目に見えないローカル サーバーをホストし、ループバック経由で接続するだけで構成されています。(私は、ほとんどの FPS ゲーム エンジンがそのようにしていることを知りました。例は Source です)
これで、2D 横スクロール ゲームを半分完成させましたが、どうすればよいかわかりません。
シングルプレイヤー/クライアントで作業を続けるだけでは、後でさらに再コーディングしてリファクタリングする必要があるため、今では役に立たないように思えます。
まず、このような状況に陥った可能性のある方への一般的な質問:
- どのように進めればよいですか?
次に、より具体的なものです。ゲームのネットワーク部分にどのようにアプローチできるかを見つけようとしています。
- シングルプレイヤー用の見えない / ループバック サーバー
これには、基本的にシングルプレイヤー モードとマルチプレイヤー モードの間に違いがないという利点があります。追加のコードはほとんど必要ありません。
大きな欠点: シングルプレイヤーでのパフォーマンスとその他の制限。2 つの物理シミュレーションが実行されます。1 つはクライアント用、もう 1 つはループバック サーバー用です。
たとえば、スレッドによる直接通信を通じて、ループバック サーバーからのデータに直接パスを提供することで回避したとしても、シングル プレイヤーは制限されます。
これは問題です。なぜなら、人々は一度に大量のオブジェクトをいじることを許可されるべきだからです。
- 分離されたシングルプレイヤー/マルチプレイヤーモード
シングルプレイヤー モードに関与するサーバーはありません。
これがどのように機能するかはよくわかりません。しかし、シングルプレイヤー機能のすべてを再実装するか、マルチプレイヤーモードに接着する必要があるため、少なくとも多くの追加作業が必要になると思います.
- シングルプレイヤー用のモジュールとしてのマルチプレイヤーモード
これは私が簡単に考えたにすぎません。マルチプレイヤーは、追加のネットワーク モジュールをロードしてサーバーに接続したシングルプレイヤー ゲームで構成できます。このモジュールは、データを送受信し、シングルプレイヤーの世界を更新します。
振り返ってみると、マルチプレイヤー モードを以前に計画しなかったことを後悔しています。私はこの時点で本当に立ち往生しています。誰かが私を助けてくれることを願っています!
macos - mac/ios用のマルチプレイヤーゲーム通信フレームワーク
MacおよびiOSデバイス用のマルチプレイヤー2Dゲームを作成しています。グラフィック/ゲームエンジンにはcocso2dを使用しますが、マルチプレイヤー通信に何を使用するかについてはほとんど空白です。SmartFox、RedDwarfなどの中央サーバーは使用できないことに注意してください。プレーヤーが他の人のためにゲームを「ホスト」し、LAN、VPN、または自分のサーバーでプレイできるようにするためです。
ポインタはありますか?私はlidgrenをチェックしましたが、それは.NET専用であり、したがって私にとってはオプションではありません。
編集:通信はリアルタイムである必要があるため、UDPを介して行われる可能性があります
javascript - JavaScriptマルチプレイヤーゲームでの不正行為を防ぐための良い方法は何ですか?
スクロールレベルのあるスペースシューターを想像してみてください。悪意のあるプレーヤーがゲームを自分たちの利益のために変更するのを防ぐためにどのような方法がありますか?サーバー側を制限するのが難しい彼ができることは、自動照準、可視領域の外側の覗き見、スピードハッキングなどです。
これを防ぐにはどのような方法がありますか?サーバーは任意の言語であり、クライアントはWebSocketを介して接続されていると想定します。
コードは100%ハッキング可能であると常に想定してください。(不正行為の目的で)完全に書き直されたクライアントが不正行為をしないようにする方法を考えてください。これらは、安全なゲームプロトコルを作成する方法、サーバー側の検出などです。
iphone - iOS ゲームセンターのマッチメイキング, 友達だけ?
ふと気になったのですが、フレンドしか招待できないゲームセンターの対戦は可能でしょうか?(つまり、ランダムな対戦はありません)それをどのようにコーディングしますか?
javascript - Cocos2dを使用したマルチプレイヤーゲーム-JavascriptとNode.js
cocos2d-javascript + node.jsを使用してマルチプレイヤーブラウザベースのゲームを作成することは可能ですか?もしそうなら、それについてのチュートリアルはありますか?
前もって感謝します!