ゲーム開発

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

6
若い人に良い初心者向けの本やプロジェクトを勧められますか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 5年前休業。 この質問が少し主観的である場合は申し訳ありませんが、その理由を理解できると思います。 私はボランティアプログラムのBig Brother Big Sisterに参加しています。私の試合はコンピューターゲームが大好きで、彼はゲームを作りたいと思っています。彼は16歳ですが、まだそれほど技術的ではありません。html5キャンバスのものを見せていました(私はweb-devなので、彼にそれを説明するのが最も簡単です)が、彼には少し不透明です。もちろん、技術はまだかなり限られています。 大量のコードを知らなくてもゲームを作成するための基本を理解するには、どうすればよいでしょうか。3Dゲームメーカーのようなものですか? みなさん、あなたの回答は本当に役に立ちました。複数の回答を受け入れることができればいいのですが、これは本当に役に立ちます。皆さん、ありがとうございました。

1
非即時OpenGLではアニメーションはどのように処理されますか?
私は現代のOpenGLの初心者です。私は当面のOpenGL方法論に慣れていますが、VBOを真剣に使用したことはありません。私の質問はアニメーションについてです。即時モードでは、アニメーションを実現するには、オブジェクト空間で(キーフレームから補間された)異なる頂点位置をストリーミングする必要があります。 非イミディエートOpenGLでこれをどのように実現しますか?当然のことながら、フレームごとに新しいVBOデータをアップロードすると、グラフィックバスが占有されます。私はそれを行うための現代的な方法についての文献を見つけていません。それについて考えて、私はいくつかのオプションに行きました: 属性: 3Dオフセットとしてのアニメーション。フレームごとに、異なる(可能な補間された)オフセット属性が各頂点に渡され、各キーフレームの同じ頂点に適用されます。 インデックス:キーフレームを絶対的な頂点として格納し、キーフレームごとに異なる頂点のセットを使用して、インデックスを介してそれらにアクセスします。隣接するキーフレームにアクセスできないため、キーフレーム間を補間できないため、このアプローチは不可能です。また、手続き型アニメーションでは悪い考えのようです。 テクスチャ:これは非常に伸縮性があるかもしれませんが、私にとっては良い解決策のように聞こえます。この場合も、アニメーションは各頂点のxyzオフセットと見なされます。各キーフレームは、次元が頂点IDにマップされる1Dテクスチャに保存できます。私が間違っていない場合、OpenGL 4.0では、任意のシェーダーからテクスチャにアクセスできるため、このテクスチャを頂点シェーダーから読み取って、各頂点変換を適用できます。2Dテクスチャは複数のフレームを保持できます。引き続き補間を実行します(そして、補間がフラグメントシェーダーの外側のテクスチャに対して機能する場合、確信が持てませんが、線形補間を無料で行うことができます!)これは、骨のアニメーションなどのより複雑なアニメーションシステムにそれほど労力をかけずに適用できます。 私はこれを考えすぎていますか?誰かが光を当てることはできますか?
8 opengl  animation  vbo 

