タグ付けされた質問 「rts」

リアルタイム戦略。ライブでプレイするゲーム(つまり、ターンベースの構造ではない)。目的は、基地を建設し、他の基地を征服することです。

4
RTSの手続きレベルが公平であることをどのように確認できますか?
この投稿を改善してみませんか?この質問に対する詳細な回答を提供します。これには、引用と、回答が正しい理由の説明が含まれます。詳細が不十分な回答は編集または削除される場合があります。 RTSレベルの設計では対称性と一貫性が重要であることを見てきましたが、私は怠惰であり、手続き的に生成されたレベルを実行したいと考えています。 RTSのレベルを手続き的に作成するときに、公平な競争の場を確保するにはどうすればよいですか?

2
2DタイルベースのRTSで橋の下を通過するボート
2DタイルベースのRTSを書いています。そして私はそれに「疑似3D」機能を追加したいと思います-川に架かる橋。 私はまだコーディングを開始していません。衝突検出モデルにどのように適合するかを考えようとしています。橋の下を通過するボートと橋の上を移動するユニットは、最終的にマップ上の同じセルを占有します。それらを衝突から予防する方法は? そのような問題を解決するための一般的なアプローチはありますか?または、これを行うには3Dワールドを実装する必要がありますか?

3
3DスペースでのRTSクリックアンドムーブの処理方法
完全な3Dスペースでクリックアンドムーブを処理するにはどうすればよいですか?単純なレイキャストで2D平面を処理することは簡単ですが、レイキャストがエンドポイントを取得するためのエンドプレーンがないため、3Dではそうではありません。 私は2つのアイデアを念頭に置いています。 レイキャストを行ってから、プレーヤーが別の入力(マウスウォールなど)によってレイ上の距離を選択できるようにします。 完全な3Dの代わりに、「高さのレイヤー」を複数持つことで、プレーヤーは移動を注文する前に高さレイヤーを変更できます。 あなたの考えは何ですか?

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 …

4
RTSレベルの優れた設計の特性は?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 一般的なレベルデザインの質問を見ましたが、RTSゲームの適切なソリッドレベルの構築にはあまり当てはまりません。RTSレベル設計のルールとメカニズムに関する情報はどこにありますか?

4
基本的なRTSプロトタイプ:UnityまたはTorqueのどちらですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 6年前休業。 私はRTS(私がこれまでに得たことのないもの)を書くときに自分の手をテストしたいので、簡単な設定で最も成功し、その後微調整できるインディーエンジンを探していますRTSの設計/開発の詳細を理解し始めます。 私は、TorqueとUnityの両方に少し精通しましたが、その観点からではありません。 どちらを使用すれば、ベースプロトタイプに早く近づくことができますか?

1
パスファインディング:タイルベースのナビゲーションメッシュ
タイルベースのリアルタイムRTSを開発しています。これはマップの例です: このマップは、それぞれ256タイルの4つの領域で構成されています。青いタイルは障害物を表しています。ユニットは標準の8方向に移動できます。ユニットはタイルにバインドされています。1つのタイルで1つのユニットを保持できます。 これらは私が探している理想的な道のいくつかの例です。典型的なA *のもの: 私の質問は、ナビゲーションメッシュはタイルベースのRTSに適用可能ですか?私は、ユニットが自由に動き、タイルのグリッドにバインドされていないゲームで使用されるナビゲーションマップだけを見てきました。この特定のマップでは、ナビゲーションメッシュはどのように見えますか?サンプル画像は素晴らしいでしょう。

