タグ付けされた質問 「tower-defense」

これは、プレイヤーをエリアまたは構造の保護者の役割に設定するゲームのスタイルです。ますます強力になる侵略者のシリーズに対して生き残ることであるという考え。

8
ゲームはどのようにしてすべてのキャラクターを一度に処理できますか?
この質問は、ゲームが一度に非常に多くのキャラクターを処理する方法についての知識を得るためのものです。私はゲームに慣れていないので、事前にご容赦ください。 例 タワーが構築され、各タワーが一定の速度で発射物を放出する15のタワースロットがあるタワーディフェンスゲームを作成しています。言うことができます毎秒は、2回の発射は、塔のそれぞれによって作成され、そこにある戦場に行進敵は、70を言うことができます、彼らが動き回るように変化れる、などのHPなどの属性の10種類、マナ、各(戦場)。 概要 タワーカウント = 1 秒間に各タワーで作成される 15の発射物 = 2 1秒間に作成される発射物の総数 = 30 戦場でのユニット数 = 70 さて、ゲームはこれらの30個の発射体と70個のユニットを、100個の異なるスレッド(PCにとっては大きすぎる)またはそれらすべてを移動させ、値を減らすなどの1つのスレッドで処理することで処理しますか(少し遅くなります) 、 おもう)? 私はこれについて手がかりを持っていないので、誰がこれがどのように機能するかについて私をガイドできますか?


9
タワーディフェンスゲームのダイナミックパスアルゴリズム
私はタワーディフェンスを作っていますが、それには良いパスアルゴリズムが必要です。 私はダイクストラについて考えましたが、ダイナミックなものが必要です。1つのエッジが完全に再計算されずに削除または追加されたときに、それ自体を更新できる必要があります。 役立つ場合は、C#でコーディングしています。


4
2Dタワーディフェンス-敵への弾丸
敵に弾丸を打つための良い解決策を見つけようとしています。ゲームは2Dタワーディフェンスです。タワーは弾丸を撃ち、保証された敵を攻撃することになっています。 私はこの解決策を試しました-http://blog.wolfire.com/2009/07/linear-algebra-for-game-developers-part-1/ 弾丸の起源と敵を同様に差し引くために言及されたリンク(ベクトル減算)。私はそれを試してみましたが、敵の周りに弾丸がついてきます。 float diffX = enemy.position.x - position.x; float diffY = enemy.position.y - position.y; velocity.x = diffX; velocity.y = diffY; position.add(velocity.x * deltaTime, velocity.y * deltaTime); 私はベクトルに精通していますが、このソリューションを機能させるためにどのステップ(ベクトル演算)を行うべきかはわかりません。

1
すべての通常の経路がブロックされているときに障害物を通る最短経路を見つけます
タワーディフェンスを作成していて、基本的なパスファインディングが機能していますが、問題が発生しました。 パスをブロック可能にしたいと思います。ブロックが発生すると、ランナーはブロックタワーを攻撃します。 だから私が必要なのは、最も重要なのは、塔の数が最も少ない最短経路を見つける方法です。 それ、どうやったら出来るの?

1
gluLookAtはどのように機能しますか?
私の理解から、 gluLookAt( eye_x, eye_y, eye_z, center_x, center_y, center_z, up_x, up_y, up_z ); 以下と同等です。 glRotatef(B, 0.0, 0.0, 1.0); glRotatef(A, wx, wy, wz); glTranslatef(-eye_x, -eye_y, -eye_z); しかし、ModelViewマトリックスを出力すると、への呼び出しがglTranslatef()正しく機能していないようです。コードスニペットは次のとおりです。 #include <stdlib.h> #include <stdio.h> #include <GL/glut.h> #include <iomanip> #include <iostream> #include <string> using namespace std; static const int Rx = 0; static const int Ry …

5
タワーディフェンスゲームのA *実装でのパフォーマンスが遅い
定義済みのパスを使用せずに、タワーディフェンスゲームをFlashで作成しています。 私のグリッドは40x40(小さい?)ですが、A *は毎回再計算するときに苦労しています。そのため、再計算を簡単にするために独自の変更を加えたため、タッチされたセルの数は約900に減少しました(ルートの近くで変更した場合)。新しいタワーが設置されると、非常に短時間ですが検出可能な時間はフリーズします。 これは実装の問題ですか、それとも40x40が多すぎますか? 編集: 私のコードの構造: すべてのデータは、セルの2D配列に保存されます。 各セルには、パス方向の親(時計回りに1〜8)と、パス内の子のビットごとにエンコードされた配列(すべてのビットが子を表す)が含まれます。 検索は、ユークリッド距離の推定値を使用してA *によって実行されます。

5
ゲームの「読み込み」シーンの背後にあるロジックは何ですか?
私は最初のゲームを作成しています。これはタワーディフェンスタイプのゲームであり、Unityゲームエンジンを使用し、Fieldrunnersを参考にしています。ゲームの「読み込み」シーンの背後にある機能について詳しく知りたいのですが。 これまでは、実行時にオブジェクトをインスタンス化/作成しており、遅延や同様の問題に直面していません。では、他のゲームの「読み込み」シーンは何に使用されているのでしょうか?次のラウンドまたはステージのための特定のオブジェクトの機能またはインスタンス化はありますか?はいの場合、遅延が発生しないのになぜ必要なのですか?

