ゲーム開発

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

3
Final Fantasy 6、Chrono Trigger、Alundraなどのゲームの遠近法スタイルの名前は何ですか?
ファイナルファンタジー6、クロノトリガーなどのスーパーニンテンドーゲームの「トップダウン」スタイルの実際の用語は何ですか。私は同等の用語を探しています: 「アイソメトリック」-(ジャガーアライアンス、ファイナルファンタジータクティクス、フォールアウト)、 「一人称」-(ハーフライフ、ドゥーム、クエイク)、 「鳥の目」-(グランド・セフト・オート) ?ここに用語を挿入しますか?-(ファイナルファンタジー6、クロノトリガー)

6
OpenGL ES 2.0:品質シェーダーのリポジトリ[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 高品質のOpenGL(OpenGL ES 2.0)の頂点とフラグメントシェーダーのリポジトリを提案してください。 私を探していますシェーダligting基づいて画素(のようなフォンを)とsimmilar。品質とシェーダーのパフォーマンスのどちらかを選択できるように、それらをさらに表示するとよいでしょう。

3
自明ではない2DゲームをPythonで開発するのは良い考えですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 4年前休業。 2DスペースRPGの開発を計画していて、選択肢に直面しています。それを書くのに最適な言語は何ですか?私の候補者はC ++、Java、Pythonです。言うまでもなく、その表現力、開発のスピード、およびスクリプトサポートの追加の単純さのために、Pythonでゲームを書きたいと思います。しかし、私は心配しています: Pythonが遅くなりすぎませんか?ゲームは簡単ではありません(たとえば、テトリスのように)。宇宙にある何千もの船のタスクを計算する必要がある場合があります(それらの船がプレイヤーに表示されない場合、AIを大幅に簡略化できます)。もちろん、Cでいくつかの重要な部分を書くこともできますが、ビルドとデプロイがすぐに複雑になります。 ゲームが人気になり、スーパースターになったとしましょう。WindowsユーザーがPythonを使用することはめったにありません(幸い、py2exeがあります)。Mac OS X上のPythonは古くなっている可能性があり、あいまいな例外でゲームがクラッシュする場合があります。Pythonでゲームをデプロイするのは難しくありませんか? Python 3のライブラリが不足しているため、Python 2でゲームを作成する必要があります。数年でPython 3に移行するのは、あまりに面倒で時間がかかりませんか?
10 python 

3
XNAの角を丸めますか?
プリミティブ(ラインストリップ)を介してXNAでレンダリングされた四角形の角を丸くする方法はありますか?UIを今よりも少し派手にしたいと思います。あまりにも多くのテクスチャーを必要とせずに、コードを柔軟にしたいと思います。
10 xna 

2
遅延照明設定での二重放物面ポイントライトシャドウ
私はこのチュートリアル/サンプルコードをいじってみました。このサンプルコードは、遅延照明設定の一種であるlight-pre-passの簡単な実装を示しています。 デュアル放物面シャドウマップを使用して、ポイントライトシャドウを実装しているところです。このDPMの説明に従っています:http : //gamedevelop.eu/en/tutorials/dual-paraboloid-shadow-mapping.htm シャドウマップを作成できましたが、見栄えが良いようです。 私が現在抱えている問題は、ポイントライトをレンダリングするときにシャドウマップで深度値を検索するピクセルシェーダーにあると思います。 これが私のポイントライトシェーダーコードです:http : //olhovsky.com/shadow_mapping/PointLight.fx 対象のピクセルシェーダー関数はですPointLightMeshShadowPS。 誰かがその関数に目立ったエラーを見ていますか? うまくいけば、誰かが前にこの問題に取り組みました:) 上の画像からわかるように、投稿の影は投稿の位置と一致していないため、変換がどこかで間違っています... これは、ポイントライトが地面に非常に近い(ほとんど地面に触れている)場合の外観です。 ポイントライトが地面に近づくと、シャドウが集まり、2つのシャドウマップが交わる線に沿って(つまり、ライトカメラが反転して2つのシャドウマップをキャプチャした平面に沿って)影が接触します。 編集: さらに詳しい情報: ポイントライトを原点から遠ざけると、ライトカメラの「右」のベクトルに平行な線が影を切り取ります。上の画像は、ポイントライトを左に移動した結果を示しています。ポイントライトを右に移動すると、代わりに右側に同等のクリッピングラインがあります。だから、これは私が思ったように、ピクセルシェーダーで何かを間違って変換していることを示していると思います。 編集:この質問をより明確にするために、ここにいくつかのコードを示します。 これが、シャドウスポットライトを描画するために現在使用しているコードです。これは機能し、期待どおりにシャドウマッピングを使用します。 VertexShaderOutputMeshBased SpotLightMeshVS(VertexShaderInput input) { VertexShaderOutputMeshBased output = (VertexShaderOutputMeshBased)0; output.Position = mul(input.Position, WorldViewProjection); //we will compute our texture coords based on pixel position further output.TexCoordScreenSpace = output.Position; return output; } ////////////////////////////////////////////////////// …

4
メガテクスチャリング:地震戦争から怒りへの進化
ジョン・カーマックが、彼らが最初にメガウォータリングをQuake Wars:Enemy Territoryにどのように使用したかについて話したのを覚えています。テクノロジーはレイジでかなり進化してきました。 ここから誰かが、それ以降に何がどのように進化したかについての詳細について、技術的な詳細を教えてくれるかどうか疑問に思っていました。
10 textures 

1
ゴルフボールの軌道方程式に空気抵抗を追加する
VB.NET 2005で2Dゴルフゲームを開発していますが、ボールに影響を与えるはずの空気または風の抗力を実装する方法に行き詰まっています。 すでに私は発射物のためのこれらの方程式を持っています: v0v0v_0は、ヒットまたは発射されたときのゴルフボールの初速度 垂直成分と水平成分、ゴルフボールの速度: vバツvy= v0c o s (θ )= v0s i n (θ )− gt ∗vx=v0cos(θ)vy=v0sin(θ)−gt∗ \begin{align} v_x &= v_0 cos(\theta) \\ v_y &= v_0 sin(\theta) - gt* \end{align} ゴルフボールの垂直および水平距離: バツy= v0c o s (θ )t= v0s i n (θ )t − (0.5 )gt2x=v0cos(θ)ty=v0sin(θ)t−(0.5)gt2 \begin{align} x &= v_0cos(\theta)t …

5
OpenGL対OGRE:初心者にはどちらが最適ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、議論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 6年前休業。 ゲーム開発に興味があり、優れたC / C ++プログラミングスキルを持っています。私は以前にOGREを試しましたが、出発点としてOGREとOpenGLのどちらを学ぶべきか知りたいです。 私の理解では、OGREはOpenGLおよびDirectXのラッパーです。それで、OGREを学ぶことを前提として、ゲームを開発するためにOpenGLも学ぶ必要がありますか? また、誰かが私にOpenGLの良いチュートリアルを指摘できますか?私はOGREが十分に文書化されていることを発見しました(ディストリビューションにも付属しています!)が、OpenGLの場合、私がやってきたチュートリアルのほとんどは古くなっています。
10 opengl  ogre 

4
サーフェスが別のサーフェスと正確に重なる原因は何ですか?
あるサーフェスが別のサーフェスとオーバーラップする原因を実際には理解できません。私が作成している3Dエンジンで、私のテクニックはエッジケースで失敗しています。 私の方法は、ペイントするサーフェスを最も遠いものから最も近いものに並べ替えます。近さを判断するために、平均z値を比較しています。ただし、場合によっては、オーバーラップしているサーフェスの平均z値が、オーバーラップしているものよりも高くなることがあります。したがって、より遠い表面が近い表面の上にペイントされます-このような奇妙なレンダリングになります: 見ようとしているのは、立方体の紫色の前面のみですが、赤い側面は紫色のものの上に描かれています。紫色の表面の平均Z値は高く、したがって「遠く」にあります。だから私はこのテクニックが正しいかどうかについていくつかの疑問を持っています。 また、カメラ(原点)から表面までの距離を取得することも試みましたが、ポイントが必要でした。各サーフェスの中央を選択しましたが、すべてのサーフェスが互いに同じ大きさではないため、これが常に機能するとは限りません。 したがって、原点に向かう表面の近さの順序を決定する信頼できる方法は何ですか?
10 3d  rendering 

2
Half-Life 2 BSPライトマップ
私は大学のプロジェクトのBSPビューアを書いています。これまでのところ、メインジオメトリが適切に読み込まれ、PVSが機能しています。 現在、ライトマップを適用しようとしていますが、ライトマップのテクスチャ座標を適切に計算できないようです。 ここによると:http : //developer.valvesoftware.com/wiki/The_Source_Engine_BSP_File_Format struct texinfo_t { float textureVecs[2][4]; // [s/t][xyz offset] float lightmapVecs[2][4]; // [s/t][xyz offset] - length is in units of texels/area int flags; // miptex flags overrides int texdata; // Pointer to texture name, size, etc. } フロートの最初の配列は、本質的に、ワールドジオメトリにレンダリングされたときにテクスチャがどのように方向付けられ、スケーリングされるかを表す2つのベクトルです。2つのベクトルsとtは、テクスチャピクセル座標空間での左から右および下から上方向のワールドへのマッピングです。各ベクトルには、x、y、およびzコンポーネントと、ワールドに対するその方向のテクスチャの「シフト」であるオフセットが含まれます。ベクトルの長さは、各方向のテクスチャのスケーリングを表します。 テクスチャピクセル(またはテクセル)の2D座標(u、v)は、次のようにして、面上の点の世界座標(x、y、z)にマップされます。 u = tv0,0 * x + tv0,1 …

6
XNAでGame1を静的にするのは悪い考えですか?
私のGame1クラスを静的として持つのは本当に悪い考えですか?現在のところ、私のGame1クラスにはTileHandler、現在のタイルのセットに関係AnimalHandlerするすべてを処理し、すべての動物を(驚くほど)処理するというクラスがあります。 ここでAnimalHandler、タイルが歩き可能かどうかをチェックしたい場合にTileHandler問題が発生するか、歩き可能なタイルのリストをに渡す必要がありますがAnimalHandler、これは行いません。 何容易になるだろうことは作ることになりGame1、静的をし、その後にAnimalHandlerだけ行きますGame1._tileHandler.WalkableTile(position)。 これですぐに問題が発生したり、問題の原因となるものを確認したりすることはできませんが、静的クラスの使用を開始したばかりです。
10 xna  c#  architecture 

4
プロジェクトを開始する前のゲームデザインドキュメントはどのくらい詳細かつ/または完全ですか?
プロジェクトの実装を開始する前に、設計ドキュメントが通常どの程度完成しているのでしょうか。ここでは、ドキュメント全体を完全に具体化したとしても、数十ページしかない可能性がある、非常に小さなチームで中規模から非常に小さなプロジェクトについて話している。 大まかなフレームワークから始めて、実装の開始と同時に詳細を具体化し始めますか? 実装が始まる前に、すべてのセクションを完全に具体化していますか?その場合、実装の開始後にどの程度の変化が見られましたか? 私が概説した2つのシナリオのいずれかを経験したことがある場合、その特定のルートで発生する問題とそれを回避するのに役立ったと感じる障害についての意見をお待ちしています。

5
ネットコードの扱い方は?
ネットコードがゲームエンジンに「フック」できるさまざまな方法を評価することに興味があります。私は現在マルチプレイヤーゲームを設計しています。これまでのところ、少なくとも、ネットワークソケットを処理するために、グラフィックループとスクリプトを処理する他のエンジンとは別のスレッドを用意する必要があると判断しました。 私は、ネットワーク化されたゲームを完全にシングルスレッド化する1つの潜在的な方法がありました。つまり、非ブロッキングソケットを使用して、各フレームをレンダリングした後にネットワークをチェックします。ただし、フレームのレンダリングにかかる​​時間がネットワークラグに追加されるため、これは明らかに最適ではありません。ネットワーク経由で到着するメッセージは、現在のフレームのレンダリング(およびゲームロジック)が完了するまで待機する必要があります。しかし、少なくともこの方法では、ゲームプレイは多かれ少なかれスムーズなままです。 ネットワーク用に別のスレッドがあると、ゲームはネットワークに完全に応答することができます。たとえば、サーバーから状態の更新を受信するとすぐにACKパケットを送り返すことができます。しかし、ゲームコードとネットワークコードの間で通信するための最良の方法について少し混乱しています。ネットワークスレッドは受信したパケットをキューにプッシュし、ゲームスレッドはループ中の適切なタイミングでキューから読み取るため、この最大1フレームの遅延は解消されていません。 また、パケットの送信を処理するスレッドは、パイプを下りてくるパケットをチェックしているスレッドとは別のスレッドにしたいようです。これは、パイプが途中にある間は送信できないためです。着信メッセージがあるかどうかを確認します。selectまたは類似の機能について考えています。 私の質問は、最高のネットワーク応答性を実現するゲームを設計するための最良の方法は何でしょうか?明らかに、クライアントはできるだけ早くユーザー入力をサーバーに送信する必要があるため、イベント処理ループの直後、両方ともゲームループ内でnet-sendコードを送信することができます。これは意味がありますか?

2
「城を守る」タイプのゲームでプレイヤーの「力」を計算する
私は「ディフェンドユアキャッスル」タイプのゲームを作っています。各プレイヤーには城があり、敵の城を破壊するためにユニットを送る必要があります。それはこのように見えます(そうです、これは実際のゲームであり、簡単なペイントの描画ではありません。): 今、私は対戦相手のAIを実装しようとしています。簡単、通常、ハード、ハードコアの4つの異なるAIレベルを作成したいと思います。これまでに「深刻な」AIを作成したことがなく、今回は完全なAIを作成したいと思います。 私のアイデアは、城の現在のヘルスとユニットの個々の「パワー」スコアに基づいて、プレイヤーの「パワー」スコアを計算することです。次に、AIはスコアをプレーヤーのスコアに近づけようとします(Easyはスコアの下に留まり、Normalはその近くに留まり、Hardはスコアを上回ろうとします)。しかし、プレイヤーのパワースコアを計算する方法がわかりません。考慮に入れるには変数が多すぎて、それらを適切に使用して1つの有意な数(電力レベル)を作成する方法がわかりません。 誰かがこれを手伝ってくれる? プレーヤーのパワースコアに影響を与える変数は次のとおりです。 現在の城の健康、ユニットの全体の健康、ダメージ、スピード、攻撃範囲。 また、プレイヤーは収入(マネーバッグ)、ダメージ(+ダメージ)、スピード(+スピード)を増加させることができます...スコアにそれらをどのように含めることができますか? 私は本当にここで立ち往生しています...または、このタイプのゲームにAIを実装できる他の方法はありますか? 貴重なお時間をありがとうございました。
10 game-design  ai 


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