ゲーム開発

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

17
ゲームデザインでキャラクタークラスが使用されるのはなぜですか?
私の会社では、キャラクタークラスについて長い議論がありました。スキルに基づいたゲームを構築しており、最終的に8を選択して戦闘に参加する必要があります。私はクラスレスシステムのファンであり、ゲームプレイ時間を偽の方法で延長するために作成されていると常に感じています。 いくつかの結論に達しました。 クラスは、誰もが最適にプレイする「ベストビルド」シナリオを防ぐためにあります(個人的には、これは弱いケースだと感じています。クラスなしで勝ちの組み合わせがないシステムを設計できるはずです) クラスは異なるスタイルのプレイを提供することで多様性を生み出します(これに同意しますが、異なるスキルを自由に組み合わせることができれば、実際に独自のクラスを作成できます) クラスは、プレイヤーがプレイスタイルを選択しやすくします。ほとんどの場合、プレイヤーは異なるゲームで同じタイプのキャラクターをプレイします。(ダメージディーラー、ヒーラー、シーフ/アサシンなど)(私にとってこれは上記のすべての議論から最も理にかなっていますが、テンプレートとして提供できるスキルの一部のみを人々に強制する理由) ゲームデザインでキャラクタークラスが使用されるのはなぜですか?上記の点に同意しますか?はいまたはいいえ、なぜあなたはそのように思うのですか?

1
コンポーネントベースのエンティティシステムを実際に使用する
昨日、私はGDCカナダから、属性/行動エンティティシステムに関するプレゼンテーションを読みました。ただし、理論上だけでなく、実際に使用する方法もわかりません。まず、このシステムの仕組みを簡単に説明します。 各ゲームエンティティ(ゲームオブジェクト)は、属性(=データ、動作によってアクセスできるだけでなく、「外部コード」によってもアクセス可能)および動作(= OnUpdate()およびを含むロジック)で構成されますOnMessage()。したがって、たとえば、ブレイクアウトクローンでは、各ブリックは(例!)で構成されます:PositionAttribute、ColorAttribute、HealthAttribute、RenderableBehaviour、HitBehaviour。最後の例は次のようになります(C#で書かれた単なる機能しない例です)。 void OnMessage(Message m) { if (m is CollisionMessage) // CollisionMessage is inherited from Message { Entity otherEntity = m.CollidedWith; // Entity CollisionMessage.CollidedWith if (otherEntity.Type = EntityType.Ball) // Collided with ball { int brickHealth = GetAttribute<int>(Attribute.Health); // owner's attribute brickHealth -= otherEntity.GetAttribute<int>(Attribute.DamageImpact); SetAttribute<int>(Attribute.Health, brickHealth); // owner's attribute // …

4
2Dライティングはどのように実装されますか?
2Dゲームで「照明」効果にアプローチする最良の方法は何だろうと思っています。たとえば、メインキャラクターが光っている場合、光の影響を受ける他のオブジェクトの近くにいるときに光るキャラクターの視覚効果を完成させるために、どのテクニックを使用できますか?


7
自習型ゲーム開発の危険性は何ですか?[閉まっている]
ゲーム開発への旅に出かけようとしています。最後の質問への回答に続いて、C#とXNAを使用します。 しかし、私は他のゲーム開発者を個人的に知りませんし、業界で働いていないので、独学です。これの例外は明らかに質問をすることとオンライン/印刷された情報を読むことですが、私はこれを独学だと分類します。 それに伴い、「私を翼の下に置いておく」誰かがいないことで遭遇するかもしれない問題に備えたいと思います。 類推として、ギターを弾くように自分自身を教えるとき、私は後で学んだ和音への移行をより困難にするような方法でAメジャーコードを演奏しました。 学んだ教訓と、ゲーム開発の学習で何がうまくいかないかについてのアドバイスを共有できれば、ありがたいです。 間違いを犯すことは学習の最大の部分であることをよく知っていますが、間違いがあれば準備できますので、喜んでいます。
58 c#  xna  books 

9
AIを作成するのは初めて-どこから始めますか?[閉まっている]
私はゲームプログラミングの初心者であり、互いに戦う2つの宇宙船で基本的な2Dトップダウンスペースゲームを作ろうとしています。私はユーザー制御の宇宙船でうまくやっていますが、AIのプログラミングを開始する方法すらわかりません。特定の方法/パターンはこの状況に適していますか?どこから始めますか?

14
なぜ一部のゲームにはほとんど1つの実行可能な戦略があるのに、他のゲームには多くの戦略があるのでしょうか?
リーグ・オブ・レジェンドで興味深いのは「メタ」の存在です。これは、この質問の目的上、すべてを支配する1つの戦略として定義できます。パッチ間のメタシフト。しかし、パッチがリリースされるとすぐに、メタの新しいバリエーションが出現し、ほとんどの場合、この特定の戦略が客観的に最適であることに全員が同意します。 Riot Gamesがこれを緩和しようとしないわけではありません。たとえば、彼らは個人的な好みがゲームプレイのより大きな要因になること、つまり実行可能な戦略のより多様性を可能にすることになっているルーンを導入しました。しかし、そのような試みの大部分は裏目に出ます。いずれにせよ、チャンピオンのための1つの正しいルーンページがすぐに現れます。 奇妙なことに、私は言われ、インターネットで読みましたが、これはDota 2には当てはまりません。(私は知りません。私はDotaをプレイしません。)私が収集した情報によると、Dotaでは「何も石に予定されていません」、多くのヒーローが多くの役割で合法的にプレイできる、複数の実行可能なレーン分布が存在しますそして複数の実行可能な戦略。 頻繁に指摘される2つのゲームの別の違いのために、これは直感に反するようです。つまり、Dotaはハードカウンターの概念を採用しています(つまり、試合前に間違ったヒーローを選んで、ゲーム内で関連性がほとんどない場合)運が悪ければ、別のヒーローを選ぶべきでした)、LoLはそのようなメカニズムが壊れていると見なし、代わりにソフトカウンターを主に提供するよう努めています。表面的には、ハードカウンターは「予定通りの」戦略(正しいピックは前のチームと敵チームのピックに伴います)に向かってゲームを傾けるように見えますが、ソフトカウンターは、特定の状況で選択するチャンピオンのバリエーション。 ゲームを正確に制御するための戦略を1つ持っているのはなぜですか?LoLとDotaの例を提供したのは、2つのゲームの類似性を考えると違いが最も顕著だと思うからですが、この質問はほとんどすべての競合マルチプレイヤーゲームに簡単に当てはまると思います。