1
ソースの四角形を含むGDI画像からXNAテクスチャを作成する方法
XNAのTexture2Dが保持できるのはそれほど多くありません。使用するプロファイルに応じて、その制限は2048または4096ピクセル幅です。私の調査からわかる限り(私が間違っていれば誰かが訂正してくれます)GDI画像には、ユーザーのメモリを超えないこと以外に制限はありません。 (XNAのサイズ制限内で)GDI画像とソースの四角形を取得し、実行時にそのデータから新しいTexture2Dを作成する最も効率的な方法を探しています。このプロセスでは、XNA 4.0の乗算済みアルファも考慮に入れる必要があります。 または... Texture2D.FromStreamを取得し、ソースレクタングルも取得できるようにそれを適応させる方法。 要件は次のとおりです。 コンテンツパイプラインはありません。実行時にそれらをロードできる必要があります。 可能であれば、リーチプロファイルのみを使用してください。 Windowsのみに注意してください。移植性について心配する必要はありません。 TL; DR: 私は次のような方法が必要です: Texture2D Texture2DHelper.FromStream(GraphicsDevice, Stream, SourceRectangle); または Texture2D Texture2DHelper.FromImage(Image, SourceRectangle) できれば最初。 大局: 少しの間、ソースの四角形を無視して(物事を視覚化しやすくするために)、テクスチャ全体をGDIにロードし、完全にブルートフォースアプローチを使用してデータをTexture2Dに渡してみました。 using (System.Drawing.Image image = System.Drawing.Image.FromFile(path)) { int w = image.Width; int h = image.Height; System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(image); uint[] data = new uint[w * h]; for …
8 xna  c#  textures  image 


1
XNA Xboxゲームを一時停止して「一時停止メニュー」を表示する場合、どのコントローラーボタンを使用すればよいですか?
Xbox 360用のシンプルな2D XNAゲームを作成していStartます。Xboxコントローラーのボタンを押すと、ゲームを一時停止できます。一時停止している間、シンプルなメニューは次のようなオプションをポップアップするResumeとExit to Title Screen。私が現在プログラムしている方法では、メニューオプションAはXboxコントローラーのボタンでのみ選択できますが、直感的に押すStartとアクションを再開できます。 Startゲームを一時停止して一時停止メニューを表示するのは当然だと思いますが、一時停止メニューが表示されると、入力を処理するための3つのオプションを考えることができます。 Aボタンでメニューオプションを選択できます。Start何もしません。 メニューオプションはAボタンまたはボタンで選択できStartます。 Aボタンでメニューオプションを選択できます。Startどのメニューオプションが選択されているかに関係なく、ゲームプレイを再開します。 ゲームを一時停止し、一時停止画面メニューで入力を受け入れるための最良の制御方式は何ですか?これらのオプションから選択するのに役立つガイドラインや基準はありますか?

1
チームは開発中にゲームコンテンツをどのように共有/保存する必要がありますか?
Dropbox以外に、開発中の画像などのゲームコンテンツの保存と共有に特に役立つものは何ですか(オフラインでの作業、自動同期、windows / osxのサポートなど、Dropboxに設定された同様の機能)。 私たちは独自のSharePointサーバーをホストすることを検討していますが、それは本当にドキュメントに集中しているようです...たぶんBox.netはうまくいくでしょうか? 編集 コードについては、Gitを使用しています。 もっと正確に言うと、アーティスト/オーディオエンジニアが制作したコンテンツを誰でも簡単に、自動的に利用できる方法を探していました。資産の承認などの機能も害にはなりません。Tetradによってリンクされた回答に続いて、Alienbrainはかなり興味深いように見えましたが、予算からかけ離れています(将来的に投資する可能性があります)。 結局何をしていたのか... 私たちはBox.netを使用するつもりでしたが、デスクトップ用の同期アプリをダウンロードするには、何らかの理由でそれらからの連絡を待つ必要がありました。待つ時間があまりなかったので、Dropboxチームと一緒に行きました。Box.netには優れた機能セットがありますが、それがないと、私たちは本当に手遅れになることはありませんでした。 助けてくれてありがとう :)。
8 server  storage 

2
マルチプレイヤーゲームでのDTLSプロトコルの使用
オンラインマルチプレーヤーゲームでDTLSプロトコルを使用することを検討しています。知らない人のために、それは本質的にTLSからUDPデータグラムへのポートです。 この論文によると、プロトコルの主要なオーバーヘッドはハンドシェイク段階にあり、テストでは950ミリ秒かかりました。ただし、この調査(リンクが壊れています。archive.orgのコピーを参照)は、実際の暗号化されたトランスポート中に、1ミリ秒未満の遅延があることが多いことを示しています。 これは、リアルタイムゲームの天の恵みのように聞こえます。これは、UDPを介して動作する、遅延が少なく安全性の高い暗号化チャネルです。ハンドシェイクフェーズの信頼性と保護を提供し、それから邪魔にならないようにします。それでも、RFC仕様が2006年に記述され、OpenSSLで実装されているにもかかわらず、ゲームで使用されることは聞いたことがありません。 なぜすべてのゲームがそれを使用しないのですか?

