ゲーム開発

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

2
複数のマップ間の経路探索
複数のマップ間の経路探索に興味があります。屋内/屋外マップ、建物内の異なるレベルなどが考えられますが、主な制約は、異なるマップ間に1つ(または複数)の入口/出口ポイントがあることです。私は探しましたが、良い解決策を見つけることができませんでしたが、同様のシステムを使用するいくつかのゲームを知っています。 私はこのペーパーを見つけました- 同様の問題に対処しているように思われる車椅子ユーザーのためのルート計画に適用された階層的最短経路発見は、それは純粋に理論的です。 誰かが共有できるいくつかの経験、またはいくつかのヒントで同様のことをしましたか?

1
GLSL-#330から#130へのシェーダーの書き換え
私は最近、ジオメトリシェーダーを使用してポイントをテクスチャ付きの三角形/カリングに変換するゲーム(LD21)を作成しました。#330のサポートが広く普及している印象を受けたので、#330シェーダーのみを作成しましたが、それほど古いハードウェアの多くは#130のみをサポートしているようです(GLViewによると)。 今、私は#330のコア機能に慣れているだけなので、シェーダーを#130に書き換えるのに苦労しています。フラグメントシェーダーを書き換えるのは非常に簡単でしたが、頂点シェーダーとジオメトリシェーダーを#150まで下げることができました。 それで、シェーダーを書き換えることは可能ですか、それとも私のレンダリングエンジンで多くの変更が必要になるでしょうか? ジオメトリシェーダー #version 150 layout(points) in; layout(triangle_strip, max_vertices = 4) out; uniform mat4 oMatrix; in VertexData { vec4 position; vec4 texcoord; vec4 size; } vert; out vec2 gTexCoord; void main() { if(vert.position.x>-4f && vert.position.x<4f && vert.position.y>-2f && vert.position.y<2f) { gTexCoord=vec2(vert.texcoord.z,vert.texcoord.y); gl_Position = vert.position + vec4(vert.size.x,vert.size.y,0,0); EmitVertex(); gTexCoord=vec2(vert.texcoord.x,vert.texcoord.y); gl_Position …
7 opengl  glsl 

1
正方格子マップの(文字通り)角を切り取る手法
私のゲームには、変形可能な地形とあらゆる方向に移動できるユニットがありますが、不均一な地形によって速度が低下するレベルが含まれます。通常のAスターはほとんどの場合問題なく機能しますが、汎用パスファインダーがどのように機能しても、ユニットを直接パスに送信しない平坦な土地を除きます。シータスターは、レベル全体がかなり平らな場合は機能しますが、最初に不均一な地形を考慮する必要がある場合は、はるかに遅くなります。 マンハッタンの距離ベースのAスターアルゴリズムは高速で、他のパス検索またはステアリングアルゴリズムが引き継ぐのに十分なヒントを与えると思いますが、先を見て、いつ決定するためにどのタイプのアルゴリズムを使用するかわかりませんパスを放棄し、より直接的なルートをたどり、後でパスのどこに戻るかを指定します。 (勾配、障害物、道路などを考慮するように調整されている場合、シータスターは効率が悪すぎるようです。http://aigamedev.com/open/で地雷原の回避についてコメントに提案された解決策を参照してくださいチュートリアル/ theta-star-any-angle-paths /) 編集:私は、同様のグリッドでA-starを既に実装してテストしたことについては触れませんでした。(私はこの質問で誤って何かを削除したと思います。)障害物が最も直接的なパスをブロックしている場合(基本的にパス検出が有用な場合)、私が検討したいくつかのより明白なコスト/ヒューリスティック関数は、グリッド上の現実的なパスになりません。 )(例の画像)。シータスターアルゴリズムで使用されるコスト関数への変更は理想的な解決策のように見えますが(グリッドの使用の制約を考慮すると)、タイルの移動コストが同じであると想定されます(さらに時間がかかります)。 マンハッタン距離を使用する背後にある私の最初の理由は、障害物レイアウトや地形が変化した場合に高速経路探索アルゴリズムを使用することがより重要だったため、経路探索アルゴリズムから「コーナーカット」アルゴリズムを外部委託することでした。ユニットが到着したときに、経路探索アルゴリズムのすべての検索の順列よりも「コーナーカット」アルゴリズムを1回実行する方が理にかなっています(結果はとにかく廃棄される可能性があります)。マンハッタン距離での4近隣検索代替パスのボックスが表示され、元のパスと最短パスによって形成される直角三角形を特定できるため、これも興味深いものです。 より適切な質問は、「90度の曲がり角のあるパスでショートカットをすばやく特定する方法は何ですか?」

4
円形の進行状況バーを手続き的にレンダリングするにはどうすればよいですか?
私はFlash AS3で作業していますが、疑似コードやその他の言語で問題ありません。 円形のプログレスバーを作成するにはどうすればよいですか?Pax Britanicaの船のバーのようなものは、こちらのスクリーンショットで見ることができます。 フレームごとに作成する以外に、ここで見逃している明らかな解決策はありますか? 通常のプログレスバーの四角形を引き伸ばす、または単純なマスクを使用するのと同じことを求めています(そのようなソリューションが存在する場合)。 (また、誰かが素晴らしいと思ったら担当者がいないため、これにサークルやプログレスバーのタグを付けることはできません)

2
Socket.ioとNode.jsでゲームを開発する際の一般的な間違い
私は貿易ではゲーム開発者ではありませんが、カードゲーム(つまり、ターン制ではなくリアルタイム)に取り組んでいます。私はそれらを避けることができるように人々がこの種の開発に不慣れなときに犯す一般的な間違いは何だろうと思いました!
7 node.js 

3
商用javascriptゲームは賢明ですか?
だから私は言語としてのjavascriptが好きで、それがどこでも実行できる方法を愛しています。私の懸念を列挙します。 JavaScriptからお金を稼ぐのは理にかなっていますか?つまり、2番目にゲームをオンラインで公開すると、人々はそれをダウンロードして、自分のサイトに投稿し、自分の広告をゲームに配置できます。FacebookがHTML5プラットフォームで作業しているという噂があります。それでも、ゲームのオンライン部分で秘密鍵を使用する必要がある場合でも、人々はソースコードをダウンロードして独自のオンラインバージョンを実装することができます。それは少し不便ですが、ゲーム自体は何の価値も失いませんでした。彼らは今すぐ自分たちのコミュニティを構築する必要があるだけです。これは素晴らしいゲームで簡単にできるはずです。スマートフォンを持っていないのですが、ゲームをJavaScriptアプリケーションとして公開した場合にソースを表示できるかどうか誰かに説明してもらえますか?(多分それは市場によってネイティブコードに包まれています、情報をいただければ幸いです) Flashは多少似ていますが、優れた難読化ツールがソースコードを効果的に醜くして、変更する作業が山になることは理解しています。もちろん、ネイティブゲームもクラックされる可能性がありますが、それは彼らがソースコードを持っているという意味ではありません。彼らはまだ私のオンライン部分とゲームの私の更新に依存します。 私は偏執狂ではないことを教えてください:)誰かがJavaScriptゲームにリソースを費やすことをどのように正当化できますか?

