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

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

2
UDPノンブロッキングまたは受信用の別のスレッド?
マルチプレイヤーゲーム(64歳未満のプレイヤー向け)を作成しています。私はすでにネットワークループ用に別のスレッドを用意することを決めましたが、UDPを受信するための追加のスレッドを作成するのか、受信用ソケットを非ブロッキングに設定する(追加のスレッドなしで)のが良いのか疑問に思っていました。 または、非同期ソケットのような別の方法を使用する方が良いですか?より良い方法はいつでも歓迎です!

3
頻繁に変化するゲームの記録/再生システムをどのように設計しますか?
無料のMMORPGで作業していますが、問題があります。 私は(他の人と一緒に)ゲームのビデオ録画システムを開発しています。アイデアは基本的に、タイムスタンプ付きで送受信されたすべてのパッケージと、クライアントからのローカルデータを記録し、それをファイルにダンプします。ビデオを再生するために、ファイルにあるすべてのものをエミュレートします。また、ffmpegを使用してビデオをaviにエクスポートするオプションもあります。 問題は、ゲームのバージョン間で変更を加えると、ビデオの下位互換性(コマンドの追加/削除、機能の変更など)を維持することが困難になることです。この問題を処理する良い方法はありますか?さまざまなプレーヤーを束ねて、ビデオファイルのバージョンごとに適切なプレーヤーを選択する代わりに、 他のゲームがこの状況をどのように処理するかを知っておくと役に立ちます。 助けてくれてありがとう、私の英語は申し訳ありません。

3
完全な状態の更新よりも効率的にマルチプレイヤーゲームの状態を同期するにはどうすればよいですか?
私は以前に少しゲームネットワークコーディングを行いましたが、主にリアルタイムニーズのないゲームのTCPを使用しました。ネットワーク化されたマルチプレイヤーで2D Javaゲームに取り組んでいます。学習のために、私はこれを既存のネットワークAPIなしで自分で行いたいと思っています。 サーバーからクライアントに送信されるゲームの状態を効率的に表すにはどうすればよいですか?最も明白ですが、おそらく最も効率の悪い方法があります。これは、各プレーヤーの場所、アニメーションの状態などを使用してゲーム状態コンテキストオブジェクトを作成し、更新ごとにそれを各プレーヤーに送信することです。それを実装することはそれほど難しくはないように見えますが、おそらくリアルタイムの相互作用に近いものを達成するには大きすぎるでしょう(もちろん、これに関する私の経験は限られているため、私は正しくない可能性があります)。 状態の変化のみを送信するために以前に使用した確かな方法はありますか?パフォーマンスに十分な格差があっても、追加の作業に値するでしょうか?

5
経験の向上とプレーヤーのコラボレーションのバランスをとるにはどうすればよいですか?
私は友達とオンラインゲームを開発していますが、現在、ゲームデザインの全体的な問題によってブロックされています。経験値と戦利品/ゴールドでプレイヤーに報酬を与える一方で、特に必ずしもそうでないプレイヤーと一緒にプレイするように奨励する方法彼らのスキルの範囲で? 私たちのゲームの技術的な詳細: グリッドベースのトップダウンの世界地図レイアウト(ゼルダの伝説を考えてください) ランダムに生成されたターンベースのダンジョン(ポケモンミステリーダンジョンを考えてください) 経験曲線、非戦闘スキル、取引、社会的相互作用(ルーンエスケープを考えてください) この計画は、プレイヤーが社交し、クエストの一部を行い、地上でスキルを発揮してから、最大4人の友達のグループと一緒にダンジョンに入り、戦闘をスキルして戦利品を獲得することを目的としています。理想的には、スキルの高いプレーヤーほどハードダンジョンに参加し、ハードタスクを実行できる一方で、平凡でなく、1人のプレーヤーにほとんどの戦闘を行わせることなく、新しいプレーヤーに簡単なダンジョンで参加できます。 可能な修正: あらゆる種類の経験曲線と報酬を削除し、すべてのバランスをとる(欠点:粉砕する理由がない) 「平準化」をより多くのお金とより良い武器を得ることに制限します(欠点:略奪品を実質的に持つことはより高いレベルになります) ダンジョンにいるときに、低レベルのプレイヤーを最高レベルのチームメンバーのレベルまで上げます(欠点:プレイヤーがすぐにスキルを習得できるようにする抜け穴になる場合があります) ユーザーのスキルを必要とするゲームの追加コンポーネントを追加します。これにより、プレーヤーは、ゲームに優れているためにレベルだけに依存することはありません(たとえば、クイックタイムイベント)(欠点:ターンベースのゲームで実装するのが難しい、あいまい) これらはほんの一部のアイデアであり、私はこの問題についてしばらく考えてきました。この問題についてどう思いますか、これを調整するためにどのようなメカニズムを導入できますか?