3
ランダム化された天気のアルゴリズム
天気のモデリングに苦労しています。単一のアスペクトのモデリングは簡単です-いくつかの正弦波パターン+ランダムノイズ。しかし、1つ以上が私の心を吹き飛ばしています。風、葉っぱ、雨、雪をランダムにすることはできません。雨や雪のような単純な衝突は決して起こらないはずです。 これに加えて、多分それぞれの「強度」レベルが欲しいです。しかし、これはメインロジックの後に来る可能性があります。 天気はMySQLに保存されます。 提案はすべて大歓迎ですが、郵便番号にpingを送信してそこから天気を取得することを提案しないでください。 実際、以下のすべての回答からの提案を利用して、私はこの非スケールの分布を考え出しました: 各フィーチャはランダムノイズで計算され、3つの組み合わせによりオーバーレイ効果が生成されます。 (気温<0)および(湿度> 65)=>雪

2
どうすればスペースシムに勢いを盛り込むことができますか?
私は今、単純な2D物理エンジンの作成に取り組んでおり、勢いを宇宙船の動きに組み込む方法を理解するのにいくつかの問題に直面しています。 特定の方向に特定の速度で移動している場合、現在、船の位置を簡単に更新できます(位置+ =方向*速度)。しかし、船がまったく回転し、(船が向いている新しい角度に基づいて)方向を再計算し、その方向に加速する場合、船が移動する「線」を変更するために勢いをどのように考慮することができますか?現在、船は瞬間的に方向を変え、推力ボタンを押すと現在の速度でその新しい方向に進みます。船自体にある程度の質量があるような印象を与えるために、より緩やかな旋回動作にしたい。 このトピックに関する素晴らしい投稿がすでにある場合は申し訳ありませんが、検索で何も見つかりませんでした。さらに情報が必要な場合はお知らせください。質量*速度をゲームループの更新にスローする方法を誰かに簡単に教えてもらえれば幸いです。
8 xna  2d  physics 

2
XNA曲のループ間の遅延をなくしますか?
XNAを使用してゲームを作成し、バックグラウンドミュージックを正しくループさせようとしています。ファイルは約30秒の長さのMP3なので、としてインスタンス化しましたSong。完全にループさせたいのですが、MediaPlayer.IsRepeatingプロパティをに設定してもtrue、曲が再び始まるまでに常に約1秒の遅延があります。曲が瞬時にループするようにこの遅延を解消して、より滑らかに再生できる方法はありますか?
8 xna  xna-4.0  music 

1
異なる材料の光反射率値のリストまたはデータベースはどこで入手できますか?
WebGLアプリにライティングを実装していますが、私はアーティストではないので、マテリアルのリスト(拡散、鏡面反射光、アンビエント、光沢)を生成する方法やマテリアルのリストを取得する場所がわかりません。私はたくさん検索しましたが、運がありませんでした。 見落とした可能性のあるリストまたはDBはありますか?一般的なリポジトリまたは同様の何か? 前もって感謝します。 注:英語は私の主な言語ではありません。何かを理解できない場合はお知らせください。言い換えます。

