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

オンラインゲームで一般的に発生する、複数のクライアント接続との相互作用の処理を担当する親コンピューター。

5
ゲームの俳優は自分自身を描く責任がありますか?
私はゲーム開発は初めてですが、プログラミングは初めてです。 私は(再び)JavaScriptのcanvas要素を使用してPongタイプのゲームで遊んでいます。 Paddle次のプロパティを持つオブジェクトを作成しました... width height x y colour 次のPongようなプロパティを持つオブジェクトもあります... width height backgroundColour draw()。 draw()現在、メソッドはをリセットしてcanvasおり、そこで問題が発生しました。 必要があるPaddleオブジェクトが持つdraw()その描画方法は責任、または必要があるdraw()のPongオブジェクトがその役者を描くための責任がある(私が間違ってる場合、私はそれが正しい用語であると仮定し、私を修正してください)。 私はのためにそれがadvantagousだろうと考え出しPaddle自体を描画するために、私は2つのオブジェクトをインスタンス化するように、PlayerとEnemy。それはでなかった場合Pongのdraw()、私は二度同様のコードを記述する必要があると思います。 ここでのベストプラクティスは何ですか? ありがとう。

6
MMOでAIを計算するのは誰ですか?
MMOを構築していますが、NPCを追加したいです。問題は、基本的なデザインがわからないことです。計算、クライアントまたはサーバーは何ですか?サーバーがイベントと反応を計算することは理解できますが、経路探索とプレイヤーの位置と動きについては、だれが計算しますか? サーバーまたはクライアントのAIを計算するのは誰ですか?サーバーが経路探索、位置、動きなどを計算することを想像できませんでした。私はこれを理解する助けが必要です、ありがとう、何でも助けます。
30 ai  mmo  server  movement  npc 

5
サーバー上のゲームロジック!良いまたは悪い?
現在、シンプルなオンラインマルチプレイヤーゲームを計画しています。そしてここに質問があります。サーバーでゲームロジック全体を作成し、クライアントからサーバーに入力を送信するだけで意味がありますか?長所と短所はどちらですか、そうしない理由はありますか?

4
衝突の検出は、サーバー側で行うか、クライアント/サーバー間で協調して行う必要がありますか?
私は非常に重い衝突検出処理を持つオンラインゲームに取り組んでいます。プレーヤーモデルは、サーバー側にのみ存在する他のプレーヤー、Mob、構造、地形、およびソリッドオブジェクトと衝突します(クライアントデータファイルには保存されません)。 セキュリティのために、サーバー側ですべての衝突検出を行う必要がありますか?または、クライアントに検出を行わせ、サーバーに何らかの方法でフォローアップさせる必要がありますか?サーバーが単独で行うには多すぎるように感じます(1台のサーバーで数百人のプレイヤー向けにエンジンを設計しています)。 誰もが主流のMMOがそれをどのように行うか知っていますか?現在、ほぼすべてのMMOが物理ハッキングの影響を受けやすく、通常、ハックを検出して人を禁止することで対処しています。少なくとも物理コンポーネントについては、ハックはまったく機能しませんでした。

5
C#はリアルタイムゲームサーバーに適していますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 閉まっている 5年前にました。 質問のほとんどはタイトルにあります。 基本的に、2Dマルチプレイヤーアクションゲームの開発を始めています。クライアントは(おそらく)XNAに参加することになるので、サーバー側の開発にもC#を使用することをお勧めします。 言語が管理されているという事実は、MMOゲームサーバーでさえJavaが使用されているため(問題がある場合は修正してください)、問題にはならないので、この目的でC#を避ける理由はありますか?TCPを介して通信し、SQLサーバーとチャットするために、高速で応答する必要があります。そして、C#を避ける理由がない場合、そのようなWebサーバーをどのように展開しますか?それはサーバーマシン上で実行される.NET EXEでしょうか?
22 c#  server 

7
EVE OnlineやWOWなどのMMORPGの開発にはどの言語が使用されますか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 2年前に閉店。 私が理解しているように、MMORPGは他の通常の3dビデオゲームと同じようにコンピューター上で実行されるゲームですが、ゲームで発生するアクションごとに、サーバーへのHTTP呼び出しを介してユニバースが変更されます。そのため、プレーヤーのコンピューターはグラフィックスとアニメーションのレンダリングに関してすべての面倒な作業を行いますが、Webフレームワークはオンライン通信を行います。 EVE OnlineやWOWのようなMMORPGを作成するためにどのWebフレームワーク、Webサーバー、データベースが使用されているのでしょうか? また、クライアントサイド(3Dグラフィックス/アニメーション/サウンド)をゲームの一部にするために、どのプログラミング言語と3Dゲームエンジンが使用されていますか?
22 mmo  server 