5
Vector3で演算子 '> ='を使用できないのはなぜですか?
私は私がように参照する2つの位置の間を移動するための四角形を取得しようとしている_positionAとします_positionB。どちらもタイプVector3です。長方形はうまく動きます。ただし、到達_positionBしても、本来のように反対方向に移動することはありません。 コードをもう一度見てみました。オブジェクトが移動ifすると、コード内のステートメントは、rectsの位置がに等しいフレームを逃したという結論に達しました_positionB。rectsの位置がより大きいか等しい 場合は、コードを変更して方向を逆にすることにしました_positionB。私のコードは長すぎないので、以下に表示します。 using UnityEngine; using System.Collections; public class Rectangle : MonoBehaviour { private Vector3 _positionA = new Vector3(-0.97f, -4.28f); //Start position private Vector3 _positionB = new Vector3(11.87f, -4.28f); //End position private Transform _rect_tfm; private bool _atPosA = false, _atPosB = false; public Vector2 speed = new Vector2(1f, 0f); private …
9 unity  c#  vector  mathematics  vector  matrix  unity  c#  transformation  java  3d  terrain-rendering  shading  ios  opengl-es  opengl  rendering  optimization  python  scripting  minecraft-modding  modding  pc  3d-meshes  mesh  culling  point-cloud  networking  interpolation  mathematics  game-design  ai  game-mechanics  animation  unreal-4  skeletal-animation  3dsmax  unity  c#  3d  opengl  c++  textures  unity  ide  cocos2d  cocos2d-x-js  unity  c#  mono  il2cpp  c++  game-loop  timer  linux  flash  actionscript-3  java  glsl  c++  vector  entity-component  c++  directx11  windows  visual-studio  libgdx  mouse  unity  c#  architecture  storage  unity  c#  rotation  coordinates  quaternion  vrpn  movement  vector  unreal-4  unity  shaders  unity  gui  text  bug  shooter  3d  animation  rendering  voxels  c++  mmo  multithreading  linux  textures  procedural-generation  terrain-rendering  multiplayer  mmo  game-state  java  android  libgdx  opengl  procedural-generation  unity  gui  3d  animation  tools  geometry-shader  mobile  advertisements  unity  c#  animation  scripting  unity  animation  unityscript  coroutines  unity  shaders  lighting  camera 

2
「リーダー」プレーヤーをキックする投票をどうやって行うのですか?
私のゲームには、10人程度の部屋がたくさんあり、そこで競争します。それは基本的に他の9人の小さな人に対して大きな男です。 ただし、1人の男が意図的に「荒らし」、他の9人の不愉快なゲームになることがあります。これらの人々は、1人の男を蹴って他の9人に置き換えたいと考えています。 満場一致で投票する必要がある場合(キックされる男以外)、彼はゲームに1人の友人しかいないため、投票は成立しません。同様に、全会一致のマイナス1をした場合、2人の友人が投票を中止する可能性があります。 小さな部屋に問題があります。部屋に2〜3人しかいない場合、1人の男性が他の人を簡単に蹴ることができます。 部屋に何人いるかに応じて、部屋から誰かを蹴るのに必要な最適な投票について調査は行われましたか?

2
LAN経由のAndroidリアルタイムマルチプレーヤー[終了]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、議論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 私はAndroidプラットフォーム用にいくつかのゲームを開発しましたが、最初のマルチプレイヤーゲームの作成を計画しています。私が念頭に置いているのは、基本的にはローカルエリア接続/ WiFiを介して2台の電話でプレイできる2プレイヤーゲームの魔女だけです。 両方の電話は、3つの整数値を他の電話にリアルタイムで渡すことができる必要があります。これまでのところ、ソケットを使用することを検討しましたが、深く掘り下げる前に、より良いアプローチがあるかどうかを尋ねたかったのですか? ありがとう!

4
数百人のプレイヤーによるサーバー側の物理シミュレーション
私は現在、物理をサーバー側でシミュレートしたいシングルプレイヤーの物理指向のゲームに取り組んでいます。これは、ゲームにリーダーボード、永続的なプレーヤーの進行状況などがあり、あらゆる種類の不正行為を防止したいためです。基本的には純粋なクライアントサーバーアーキテクチャであり、クライアントは「ダム」であり、サーバーが表示したいものだけを表示します。 しかし問題は、ゲームがおそらく数百人(おそらく数千人)の人々によって同時に行われることです。何百もの状態を同時に維持する必要がある場合、サーバーの処理能力が失われる可能性が最も高いため、これは私に関係しています。 すべての物理シミュレーションをクライアント側に移動しても問題はありませんが、クライアントシミュレーションの結果が有効かどうかを検証する方法が本当に必要です。しかし、私にはその方法がわかりません。 シミュレーションサーバー側をときどき実行して、クライアントがまだ公平に機能しているかどうかを検証することを考えましたが、サーバーにできるだけ負担をかけないようにしたいのです。 物理学は、Glenn FiedlerによるGDC 2011デモとほぼ同じくらい複雑になるでしょう。ただし、常に衝突するリジッドボディが1つのシーンに含まれ、すべてが同時に表示されます。 Web上のほとんどのリソース(ここでも、Glenn Fiedlersサイトは素晴らしいものです)が小規模なネットワーク化された物理学(Haloのような30プレイヤーのFPSなど)について話すので、私はこの特定のケースへの回答を得るのに苦労しています。 この件に関するアドバイス、ウェブサイト、論文などは非常にありがたいです。 私が回答したい質問の要約: クライアントサーバーモデルはどの程度実現可能ですか?サーバーの処理能力に関する懸念は正当で根拠がありますか? サーバー上のクライアントによって実行される物理シミュレーションを確実に検証することは可能ですか?もしそうなら、どうですか?


2
オンラインマルチプレイヤーゲームの基本[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 6年前休業。 現在、c#オンラインマルチプレーヤーゲームにリアルタイムで取り組んでいます。目的は、UDPプロトコルを使用してクライアント/サーバーベースの接続を確立することです。これまでのところ、サーバーに接続されているすべてのプレーヤーにデータが届くようにする必要があるため、プレーヤーの動きにはUDPを使用し、イベント(プレーヤーの射撃、プレーヤーの命を失う)にはTCPを使用しました。UDPは「信頼できない」と言われ、一部のパケットが失われる可能性があることを知っています。しかし、接続に影響を与える可能性があるので、TCPとUDPを混在させないようにあらゆる場所を読んでいます。 主な質問は、ネットワークをどのように整理すればよいかということです。 UDPはコネクションレスですが、誰が誰であるかをどのように保存すればよいですか?クライアントのIPアドレスをリストに保存する必要がありますか? 重要なイベントにTCPを使用するか、UDPを使用する必要がありますか?UDPを使用する必要がある場合、データが失われないようにするにはどうすればよいですか? TCPとUDPの両方を使用することで、各プレーヤーのIPをリスト(UDPの場合)と別のリスト(UDPの場合)に接続されているTcpClientに保存する必要があります。どうすればより効果的に変更できますか?

2
Xbox LiveはマルチプレイヤーFPSに適していますか?
私は基本的な一人称シューティングゲームに取り組んでいます。最終的にはXbox Liveでも公開したいと思います。 これを行っても、パーティーにアクセスできますか(招待およびチャット)?マイクロソフトはマルチプレイヤー用のサーバーを提供していますか、それとも自分でサーバーを提供する必要がありますか?ゲーム内でXboxシステムから自分のサーバーIPを自由に接続できますか?Xbox以外のWebページのユーザーにマイクロトランザクションなどの料金を請求したり、サーバーのコストを維持したりできますか?

1
ボードゲームAIの作成
私はOkeyという名前で、主にトルコで人気のあるボードゲームをコーディングしたいと思っています。http://en.wikipedia.org/wiki/Okey しかし、私はAIについていくつかの問題を抱えています。 最初にゲームについて説明させてください。 ゲームは4人のプレーヤーでプレイされます。 このゲームには106のタイルがあり、そのうちの2つは偽のジョーカーです。他の104のタイルは、一般的に緑、黒、青、赤の4色に分かれています。すべての色には2セットのタイルがあります。セットiseには、1から13まで順番に番号が付けられた13のタイルが含まれています。 各プレーヤーは14タイルを開始し(1つは開始15で最初に開始)、最も不要なタイルの1つを次のプレーヤーに投げます。次のプレーヤーは、このタイルを取得するか、テーブルの中央にあるスタックから別のタイルを取得できます。ゲームは反時計回りに再生されました。 このゲームの目的は、14タイルの有効なシーケンスをできるだけ早く見つけることです。プレーヤーは、タイルを13まで同じ色で連番で並べることができます。たとえば、緑1、緑2、緑3の場合は例外です。ここでは例外があり、1は13に続くことができます。たとえば、赤12、赤13、赤1は有効なセット。ただし、赤13、赤1、赤2は無効です。 または、プレーヤーは同じ数の色でタイルを揃えることができます。たとえば、緑1、黒1、赤1、青1などです。 各セットを有効にするには、3つ以上のタイルである必要があり、このセットのそれぞれに「Per」という名前を付けます。仕上げには3タイル未満は無効です。有効な仕上げセットは次のようになります。G:緑、B:青、R:赤、BL:黒G1 | G2 | G3 B2 | R2 | BL2 R9 | R10 | R11 | R12 BL13 | R13 | G13 最後に、ゲームを開始するときに、ジョーカー(オーケー)を決定するために選択されたタイル。たとえば、Blue 3を選択した場合。青4はジョーカー(オーケー)となり、プレーヤーは、セットを獲得または完了するために必要なタイルの代わりに、このタイルを使用できます。 もちろん、これらの規則は一般的な規則であり、質問を説明するために要約されています。英語が読める場合は、このリンクで詳細を確認できますhttp://tr.wikipedia.org/wiki/OkeyまたはGoogle Translateによる翻訳ページhttp://translate.google.com/translate?js=n&prev=_t&hl= en&ie = UTF-8&layout = 2&eotf = 1&sl = tr&tl = en&u = http://tr.wikipedia.org/wiki/Okey では、どのAIアルゴリズムを使用できますか?ミニマックス理論とアルファベータ剪定を探しました。しかし、これらの理論は通常、チェスや三目並べのような2人のプレーヤーによるゲームです。 元の質問は、stackoverflowにあります。https://stackoverflow.com/questions/4419628/creating-a-board-game-ai

2
マルチプレイヤーゲーム用のシンプルなゲームサーバーを構築する方法
シンプルなゲーム用のシンプルなマルチプレイヤーゲームサーバーを作成したいと思います。 このゲームはCommand&Conquerに似ていると思われ、戦車と兵士が数人います。1人の兵士を選択し、マップをクリックして、兵士が行くべき場所に移動できます。兵士が行けなかった場所に来ると、歩き回ります。そして、兵士は敵に撃ち落とされることができます。 ゲームサーバーをどのように構築し、クライアントで何をすべきですか? つまり、兵士がXからYに移動するがZの建物の周りを移動する場合、サーバーは兵士がいる場所を正確に計算できなければならない(敵が彼に撃たれた場合)、そしてクライアントはまた、兵士を描く。 サーバーで何をすべきか、そして私はこれのためのプロトコルを設計しなければならないと思います。サーバーはゲームの状態と時間を追跡する必要があると思います。これを行う方法についての提案はありますか?またはいくつかの読書をお勧めできますか?

6
選択するサーバープラットフォーム[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 5年前休業。 これらの要件を備えたオンラインマルチプレーヤー用のサーバーを作成します。 完全にサーバー上でプレイされる非常にシンプルなターンベースのゲーム(カードゲームを考えてください)(セキュリティ上の理由) テーブルごとに4人のプレーヤーで複数のゲーム(テーブル)を実行できる必要がありますが、ロビーシステムは必要ありません(別のサーバーが処理します) できるだけ多くのプレーヤーを同時にサポートできます。複数のサーバーが必要になる場合があります プレイヤー間でチャット Flash / AIRクライアントへのソケット接続 他のサーバーと通信できる必要があります(プレーヤーアカウントなど) 今、私は2つのオプションを考えています: Smartfox(または同等のもの) TomcatなどのカスタムJavaソリューション Smartfoxを選ぶ理由 複数の部屋を処理し、ネイティブでチャットします おそらく、よく知られているマルチプレイヤーゲームの問題の解決策があります。 なぜカスタム? Smartfoxには多くの不要な機能があり、パフォーマンスが悪い SmartfoxはXMLベースのフォーマットと通信するため、より効率的なバイナリフォーマットを使用できます。 Smartfoxの拡張メカニズムを使用して、サーバーでゲームモデル全体を実行するのが便利かどうかわからない 複数の部屋とチャットは簡単に再実装できます Tomcatまたは軽量コンテナはSmartfoxよりも展開が簡単です Tomcatでの開発のためのより良いIDEサポート(自動デプロイなど) どう思いますか?私の仮定は正しいですか?追加するものはありますか?どのオプションを選択する必要がありますか(または完全に別のオプションを選択する必要があります)?

5
Flashゲームのネットワーキング。ソケットかストラタスか?
ネットワーク通信を使用するFlashゲームのプロトタイプに取り組んでいます。マルチプレイヤーゲームになるため、ピア2ピア接続を使用することをお勧めします。 誰かがストラタスを使用したり、組み込みのソケットを介してマルチプレイヤーゲームを作ったりしたことはありますか? ゲームはターンベースのゲームで、ポーカーと同じくらいの速度ですが、もし私がより速いターンを得ることができればそれは素晴らしいでしょう。

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