2
頂点バッファーオブジェクトの主な用途は何ですか?
私が読んだことから、VBOは純粋にパフォーマンスを目的としているようです。 私はlwjglの非常に初歩的な学習プロジェクトに取り組んでいます。ライブラリのさらに高度な機能と、それらの用途を理解しようとしています。 私の理解では、VBOを使用すると、頂点が現在シーンに描画されていない間でも、VRAMに頂点を保持できます。私の場合、クワッドを描画しているだけで、パフォーマンスはおそらくまったく問題ではありませんが、内部で何が起こっているのかをまとめようとしています。クワッドを直接描画している場合、CPUメモリから描画していますか?また、可視性のチェックを行わない場合、それが表示されているかどうかに関係なく、「シーン」内のすべてを完全にレンダリングしていることを意味しますか?VBOはオブジェクトを格納し、必要なものだけをレンダリングする方法ですか?
8 opengl  java  lwjgl 

2
深度テストに合格したフラグメントの数を取得する
「モダン」環境では、「NVオクルージョンクエリ」拡張機能により、深度テストに合格したフラグメントの数を取得する方法が提供されます。ただし、OpenGL ESを使用するiPad / iPhoneでは、拡張機能は利用できません。 フラグメントシェーダーで同様の動作を実装するための最もパフォーマンスの高いアプローチは何ですか? 私のアイデアのいくつか: オブジェクトを完全に白でレンダリングし、次に2パスシェーダーを使用してすべての色を一緒にカウントします。最初に垂直線がレンダリングされ、各フラグメントについて、シェーダーは行全体の合計を計算します。次に、フラグメントが最初のパスのすべての部分和を合計した単一の頂点がレンダリングされます。非常に効率的ではないようです。 オブジェクトを黒の背景の上に完全に白でレンダリングします。合理的に小さい解像度になるまで、テクスチャ間のハードウェア線形補間を悪用して、再帰的にダウンサンプリングします。これは、対応する領域内の白いピクセルの数に応じてグレースケールレベルを持つフラグメントにつながります。これでも十分正確ですか? ミップマップを使用して、単純に1x1レベルのピクセルを読み取ります。繰り返しになりますが、精度の問題と、2のべき乗ではないテクスチャを使用しても可能かどうかという問題です。 これらのアプローチの問題は、パイプラインが停止し、パフォーマンスに大きな問題が発生することです。したがって、私の目標を達成するためのよりパフォーマンスの高い方法を探しています。 EXT_OCCLUSION_QUERY_BOOLEAN拡張の使用 Apple はiOS 5.0 for iPad 2でEXT_OCCLUSION_QUERY_BOOLEANを導入しました。 "4.1.6 Occlusion Queries Occlusion queries use query objects to track the number of fragments or samples that pass the depth test. An occlusion query can be started and finished by calling BeginQueryEXT and …

1
ゲームスクリプトの記述に使用できるツールは何ですか?
ゲームスクリプトを作成するためのソフトウェアオプションをOS Xで探しています。対話ツリーやその他のノンリニアスクリプト形式を作成する機能などの機能が評価されます。 私はCeltxを所有しており、キャラクター情報を他のさまざまなメディアアセットと一緒に保存する機能が大好きですが、非常に直線的で直線的なフィルムスタイルのスクリプトベースであり、ゲームアプリケーションには適していません。 専用またはより適切なソフトウェアオプションはありますか?
8 macos 

3
レトロコンソールの制限は何ですか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 3年前休業。 私はゲームのレトロな外観を作成することに興味があり、現在どの程度レトロ(どの世代/コンソール)かを決定している最中です。合計色の最大数、スプライトあたりの最大数、レイヤーの数、最大タイル数、最大タイルサイズ、スプライトサイズなど、各コンソールの制限について何らかのwiki /ドキュメントがあった場合、何が簡単になるでしょうか。 。、等。ゲームボーイを例にとってみましょう。はい、4色です。画面の解像度も確認できます。しかし、他のすべての制限はどうですか? ですから、誰かが良いリソースを知っているなら、それは大きな助けになるでしょう。今日の世代のコンピューターとコンソールが提供する自由はあまりにも多く、私はそれをどんどん追加していくことができ、決して終わらないということがわかります。限界を設定して、その限界内でできる限りのことをしたいです。
8 console 

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