5
mmorpgはどのようにデータを保存しますか?
server.exeでSQLデータベースを使用したい。 1000人のユーザーをオンラインで言うことができます。プレイヤーはプレイするときにデータを変更します。サーバーはこれらの更新を保存する必要があります。 しかし、どのように? 私は2つの方法があると思います: 1)サーバーは実行時にRAMに保存し、いつか1時間ごとにサーバーがRAMからSQLデータベースにデータを書き込みます(更新)。ただし、電力が供給されるか、何らかの理由でサーバーがシャットダウンすると、更新は保存されません。もちろん、更新を失いたくありません。 2)サーバーは実行時にデータベースに更新を保存します。しかし、速度はどうなりますか?方法を考えました。以下に画像を示します。この方法で1000人のオンラインプレイヤーに十分な速度を得ることができますか?

6
ゲームホスティングにはどのようなオプションがありますか
免責事項:私はこの質問が開発島を去り始めることを知っていますが、それはゲーム開発に非常に関連しており、それでもこれが最良の場所だと思います。 多くの無料のMMO /オンラインデスクトップクライアントゲームが出回っています。私はそのような資金を調達する能力に困惑しています。私は自分自身をホストすることを気にしませんが、少なくとも誰かにマッチメイキングサービスをホストしてもらいたいです。これらのインディー開発者が本当にサーバーの排水口にお金を注いでいるなら、私はうんざりしているが、誰かが「私を学ぶ」ことができるなら:)

2
Quake 3のような精密なネットワークゲームでサーバーとクライアントのクロックを同期させる方法は?
私は2Dトップダウンシューターに取り組んでおり、Quake 3のようなネットワークゲームで使用されるコンセプトをコピーするために最善を尽くしています。 信頼できるサーバーがあります。 サーバーはクライアントにスナップショットを送信します。 スナップショットには、タイムスタンプとエンティティの位置が含まれます。 スナップショット位置間でエンティティが補間されるため、動きがスムーズに見えます。 必要に応じて、エンティティの補間は「過去に」わずかに行われるため、複数のスナップショットを補間します。 私が直面している問題は「クロック同期」です。 わかりやすくするために、サーバーとの間でパケットを転送する際のレイテンシーがゼロであると少しの間ふりをしましょう。 サーバーのクロックがクライアントのクロックより60秒進んでいる場合、スナップショットのタイムスタンプはクライアントのローカルのタイムスタンプより60000ミリ秒進んでいます。 したがって、クライアントのクロックが追いつくのに時間がかかるため、エンティティスナップショットが収集され、クライアントが特定のエンティティが移動するのをクライアントが見るまで約60秒間待機します。 スナップショットを受信するたびにサーバーとクライアントのクロックの差を計算することで、この問題を克服することができました。 // For simplicity, don't worry about latency for now... client_server_clock_delta = snapshot.server_timestamp - client_timestamp; エンティティが補間にどの程度沿っているかを判断するとき、単にクライアントの現在の時間に差を追加します。ただし、これに関する問題は、スナップショットが他のクロックよりも速く/遅く到着するために2つのクロックの差が突然変動するため、ジャーキネスが発生することです。 知覚可能な遅延が補間のためにハードコードされている遅延と、通常のネットワーク遅延によって引き起こされる遅延のみであるように、クロックをどのように密接に同期できますか? 言い換えると、ジャーキネスを導入せずに、クロックが大幅に非同期化されたときに、補間の開始が遅すぎる、または早すぎるのを防ぐにはどうすればよいですか? 編集:Wikipediaによると、NTPを使用して、インターネット上のクロックを数ミリ秒以内に同期できます。ただし、プロトコルは複雑に思えますが、おそらくゲームで使用するには過剰ですか?

3
クライアントとサーバーの両方を同時に効率的にコーディングするにはどうすればよいですか?
クライアントサーバーモデルを使用してゲームをコーディングしています。シングルプレイヤーでプレイする場合、ゲームはローカルサーバーを起動し、リモートサーバー(マルチプレイヤー)のようにローカルサーバーと対話します。これは、シングルプレイヤーコードとマルチプレイヤーコードを別々にコーディングしないようにするためです。 コーディングを始めたばかりで、大きな問題に遭遇しました。現在、私はすべてのゲームクラスをパッケージに編成して、Eclipseでゲームを開発しています。次に、サーバーコードで、クライアントパッケージのすべてのクラスを使用します。 問題は、これらのクライアントクラスにはレンダリングに固有の変数があり、これは明らかにサーバーでは実行されないことです。 サーバーで使用するクライアントクラスの修正バージョンを作成する必要がありますか?または、クライアント/サーバーがそれを使用しているかどうかを示すために、ブール値でクライアントクラスを変更するだけです。他にオプションはありますか?サーバークラスをコアクラスとして使用し、レンダリングクラスで拡張することについて考えただけです。