2
学び、一緒に働く初心者をどこで見つけることができますか?[閉まっている]
現在のところ、この質問は、Q&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張ディスカッションを誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 ゲームプログラミングは初めてです。私は現在Java(主にAndroid)を勉強しており、ゲームを作るために何が必要か、そしてOpenGLを介してそれをレンダリングする方法を知っています。自分と同じレベルで他の人を見つけることは、私をやる気にさせ、他の人と一緒に働く経験をいくつか与えてくれると思います。誰かを見つけるのに良い場所を知っていますか? 前もって感謝します!
7 java 

1
パーティクルシステムはどのように機能しますか?
ゲームにパーティクルシステムを実装したいのですが、パーティクルシステムをプログラミングしたことがなく、どこから始めればよいかわかりません。 GL_POINTテクスチャを使わずに、ブロックを打ったときにTerrariaやMinecraftなどのさまざまな場所にさまざまなサイズのピクセル(s)を表示したいだけです。ほんの簡単な例です。 このためのGoogle検索結果は非常に複雑になる傾向があるか、概念を説明しないか、OOPなしでは読みにくいCで書かれています… JavaとOpenGLを使用しています。

2
インターフェイスにHTMLを使用していますか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 5年前休業。 私が取り組んでいるゲームでは、グラフィックにopengl / sfmlを使用しています。現在インターフェイスに取り組んでおり、適切なオフセットや配置などをすべて決定するのは面倒なことです。それを構成可能にするために、解析する一連のxmlファイルを解析して、プログラムにどの画像を使用するか、どこにstcを配置するかを指示することになるでしょう。インターフェース用。 とにかくそうする必要があるので、htmlレンダラーをアプリに埋め込み、openglで描画されたグラフィックスの上に表示できるかどうか知りたいと思いました。そうすれば、理論的にはHTMLページを使用してインターフェイスを設計できます もし可能なら、それはどれほど難しいでしょうか、それは良い考えですか?これをすでに行うプロジェクトはありますか? ありがとう
7 c++  opengl  interface 

2
Facebookのユーザーに行動する番だということを通知する最良の方法
Facebookに統合したいターン制のゲームを作成しています。プレイヤーは必ずしもリアルタイムでプレイしているとは限らないため、自分の番がいつなのかを知る方法を用意することが望ましい。 私は当初Facebook通知を考えていましたが、廃止されたようです:https : //stackoverflow.com/questions/4619164/how-to-send-a-facebook-notification-through-their-api 代替案はひどく心地よく聞こえません(壁に書いているか、順番を終えたばかりのプレーヤーにリクエストを送信してもらいます) より良い代替案はありますか?
7 facebook 

