ゲーム開発

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

5
2Dタイルゲームで視界面積をすばやく計算する方法は?
タイルのマトリックスがあり、そのタイルのいくつかにはオブジェクトがあります。プレイヤーに見えるタイルと見えないタイルを計算したいので、非常に効率的に行う必要があります(したがって、大きなマトリックス(100x100)と多くのオブジェクトがある場合でも十分に高速に計算されます)。 Bresenhamのラインアルゴリズムを使用してそれを実行しようとしましたが、時間がかかりました。また、いくつかのエラーが発生しました: ----XXX- ----X**- ----XXX- -@------ -@------ -@------ ----XXX- ----X**- ----XXX- (raw version) (Besenham) (correct, since tunnel walls are still visible at distance) (@ is the player, X is obstacle, * is invisible, - is visible) 私はこれができると確信しています-結局のところ、NetHack、Zangbandがあり、彼らはすべてこの問題に何らかの形で対処しました:) これにはどのアルゴリズムを推奨できますか? 必要に応じて、次のように可視を定義します。タイルは、タイルの少なくとも一部(コーナーなど)がプレーヤータイルの中心に障害物と交差しない直線で接続できる場合に表示されます。

3
Android用のオープンソースゲームエンジンはありますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または詳細な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 オープンソースのAndroidゲームエンジンはありますか?
24 android 