3
タワーディフェンスゲームで複数のランダムパスを使用したパスファインディング
タワーディフェンスゲームのランダムパスファインディングについて考えました。A *は、ランダムなパスファインディングが特に必要なため、私の目的では機能しません。 ルート、出発地、目的地の地図を想像してみてください。私は複数のルートを持っています。それらはすべて、出発地から目的地まで、何らかの方法でつながっています。次のようになります。 色の説明:赤-開始点。黒-目的地; 灰色-ルート; 白-空きスペース (数字は一部のタイルへの参照として本文で使用されています) エンティティがタイルを通過するときに、次のウェイポイントをランダムに計算することを最初に考えました。しかし、それはうまくいきません。エンティティがタイル1を通過すると、上または下に移動できます。それが2になると、それは(それの位置に対して)ダウン/アップまたは右に行くことができます。 場合、それは行くアップ/ダウン、それが逆方向に行くことを意味タイル1、に行くだろう。悪い... 本当にダイナミックにしたいのですが、今何ができるかわかりません。これについてアイデアや経験を持つ人はいますか?

3
タワーの防衛ゲームで動きを継続的に更新する効果的な方法は?
私たちは大学の1年生のプロジェクトとしてタワーディフェンスゲームを作っている4人の男です。ゲームは本当にシンプルになるでしょう! 3つの異なる塔 3つの異なるモンスター 1つのマップ(時間があれば、さらに追加する可能性があります) ゲームはオブジェクト指向でなければなりません。 クラス構造は以下の通りです ゲーム -グラフィックの描画など レベル -すべてのレベルはこのクラスのオブジェクトです。各レベルには、有限数のウェーブオブジェクト(リスト内)があります。 Wave-モンスターオブジェクトのリストが含まれています。 モンスター -これはスーパークラスです。モンスターの種類ごとにサブクラスを作成します タワー - タワーのスーパークラス。タワーのタイプごとにサブクラスがあります。 多くのオブジェクトが同時に何かをしなければならないという問題を解決する方法を考えています。たとえば、1ピクセルを1方向に移動します。 私たちが思いついたのは、オブジェクトがいつ動作するかを制御するために、avクラスTimerを実装するという考えです。これが最善の方法かどうかはわかりません。誰かが継続的な更新ケースを解決する方法についていくつかの良いアイデアを与えることができますか?

3
オブジェクトをパスに沿って移動させるにはどうすればよいですか?
下の画像のようなものを取得しようとしています。ご覧のように、高速道路があり、その中には移動しているオブジェクトがあります(ミリ秒)。通りの行動はパイプラインのようなものだと思います。高速道路がオブジェクトをロードすると、オブジェクトは最初に表示され、高速道路のもう一方の端に到達するまで高速道路を移動します。 私の主な問題は、いくつかのオブジェクトを高速道路の内側だけに移動するにはどうすればよいですか?

5
タワーディフェンスゲームで敵が歩ける道が常にあることを確認する方法は?
2Dタワーディフェンスゲームを作っています。これまでのところ、ゲームのグリッドとして機能する2D配列があります。私はそれにタワーを配置し、敵を走らせ、ドラッグしてタワーを発射することができます。 今、私はタワー配置ロジックの問題に直面しています。敵が歩ける道が常にあることを望みます。つまり、ユーザーが塔を設置することで完全に道を塞ぐことができないようにする必要があります。例えば。ユーザーがマップ上にタワーを垂直に配置する場合、アルゴリズムは、垂直線を完成させるタワーの配置を防止する必要があります。または、他の方法では、敵が脱出できるように、少なくとも1つの空き(歩行可能な)スペースが必要です。 私の現在のロジックは、タワーが設置されるたびにすべての方向をチェックします。上方にタワーがある場合は、壁にぶつかるまで、その上部タワーで同じ関数を再度呼び出します。上向きの壁の場合は1を返し、下向きの壁の場合は5を返し、タワーがある場合は関数(アップ/ダウンタワー)を返します。ここにコードがあります: int checkCollision(tower) { if( there is a tower up) return checkCollision(up tower); if(there is a tower down) return checkCollision(down tower); ......all directions..... if( there is a wall on UP ) return 1; if( there is a wall DOWN ) return 5; ....all walls...... return 0; } 今私が欲しいのは、北の壁と南の壁があるかどうかを同時に確認するか、他の可能性(上下、斜め、斜め下など)で他の方向を確認して、ユーザーに許可しないことです敵のために残された場所が1つあるはずなので、タワーを配置します。 …

2
タイルベースの世界での位置をどのように扱うべきですか?
タイル張りの世界を使用した簡単なタワーディフェンスゲームがあります。クリープとタワーは常にタイルの上にあります。 コードでクリープの位置をどのように表すべきですか?(クリープは現在のタイルとそのタイル上の位置を知っていますか、それとも絶対的な世界の位置を知っていますか?) 私は基本的に、ベストプラクティス、デザインパターンタイプのヒント、またはタイルベースの世界での配置の管理方法に関する一般的な洞察を探しています。 ありがとうございました。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.