ゲーム開発

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

2
OpenGLでゲームループを構築する良い方法
現在、私は学校でOpenGLを学び始めており、先日(学校ではなく自分で)簡単なゲームを作り始めました。私はfreeglutを使用しており、Cで構築しているため、ゲームループでは、渡された関数を使用して、glutIdleFuncすべての描画と物理を1回のパスで更新していました。これは、フレームレートをあまり気にしないシンプルなアニメーションでは問題ありませんでしたが、ゲームはほとんど物理ベースであるため、更新の速度を抑える必要があります。 そのため、私の最初の試みは、関数をglutIdleFunc(myIdle())に渡して、前回の呼び出しから経過した時間を追跡し、物理(および現在のグラフィックス)を数ミリ秒ごとに更新することでした。timeGetTime()(これを使用して)これを実行していました<windows.h>。そして、これは私に考えさせられました、アイドル機能を使用することは本当にゲームループを進める良い方法ですか? 私の質問は、OpenGLでゲームループを実装するより良い方法は何ですか?アイドル機能の使用を避けるべきですか?
31 opengl  c  game-loop 

3
ソース管理で無視できるUnreal Engine 4プロジェクトファイルはどれですか?
Unreal Engine 4プロジェクトをgitでソース管理下に置きたいです。(エディターがPerforceおよびSubversionをサポートしていることは知っていますが、それらは気にしません。) リポジトリにはどのフォルダーとファイルを含めますか、どれを無視できますか? 私はそれを参照してください方法は、以下が必要です:Config、Content、Source、*.sln、*.uproject 私は無視することができるというもの:Binaries、DerivedDataCache、Intermediate、Saved、*.suo、*.sdf、*.opensdf これは正しいです?

2
障害物が動いている場合でもA *は効率的ですか?
経路探索について学び始めたばかりで、A *アルゴリズムを検討しています。私の主な関心は、これまでに見たすべての例が、計算する静的障害を示していることです。 動く障害物、たとえば他のキャラクターが動き回るなど、キャラクターが動き回る必要がある場合、フレームごとにアルゴリズムを実行する必要があると想定していますが、かなり高価になるのではないかと心配していますハードウェアが各移動アクターの各フレームを処理します。 A *は、障害物が動いている場合でも使用できるほど効率的ですか、または、動いている障害物をより雄弁に処理するパス検索の別の方法がありますか?

5
24ビットの色深度では不十分ですか?
非常に柔らかいグラデーションでは、24ビットの色深度では色の遷移を見ることができるので十分ではないことに気付きました。これは、暗いシーンや夜空で最も飛び出します。 チャンネルごとに色深度を2バイトに変更しないのはなぜですか?それは多くの作業であり、多くのハードウェアを再調整する必要があることは知っていますが、少し面倒です。ハードウェアの技術が十分に成熟していないとは本当に思いません。 それで、なぜ誰もそれをしないのですか? これが「The War Z」の写真です。ここで私が言っていることを見ることができます:
30 graphics 

5
グリッドベースの液体シミュレーションでの圧力のシミュレーション
XNAゲームには2Dグリッドベースの水システムがあり、セルオートマトンを使用して水の落下と広がりをシミュレートする方法があります。 斜面を流れる水の例: 各タイルには、0〜255の値の液体を1バイトで格納できます。私が使用していfloatsた古い水道システムは使用しませんが、複雑さを増し、パフォーマンスに打撃を与えました。 各水タイルは、単純なルールセットで自動的に更新されます。 下のタイルにスペースがある場合は、可能な限り現在のタイルから下のタイルに移動します(フローダウン) 2つの側面が同じでなく、ゼロでなく、両方とも通過可能である場合、3つのタイルの合計(左+現在+右)を取得し、3で除算して残りを中央(現在の)タイルに残します 上記のルールが合計として2の数を与えた場合、タイルを2つの側面(1、0、1)に分割する必要があります ルール2が合計として1を与えた場合、流入するランダムな側を選択します ルール2が失敗した場合、一方が合格でもう一方が合格でないかどうかを確認する必要があります。それが当てはまる場合、2つのタイルに対して現在のタイルを半分に分割します このロジックを拡張してプレッシャーを含めるにはどうすればよいですか?圧力がかかると、液体が「Uベンド」を超えて上昇し、エアポケットが満たされます。 これが現在どのように失敗するかの例: 水はUベンドの両側で流れ、均等化されるはずです。さらに、ウォーターブロックがどれくらい下にあるか、したがってどの程度の圧力が発生しているかを調べるためのメソッドを作成しました。ここで、これらの数値を取得して他の領域に適用し、圧力を均等化できるようにする必要があります。
30 xna  c#  physics  grid  water 