5
マーケティング:Angry Birds-完了方法[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 Angry Birdsのような一部のアプリが市場を支配しているのに、他のクールなアプリや楽しいアプリ、中毒的なアプリは聞いたことがないのはなぜですか? 私は、最高のマーケティング戦略、またはアプリをマスマーケットに販売する最良の方法を見つけようとしています。 Angry Birdsのような主要な超大作アプリのマーケティングについて気づいたアイデアやことはありますか? アイデア、コメントをありがとう...
24 iphone  marketing 

2
視覚的に魅力的で直感的な方法でラベルを広げるアルゴリズム
短縮版 車両ラベルを重複しない方法で配布し、参照する車両のできるだけ近くに配置するための設計パターンはありますか?そうでない場合、私が提案する方法のいずれかが実行可能ですか?これを自分でどのように実装しますか? 拡張版 私が書いているゲームでは、空飛ぶ車両の鳥瞰図を持っています。また、各車両の隣には、車両に関する重要なデータが記載された小さなラベルがあります。これは実際のスクリーンショットです。 現在、車両は異なる高度で飛行する可能性があるため、アイコンが重なる可能性があります。ただし、ラベルが重複しないようにします(または、車両「A」のラベルが車両「B」のアイコンに重複することはありません)。 現在、スプライト間の衝突を検出することができ、問題のラベルを、それ以外の場合はオーバーラップしているスプライトとは反対の方向に押すだけです。これはほとんどの状況で機能しますが、空域が混雑すると、代替の「スマート」な代替手段があったとしても、ラベルが車両から非常に遠くに押し出される可能性があります。たとえば、次のようになります: B - label A -----------label C - label 取得する方が良い場所(=車両に近いラベル): B - label label - A C - label 編集:また、重複車両の場合のほかに、車両のラベルAが重複する可能性のある他の構成が存在する可能性があることも考慮する必要があります(ASCIIアートの例は、たとえば、のラベルがBおよびC)。 現在の状況を改善する方法について2つのアイデアがありますが、それらを実装する時間を費やす前に、アドバイスを求めてコミュニティに頼ることを考えました(結局、そのためのデザインパターンが存在する可能性がある「共通の十分な問題」のようです)。 それが価値があるものについて、私が考えていた2つのアイデアがあります: ラベルスペースのスロット化 このシナリオでは、すべての画面をラベル用の「スロット」に分割します。次に、各車両のラベルは常に最も近い空のラベルに配置されます(空=その場所に他のスプライトはありません)。 スパイラル検索 画面上の車両の位置から、重複しない位置が見つかるまで、角度を大きくしてから半径を大きくしてラベルを配置しようとします。以下のようなもの: try 0°, 10px try 10°, 10px try 20°, 10px ... try 350°, 10px try 0°, 20px try 10°, 20px …

4
ゲームの状態管理テクニック?
まず、シーン管理について言及していません。ゲームの状態は、ユーザー入力を有効にするかどうか、特定のアクターを一時的に無効にする必要があるかどうかなど、ゲーム内のあらゆる種類の状態として大まかに定義しています。 具体的な例として、古典的なバトルチェスのゲームだとしましょう。他のプレイヤーの駒を取りに行くと、短いバトルシーケンスが再生されます。このシーケンスの間、プレーヤーはピースを移動することを許可されません。それでは、このような状態遷移をどのように追跡しますか?有限状態マシンですか?単純なブールチェック?後者は、この種の状態の変化が非常に少ないゲームでのみうまく機能するようです。 有限状態マシンを使用してこれを処理する多くの簡単な方法を考えることができますが、すぐに手に負えなくなることもわかります。ゲームの状態/遷移を追跡するよりエレガントな方法があるかどうかだけに興味があります。
24 state 


2
2つのゲーム状態を補間する方法は?
すべてのオブジェクトの位置が2つの更新状態の間で補間されるシステムを作成するための最良のパターンは何ですか? 更新は常に同じ頻度で実行されますが、任意のFPSでレンダリングできるようにしたいです。そのため、更新頻度よりも低いか高いかに関係なく、1秒あたりのフレーム数に関係なく、レンダリングは可能な限りスムーズになります。 現在のフレームから将来のフレームまで、1フレームを将来の補間に更新します。この回答には、これを行うことについて説明するリンクがあります。 半固定または完全固定のタイムステップ? 編集:補間で最後と現在の速度をどのように使用できますか?たとえば、線形補間だけでは、位置間を同じ速度で移動します。2つのポイント間の位置を補間する方法が必要ですが、補間の各ポイントでの速度を考慮します。パーティクル効果のような低レートのシミュレーションに役立ちます。

4
衝突の検出は、サーバー側で行うか、クライアント/サーバー間で協調して行う必要がありますか?
私は非常に重い衝突検出処理を持つオンラインゲームに取り組んでいます。プレーヤーモデルは、サーバー側にのみ存在する他のプレーヤー、Mob、構造、地形、およびソリッドオブジェクトと衝突します(クライアントデータファイルには保存されません)。 セキュリティのために、サーバー側ですべての衝突検出を行う必要がありますか?または、クライアントに検出を行わせ、サーバーに何らかの方法でフォローアップさせる必要がありますか?サーバーが単独で行うには多すぎるように感じます(1台のサーバーで数百人のプレイヤー向けにエンジンを設計しています)。 誰もが主流のMMOがそれをどのように行うか知っていますか?現在、ほぼすべてのMMOが物理ハッキングの影響を受けやすく、通常、ハックを検出して人を禁止することで対処しています。少なくとも物理コンポーネントについては、ハックはまったく機能しませんでした。


9
同じ場所に立っている敵を止める簡単な方法はありますか?
つまり、トップダウンゲームでは、敵がプレイヤーを追いかけます。一定の距離内に入ると、敵は静止して発砲します。それらがすべて同じ方向から来ている場合、私は現在敵間の衝突検出を行っていないので、それらはすべて同じ場所に立ちます(つまり、お互いの中に立ちます)。 これを回避する簡単な方法は何ですか?何らかの形の衝突検出またはAIのどちらか?

5
ターゲット追跡:回転タレットを加速および減速するタイミングは?
target次のように定義された移動円形があるとします。 Vector2 position; Vector2 velocity; float radius; そして、turret次のように定義された回転(何らかの移動車両に搭載) Vector2 position; Vector2 velocity; float angle; // radians float angularVelocity; // radians per second const float maxAngularVelocity; // radians per second const float maxAngularAcceleration; // radians per second per second (またはそれらの線に沿った何か。両方の位置と速度は他の場所で制御されることに注意してください-速度は一定であり、速度に基づいて位置が変化すると仮定します。) 特定のフレームで、次の2つのAI関数を作成して決定しようとしています。 砲塔をターゲットに向け続けるために、砲塔の角度にどの角加速度(およびどの方向)を適用しますか? ターゲットが現在視界にある場合、その半径内の任意の部分をx数秒間視界に保つことができxますか?(あるいは、ターゲットが実際に「ロックオン」され、単にサイトを横切って飛行するのではないことを保証する別の戦略がありますか?) そして、私はいくつかの助けを使うことができます...
24 ai  aiming 

7
開発キットにアクセスせずにPS3 / Xbox 360を体験するにはどうすればよいですか?
私は、PS3、Xbox 360の業界プログラミングを始めようとしている新進気鋭のゲームプログラマです。主な問題は、潜在的な雇用者に自分のスキルを実証する必要があることですが、PS3またはXbox 360の開発キットにアクセスせずに、これは直接不可能です。 私の質問は、コンソール開発者に私のスキルを示す最良の代替方法は何ですか? DirectX for WindowsのC ++プログラミングはXbox 360のプログラミングスキルに近いように見え、OpenGLのC ++プログラミングはPS3プログラミングスキルに比較的近いようです。残念なことに、Xbox 360とPS3の両方が独自の独自のライブラリを実際に持っているかのようにWeb調査から、したがって、これは100%の実りある努力ではないようです。このアプローチは最も近いように見えますが、最も時間がかかります。さらに、実際にコンソール上で何かを実行しているわけではありません。 一方、XNAでのプログラミングには、ゲームが実際にコンソール上にあるという利点がありますが、これはDirectXの単なるラッパーであり、C# C ++。 潜在的な雇用主にどのようなゲームデモが最も役立つかを知るために、業界内から知識や経験を持っている人はいますか?DirectX、OpenGL、XNA、Unreal Engine、Unity3d、FlashなどのC ++など?1日は非常に多くの時間しかないので、自分の努力をどのように導くかを知りたいです。 私の直感では、Xbox 360で使用されているものに近いように思えるので、DirectXが最良の選択であると思いますが、別の言語/エンジンで優れたデモを行うことが同様に優れている場合、明らかに時間がかかりません別のルート。 あなたの助けとアドバイスを事前に感謝します!

10
最も一般的に使用されるプログラミング言語は何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または詳細な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 1年前にJavaコースを受講したとき、Javaは主に海外のゲーム会社で使用され、C ++は米国で使用されていると言われました。詳細な学習に焦点を当てるべき言語は何ですか?

11
お気に入りのゲーム固有のコーディングの宝石は何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または詳細な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 まず、Quake IIIのJohn Carmackの Fast Inverse Square Root から始めます。 float Q_rsqrt(float number) { long i; float x2, y; const float threehalfs = 1.5F; x2 = number * 0.5F; y = number; i = * ( long * ) &y; i = 0x5f3759df - ( i >> 1 ); y …
24 algorithm 

11
ゲームデザインの楽しみの要素に近づく
デザイナーとして、ゲームで「楽しい要素」を確立するためにアプローチした方法がいくつかあります。おそらく、1つのゲームで何かをしたことがありますが、それはあなたが取り組んでいる将来のゲームに非常にうまく移行するかもしれません。あなたはおそらく本当に楽しいことをしたゲームをプレイしたことがあり、その式が他のゲームに適用されていることに気づきました。 ゲームデザインの楽しい要素を改善する方法は何ですか?FacebookのZyngaゲームがこれほど人気が​​あるのはなぜですか?報酬はもっと楽しいものになりますか?失敗はもっと楽しいことにつながりますか?プレーヤーを2時間以内に復帰させると、さらに楽しくなりますか?本当に心に残る良い引用や考えを読んだことがありますか? 楽しみに近づいたときに考えるべきことの良いリストがあるかもしれません。

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