2
スーパーメトロイドやアクアリアのように、どのようにして壁の端にテクスチャを取得できますか?
スーパーメトロイドやアクアリアなどのゲームは、岩やその他のものを含む他の対面部分の地形を提示しますが、背後(地下)では異なるディテールや黒だけがあります。 ポリゴンを使用して同様のことをしたいと思います。地形は、現在のレベルで、一連の重なり合う四角い箱として作成されます。このレンダリング方法がテレインを作成するためのこのようなシステムで機能するかどうかはわかりませんが、誰かがアイデアを持っているなら、私はそれらを聞きたいです。それ以外の場合は、この方法で地形を描画するために実際に機能するように、地形レンダリングシステムを書き直す方法を知りたいと思います...

7
斜めの動きが地図をさらに探索するのを防ぐことはできますか?
8方向のいずれかの動きがまったく同じターン(チェスボードスタイルの規則)を要するタイルグリッドで、斜めの動きが直交する動きよりも多くの新しいタイルを表示するのを防ぐことができますか? たとえば、次の画像の赤いボックスです。緑色のセルが現在表示されています(正方形の視野)。8方向のいずれかに1タイルの距離を移動できます。 北東に移動すると、13の新しいタイル(青で表示)を探索します。代わりに南に移動する場合、7つの新しいタイル(紫色で表示)のみを探索します。 各方向への旅行を探索に等しく有利にするにはどうすればよいですか?

9
TCPプロトコルは、リアルタイムのマルチプレイヤーゲームに十分ですか?
かつて、ダイアルアップ/ ISDN /低速ブロードバンドを介したTCP接続では、パケットが1つドロップされただけで再同期が行われたため、ゲームが途切れ途切れになりました。つまり、多くのゲーム開発者は、UDPの上に独自の信頼性レイヤーを実装する必要がありました。または、ドロップまたは順序が狂う可能性のあるメッセージにUDPを使用し、信頼性が必要な情報にパラレルTCP接続を使用しました。 平均的なユーザーのネットワーク接続が高速になったとすると、FPSなどのリアルタイムゲームはTCP接続で優れたパフォーマンスを発揮できますか?
57 networking 



8
雑誌で未使用の弾薬を失うことなく、ほとんどのビデオゲーム銃がリロードされるのはなぜですか?
現在の銃で500個の予備弾薬と73/100弾を拾った場合、400個ではなく473個の予備弾薬になるのはなぜですか(前の雑誌の73個の未使用弾を失う)? これは単にプレーヤーで簡単にするためですか? チャレンジシューティングゲームを作りたいのですが、リロードのタイミングを調整するのが面白いようです。 規範に固執する理由はありますか?

18
ゲーム開発に適したJSライブラリとは何ですか?[閉まっている]
テキストとグラフィカル(2d)の両方の単純なゲームを作成する場合、どのライブラリを使用しますか?(HTML5互換ブラウザを使用していると仮定します) 私が考えることができる主なもの 画面上のテキストのレンダリング スプライトのアニメーション化(images / cssを使用) 入力(矢印キーをキャプチャし、マウスの相対位置を取得) おそらく、リソースを事前に読み込んでいるか、リソースを動的に読み込んで順序を選択している サウンド(ただし、これが最初にどれほど重要かはわかりません)。おそらく、サウンドのミキシングとチェーン化、または停止するまで永遠にループすることです。 ユーザーを別のユーザーに接続したり、複数のリクエストなしでデータを継続的に取得したりするネットワーク(低優先度)(これは存在しますが、セットアップや使用がどれほど簡単かはわかりません。質問)。
56 html5  javascript 

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