ゲーム開発

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




14
10人のプレーヤーに最適な色のセットを見つけるにはどうすればよいですか?
10人のプレイヤーにそれぞれ固有の識別色を付けたいと思います。これに最適な色のセットはありますか?作成する方法は? 私が思いついたすべてのセットには、あまりにも似ている色が含まれています。 更新:私はこれが何のためであるかを尋ねられました(公正な質問)。今、私はあなたに話すことができます- ウィンドワードポリスと色はうまくいきました。

30
ゲーム開発ブログ[非公開]
フォローすべき優れたゲーム開発/デザインブログとは何ですか? 回答ごとに1つのブログを作成し(リンクを提供するようにしてください)、ブログの投稿の内容に関する簡単な要約を提供してください。 可能であれば、価値の高い記事を1つ選択して、そのスニペットを共有します。
265 game-design  assets  blog 

11
いつ固定または可変の時間ステップを使用する必要がありますか?
ゲームループは固定または可変の時間ステップに基づいている必要がありますか?常に優れているのですか、それとも正しい選択はゲームによって異なりますか? 可変時間ステップ 物理の更新には「最後の更新からの経過時間」引数が渡されるため、フレームレートに依存します。これは、計算を行うことを意味する場合がありposition += distancePerSecond * timeElapsedます。 長所:スムーズで、コーディングが簡単 短所:非決定的で、非常に小さいまたは大きなステップで予測できない deWiTTERSの例: while( game_is_running ) { prev_frame_tick = curr_frame_tick; curr_frame_tick = GetTickCount(); update( curr_frame_tick - prev_frame_tick ); render(); } 固定タイムステップ 更新は、各更新が一定期間のものであると想定するため、「経過時間」を受け入れない場合もあります。計算はとして行うことができますposition += distancePerUpdate。この例には、レンダリング中の補間が含まれています。 長所:予測可能、決定論的(ネットワーク同期が容易?)、より明確な計算コード 短所:v-syncを監視するために同期されない(補間しない限りグラフィックが不安定になる)、最大フレームレートが制限される(補間しない限り)、フレームワーク内で動作しにくい可変時間ステップ(PygletやFlixelなど)を想定 deWiTTERSの例: while( game_is_running ) { while( GetTickCount() > next_game_tick ) { update(); next_game_tick += SKIP_TICKS; } interpolation ...

30
「使いすぎる」症候群を防ぐ方法[終了]
一度しか使用できないが実際には続行する必要がないレアで強力なアイテムをプレーヤーに渡すと、ほとんどのプレーヤーは完璧な瞬間を待っているため、まったく使用しません。しかし、この瞬間が来たとしても、彼らはそれを使用することに消極的です。それで、彼らは、決して来ないであろうしばらくの間、それを蓄え続けます。 最終的に、他のより簡単に利用できるリソースに追いつかれるまで、またはゲームの最後までアイテムを持ち運びます。つまり、このようなワンショットアイテムは、ゲームプレイの価値をまったく提供しません。それらは単に使用するにはあまりにも素晴らしいです。 プレーヤーがワンショットアイテムを使用し、それらを買いだめしないようにするにはどうすればよいですか?

4
ゲームのメタデータを.pngファイルに保存するにはどうすればよいですか?
Sporeでは、.pngファイルをエクスポートすることで、プレイヤーが作成したクリーチャーを共有できます。これ.pngはクリーチャーの写真ですが、ゲームにインポートされた場合、クリーチャーの情報(テクスチャ、サイズ、形状など)も一緒に表示されます。 このような機能を実装するにはどうすればよいですか?

20
独身の非芸術的プログラマーはどのようにしてゲームを作りますか?[閉まっている]
ゲームを作ってみたいと思います。いくつかの簡単なものを作る際に、私は芸術をすることができないことに気付きました! 私は他の人を助けようとしました:私の経験が限られているため(私は高校生です)、ほとんどの既存のチームは私を望んでいませんし、適切なスキルセットを持つ地元のアーティストを見つけることができませんでした。 どうやってやるの?ゲームで働くのが好きかどうかを大学まで待つ必要がありますか?無料のアートを入手して、自分でいじり始めることができる方法はありますか?それとも、運が悪いだけなのか、興味のある他の人の間違った場所を探しているだけなのか?
195 art 

30
仮想経済のインフレをどのように防ぎますか?
通常のMMORPGを使用すると、プレイヤーは通常、原料を実質的に永久に世界中で栽培できます。モンスター/鉱脈/などは通常、何らかの種類のリスポーンタイマー上にあるため、時間以外はシステムに入る新しい通貨の量を制限する良い方法はありません。 それは本当にお金をシステムから外に出そうとするためにお金を貯めるだけです。ゲーム内通貨のインフレを防ぐための戦略は何ですか?
185 game-design  mmo  economy 

1
コンポーネントベースのエンティティアーキテクチャにおける「システム」の役割は何ですか?
私はエンティティのコンポーネントとシステムについて多くのことを読んでおり、エンティティが単なるIDであるという考えは非常に興味深いと考えてきました。 しかし、これがコンポーネントの側面やシステムの側面でどのように完全に機能するのかわかりません。コンポーネントは、関連するシステムによって管理される単なるデータオブジェクトです。衝突システムは、空間データ構造とともにいくつかのBoundsComponentを使用して、衝突が発生したかどうかを判断します。 これまでのところすべて良いですが、複数のシステムが同じコンポーネントにアクセスする必要がある場合はどうでしょうか?データはどこに保存する必要がありますか?入力システムはエンティティBoundsComponentを変更できますが、物理システムはいくつかのレンダリングシステムと同じコンポーネントにアクセスする必要があります。 また、エンティティはどのように構築されますか?私がこれまで読んだことのある利点の1つは、エンティティ構築の柔軟性です。システムは本質的にコンポーネントに結び付けられていますか?新しいコンポーネントを導入したい場合、新しいシステムを導入したり、既存のシステムを変更したりする必要がありますか? 私がよく読んだもう1つのことは、エンティティの「タイプ」は、そのコンポーネントが持っているものによって推測されるということです。エンティティが単なるIDである場合、ロボットエンティティを移動またはレンダリングし、何らかのシステムで変更する必要があることをどのようにして知ることができますか? 長い投稿で申し訳ありません(少なくとも、私の携帯電話の画面からはそう思われます)!

9
最適化が早すぎるのはなぜそんなに悪いのですか?
最適化について少し調べた後、ゲームを最適化するのが早すぎることは、広く認識されている罪のように思えます(文字通りどこでも)。 私はこれを本当に理解していませんが、パフォーマンスを念頭に置いて初めて開発するのではなく、ゲームのコア構造の一部を最後に変更することは非常に難しいことではありませんか? ゲームが終了するまで待つことで最適化が必要かどうかがわかりますが、とにかくそれを行うべきではありません。プレーヤー。 最適化が早すぎるのはなぜ悪い考えなのか、誰かに説明してもらえますか?

16
すべてのゲームプログラマが知っておくべき数学 [閉まっている]
簡単な質問:すべてのゲームプログラマが成功するには、どのような数学をしっかりと把握する必要がありますか? ゲームプログラミングのニッチ領域で数学や何かをレンダリングすること、具体的にはゲームプログラマーが知っておくべきことについては特に話していません。 注:正解は1つもないので、この質問(およびその回答)はコミュニティwikiです。 また、派手なラテックス数学の方程式が必要な場合は、http://mathurl.com/を使用してください。


8
ゲームアーキテクチャでMVCとTDDが採用されないのはなぜですか?[閉まっている]
私はこれを序文として、膨大な量のゲームソースを見たことがなく、ゲームのやり方で多くを構築したこともないと言います。 しかし、Webアプリで「エンタープライズ」コーディングプラクティスを採用しようとすると、ゲームのソースコードを真剣に見ると頭が痛くなります。「このビューロジックはビジネスロジックで何をしているのでしょうか。リファクタリングが必要です。 」 これを使用してゲームプロジェクトを開始しようとしているので、これを心配しています。これを使用するゲームの例があまりないので、開発プロセスをmvc / tddしようとしても邪魔されるのか、助けになるのかわかりませんまたは、コミュニティでより良いアーキテクチャの実践を推進します。 以下は、プロトタイピングゲームに関する素晴らしい記事からの抜粋です。しかし、私には、多くのゲーム開発者が本番ゲームコードを記述する際に使用しているように見える態度を正確に感じました。 間違いその4:ゲームではなくシステムを構築する ...あなたが自分の前に直接進まない何かに取り組んでいるのを見つけたら、すぐにそこで止めてください。プログラマーとして、私たちはコードを一般化し、エレガントにし、あらゆる状況に対処できるようにする傾向があります。かゆみはひっかき傷ではなく非常に難しいことがわかりましたが、その方法を学ぶ必要があります。コードではなく、最終的に出荷するゲームであることに気付くまでに何年もかかりました。 エレガントなゲームコンポーネントシステムを記述せず、エディターを完全にスキップしてコード内の状態を固定し、データ駆動型の自己解析的なXMLの狂気を避け、気の毒なことをコーディングするだけです。 ...できるだけ早く画面に表示します。 また、「余分な時間をかけてこれを正しい方法で行えば、ゲームでそれを再利用できる」という議論を決して使わないでください。今まで。 ゲームは(ほとんど)視覚指向であるため、コードがビュー内で大きく重み付けされるので、モデル/コントローラーにデータを移動するメリットはほとんどありません。 MVCがパフォーマンスオーバーヘッドを導入するという議論を聞いたことがありますが、これは時期尚早な最適化であり、MVCオーバーヘッドを心配する前に取り組むべきより重要なパフォーマンスの問題があるようです(たとえば、レンダリングパイプライン、AIアルゴリズム、データ構造トラバーサルなど)。 TDDについても同じです。テストケースを採用しているゲームはあまり見られませんが、おそらくこれは上記の設計上の問題(ビューとビジネスの混合)と、視覚的なコンポーネント、または確率的な結果に依存するコンポーネント(物理シミュレーション内で操作するなど)をテストするのが難しいという事実による可能性があります)。 おそらく間違ったソースコードを見ているだけなのに、なぜゲームデザインでこれらの「エンタープライズ」プラクティスが採用されていないのでしょうか?ゲームの要件は本当に大きく異なりますか、それとも人/文化の問題ですか(つまり、ゲーム開発者のバックグラウンドが異なるため、コーディングの習慣も異なります)。

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