ゲーム開発

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

2
ゲーム自体にゲームプレイを記録しますか?
現在、iOSプラットフォーム用の3Dカーレースゲームに取り組んでいます。リプレイシステムを実装し、そのリプレイを動画ファイルに記録してYouTubeにアップロードする必要がありました。 レコーディング部分に問題があるだけで、残りは完了です。私がしていることはglReadPixels()、OpenGL ES 1.1のコマンドを使用してフレームバッファーのコンテンツをキャプチャし、ランタイム中にこれらのフレームからビデオを作成することです(AVFoundationフレームワークを使用)。 私が直面している問題glReadPixels()は、非常に遅い更新ごとに呼び出す必要があることです。FPSを約30から2-3に減らします... glReadPixels()コマンドに代わるものはありますか?または、誰かが再生システムを作成してビデオに録画しましたか?
8 iphone  opengl-es  ios  ipad  video 

2
高速な距離ベースのエンティティ検索のためのデータ構造(またはアルゴリズム)
たとえば、ゲームには100人の敵(さまざまなチーム)が走り回っていて、AIは近くのエンティティを調べて攻撃対象を確認したいと考えています。それらのエンティティを整理して、各敵がそれ自体と他のすべてのエンティティとの間の距離を計算する必要がないようにするための迅速な方法は何ですか? 手短に言えば、AIエンティティが「近くにいるのは誰ですか?」という質問にすばやく答える方法は何ですか。

4
レベルデザインコミュニティのヘルプ?
私は商用目的で2D物理プラットフォーマーゲームを開発しています。ほとんどすべてが終了しました: オリジナルのゲームコンセプト 2D自己記述型ゲームエンジン全体 xmlレベルを読み取るためのレベルインタープリター XMLでレベルを生成する高度なGUIを備えたレベルエディター 高度なレベルのオブジェクトシステム プロファイルマネージャー(ゲームの進行状況の読み込みと保存) など... しかし、私の問題はもちろんレベルのインスピレーションです... ゲームのコンセプトを公開して、コミュニティにレベルデザインを依頼することはできますか?そして、私のゲームのコンセプトを他人にコピーされないようにしてください。正式にリリースされていないゲームのゲームコンセプトの著作権はありますか? コミュニティに質問する必要がある場合、承認されたレベルのデザイン(xmlではなくスケッチのみ)を提出したすべての人に対して、ゲームの販売済みコピーごとに1セントを受け取りますか? どう思いますか?ヒント、落とし穴? 前もって感謝します! 興味のある方のために、レベルエディターのスクリーンショットを以下に示します。 全画面画像

1
Steam向けのゲームを開発する際に注意すべきことは何ですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 4年前休業。 私は最近リリースされたばかりのゲームでプログラミングを行い、次のプロジェクトではもう少し大きな規模で何かをしたいと思いました。Steamで販売するゲームを開発する予定で、3Dになります。私はFlashで大規模なゲームを、OpenGLで書かれたC ++で小さなゲームをやってきました。FlashベースのゲームをSteamに提出できることは承知していますが、Cのバリエーションで記述したいのですが、いくつかの情報を探しています。 どのエンジンを使用すればよいですか?理想的には、MacとPCの両方で動作するようにします。Steamでリリースされるので、ソースエンジンを使用したいのですが、大量のお金を稼ぐつもりがないときにライセンス料を支払う必要があるのではないかと心配しています。履歴書ビルダー。 開発時にどのようなことを念頭に置いて、いつ、そして受け入れられれば、Steam固有の機能を追加するプロセスもそれほど苦痛にならないようにする必要があります。
8 steam 

2
多数の独立した俳優をリアルタイムで管理する
私は大規模なリアルタイムストラテジーゲーム(理想的には数千のユニットを同時にアクティブにする)に取り組んでいますが、驚くほど遅くなることなくすべてのユニットを一度に管理するのに問題があります。問題は、タイムステップごとにすべての位置と状態を更新するのに時間がかかることです。これを軽減するための設計パターン/方法論/ヒントを知っていますか?