3
2D RTSのグループでのAI移動の終了位置の決定
私は、RTSゲーム(実際にはある種のゲームエンジンのデモ)を作成しました。このゲームでは、ユーザーがゲームで行う基本的な操作は、兵士の束を選択し、マップを右クリックして、指定された場所に移動します。これはJavaScriptであり、ここ(コード)で遊ぶことができます。 兵士が現在の場所から目的地にどのように移動するかという問題を無視して、私の質問は彼らの実際の目的地が何であるかを決定することについてです。これが私がこれまでに試したことです: 試行1:選択したすべての兵士に、マウスをクリックした座標に移動するように伝えます。これは奇妙な振る舞いで、すべての兵士が不自然にターゲットの周りに集まります。 試行2:選択されたすべての兵士の平均座標を見つけ、各兵士のその中心点からのオフセットを見つけ、最後にそのオフセットをマウス座標の周りに変換します。これは、選択した兵士が離れている場合、ターゲットに近づかないことを除いて、正常に機能します。 試行3:マウス座標の周りにグリッドを作成し、選択した各兵士をグリッドのセルに配置します。各兵士が割り当てられたセルに到達すると、これはうまく機能します。ただし、グリッドセルには兵士が生成された順序で割り当てられるため、衝突する場合があります(つまり、右側のすべての兵士が左側に移動しようとします)。これは不自然に見えます。 試行4:以前と同じようにグリッドを使用しますが、最初に兵士を場所別に並べ替えて、それらが適切に並ぶようにします。つまり、グループの下をクリックした場合、グループの最下部の兵士は、グリッドの最下部に配置されます。彼らの目的地に到達します。これはかなりうまく機能しますが、不具合が時々あり、その理由はわかりません。 次に、宛先座標を決定する関数を示します。 function moveSelectedSoldiersToMouse() { var w = 0, h = 0, selected = []; // Get information about the selected soldiers. myTeam.soldiers.forEach(function(soldier) { if (soldier.selected) { selected.push(soldier); w += soldier.width; h += soldier.height; } }); var numSelected = selected.length, k = -1; if (!numSelected) …

2
マルチプレイヤーリアルタイムゲームで交換するデータは何ですか?
私は趣味のプログラマーであり、現在、マルチクラフトセッションでstarcraft 2のようなリアルタイムゲームでどのデータが交換されるのか知りたいです。たくさんの検索を行いました。私はgafferongames.comが検討すべき問題の非常に良い概要を提供しているのを見つけました。 Glennの記事とコメントでは、UDP over TCPを使用する非常に強力な例を示していますが、SC2は明らかにTCPを使用しています。グリーンをQouteするには、 ゲームにTCPを使用する場合の問題は、Webブラウザーや電子メールや他のほとんどのアプリケーションとは異なり、マルチプレイヤーゲームのパケット配信にリアルタイム要件があることです。ゲームの多くの部分、たとえばプレーヤーの入力やキャラクターの位置では、1秒前に何が起こったかは関係ありません。最新のデータのみに関心があります。 したがって、彼の発言から、彼のアプローチは各フレームのすべてのユニットの完全なゲーム状態を送信することだと思います。サーバーが現在のフレームでプレイヤー入力を受信しない場合、それはそのプレイヤーの幸運です。God of War:Acensionでは、彼はリードネットワーク開発者であり、これはかなりうまくいくと思います。 SC2の場合、再生機能があるため、基になるエンジンは確定的な固定タイムステップの「ユーザー入力再生マシン」であり、交換されるデータはプレーヤー入力のみです。したがって、グレンの発言はSC2とはまったく無関係です。プレーヤーの入力は重要であり、入力シーケンスはさらに重要です。SC2が200ユニット以上のゲーム状態を30〜60 FPSで送信するのは現実的ではないと思います。 質問:私は間違っている可能性がありますが、2種類のデータを特定しようとしました。他のテクニックは何ですか?あなたがするなら、ゲームをqouteするのが良いでしょう。 編集:スタークラフトネットワーキングモデルに関するこのリンクを見つけました

2
多数の独立した俳優をリアルタイムで管理する
私は大規模なリアルタイムストラテジーゲーム(理想的には数千のユニットを同時にアクティブにする)に取り組んでいますが、驚くほど遅くなることなくすべてのユニットを一度に管理するのに問題があります。問題は、タイムステップごとにすべての位置と状態を更新するのに時間がかかることです。これを軽減するための設計パターン/方法論/ヒントを知っていますか?

2
StarcraftのようなピアツーピアRTSゲームで勝利を検出する
典型的なRTSゲームは、標準のネットワークモデルであるピアツーピアロックステップで実装されます。 ピアツーピアモデルの2人のプレイヤーの間の通信しかないとすれば、Battle.netはおそらくゲームの状態について何も知らないので、Starcraft 2を検討してください。 。不正行為を行わず、正確な結果を報告しないように2つのピアに依存することは、世間知らずです。

4
独自のボットをプログラミングする永続的なゲーム[終了]
現在のところ、この質問は、Q&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張ディスカッションを誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 自分の「プレーヤー」をコーディング(および追加)できる、永続的な世界を備えたオンラインゲームを探しています(任意の言語/スクリプトを使用できます)。 RTSの一種ですが、ボット用です。 それも存在しますか?
7 multiplayer  mmo  rts  bot 

1
RTSに適したネットワーキングアプローチ/プラットフォームの選択についてサポートが必要
私はしばらくの間、オンラインの2D RTSのようなゲームを作ることについて考えていました。(1試合で2-6人のプレイヤー、最大50-60ユニット、AIなし)。ここで重要なのは、ブラウザでゲームをプレイできるようにすることです。そのため、両方ともTCPソケットを使用して、フラッシュまたはJavaアプレットにする必要があります。最初は、市場への浸透とアクセスのしやすさから、完全にフラッシュに集中していました。ただし、さまざまなネットワークアプローチを確認した後、私は選択をすることができません。 私は、サーバーとすべてのクライアントがまったく同じシミュレーションを実行しているロックステップシミュレーションアプローチが本当に好きでした。アクションスクリプトであること。これがJavaの出番です。Javaクライアントとサーバーを使用すると、シミュレーション関連のコードを共有できます。これにより、開発時間を半分に短縮できる可能性があります。 しかし、その後、別のアプローチがあります。クライアントは、できるだけ長くゲームの状態を正しくシミュレーション(または外挿)しようとしますが、正しく実行する必要はありません。ある時点で、完全な状態のスナップショットを受け取ります。適宜調整してください。Flashは再び実行可能なオプションのように見えますが、「調整」部分がないため、ロックステップシミュレーションははるかに簡単に思えます。 それで私の仮定は正しいですか?何を提案しますか?
7 networking  rts 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.