タグ付けされた質問 「multiplayer」

複数のプレイヤーが協力的または競争的に、ローカルまたはリモートでプレイします。

6
オンラインマルチプレイヤーゲームで不正行為を防止または軽減する方法は何ですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 パンクバスターは不正行為を防ぐためだけに存在しますが、パンクバスター対応ゲームでは不正行為が一般的です。Modern Warefare 2は、独自のサーバーを実行したり、MODを作成したりするエンドユーザーから真剣にロックされており、不正行為は常に発生しています。 各クライアントがPC上で実行されているマルチプレイヤーゲームの場合、不正行為を削減または排除するにはどうすればよいですか?

1
サーバーがLAN上で実行されていることを、ゲームクライアントはどのように知るのですか?
多くのマルチプレイヤーゲームには、LANプレイのオプションがあります。私の質問は、クライアントがサーバーがLANのどこにあるかをどのように知るかです。 私が考えることができる唯一の方法 ブロードキャストアドレスを介してブロードキャストを送信します。これには、異なるネットワーク環境のルーターまたはスイッチによって時々フィルタリングされるという欠点があります。 サブネット内のすべてのIPでサーバーに接続してみます。これには時間がかかるという欠点があり(特に、ネットワークでIPに10.XXX.XXX.XXXを使用している場合)、ミニddos攻撃が行われますが、フィルタリングは行われません。 特に他のネットワーク環境でゲームはどのようにこれを行いますか?

6
WoWなどのMMORPGに保存されているプレーヤーの位置はどのような種類の変数ですか?
J.カーマックがすぐにそれについて話すのを聞いた... ソフトウェアがどのようにしてプレーヤーの位置を非常に正確に追跡し、ゾーン間でロードすることなく、マルチプレーヤー規模で、このような巨大な世界にいるのでしょうか?ネットコードを通過するデータはどのようにフォーマットされますか? 頂点がグラフィックカードのメモリにどのように保存されるかは理解できますが、マルチプレイヤーの同期に関しては、何が最適か想像できません。

12
オンラインPvPゲームのバランス
この邪悪な問題に受け入れられる解決策があるかどうかはわかりません。オンラインPvPゲームのデザインを考えています。ゲームの重要な側面は、私が選択したものではなく、ただ与えられたものであり、人々は非常に異なる時間にゲームに参加するということです。すでに強力なプレイヤーが確立された後でも、新しいプレイヤーは引き続き登場します。 後発者が強力なプレイヤーにすぐに押しつぶされないように、このようなゲームのバランスをとることはどのように可能ですか?私はこのようないくつかのゲームをプレイしましたが、これを軽減するために見た唯一の方法は、定期的に再起動することです。自分のゲームの1つで、保護システムを試しました。新しいシステムでは25日間攻撃を受けませんでした。これは、25日が経過するまで機能し、それにより粉砕が通常どおり開始されました。 このシナリオは、新しいプレーヤーに多くのフラストレーションを引き起こし、それらの多くをすぐに終了させます。役立つ天才的な解決策はありますか?私が念頭に置いているのは、新しいプレイヤーを古いプレイヤーから物理的に遠ざけることで、強力なプレイヤーが新人を見つけるのに時間がかかり、自分たちを守る時間を与えることです。考え?

6
没入感を失わずに永続的な世界でプレーヤーのログオフとログオンを処理する
永続的なオンラインゲームで修正されたことが一度も見られなかった問題の1つは、キャラクターが世界に出入りすることなく、プレーヤーのログオンとログオフを処理する方法です。私の最初の考えは、キャラクターが眠っているときにプレイヤーのオフライン状態を単純に作ることですが、意図的にログオフするのではなく、切断した場合には意味がありません。 気にせずに修正する場合、どのように修正しますか?