3
XNAコンテンツパイプラインとマップ作成ユーティリティ
自分が取り組んでいるゲームにXNAコンテンツパイプラインを適切に使用する方法を調査してきました。しかしながら、私は頭を包み込むのに苦労しており、最善の方法を確信できません。 具体的な例は、トップダウンの2D RPGスタイルのゲームです。マップを簡単に作成および編集できるユーティリティ(おそらくWindowsフォーム)を作成したいと考えています。各マップは1つ以上のグラフィックレイヤーで構成され、各レイヤーにはタイルのN x Nグリッドが含まれています。次に、各タイルはビットマップとして始まります。 上記の情報を与えられて、私は続行するためのいくつかの方法を見つけます: Content Pipeline XMLローダーと互換性のあるXMLファイルにマップ情報を保存します。各タイルは、対応するテクスチャアセットへの文字列参照として保存されます。テクスチャアセットがゲームプロジェクトに追加されます。 Content Pipeline XMLローダーと互換性のあるXMLファイルにマップ情報を保存します。各タイルは、対応する.bmp / .pngファイルへのパスとして保存されます。 今、私は両方のアプローチについて本当に嫌いなことがあります。アプローチ1の主な問題は、マップの作成と.xnbテクスチャアセットの作成が完全に分離していることです。.xmlマップファイルはユーティリティによって作成され、テクスチャアセットはゲームのコンテンツに追加されます。これは、.xmlマップファイルとプロジェクト内のすべてのテクスチャアセットの同期を維持しようとするときに問題になります。 アプローチ2では、マップユーティリティを使用して、マップファイルの隣に適切な画像ファイルをすべて保持できます。しかし、このようなことをする必要はないようです。また、タイルごとに同じ画像をディスクからすばやくロードしないように、マップのロードについてよりインテリジェントにする必要があります。 だから私の質問です:コンテンツ生成ユーティリティ(マップエディターなど)を追加する場合、カスタムコンテンツ(マップファイル)がテクスチャアセットと常に同期していることを確認するための最良の方法は何ですか。また、私のマップエディターでは、テクスチャアセットを読み込んで表示する機能が必要になることにも注意してください。 どんな入力でも大歓迎です。
7 xna  c# 


2
完全なアプリケーションを開発するときに、glTools / glutを使用すべきではないのはなぜですか?
私はOpenGLの使用方法をOpenGL SuperBible、Fifth Editionを使用して少し前から学び始めました。そして、この本はOpenGLの使用方法を実際には教えていないが、代わりに使用方法を教えているという事実について人々が議論しましたそれに関連する2つのラッパーライブラリ、glutとglTools。 また、過剰なプロジェクトを本格的なプロジェクトに使用してはならないことも聞かされましたが、正当な理由はありませんでした。 私の質問は、なぜ、そしていつ私はglTools / glutライブラリーを使用すべきでないのか、そして代わりに何を使用すべきなのか、です。
7 opengl  tools  glut 

1
STLを使用してC ++でゲームの保存ファイル形式を作成する方法
STLのI / Oの部分、具体的にはfstreamについて学びました。ハードドライブに作成したバイナリ情報とクラスを保存できるようになりましたが、情報の読み取り方法を定義する方法がわかりません。 [this] [1]の投稿からファイル形式を作成するための答えを見つけました: 通常、BITMAPINFOHEADERなどの多数のレコード/構造を定義し、それらが来る順序、それらをどのようにネストするかを指定します。また、多くのインデックスとルックアップテーブルを作成する必要がある場合があります。このようなファイルは、多数のレコード(たぶん寄り添う)、ルックアップテーブル、マジックワード(構造の開始、構造の終了などを示す)、およびカスタム定義の形式の文字列で構成されます。 特に私が知りたいのは、STLとC ++でこれを行う方法です... このフォーマットは単にゲームを使用するためのものなので、はるかに簡単だと思います。形式は次のとおりです。 トラバース可能であること(私はそれを見て、構造の開始点を見つけ、名前を確認することができます 1つのファイルに複数のクラスとデータを保持できる テキストファイル内のスペースなど、セクションの開始と終了を識別できる 多分それを表す独自のアイコンがあるのでしょうか? C ++でこれを行うにはどうすればよいですか?

3
左手座標系と右手座標系
Blenderや他の3Dモデリングツールでは座標系は右利きですが、Unity 3DおよびOrbiter Space Flight Simulatorでは左利きですが、なぜこれが起こるのでしょうか?なぜ単純なものにするために常に右手座標系を使用しないのですか?3Dグラフィックスを扱うすべてのプログラムがZ +を使っているわけではないのはなぜですか? Y | Z ZX | YX RIGHT-HAND | LEFT-HAND TOP VIEW | TOP VIEW (幸い、Unity3DはBlender座標系からUnity3D座標系に変換します)

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