4
なぜゲーム開発者は独占契約のゲームを開発するのですか?
1つのコンソール(PlaystationまたはXBox)のみでゲームを開発する会社がいくつかあります。なぜ、どのようにやっているのですか?PC / PS / Xbox向けに公開する際に、売上を増やすべきではありませんか? なぜ彼らはそのような契約に署名するのですか?利点は何ですか? 注:これらのゲームがコンソール会社によって完全に資金提供されている限り、私はこの排他性を完全に理解していますが、これらの会社がゲームに資金提供せず、それでも独占的である場合はありますか?
30 console  sales 

11
Webで解決策を見つけて、プレイヤーがパズルレベルで不正行為をするのを止めるにはどうすればよいですか?
レベルベースのパズルのようなゲームで、特定のレベルのソリューションを求めてゲーマーがインターネット上で検索するのを防ぐにはどうすればよいですか?プレイヤーにスコアを公平に比較​​させたいと思います。 レベルにランダム性を追加することを考えましたが、レベルがどれほど難しいか、どのように感じるかを制御できなくなるというマイナス面があります。 この問題を解決するための具体的な戦略はありますか?

2
ほとんどの2.5D等尺性ゲームの視野の遠近法の角度[終了]
いくつかの非常に人気のあるゲームを調べて、それらが使用している視点角度を決定しました。目的のために、等角表示で45度と60度のグリッドを作成し、スクリーンショット(この場合はDiablo IIの)に配置しました。これらのグリッドはいずれもゲームの観点に適合しません。だから私は、パースペクティブに最適な角度を見つけようとしましたが、角度は53.5度に近いです。しかし、この数字はどこからでも来ていないようで、遠近法の角度を定義する数字の背後には強力な論理があると思います。私は9/16 * 90度と3/4 * 90度(画面解像度16:9と4:3の比率から)を試しましたが、私の仮定はどれも正しいようには見えません。ここに私が意味するもののスクリーンショットがあります: 60度 45度 2つの間の何か-53.5度-実数にかなり近い 実際の学位が何であり、どこから得られるのかを本当に知る必要があります。どんな助けも大歓迎です!ありがとうございました!


11
プレイヤーに複数のキャラクターのレベルアップを促すにはどうすればいいですか?[閉まっている]
私のゲームでは、複数のキャラクターを作ることができます。好きなだけ作れます。私が通常行うこと(およびほとんどすべてのプレイヤーが行うこと)は、1つのキャラクターを作成し、それをLOTにレベルアップし、それをすべてに使用することです。 いくつかのゲームは、異なることを行う複数の「クラス」またはキャラクターのタイプを使用してこれを解決しようとしましたが、これは通常、各「クラス」の1つだけを持つことになります。 プレイヤーに1つまたは2つの本当に高いレベルのキャラクターを作らず、代わりに、現在いくつかの高レベルのキャラクター、いくつかの中間レベル、および現在レベルアップされているいくつかの低レベルのキャラクターを持っているように、どうすれば奨励できますか? (注:多くの新しい回答が入って​​いるように見えるので、以前に受け入れられた回答を受け入れません。(トーマス・マーネル、ごめんなさい、あなたの答えはまだ素晴らしいです:))

10
ローグライクデザインにパーマデアが不可欠なのはなぜですか?
ローグライクとローグライク(Spelunky、The Binding of Isaac)は、多くのゲームデザイン要素を共有する傾向があります。 手続き的に生成された世界 新しい能力と力によるキャラクターの成長 永久死 前提としてpermadeathから始めることが他のアイデアにつながる理由を理解できます。多くのことをやり直す場合は、経験にバラエティが必要です。しかし、最初の2つの要素がなぜパーマデアアプローチを意味するのでしょうか?

