ゲーム開発

プロおよび独立系ゲーム開発者向けのQ&A

4
オープンソースAIボットインターフェース[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 2年前に閉店。 オープンソースのAIボットインターフェイスにはどのようなものがありますか?カスタムのUnreal TournamentボットのPogamut 3 GameBots2004や、StarcraftボットのBrood Wars APIなどに似ています。 回答ごとに1つのAIボットインターフェイスを投稿して(リンクを提供してください)、ブログ投稿の内容について簡単に要約してください。 それがどのタイプのボットインターフェース構造であるか、クライアント/サーバー、サーバー/サーバーなどを含めてください たとえば、BWAPIは、実際のプレーヤーをエミュレートするクライアント/サーバーです。
11 ai  bot 

5
データベースを使用する分散C ++ゲームサーバー
私のC ++ターンベースのゲームサーバー(データベースを使用)は、現在の平均的なクライアント(プレーヤー)の量に対抗できないため、すべてのクライアントが依然として存在する複数(1以上)のコンピューターとデータベースに拡張したいと考えています。単一のゲームの世界(サーバーは互いに通信し、複数のデータベースを使用する必要があります)。 最良の方法でそれを行う方法を説明するいくつかのチュートリアル/本/共通の標準はありますか?
11 server  databases 

8
物理学に最適な(またはどこかに近い)3Dサウンドエンジン[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 私はゲームプログラミングの初心者ですが、コンソール/ Web開発で数年の経験があります。私の問題は、探しているものが見つからないほど多くはありません。検索を実際に実行するための用語がわからないだけです。 音に重点を置いた物理エンジンを探しています。実際、私は他に何も気にしません。私が意味することは、例によってよりよく説明されています: 一人称タイプのゲームを想定します。あなたは北を向いていて、あなたの周りの誰かがあなたにフルートを投げます(状況の不条理を気にしないでください)。フルートは途中で回転し、穴から音を出します。風が強い、5ノット南。 私は、物理エンジンがフルートの軌道と、それがヒットした後の方向を計算できると想像しています。私が欲しいのは、物理エンジンがリスナーの視点から正確な音を計算できるようにすることです。 そのようなエンジンは存在しますか?複数ある場合、上記の例に最適なのはどれですか。
11 audio 

3
彼らはどのようにしてLeft 4 DeadのNPCを追跡しますか?
彼らはどのようにしてLeft 4 DeadのNPCゾンビを追跡しますか? 私は壁に歩いたり、ぶらぶらとぶらついたりするだけのNPCについて話しています。プレーヤーはそれらを見ることができなくても、そこにいます(たとえば、部屋の中やドアの後ろなど)。廊下や部屋の中にゾンビが10人ほどいるとしましょう。ゲームはそれらのゾンビのすべてをリストに保持し、それらにコマンドを与えることを繰り返しますか?ユーザーが特定の範囲内にいるとき、または特別な場所に到達したときに、それらはスポーンするだけですか? 4つのユニット(プレイヤーが制御)をマップ全体の完全に異なる場所に配置したとします。あなたが群がっているのではなく、これらの目的のないNPCを殺していないとしましょう。ゲームは合計で10 x 4 = 40のゾンビを追跡しますか? それとも私の理解は完全に消えていますか? 私が尋ねる理由は、モバイルデバイスに同様の何かを実装するかどうかでした。40以上のNPCを追跡することは、それほど優れたアイデアではないかもしれません。
11 game-design  ai 

7
低カップリングと緊密な凝集
もちろん状況にもよります。しかし、より低いレベルのオブジェクトまたはシステムがより高いレベルのシステムと通信する場合、より高いレベルのオブジェクトへのポインターを保持するよりも、コールバックまたはイベントを優先する必要がありますか? たとえばworld、メンバー変数を持つクラスがありますvector<monster> monsters。monsterクラスがと通信するとき、worldコールバック関数を使用する方がいいですかworld、monsterそれともクラス内のクラスへのポインターが必要ですか?

6
スロットマシンに適切なペイアウト率を確保するにはどうすればよいですか?
私はスロットマシン用の乱数ジェネレーター、リールストップ計算、およびユーザーに勝つチャンスを与える方法について多くの研究を行ってきました。 私が理解できないことは、マシンが95%のペイアウトレーティング(と言いましょう)を持つことを適切に保証する方法です。 だから、私はそれに22のスペースでリールを設定しています。16種類のシンボルでいっぱい。 乱数を取得し、64でmodを割り、剰余を取得したら、ループアップテーブルに移動して、仮想ストップとリールの位置との関係を確認します。 リールの停止方法がわかったので、ペイアウト率が正しいことを確認しますか?彼らが投入したドルごとに、マシンが.95セントを支払うことを確認するにはどうすればよいですか? アイデアをありがとう。 私がアクションスクリプトで作業していますが、それが言語の問題に役立つ場合は、一般的には理論だけを探しています。 編集:彼らがより多くのトークンを購入してより多くプレイできるという事実にのみ関与するリアルマネーがあります。彼らが実際にペイラインのいずれかをヒットした場合、その人に支払われる実際のお金はありません。

7
ゲームにおける描画とロジックの分離
私は今、ゲーム開発をいじり始めている開発者です。私は.Netの男なので、XNAをいじり、iPhone用のCocos2dで遊んでいます。私の質問は本当にもっと一般的です。 簡単なPongゲームを作成しているとしましょう。私が持っていると思いますBallクラスとPaddleクラスを。ビジネスの世界の開発から来た私の最初の本能は、これらのクラスのいずれにも描画または入力処理コードがないことです。 //pseudo code class Ball { Vector2D position; Vector2D velocity; Color color; void Move(){} } ballクラスでは、入力を処理したり、描画を処理したりするものはありません。次に、別のクラス、私のGameクラス、またはScene.m(Cocos2dの)私がボールを新しくし、ゲームループ中に必要に応じてボールを操作します。 ただし、XNAとCocos2dの両方の多くのチュートリアルで、次のようなパターンが見られます。 //pseudo code class Ball : SomeUpdatableComponent { Vector2D position; Vector2D velocity; Color color; void Update(){} void Draw(){} void HandleInput(){} } 私の質問は、これは正しいですか?これは、人々がゲーム開発で使用するパターンですか?Ballクラスにすべてをやらせることは、私が慣れ親しんだことすべてに何らかの形で反します。さらに、この2番目の例では、Ball移動方法がわかっているので、Paddle?のBall知識が必要Paddleですか?私の最初の例では、Gameクラスは、両方への参照であろうBallとPaddle、その後、いくつかにそれらのオフの両方を出荷CollisionDetectionマネージャか何かが、各個々のコンポーネントは、それ自体で、すべてをしなければどのように私は、さまざまなコンポーネントの複雑さに対処するのですか?(私は私が理にかなっていると思います...)

1
三角測量A *(TA *)パスファインディングアルゴリズム
Demyenが彼の論文Efficient Triangulation-Based Pathfinding(p 。 彼は、通常のA *アルゴリズムを三角測量に適応させ、最終ノードに到達/拡張した後でも、他のより最適なパスを検索する方法を説明しています。通常のA *は、最後のノードが展開されると停止しますが、三角グラフで使用される場合、これが常に最適なパスであるとは限りません。これはまさに私が抱えている問題です。 この問題は、78ページの図5.4に示されています。 論文(80ページ)に記載されているgおよびh値の計算方法を理解しています。 そして、検索停止条件は次のとおりです。 if (currentNode.fCost > shortestDistanceFound) { // stop break; } ここで、currentNodeは、開いているリスト(優先度キュー)からポップされた検索ノードであり、fスコアが最も低くなります。shortestDistanceFoundは、これまでに見つかった最短経路の実際の距離です。 しかし、以前に見つかったパスを今後の検索から除外するにはどうすればよいですか?もう一度検索すると、明らかに同じパスが見つかるからです。クローズリストをリセットしますか?何かを変更する必要がありますが、何を変更する必要があるのか​​わかりません。この論文には疑似コードが欠けているため、参考になります。

3
TRON:ゲームAIアルゴリズム?
ライトサイクルまたはそれがどのように呼ばれたか。 ゲームマップを表す2次元配列があり、各要素は0または1(0は空白を表し、1は塗りつぶされた空間を表す)のいずれかである場合、TRON敵AIに使用されるアルゴリズムは何ですか?
11 2d  ai 

2
OpenGLでは、深度バッファーの深度範囲をどのように発見できますか?
iOS用のGLマルチパスレンダリングアプリを実行しています。最初のパスは、深度バッファーテクスチャにレンダリングします。2番目のパスでは、深度バッファーの値を使用して、フラグメントシェーダーのアプリケーションを制御します。深度バッファーの値を有用なものに再スケーリングしたいのですが、その前に、深度バッファー値の深度値の範囲を知る必要があります。どうすればいいですか?

2
効率的な骨格アニメーション
私は、RTSゲームにスケルトンアニメーション形式(ここで指示されたとおり)を採用することを検討しています。画面上の各モデルの個々の表現は小さくなりますが、たくさんあります! MD5ファイルなどの骨格アニメーションでは、個々の頂点を任意の数のジョイントにアタッチできます。 GLSLで補間を行いながら、これをどのように効率的にサポートできますか?または、エンジンはCPUでアニメーションを実行しますか? または、エンジンは頂点ごとの最大ジョイントに任意の制限を設定し、最大数を使用しないジョイントに対してnop乗算を呼び出しますか? RTSのような設定で骨格アニメーションを使用するゲームはありますか?統合されたグラフィックカードでは、骨のルートを進む際に心配する必要がないことを証明していますか?

2
イージング機能
私はイージング関数(Flash AS3)に自分自身を巻き込み始め、TweenLiteとRobert PennerのWebサイトを理解しようと試みました:http ://www.robertpenner.com/easing/ 私の質問は、これらの関数の数学の基礎は何ですか。他のサイトがカスタムイージング関数を作成するために関数を変更するのを見てきました。

3
2Dグリッド上のランダムな敵の配置
アイテムと敵をランダムに(またはできるだけランダムに)配置したい。現時点では、XNAのRandomクラスを使用して、Xの場合は800からYの場合は600の数値を生成しています。私はジェネレータをシードしません、多分それは考慮すべきことです。 2Dグリッドでのランダムな敵の配置を改善できる他のテクニックはありますか?
11 xna  2d  sprites  random 

7
ゲーム開発に関連する典型的な就職の面接の質問は何ですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 6年前に閉鎖されました。 StackOverflowのいくつかの例をすでに見ましたが、面接の質問の具体例を示すことができるかどうか知りたいのですが...ゲーム開発に関連する仕事とは異なりますか?

3
3Dマップ上のRTS、たとえば地球儀
既存のアートワークとマップが単純な2Dグリッドである場合、3D地球をどのように「タイル化」できますか? アートワークなどの多くを再利用できるアプローチはありますか?
11 3d  maps 

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