6
ゲームでマウスクリックとマウスダウンを識別するにはどうすればよいですか?
ゲームでマウスクリックを処理する最も一般的な方法は何ですか? マウスからの入力を検出する方法は、ボタンが上か下かだけであると仮定します。 私は現在、マウスのクリックがクリックであることに依存していますが、この単純なアプローチでは、達成したいことが大きく制限されます。たとえば、マウスクリックで1回だけ実行する必要があるコードがありますが、マウスクリックとしてマウスダウンを使用すると、ボタンを押している時間に応じて、コードが複数回実行される可能性があります。だから、私はそれをワンクリックで行う必要があります! しかし、クリックを処理する最良の方法は何ですか?マウスが上から下、または下から上に移動したときのクリックか、ボタンがxフレーム/ミリ秒未満の時間でクリックされた場合のクリックであり、そうである場合は、マウスがダウンしたと見なされ、クリックされた場合のクリックxフレーム/ミリ秒またはクリックしてからマウスダウン それぞれのアプローチに用途があることがわかりますが、ゲームで最も一般的なのはどれですか。そして多分私はRTSゲームで最も一般的であるものをより具体的に尋ねますか?
8 input  mouse  control 

2
3D BSPベースのグラフィックエンジンに関するアドバイスが必要[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 古いゲーム形式用にOpenGL BSPビューアをコーディングしました。Quake 3のファイル形式とよく似ています。グラフィックエンジンの開発に興味があるので、現在の技術を使って見ながら開発していきたいです。だから私はあなたに目を向け、何に焦点を当てるかの方向性についての主題の専門家。これをできるだけ速くしたいと思います。古いファイル形式が非常に単純でポリゴンが少ないことを考えると、それは実行できるはずです。ここに私の質問があります: 照明a。頂点ライティングを学ぶのは理にかなっていますか、それとも代わりにピクセル単位のライティングを実装する必要がありますか?b .OpenGLには8つの光制限があることを知っています。シェーダーを通して、環境光と残りのコンピューターにそのうちの1つだけを現実的に使用する必要がありますか?そうでない場合、どうすればよいですか? ソート/カリングa。レンダリングするサーフェスをソートするために最も一般的に使用されるアルゴリズムは何ですか。複雑さは本当に問題ではありません。現在使用されているものと、目に見えるものだけを実際にレンダリングする方法を学びたいです。ペインターのアルゴリズムのように記述された多くのアルゴリズムを見てきましたが、BSPベースのジオメトリにとって何が最も理にかなっているのか疑問に思っています。b。アルファマスクのテクスチャがある場合、並べ替えにはこのプロセスとの何らかの関係があると言われました。3Dスペースで正しくレンダリングできるようにするにはどうすればよいですか? グラフィックパイプラインa。VBO経由でジオメトリデータを送信する必要がありますか?これは今日使用されている標準ですか?b。200〜300の可能性がある複数の「リージョン」がある場合、200〜300のチャンクを送信せずにGPUに送信するためのより良い方法を見つける必要があります。それらを1つに結合し、それぞれに関連付けられた参照を保持する必要があります。 BSPベースのレンダリングおよびそのような性質に関するその他のヒントはありますか? また、間違っていた場合は訂正してください。私は、無知で気づかれずに修正されて少し恥ずかしくなる人です。 お時間をいただきありがとうございます。本当に感謝しています。
8 opengl  bsp 

2
3Dモデルの一部を何かに向けて動的にアニメーション化する方法
私はこの種のアニメーションが通常どのようにコード的に行われるのか知りたいです。 いくつかの例: アップ文字ピック何か-手だけがターゲットに向けてアニメーション化されて http://www.youtube.com/watch?v=rW-7uatehx4 4:50から見たときに武器アッププレーヤーのピック。 キャラクターが棚からぶら下がっている-手が特定の場所(棚)に設定されている http://www.youtube.com/watch?v=SOiwArn4Bmw右手。 キャラクターが何かを見る-頭がターゲットに向けられている(npcがpcを見る)

1
プラットフォーマーで動くプラットフォームの物理をどのように扱うのですか?
したがって、インターネットで数時間検索した後も、2Dプラットフォームゲームで移動するプラットフォームを処理する方法について、満足のいく答えが見つかりません。そこで、垂直方向と水平方向に動く2つの異なるプラットフォームを操作する単純なプロトタイプを作成することにしました。何が機能しておらず、どのように修正するのかを分析して確認するための助けが欲しいです。以下の.flaファイルと.asファイルを、再生可能な.swfへのリンクと共に提出しました。 目標は、ヒーローがプラットフォームの上に立って、一緒に押したり、ジャンプしたり、下にジャンプしたりできる固体のオブジェクトであるかのようにプラットフォームと相互作用することです。 私のプロトタイプの問題はこれらです: 水平に動くプラットフォーム上に立って、移動せずに(キーに触れずに)、ヒーローはプラットフォームに沿って移動しますが、少し遅れてヒーローが少し後退します。 水平方向に動くプラットフォームの上に立ってジャンプすると、空中のプラットフォームに沿って動きます(一部のゲームはこのようにすることを好みますが、自然に感じられず、ここでは望まれません)。これは、ヒーローがプラットフォームからX軸の速度を保持していることが原因である可能性があります。 垂直方向に移動するプラットフォームの底部にジャンプするとき、プラットフォームが下に移動しているときに、プラットフォームの中に少し沈みます。主人公は一瞬衝突がなかったかのように貫通します。 垂直方向に移動するプラットフォームにジャンプすると、Y軸の速度が保持されるため、プラットフォームから降りると、より高速で落下します。保持された速度の速度で、+重力が追加されます(これは主に、プレイヤーが空中で凍結せずにプラットフォームに着地したときに、Y軸の速度を0にリセットする方法を理解できないためです)。 私は初心者のプログラマーなので、これを行うためのより良い方法があると確信しています。それらをすべて聞いてみたいと思います。タイルベースのゲームに移動プラットフォームを実装できるコードやその他の方法を改善する方法についてのアイデアは大歓迎です。結局、私は2Dプラットフォーマーで動くプラットフォームを処理するための確かな方法を見つけようとしています。 再生可能なSWF:http : //dl.dropbox.com/u/28271061/PlatformerhowtoFLA.html(矢印キーで移動、Xキーでジャンプ、Zキーで実行) ソースコードASファイル:http ://dl.dropbox.com/u/28271061/Platformerhowto.as SourcefileFLA:http : //dl.dropbox.com/u/28271061/PlatformerhowtoFLA.fla オンラインでパスティーを通してコードを読みたいだけなら:http : //pastie.org/2266764

1
カジュアルゲームの市場シェア分布?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 5年前休業。 収入と「公開されたゲームの量」の両方の観点から、カジュアルゲームの市場が異なるプラットフォーム間でどのように分割されているかに興味があります。 たとえば、FacebookとiPhoneのゲームは、* Villeゲームのために、Facebookだけでも市場のかなりの割合を占めるべきだと思います。 その分野の市場調査に関する1つまたは複数の記事を知っている人はいますか?または統計を一覧表示する簡単なWebページですか?

5
マルチプレイヤーの同期とパスファインディング
クライアントでポイント&クリックタイプのインターフェイスを使用しており、サーバーでA *を実行してパスを検索しています。 ゲームはRTSのように制御されますが、世界は永続的であるため、プレーヤーはいつでも参加/離脱できるはずであり、画面には最大で30ユニットしかありません。 パスを計算した後、サーバーとクライアントの間でプレーヤーの動きを同期させる最良の方法は何ですか? サーバーはすべてのアニメーションステップ/フレームでクライアントを同期する必要がありますか?または、パス上の各ノードと移動している各プレーヤーについて、「位置X、Yに移動する」ことをクライアントに伝えるだけですか?または、クライアントとサーバーの両方でアニメーションタイマーを実行し、暗黙的に同期させるのが最善ですか? パスベースの移動の典型的なデータ交換はどのようなものですか? 編集: 「RTS」と言ったのでロックステップを提案している人もいますが、ゲームはRTSではなく、インターフェイスの種類が同じです。大きな違いは、いつでもプレーヤーをゲームに参加させたり、ゲームから離脱させたりできるようにする必要があることです。より具体的でなくてすみません。

3
OpenGLの内部を学習するためにOpenGLドライバーがどのように実装されるのか知りたいのですが?
私はOpenGLを学んでいて、グラフィックスカードとの相互作用がどのようになるかを本当に知りたいです。 それがグラフィックスドライバーでどのように実装されたかを理解し、openglの完全な内部を知らせます(これにより、openglでのパフォーマンスに関する決定にどの段階/要因が影響するかを知ることができます)。 このパスを進める方法はありますか?「Mesa lib」を探索することは、この点で私に役立ちますか?私は正しい道にいますか? [この質問をSOFに投稿しましたが、ここがこの質問の正しい場所であるようです。]

3
クライアントサーバーネットワーク用の効率的なデータパッケージ
言語:C ++ 私の質問は次のとおりです。データをパックしてクライアントからサーバーに、またはその逆に送信するための最良または少なくとも良い方法を知りたいのです。1つのパケットを構成するいくつかのデータがあります。パケットには「id」があり、それが何のためにあるかを定義します。次に、データは、パケットが対応する「アクション」に対して事前に決定された順序になります。 パフォーマンスに依存しないシステムでは、スペースで区切られた文字列を送信します。これは、「アクション」のデータと最初の「ワード」のパケット識別子であり、一致がある場合にステートメントがチェックする場合はチェーンします。 。 今、より重要なシステムのために、私がこれまでに考えたのは次のようなものでした: パケットIDとデータで文字列を作成し、送信します。次に、アンパックするために、文字列の最初の整数を抽出し、パケットハンドラーの配列と、それらが処理するパケットIDに対応するインデックスを使用して、packetHandlers [packetID] .Process(packetData)のようにします。 あなたはそれについてどう思いますか、何か提案はありますか?大感謝です!
8 c++  networking 

2
XNAの別のクラスからGame1クラスの変数にアクセスするにはどうすればよいですか?
SpriteManagerXNAでクラスを記述しようとしていますが、Game変数にアクセスする必要があります。たとえば、Game.Contentプロパティはテクスチャのロードに非常に役立ちGame.GraphicsDevice.Viewport、ウィンドウサイズを取得するのに役立ちます。 今のところ、私は次のクラスを持っています: public MainGame : DrawableGameComponent { public SpriteManager<Enemy> EnemyManager { get; get; } public SpriteManager<Powerup> PowerupManager { get; set; } ... } SpriteManagerクラスでこれらの変数にアクセスするには、3つの方法が考えられます。 私のスプライトマネージャークラスをから派生させGameComponentます。これは私のスプライトマネージャがで使用されていることを除いて、理想的ですMainGame、GameComponent。 ((Game) Game1)変数にアクセスするために使用します。ただし、この種のキャストを行うことは醜く、カプセル化を壊します。 からすべてを渡しますMainGame。たとえば、EnemyManagerは敵をスポーンするたびにランダムな敵タイプをロードする必要があるため、でテクスチャをロードする代わりに、プロパティをMainGame渡しEnemyManagerてGame.Contentテクスチャのロードを処理させます。しかし、これが状況を処理する最良の方法であるかどうかはわかりません。指を置くことはできませんが、ある意味「間違っている」ように見えます。 これを達成するための最良の方法についていくつかのアドバイスを使用できます。

3
2つの接続されたラインセグメントのちょうど中間にある単位ベクトルを見つける
素早く簡単な質問のようですが、私が探しているものを正確に見つけることができませんでした: 2つの接続されたラインセグメントの角度のちょうど50%であるラインに沿って指している単位長ベクトルを計算する方法は? 画像は何千もの言葉を話します(これは私の説明よりも優れています!) 基本的に、2つの赤い線分(実際には3つの点であり、したがって接続が保証されている)を前提として、青い単位ベクトルを計算します。 赤いセグメントは任意の長さであり、結果は単位である必要はありません。 結果のベクトルを特定の方向(入力セグメントに対して)にポイントさせる方法があると便利です。これは、これを解決できると思うので、必須ではありません-入力ラインセグメントが最終的に形成されるためです。 nゴン。 どんな例でもC ++では理想的ですが、他の言語も歓迎します。 ポインタに感謝します。
8 c++  2d  mathematics 

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