11
ゲームアーティストとプログラマーの労働時間と生産性の期待
私には限られた予算のスタートアップがあり、最近プログラマーとアーティストを雇いました。彼らがプロジェクトを開始する前に、私はプロジェクトのロードマップを作成し、何をする必要があるか、そして締め切りについての多くの優れたドキュメントを作成しました。 両方とも、これらの期限がどのように満たされるかについてのタイムラインを作成するように求められました。アーティストにとって、作業負荷が大きすぎる場合、助けが必要な間、1〜2か月間、追加の請負業者を雇うことができるかもしれないと言いました。 「まあ、これについてはさらに助けが必要かもしれません」、「今すぐにどれくらいかかるかわからないので、これらのタイムラインは非常に大まかな見積もりです」などのことを既に聞き始めています。そして、私はそれを知っています、彼らは失敗のために自分自身をセットアップしようとはしていませんが、マネージャーとして、私は一体何が起こっているのかを知る必要もあります。 したがって、ここには2つの質問があります。 会社以外のSlackを使用して、電話でメッセージに応答し、時計で人生管理を行う両方の雇用を頻繁に見ます。彼らは私が9歳になるという会社の方針を持っている最初の週に2回以上現れましたプロジェクトの範囲を狭めていると非難します。他方、これは他の大企業の標準であるかもしれないことを理解しています。作業スタイルと生産性に関して、アーティスト/プログラマーに一般的に期待できることは何ですか?柔軟性と怠け者の違いは何ですか? 私のアーティストは、すでに多くの仕事があり、期待に応える必要があるという理由で、他の仕事(マーケティング資産などの仕事)を拒否し始めています。遅刻してSlackのメッセージに応答し、一般的に仕事に関係のないことをしているのを見なかったら、これに対処することができました。一方、これがクリエイティブにとって通常/必要かどうかはわかりません。それは...ですか? それが役立つ場合: スタジオはヨーロッパにあります。 書面によるポリシーはありませんが、労働時間は契約上の義務です。 アジャイルプロジェクト管理を使用しています。 私たちは3人でプロジェクトに取り組んでいます。両方とも「リード」なので、自分の分野(アートとコード)に関連した決定を下します。

3
C ++でのエラー処理のためのtry-catchまたはifs
例外はゲームエンジンの設計で広く使用されていますか、それとも純粋なifステートメントを使用する方が望ましいですか?例外の例: try { m_fpsTextId = m_statistics->createText( "FPS: 0", 16, 20, 20, 1.0f, 1.0f, 1.0f ); m_cpuTextId = m_statistics->createText( "CPU: 0%", 16, 20, 40, 1.0f, 1.0f, 1.0f ); m_frameTimeTextId = m_statistics->createText( "Frame time: 0", 20, 20, 60, 1.0f, 1.0f, 1.0f ); m_mouseCoordTextId = m_statistics->createText( "Mouse: (0, 0)", 20, 20, 80, 1.0f, …

4
ランダムな名前で法的問題に遭遇することはありますか?
現在、NPCにランダムな性別と適切な性別のランダムな名前が割り当てられるゲームを構築しています。これを行うには、名前の「データベース」(実際にはタプルを含むテキストファイル)を使用します。また、姓のリストがあり、これもランダムに名に追加されます。 私の質問は次のとおりです。そのようなランダムな名前の1つが「ジョージブッシュ」であり、この人物にランダムに大統領職が割り当てられているとします。ご覧のように、これは実在の人物から「コピー」されたものとして簡単に見ることができます。 主な問題はこれです。はい、名前はランダムに生成されますが、乱数生成のシードは一定です。言い換えれば、NPCの名前はランダムに生成されます。つまり、私はそれを選択しませんが、すべてのプレーヤーで同じ名前になります。これで困ることはありますか?生成されたNPCの数は潜在的に無限である可能性があるため、可能な名前をすべて検証することはできません(必要に応じて新しいNPCが作成されます)。

8
ゲームプログラミングに対する個人の真の関心を確立する
私は第3レベル、4年のゲームプログラミングの学位(コンピューターゲーム開発の学士号)で教えています。新入生や入学希望者は、ゲームプレイ、ゲームデザイン、ゲームプログラミングへの興味と能力を融合させることがよくあります。(タイトルはより具体的または説明的なものになる可能性がありますが、変更できない内部的な理由があります)。入学希望者が教職員や在学生と話をすることができるオープンデーがあります。 その結果、多くの学生が私たちのプログラムに登録し、興味や能力が自分の選択した学位と一致していないことに気づきます。メジャーを変更するオプションがありますが、ほとんど同じようにプログラミングが集中します。関連するアートやデザインを本当にやりたいと思っている学生には選択肢がありません。そのため、一部の学生はゲームで最も近い学位であるため、4年間の困難/不幸な期間だけそれに専念しています。 目論見書でプログラムの内容を説明しますが、ほとんどの新入生はプログラミングの経験がほとんどないため、データ構造、ソフトウェアエンジニアリング、3Dグラフィックスなどのトピックタイトルはあまり意味がありません。 「3Dグラフィックスではそれほど数学を期待していなかったので、描画のように思えた...」 ゲームプログラミングに対する個人の純粋な関心を確立する方法を教えてください。そうすれば、教育に関するより多くの情報に基づいた決定を下すことができますか
30 education 

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