3
ログインサーバーをゲームサーバーと区別する必要がありますか?
MMOサーバーを作成することを考えており、他のゲームがどのようにネットワークを構築しているかを見てきました。私が気づいたことの1つは、ログインサーバーとゲームサーバーが常に存在することです。 私はまだこれを行うべきかどうかを決定していますが、最初にいくつかの意見を聞きたいです。これの利点は何ですか?また、ログインサーバーはゲームサーバーとどのように通信してログインを処理しますか?

4
ソケットサーバーとゲームサーバーを別々のプロセスにする必要がありますか?
単純な標準のクライアント/サーバーゲームを想定しています。サーバーの場合、クライアントからの接続とメッセージをリッスンし、ローカルソケットまたはstdinを介して実際のゲームサーバーを実行する別のプロセスにデータを送信する別のプロセスを用意する価値がありますか? 他のオプションは、両方のことを単一のプロセスで実行することです。着信メッセージをキューに入れ、正しい順序で実行することで、問題が停止することはありません。 2つの「アクティビティ」を分離するための追加リソースが実際に価値があるかどうか疑問に思っています。どのように決定すればよいですか?賛否両論を聞きたい。

1
デスクトップ用のターンベースのゲームサービス(iOSのGKTurnBasedMatchなど)はありますか?
Game CenterのGKTurnBasedMatchは、ターンベースのゲームを処理するための非常に堅牢なサービスを提供しているようであり、OpenFeintも同様の機能を備えているようです。問題は、デスクトップ用にこのようなものが欲しいのです。私は自分のRESTベースのサービスをRailsで展開することを考えていましたが、GameKitのドキュメントを見た後、それを安定させるのに時間がかかることに気付きました。私の検索で見逃したこのようなものがすでに存在するとは思わない?

3
ソケットを介してn個のクライアントと通信するターンベースのサーバーを記述するパターンはありますか?
私は、ゲームをプレイするTCPソケットネットワーククライアントの任意の数のゲームを管理する汎用ゲームサーバーで作業しています。ダクトテープでハッキングされた「デザイン」が動作していますが、壊れやすく柔軟性に欠けています。堅牢で柔軟性のあるクライアント/サーバー通信を作成するための確立されたパターンはありますか?(そうでない場合、私が下にあるものをどのように改善しますか?) 大体これがあります: ゲームのセットアップ中、サーバーには、クライアントからの同期リクエストとサーバーからの応答を処理するプレーヤーソケットごとに1つのスレッドがあります。 ただし、ゲームが開始されると、1つのスリープを除くすべてのスレッドと、そのスレッドが(逆の要求と応答で)移動について通信しながらすべてのプレイヤーを1つずつ循環します。 ここに私が現在持っているものの図があります。クリックして拡大/読み取り可能なバージョン、または66kB PDFをクリックします。 問題点: プレイヤーは、正確に正しいメッセージで順番に応答する必要があります。(私は各プレイヤーにランダムながらくたに応答させ、彼らが有効な動きを与えてから先に進むことができると思います。) 順番が来ない限り、プレイヤーがサーバーと会話することはできません。(サーバーに他のプレーヤーに関する更新を送信するように指示することはできますが、非同期要求は処理しません。) 最終要件: パフォーマンスは最優先事項ではありません。これは、主に非リアルタイムゲームに使用され、主にAIを相互にピッチングするために使用され、けいれん的な人間には使用されません。 ゲームプレイは常に(非常に高い解像度であっても)ターンベースになります。他のすべてのプレイヤーがターンを取得する前に、各プレイヤーは常に1つの動きを処理します。 サーバーの実装はたまたまRubyで行われます(違いがある場合)。

2
ゲームのリリース前に、ゲームサーバーがクライアントを処理できるかどうかを確認する方法は?
マルチプレイヤーをサポートするiOSベースのゲームを開発しています。これまでのところ、すべてが本当に良いように思えますが、サーバーが10000クライアントを処理できるかどうかを確認したいと思います。サーバーがその量のトラフィックに耐えられるようにするにはどうすればよいでしょうか?
13 server  testing 

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