2
3人以上のプレーヤーでEloを使用したプレーヤーのランキング
Eloを使用して、特定のゲームの試合間のプレイヤーランキングを追跡したいと思いますが、ゲームは1つの試合で最大4人のプレイヤーでプレイできます。CarcassonneのようなゲームでEloを使用し、2人以上のプレイヤーがプレイしているのを見てきましたが、1対1のマッチアップ以外ではEloに慣れていません。 ウィキペディアの記事から、拡張したい2人のプレーヤーの方程式は次のとおりです。 E a = 1 /(1 + 10 (R b -R a)/ 400) E b = 1 /(1 + 10 (R a -R b)/ 400) R x new = R x old + 32 *(W – E x)、Xが勝った場合はW = 1、Xが負けた場合はW = 0。 3人以上のプレイヤーがいる場合、E xとWの計算はどのように変わりますか?

6
シームレスにループする2Dマルチプレイヤーレベルを作成しますか?
最近、ループレベルのデザインを持つことができる2D横スクロールマルチプレイヤーゲームを作成する方法について議論がありました(スターバウンドとその世界がどのようにループしているのかを考えてください)。 最も簡単な方法は、プレイヤーを一方から他方へテレポートできるトリガーゾーンを持つ長方形のマップを作成することだと思いました。しかし、このアプローチの明らかな問題は、マップの端に複数のプレイヤーが一度にいる場合です。プレイヤーをお互いの前にテレポートするだけでなく、他のプレイヤーが消えることなくプレイヤーを輸送する方法が必要になります。 このアイデアを追加して問題を解決するために、私は次のことを思いつきました。プレイヤーが「クローンゾーン」(緑の四角)を見ることができるトリガーゾーン(画像の赤の四角)を持っています。この緑色の正方形では、トリガーゾーンの反対側からのオブジェクトが対応するクローンゾーンにコピーされます(A&Bシェイプで見ることができます)。プレイヤーが「クローンゾーン」の開始端に到達すると、マップの反対側にテレポートされます。 この例では、プレイヤー2はプレイヤー1を見ていると考えますが、実際には自分のクローンを見ているか、その逆です。 これは目前の問題にとっては少し極端で複雑に思えました。私の質問は、この解決策が問題に取り組むための良いアプローチであるかどうか、またはこの問題を解決するより簡単な方法があるかどうかを知ることです。

2
ゲームのホストはオーソリティか、それとも別の愚かなクライアントでしょうか?
1人のプレイヤーがホストし、他のプレイヤーが接続するネットワークマルチプレイヤーゲームを設計するとき、私が知っている2つの戦略があります。 ホストプレーヤーのゲームをオーソリティにし、他のすべてのプレーヤーがダムクライアントとして現在のゲーム状態に追いつくようにします。コードでは、現在のプレーヤーがホストかどうかに応じて、多くの特別なケースが必要になります。 別のスレッドで非表示の専用サーバーを実行することにより、ホストを他の全員と同様にダムクライアントにします。専用サーバーが権限となり、ホストは他のユーザーと同様に(localhostを介して)接続します。 これらのそれぞれの利点/欠点は何ですか?最もよく使用されるのはどれですか(またはゲームのタイプ/サイズによって異なりますか)?

9
HTML5ゲームへのマルチプレイヤーの追加[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 6年前に閉鎖されました。 私は現在協力プレイをしているゲームを作ることに興味がありますが、これをHTML5で実装する最良の方法について興味があります。 ストレートCソケットを使用する前にゲームを作成し、SDLのNetライブラリも使用しました。 キャンバスベースの環境でこれを行うための最良のオプションは何ですか? 現在、私が思いつくのは、AJAX /データベースソリューション(高リフレッシュレート)、または何らかの方法でソケットを介してデータを送信するPHPサーバーを実装することです。 全体的なゲームプレイは2.5Dプラットフォーマー型のゲームになるため、両方のクライアントをプレイヤーの位置、敵の位置、発射物、環境データなどで継続的に更新する必要があります。

2
マルチプレイヤー実装、選択した場合、後で実装できますか?
XNAを使用してゲームプロジェクトをビルドする予定です。マルチプレイヤー機能を追加したいかどうかは、現時点では完全にはわかりませんが、私はまだ新しいことを解決するために他の多くの問題を抱えています。私はプロジェクトが必ずしも手に負えないようにしたくない。 私の質問は、マルチプレイヤーのサポートを追加する計画なしにプロジェクトに向かう場合、後戻りして(通常はそうではありません)マルチプレイヤーゲームをキャプチャするために必要なコードを追加するのは簡単ですか?

4
MMOでプレーヤーのリアルタイムの位置を追跡するにはどうすればよいですか?
MMORPGでプレイヤーの位置をどのように追跡しますか?データベースを使用するか、座標をファイルに保存できることを読みました。データベースを使用してみましたが、時間がかかりました。ファイルを使用してプレーヤーの位置を追跡するにはどうすればよいですか?

2
プレーヤーが停止したときに、ローカル入力予測によるプレーヤーのドリフトを停止するにはどうすればよいですか?
私は2Dサーバークライアントマルチプレイヤーゲームエンジンに取り組んでいます(こちらで試すことができます)。WebRTCを使用しDataChannelます。(接続はピアツーピアですが、ホストピアはサーバーとして機能します。) (接続性を除く)最大の問題は、ローカル入力の予測です。通常の操作:キーを押すと、プレイヤーは即座に移動し、どのキーが押されたかをホストに伝え、ホストからデータを受け取り、それを過去の位置と比較します。差異がある場合、位置は時間とともに修正されます。これは、pingが高い場合でも、低いパケット損失またはPDVでうまく機能します。 損失またはPDVがある場合、偏差は大きくなる可能性があります。これは、入力の変更を示す最初のパケットが遅延またはドロップされた場合、ホストが後で検出し、ローカル入力の予測よりも遅れてそのプレーヤーの変更を開始するためだと思います。 プレーヤーが動いている場合は、目立たないため、適用される修正の量を増やします。これは、移動を開始するときと移動しているときにギャップを埋めるようです。ただし、修正が突然停止した場合、修正はより顕著になります。その後、ホストが後で停止したとPDVまたは損失が意味する場合、ホストはオーバーシュートし、少し先に進んでいるというデータを送り返し、修正によりプレイヤーは少しドリフトします。不安定な接続では、プレイヤーはしばしば停止した後に顕著にドリフトします。 私は他のゲームでこれに気づいていません。これをどのように軽減できますか?

4
リアルタイムのオンラインシューティングゲームを潜在的なボットから保護する方法
マルチプレイヤートップダウンシューティングゲームを作成しようとしています。私はさまざまなトピックについて読みましたが、それらを見ることができます、私は先にいくつかの本当の課題を抱えていますが、私はそれについてすべてです。 私が理解できないことの1つは、ボットを作成しようとする人々からゲームをどのように保護することになっているのでしょうか? つまり、私が理解している限りでは、ネットワークトラフィックを保護することは不可能であり、プレイヤーが何が起こっているのかを聞き、それを理解するプログラムを作成することはできません。 私が心配しているのは、ライバルプレイヤーの現在の場所を聞くボットを作成し、そのプレイヤーがその試合に勝つために正確な「完璧な」場所で撮影しているように通信を送信できることです。 では、このようなボットからリアルタイムゲームを保護するためにどのような手法が使用されていますか? また、私は議論を検索しようとしました(これは多くの人が苦労しているように聞こえます)が、具体的にはリアルタイムゲームのネットワーキングに関するより広範な質問の一部としてのみ見つけることができませんでした。もっと一生懸命に見えるはずだったなら、私を自分の場所に置いてください。

3
マルチプレイヤーゲームでの位置の補間
マルチプレイヤーゲームの帯域幅を節約するために、サーバーティックごとにすべてのオブジェクトを更新するのではなく、各オブジェクトがupdateRateを持ち、このオブジェクトがXサーバーティックごとに更新されることをゲームに伝えます。 オブジェクトの更新メッセージを受け取ったとき、次の更新が来ると予想される時間を計算します。 origin = serverCurrentPosition diff = serverNextPosition - origin arriveTime = now + timeBetweenTicks * updateRate オブジェクトを描画するとき、次の更新までの残り時間を計算し、それに応じて位置を補間します。 step = 100 / timeBetweenTicks * updateRate delta = 1 - step * ((arriveTime - now) / 100) position = origin + diff * delta それは動作します...しかし、図面にはまだ少しのジッターがありますが、私の理論では、スケーリングはある程度のラグを処理する必要があるので、すべてがうまくいくはずです、そうでしょうか? ここでの質問は、これが最良のアプローチですか?実際の遅延を計算に入れる必要がありますか?もしそうなら、どうすればいいですか?私はいくつかの実験を行いましたが、ジッターは悪化しました。

3
P2Pネットワークの隠れ位置?
私は安全なゲームのためにP2Pアーキテクチャに取り組んでおり、問題を5つのサブ問題に分けました。 送信されたゲーム状態の違法な変更 不正行為者を正確にドロップする ゲームの状態に同意する 「先読み」チートの回避 相手から機密情報を隠す 最初の4つはほとんどすべて解決しましたが、最後の1つが問題を抱えています。 詳細に入る前に、「チートプルーフ」p2pネットワークの作成リストに見落としているものがあるかどうかを尋ねたいだけです。私はエイムボットの使用などのチートには興味がありません。p2pネットワークを集中サーバーと同じくらい安全にすることにだけ興味があります。 そのため、これまでの機密情報の非表示の努力では、対戦相手の位置が常に知られるべきではないゲームのプレイヤーの位置に焦点を当ててきました。問題は、対戦相手の位置を知らずに自分の位置を対戦相手に送信するかどうかを決定する方法になります。 相手があなたのポジションを比較するために複数の間違ったポジションを送信するなどの方法を除外しました。なぜなら、相手はそのようなシステムを簡単に乱用できるからです。 私は、相手から「視野」を受け取り、それによって自分の位置を送信するかどうかを決定できる方法に焦点を合わせてきました。ただし、これは、League of Legendsなどのゲームでは、対戦相手の視野も非常に機密情報であるという問題です。特異行列を使用して視野を変換することでこれを解決しようとしましたが、つまり、視野の変換バージョンから元のバージョンに戻すことはできませんが、それは線形変換であるため、位置が内部にあるかどうかを把握することができます視野かどうか。 ただし、これは完全には機能せず、変換後に正確な視覚フィールドを復元することはできませんが、視覚フィールドの「勾配」に関する情報(視野は複数の線で構成され、各線の勾配を決定できます)元の視野を比較的安価に再構築するために使用できます。 本質的に、私が必要とするのは、位置が「見える」かどうかを判断できる関数であり、この関数/視野の再構築は、視野の再構築が完了するともはや関連しないように計算的に要求する必要がありますアクションのゲーム。そのような方法を偶然知っている超賢い人はいますか? 編集 人々は「ビジョンフィールド」全体について混乱しているので、ここでより詳細な説明を行うことを目指します。ビジョンフィールドは一連の線のグループで構成されます。位置が線のどちら側にあるかを確認するだけで、位置がこれらのグループのいずれか内にあるかどうかを簡単に確認できます。それはそのグループ内にあり、したがって視野内にあります。 ただし、送信される情報はこの行ではなく、行と変換(2 x 2の特異な行列)の変換であり、受け取った変換を使用して最初に変換することにより、行のどちら側にあるかを確認できます。その値を変換された線と比較します。ここで重要なのは、変換が特異であるということです。つまり、元の行に戻る逆行列を見つけることは不可能です。しかし、線の原点を正確に特定するまで、変換された線のどちらの側に多くの点があるかをチェックするだけで、線の再構築を行う線の勾配を決定することができます線の勾配。 私が探しているのは、ポイントがエリア内にあるかどうかを判断するための方法です。エリアからメソッドを再構築することは不可能であるか(いつでもブルートフォースをかけることができるため、存在するのではないか)、または計算量が非常に多くなります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.