age of empireとかstarcraftみたいな
リアルタイムストラテジーの開発の話題
探検
リアルタイムストラテジーの話
■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。
01/11/17 12:31ID:EBHuprcv265名前は開発中のものです。
04/10/01 08:15:10ID:ke/lr4Kp だいぶ前にこの板に経路探査の技術を議論するスレ立てたんだけど
すぐに削除されてしまってがっくりきたんだけど
このスレでも経路探査について話し合われてるね
RTSの肝はやっぱ経路探査法だね
私も最終的にはRTS作りたいと思ってるんだけど
現段階では経路探査法をいろいろ模索してる最中です
なかなか人間らしい経路探査法が見つからない
RTSの経路探査専門のスレ立てたいけどまた削除されるのかな
削除の基準とか知ってる方いらっしゃいますか?
すぐに削除されてしまってがっくりきたんだけど
このスレでも経路探査について話し合われてるね
RTSの肝はやっぱ経路探査法だね
私も最終的にはRTS作りたいと思ってるんだけど
現段階では経路探査法をいろいろ模索してる最中です
なかなか人間らしい経路探査法が見つからない
RTSの経路探査専門のスレ立てたいけどまた削除されるのかな
削除の基準とか知ってる方いらっしゃいますか?
266名前は開発中のものです。
04/10/01 14:26:36ID:O43ApdSb267名前は開発中のものです。
04/10/01 18:42:12ID:zwXzWCUq 普通のRTSだと経路探索はA*一択だとおもう。
後はそれをどう高速化するかの問題で。
確かGame AI Programming wisdomにEmpire Earthが使ってる
アルゴリズムが詳しく書かれてたような。
スレは一定以上の書き込みがないと自然に落ちるんだった気がする。
話題の範囲が狭すぎるし立てても盛り上がらないと思うが。
後はそれをどう高速化するかの問題で。
確かGame AI Programming wisdomにEmpire Earthが使ってる
アルゴリズムが詳しく書かれてたような。
スレは一定以上の書き込みがないと自然に落ちるんだった気がする。
話題の範囲が狭すぎるし立てても盛り上がらないと思うが。
268名前は開発中のものです。
04/10/01 19:38:24ID:dqIcPXUT このスレじゃだめなの?
話題あるなら、振ってみては?
盛り上がって、専用スレたてる必要が出たら、建てればいいじゃないかと。
話題あるなら、振ってみては?
盛り上がって、専用スレたてる必要が出たら、建てればいいじゃないかと。
269名前は開発中のものです。
04/10/01 20:50:48ID:2OSRZNcv ダイクストラ法かな。メモリ食うけど早いぞ
270名前は開発中のものです。
04/10/02 06:20:14ID:yZt9Ze2Q "A*"で検索かけても
「"A" は一般すぎる言葉のため、 検索には使用されていません。」
って出てきて検索できないw
A*について詳しい解説載ってるHPなど教えてください
「"A" は一般すぎる言葉のため、 検索には使用されていません。」
って出てきて検索できないw
A*について詳しい解説載ってるHPなど教えてください
271名前は開発中のものです。
04/10/02 07:16:25ID:KLtZBFZb272名前は開発中のものです。
04/10/02 07:24:49ID:yZt9Ze2Q273名前は開発中のものです。
04/10/05 05:48:54ID:5f2iU622 人間らしいと言うのは、視界を考慮した移動ですよね。
「見える範囲内で最短経路を移動する 」
を繰り返して目的地へ移動する。
ただし、これだとすぐに行き止まるし、最初から迂回することは出来ないよね。
プレイヤーの視界をユニットの視界としているなら問題ないけど、
それなら通常のA*となんら変わりはない。
「見える範囲内で最短経路を移動する 」
を繰り返して目的地へ移動する。
ただし、これだとすぐに行き止まるし、最初から迂回することは出来ないよね。
プレイヤーの視界をユニットの視界としているなら問題ないけど、
それなら通常のA*となんら変わりはない。
274名前は開発中のものです。
04/10/05 11:19:18ID:xfYu84rc ストラテジーの場合、というか戦争を行う場合、
情報収集を事前に行うのが大前提で、
普通のA*的な移動を行う方がリアリティあると思う。
目的地への地図も無いまま当ても無く進軍するなんて
聞いたこと無いし、大体、目的地の方角と距離が
わかってるんだったら、そこまで行くまでの地図を持ってるだろ?
斥候の移動に関してなら同意かも。
情報収集を事前に行うのが大前提で、
普通のA*的な移動を行う方がリアリティあると思う。
目的地への地図も無いまま当ても無く進軍するなんて
聞いたこと無いし、大体、目的地の方角と距離が
わかってるんだったら、そこまで行くまでの地図を持ってるだろ?
斥候の移動に関してなら同意かも。
275名前は開発中のものです。
04/10/06 04:56:40ID:gBC0qLZJ276名前は開発中のものです。
04/10/06 05:23:38ID:gslwRw1x 1ゲームでだいたい何人くらいのグラフィッカーが関わってるんだろうか?
277名前は開発中のものです。
04/10/06 06:05:27ID:gslwRw1x あらかじめ場合分けして数個から数十個の条件分岐で経路探査できるようなルーチンを考えてます
マップ上で障害物を認識するためにあらかじめマップに処理を加えてます
マップ上で障害物を認識するためにあらかじめマップに処理を加えてます
278名前は開発中のものです。
04/10/06 06:14:59ID:ve+bFW7r A*が駄目な理由が解かりませんよ。
アルゴリズムが理解出来ないのなら仕方ないけど。
アルゴリズムが理解出来ないのなら仕方ないけど。
279名前は開発中のものです。
04/10/06 07:45:46ID:gslwRw1x 経路選択と陣形に整列させるのがRTSで一番難しいプログラムかな?
バラバラに配列されたユニットを効率よく陣形に整列させるのは難しそうだな〜
バラバラに配列されたユニットを効率よく陣形に整列させるのは難しそうだな〜
280名前は開発中のものです。
04/10/06 07:56:36ID:gslwRw1x >>275
グラフィッカーが必要だね
グラフィッカーが必要だね
281名前は開発中のものです。
04/10/06 09:10:33ID:twLAxOId Glest Customizable RTS
Version 1.0.1 of Glest was recently made available, a project that aims to create a free,
customizable RTS game. While the project is currently closed source, the toolset allows
nearly every aspect of the game to be altered and customized.
(Excite翻訳)
Glestのバージョン1.0.1は最近利用可能になりました、プロジェクト、それ、自由なカスタマイズ可能な
RTSゲームを作成する目的。プロジェクトが現在ある間、出所を閉じた、toolsetは、ゲームのほぼすべての
面が変更されカスタマイズされることを可能にします。
:: Glest ::
http://www.glest.org/
RTSツクール?
Version 1.0.1 of Glest was recently made available, a project that aims to create a free,
customizable RTS game. While the project is currently closed source, the toolset allows
nearly every aspect of the game to be altered and customized.
(Excite翻訳)
Glestのバージョン1.0.1は最近利用可能になりました、プロジェクト、それ、自由なカスタマイズ可能な
RTSゲームを作成する目的。プロジェクトが現在ある間、出所を閉じた、toolsetは、ゲームのほぼすべての
面が変更されカスタマイズされることを可能にします。
:: Glest ::
http://www.glest.org/
RTSツクール?
282名前は開発中のものです。
04/10/07 00:06:04ID:NMtn3pwf >>279
陣形はsin,cosで簡単にできる。
陣形はsin,cosで簡単にできる。
283名前は開発中のものです。
04/10/07 06:17:51ID:TjpukT3q >>282
三角関数で
「与えられた陣形にフィットするように各配置それぞれに最も近いキャラクターを移動させる」
とか
「マップ上に通行不可能なオブジェクトが配置されていた場合それにそって陣形を歪める」
とか
全部計算できちゃうんですか?
三角関数で
「与えられた陣形にフィットするように各配置それぞれに最も近いキャラクターを移動させる」
とか
「マップ上に通行不可能なオブジェクトが配置されていた場合それにそって陣形を歪める」
とか
全部計算できちゃうんですか?
284名前は開発中のものです。
04/10/07 06:33:58ID:VDnDz3Ih >>283
三角関数は回転だけですよ。
三角関数は回転だけですよ。
285名前は開発中のものです。
04/10/07 08:59:41ID:RpkpkZiq コンピュータープレイヤーの賢いAI作るのも難しいだろうな
AIの善し悪しによってゲームのおもしろさが違ってくるし
RTS制作は敷居が高いな…
コンピュータープレイヤーが町作りや資源採集、戦闘したりするAIって
手間がかかりそうだな…
AIの善し悪しによってゲームのおもしろさが違ってくるし
RTS制作は敷居が高いな…
コンピュータープレイヤーが町作りや資源採集、戦闘したりするAIって
手間がかかりそうだな…
286名前は開発中のものです。
04/10/08 10:04:47ID:4NElyh0r 地形が正方形のタイルを敷き詰めて表現されてる場合
上下左右に1タイル分移動する時の距離を1とすると
斜めに1タイル分移動するときは距離√2=1.4移動することになって
しまって斜めに移動するとかなり早く移動できてしまう矛盾を修正するにはどうしたらいいいのかな?
上下左右に1タイル移動するのに時間1かかるとすると
斜めに1タイル移動する時間を1/1.4=0.7として表現すると
どんなプログラムになるんだろうか?
上下左右に1タイル分移動する時の距離を1とすると
斜めに1タイル分移動するときは距離√2=1.4移動することになって
しまって斜めに移動するとかなり早く移動できてしまう矛盾を修正するにはどうしたらいいいのかな?
上下左右に1タイル移動するのに時間1かかるとすると
斜めに1タイル移動する時間を1/1.4=0.7として表現すると
どんなプログラムになるんだろうか?
287286
04/10/08 10:09:22ID:4NElyh0r ×1/1.4=0.7→◎1.4
288名前は開発中のものです。
04/10/08 16:53:57ID:gaYtTq1W >>286 ふと思いついた4つの方法。
・気にしない (確か旧WARCRAFTはそうだった)
・クウォータービューにしてみる
・移動のタイミングを計るカウンタを1.4倍にしてみる
・進行方向θ、移動距離Rとして、 sin & cos でXとYの移動量を算出する
・気にしない (確か旧WARCRAFTはそうだった)
・クウォータービューにしてみる
・移動のタイミングを計るカウンタを1.4倍にしてみる
・進行方向θ、移動距離Rとして、 sin & cos でXとYの移動量を算出する
289名前は開発中のものです。
04/10/09 01:46:44ID:aGUImBFj FreeCraftというオープンソースのWARCRAFTのクローンがあったよ
290名前は開発中のものです。
04/10/09 06:45:43ID:PAlJT6kn >>288
4番目の方法は解決になってなくない?
タイルベースだから移動量を半端な数にできないって話なんだから。一度に長距離を進めるのならともかく
その方法を使うには結局位置を実数ベースで所持して、格子上の整数に投影するなどする必要がある
ついでにもう一つ案を加えるなら
5.ヘックス型の升目を採用する
4番目の方法は解決になってなくない?
タイルベースだから移動量を半端な数にできないって話なんだから。一度に長距離を進めるのならともかく
その方法を使うには結局位置を実数ベースで所持して、格子上の整数に投影するなどする必要がある
ついでにもう一つ案を加えるなら
5.ヘックス型の升目を採用する
291名前は開発中のものです。
04/10/09 16:27:09ID:FXYAdpBg292288
04/10/09 17:54:06ID:AolCtkdR293名前は開発中のものです。
04/10/09 18:15:20ID:5XbefvOQ >>286
目的地が隣接8マスのみでそれぞれに同じ移動時間がかからなければならないなら
座標を計算していくのではなく移動した割合(1秒に10%移動などして)をもとに座標を計算。
地形がマスだからって移動をマス縛りにする必要はあまりない気もするけど。
目的地が隣接8マスのみでそれぞれに同じ移動時間がかからなければならないなら
座標を計算していくのではなく移動した割合(1秒に10%移動などして)をもとに座標を計算。
地形がマスだからって移動をマス縛りにする必要はあまりない気もするけど。
294名前は開発中のものです。
04/10/10 00:24:57ID:EW6DpZIf sin.cosで良いんじゃないか?
でかい升目のRTSってあまり見かけないし
でかい升目のRTSってあまり見かけないし
295名前は開発中のものです。
04/10/10 01:11:51ID:hHFLHP4A AoEは縦方向への移動は遅いと思ったけど。
296名前は開発中のものです。
04/10/10 09:15:31ID:8cEQ4xXP 2Dで高低差を表現するのは難しそうだね
坂をなめらかに表現したり
キャラがちゃんと坂を上ってるように見せたり(平面を歩いてる時とは違って
坂の凹凸に投影される影の付け方や坂のでこぼこに合わせてキャラも上下するような細かいところ)
坂をなめらかに表現したり
キャラがちゃんと坂を上ってるように見せたり(平面を歩いてる時とは違って
坂の凹凸に投影される影の付け方や坂のでこぼこに合わせてキャラも上下するような細かいところ)
297名前は開発中のものです。
04/10/14 16:55:44ID:szgQjWRt 人いないね〜w
298名前は開発中のものです。
04/10/14 20:16:03ID:SsqOauk1 >>296
3Dでもでこぼこに影つけるのは結構面倒だよ。
RTS って技術的にかなり総合力が必要だよね。
MMORPGなんかのほうがはるかに楽な気がする・・・。
移動ルーチン、敵の思考ルーチン、大量のキャラクターの表示、
視界計算等等。
まぁ、敵の思考ルーチン以外はセオリーは知れ渡ってるけど、
とっかかりにくいことも事実だよな。
3Dでもでこぼこに影つけるのは結構面倒だよ。
RTS って技術的にかなり総合力が必要だよね。
MMORPGなんかのほうがはるかに楽な気がする・・・。
移動ルーチン、敵の思考ルーチン、大量のキャラクターの表示、
視界計算等等。
まぁ、敵の思考ルーチン以外はセオリーは知れ渡ってるけど、
とっかかりにくいことも事実だよな。
299名前は開発中のものです。
04/10/16 17:37:22ID:bjrieUYw 移動ルーチンはだいぶん形になってきた
まだ一個の障害物でテスト運行中だけどどんないびつな形でも
スマートに回避して目的地点に行くようになったな
まだ少しバグは残ってるけどバグ退治したら
複数の障害物を避けれるようにしようと思う
まだ一個の障害物でテスト運行中だけどどんないびつな形でも
スマートに回避して目的地点に行くようになったな
まだ少しバグは残ってるけどバグ退治したら
複数の障害物を避けれるようにしようと思う
300名前は開発中のものです。
04/10/17 00:09:18ID:+im6Jrl5 さんびャクバンゲット
301名前は開発中のものです。
04/10/19 14:07:21ID:9VxouD/4 グラフィックの勉強しようと思って手本としてAOCを選んだわけなんだけど
AOCのMODスタジオ使ってグラフィック抜き出して見てみたんだけど
グラフィックの量がものすごい多い
色の使い方が絶妙で真似できないよ
手書きをスキャナかなんかで取り込んだのかなって思うくらい配色がうまい
AOCのMODスタジオ使ってグラフィック抜き出して見てみたんだけど
グラフィックの量がものすごい多い
色の使い方が絶妙で真似できないよ
手書きをスキャナかなんかで取り込んだのかなって思うくらい配色がうまい
302名前は開発中のものです。
04/10/19 15:02:10ID:ivPA+Lov フリーのRTSゲームないかな?
どんなもんか見てみたい
どんなもんか見てみたい
303名前は開発中のものです。
04/10/19 15:14:47ID:FBoLmNYx304名前は開発中のものです。
04/10/19 15:20:26ID:ivPA+Lov305名前は開発中のものです。
04/10/19 15:33:06ID:FBoLmNYx >>304
国産は見たことないなぁ
厳密にはRTSというジャンルに入らないだろうけど
RTS風の戦闘をするゲーム
Makuri version3.00
http://www.broba-web.jp/zzzaaa/
国産は見たことないなぁ
厳密にはRTSというジャンルに入らないだろうけど
RTS風の戦闘をするゲーム
Makuri version3.00
http://www.broba-web.jp/zzzaaa/
306名前は開発中のものです。
04/10/19 15:44:14ID:ivPA+Lov307名前は開発中のものです。
04/10/19 17:26:21ID:Arclihm/ >>301
AOCのグラフィックは、3Dでモデリングしたものを、2Dのアニメパターンに落としてつかってたと思ったけど
AOCのグラフィックは、3Dでモデリングしたものを、2Dのアニメパターンに落としてつかってたと思ったけど
308名前は開発中のものです。
04/10/19 17:32:03ID:ivPA+Lov309名前は開発中のものです。
04/10/20 13:35:09ID:YkkEKPYn やっぱ製品とフリーでは雲泥の差があるよね
特にグラフィックとキャラのアニメーションがしょぼいと見栄えが悪いね
特にグラフィックとキャラのアニメーションがしょぼいと見栄えが悪いね
310名前は開発中のものです。
04/10/21 06:53:33ID:o+A1oj8O Glest はフリーにしちゃよく出来てると思うよ。
CGだって、製品には及ばずともなかなか健闘してると思う。
製品でもいいけど日本製のRTSってなんかあるの?
CGだって、製品には及ばずともなかなか健闘してると思う。
製品でもいいけど日本製のRTSってなんかあるの?
311名前は開発中のものです。
04/10/21 07:01:31ID:aFfvccIw >>310
ハンドレットソード
ハンドレットソード
312名前は開発中のものです。
04/10/21 19:08:24ID:aFfvccIw313名前は開発中のものです。
04/10/21 20:47:14ID:JRx/eNbM314名前は開発中のものです。
04/10/22 00:51:29ID:lm/v2Idq まぁ100歩ぐらい譲ってA*による経路検索は出来たとしよう。しかし、ユニットで経路がふさがれた時の挙動や
建築や伐採で地形が変形した時のA*ツリーの再構築方法等はかなりどうしていいかわかんない。
WarCraftとかDOSの時代に動いてたRTSはまさにオーパーツだな。どうなってんだ?
建築や伐採で地形が変形した時のA*ツリーの再構築方法等はかなりどうしていいかわかんない。
WarCraftとかDOSの時代に動いてたRTSはまさにオーパーツだな。どうなってんだ?
315名前は開発中のものです。
04/10/22 00:59:57ID:qD7kBMXk >>312 2面で敵に殺された。経路探索について知りたいのに!
316名前は開発中のものです。
04/10/22 01:10:07ID:lXG05Pdv 地形の変化への対応は再探索が普通なんじゃないのか?
317名前は開発中のものです。
04/10/22 01:14:10ID:qD7kBMXk >>314
(1) マップから特長点を認識して特長点だけのマップを作っておく。
(2) 特長点のマップを使ってA*で経路探索して結果だけNGの道も含めて保存しておく
(この経路行けるかなと思ったけどダメだった)も含めて多めに保存。
(3) 地形が変更されたら、特長点マップも変更されるかも。
(4) 特長点マップが変更されて、その変更が(2)の結果にかかってたら、そこから計算やり直し。
でどうだろう?データ量多すぎかな。
(1) マップから特長点を認識して特長点だけのマップを作っておく。
(2) 特長点のマップを使ってA*で経路探索して結果だけNGの道も含めて保存しておく
(この経路行けるかなと思ったけどダメだった)も含めて多めに保存。
(3) 地形が変更されたら、特長点マップも変更されるかも。
(4) 特長点マップが変更されて、その変更が(2)の結果にかかってたら、そこから計算やり直し。
でどうだろう?データ量多すぎかな。
318名前は開発中のものです。
04/10/22 04:19:53ID:DfmegXGs >>314
昔は検索しやすいようなデータ形式でそれに見栄えをあわせる、
ってことをしてたわけだけど、今は見栄えがまずありきで、
それだと検索のしやすさなんか無視だからね。
本当はPCが賢かったり登場するユニット数が多いほうが
面白いゲームが出来るような気がするけど、流れ的には
見栄え重視だよね。
昔は検索しやすいようなデータ形式でそれに見栄えをあわせる、
ってことをしてたわけだけど、今は見栄えがまずありきで、
それだと検索のしやすさなんか無視だからね。
本当はPCが賢かったり登場するユニット数が多いほうが
面白いゲームが出来るような気がするけど、流れ的には
見栄え重視だよね。
319名前は開発中のものです。
04/10/22 15:15:32ID:7o3XPRV8320名前は開発中のものです。
04/10/23 23:40:28ID:9cyRTk8L 移動ルーチンは8割がたできあがったけど他のプログラムやグラフィック、音楽などがまだ一つも完成してない
321名前は開発中のものです。
04/10/23 23:53:15ID:RcLJRZoC しかしなんでこんな汎用アルゴリズムにGoogleで検索しづらい名前つけるんだろね
322名前は開発中のものです。
04/10/24 00:53:20ID:RmtXN3bT A*が考案されたのは1968年だぞ…無茶言うなよ。
ただ検索しにくいってのには同意。
ただ検索しにくいってのには同意。
323名前は開発中のものです。
04/10/24 11:27:34ID:v/WiQab4 それではこれからこのスレは一時A*の新しい名前を考えるスレということでよろしいでしょうか?
324名前は開発中のものです。
04/10/24 12:18:53ID:FW4WrutQ *から連想されて
Aが付くとなりゃ決まってる!
アナル
Aが付くとなりゃ決まってる!
アナル
325名前は開発中のものです。
04/10/24 12:46:29ID:ZH7GhJGu A*ってどうやって検索すればいいの?
Aを含んでると検索してくれないんだけど…
A*関連のHPを片っ端から紹介してください
Aを含んでると検索してくれないんだけど…
A*関連のHPを片っ端から紹介してください
326名前は開発中のものです。
04/10/24 12:51:47ID:/K5Gjlom pathfinding "a star"
327名前は開発中のものです。
04/10/24 12:57:44ID:ZH7GhJGu A*の日本語HPってないのかな…
328名前は開発中のものです。
04/10/24 13:40:23ID:PVuW7gwU329名前は開発中のものです。
04/10/24 13:46:38ID:/K5Gjlom330名前は開発中のものです。
04/10/24 23:37:01ID:yVwq865p PATHEngine 作者インタビュー
ttp://ai-depot.com/Interview/PathEngine.html
ttp://ai-depot.com/Interview/PathEngine.html
331名前は開発中のものです。
04/10/25 01:29:36ID:m5bCAFqQ どっちかといえばA*のアルゴリズムよりもノードの動的な構成方法の方が謎領域だな。
2Dコリジョン上で複数ユニットを動かすなんて10人いたら10人とも同じもの作りそうなんだが
何故か全然情報ないんだよね…。
国産のMMOでもまともに経路検索してるの無いし。海外のはちゃんとMobが障害物に挟まらずに
追ってきたりするのに。
2Dコリジョン上で複数ユニットを動かすなんて10人いたら10人とも同じもの作りそうなんだが
何故か全然情報ないんだよね…。
国産のMMOでもまともに経路検索してるの無いし。海外のはちゃんとMobが障害物に挟まらずに
追ってきたりするのに。
332名前は開発中のものです。
04/10/25 10:52:22ID:NdprxpT5 >>307
3Dでモデリングしたものを、2Dのアニメパターンに落とすツールかソフトないでしょうかね…
3Dでモデリングしたものを、2Dのアニメパターンに落とすツールかソフトないでしょうかね…
333名前は開発中のものです。
04/10/25 10:56:55ID:NdprxpT5 AOCのグラフィックをMOD PACK STUDIOで見ると同じキャラでもパターンのサイズがいろいろ違うね
普通は32×32ドットとかパターンサイズを統一してると思うんだけどな
普通は32×32ドットとかパターンサイズを統一してると思うんだけどな
334名前は開発中のものです。
04/10/25 13:49:53ID:lKhw0+h2335名前は開発中のものです。
04/10/25 14:42:21ID:NdprxpT5336名前は開発中のものです。
04/10/26 00:38:26ID:BVRK4NBo337名前は開発中のものです。
04/10/26 00:42:40ID:BVRK4NBo AoEはグラフィッカーが50人ぐらいでは?
338名前は開発中のものです。
04/10/26 00:43:46ID:C7eujjr/ >>337
それは多すぎだよw
それは多すぎだよw
339名前は開発中のものです。
04/10/26 03:27:23ID:0qtmMtwB GoogleにA*で検索できないぞゴルァって言えば案外対応してくれそうな気もする。
理系集団だし。
理系集団だし。
340名前は開発中のものです。
04/10/26 05:31:04ID:uAktRXLc 50人って多すぎかな?
FF10は100人で作ったらしいけど、そのうちグラフィッカーは
50人以上いるでしょ?
FF10は100人で作ったらしいけど、そのうちグラフィッカーは
50人以上いるでしょ?
341名前は開発中のものです。
04/10/26 05:37:39ID:sWxPsHDT 8bit時代のロートルぷろぐらまだす。
なんか漏れ的に懐かしい話題のスレのようなので、
俺が大昔に書いた経路選択処理を書くっす。
a.マップ(スクエアマップで斜め移動は1.4倍コスト)と同じサイズの整数2次元配列を用意し、「未到達」値で初期化
(以後の処理は全てこの配列を対象とする)
b.移動目標とするべき地点に、その重みに応じた「重要度」数値をプロット(小さいほうが重要箇所)
c.配列全てをスキャンし、「重要度」がプロットされている地点の
隣接スクエアに「元の地点の重要度+スクエア間移動コスト」を重要度としてプロットする。
(既に重要度がプロットされている場合は、新しい値が小さくなるときだけプロットする)
d.移動させたいユニットのスクエアが「未到達」でなくなるまでcを繰り返す
e.ユニットは値の「重要度」値の小さいほうに移動する
ってやって、目標設定も一緒にやってた。
データ処理量の問題とかありそうだけど、ま、何かの参考になれば・・・・
#思考ルーチンスレにも似たこと書いたけど、
#こっちのが具体的に書いたので重複許して。
なんか漏れ的に懐かしい話題のスレのようなので、
俺が大昔に書いた経路選択処理を書くっす。
a.マップ(スクエアマップで斜め移動は1.4倍コスト)と同じサイズの整数2次元配列を用意し、「未到達」値で初期化
(以後の処理は全てこの配列を対象とする)
b.移動目標とするべき地点に、その重みに応じた「重要度」数値をプロット(小さいほうが重要箇所)
c.配列全てをスキャンし、「重要度」がプロットされている地点の
隣接スクエアに「元の地点の重要度+スクエア間移動コスト」を重要度としてプロットする。
(既に重要度がプロットされている場合は、新しい値が小さくなるときだけプロットする)
d.移動させたいユニットのスクエアが「未到達」でなくなるまでcを繰り返す
e.ユニットは値の「重要度」値の小さいほうに移動する
ってやって、目標設定も一緒にやってた。
データ処理量の問題とかありそうだけど、ま、何かの参考になれば・・・・
#思考ルーチンスレにも似たこと書いたけど、
#こっちのが具体的に書いたので重複許して。
342名前は開発中のものです。
04/10/26 11:19:48ID:DOYIFEE2 >>341
目標地点を基点にしてA*で探索すれば配列全てをスキャンしなくてもすむと思うんだけど、気のせい?
目標地点を基点にしてA*で探索すれば配列全てをスキャンしなくてもすむと思うんだけど、気のせい?
343名前は開発中のものです。
04/10/26 14:01:17ID:P3ofJO/v >>342
まぁ、基本的にはそう。
最終的には(A*は知らなかったけど)もう少しましな実装にしたいなぁ、とは思ってた。
だけど、
a.思考ルーチンも兼ねてて、「複数の目標のうち、どれを選択するべきか」ってのも
その処理でやらせてた(今考えるとさもしい発想かも・・・)
b.コード側のメモリ制限が厳しかったので、メモリ食いそうなコードを書きたくなかった
c.配列を1枚プロットすれば、他のユニットにも使いまわせたので、
合計処理時間は意外とかからなかった
ので、そのまま実用にしちゃった:p
マップサイズが小さかった(確か80x50)から
全スキャンでどうにかなった、といえばそうかもしれない。
まぁ、基本的にはそう。
最終的には(A*は知らなかったけど)もう少しましな実装にしたいなぁ、とは思ってた。
だけど、
a.思考ルーチンも兼ねてて、「複数の目標のうち、どれを選択するべきか」ってのも
その処理でやらせてた(今考えるとさもしい発想かも・・・)
b.コード側のメモリ制限が厳しかったので、メモリ食いそうなコードを書きたくなかった
c.配列を1枚プロットすれば、他のユニットにも使いまわせたので、
合計処理時間は意外とかからなかった
ので、そのまま実用にしちゃった:p
マップサイズが小さかった(確か80x50)から
全スキャンでどうにかなった、といえばそうかもしれない。
344名前は開発中のものです。
04/10/29 02:13:59ID:1Lxx1m5h345名前は開発中のものです。
04/10/30 06:18:16ID:I7LW/FD4 米軍は衛星や航空部隊が、味方と敵の位置と移動方向を把握して、
司令部が計算し、現場の戦車に移動方向や弾を撃つ方向を指示する。
測量から、1秒もかからないで、イラクの戦車に命中。
でも歩兵の場合は、おおまかな指示が歩兵のディスプレイに伝えられる
だけで、あとは歩兵同士のP2P通信で、現場で判断して行動してください。
司令部が計算し、現場の戦車に移動方向や弾を撃つ方向を指示する。
測量から、1秒もかからないで、イラクの戦車に命中。
でも歩兵の場合は、おおまかな指示が歩兵のディスプレイに伝えられる
だけで、あとは歩兵同士のP2P通信で、現場で判断して行動してください。
346名前は開発中のものです。
04/10/31 18:17:41ID:hvTxRR6C 音声P2P通信って奴だな
347名前は開発中のものです。
04/10/31 20:51:10ID:BJZgJqz9 移動ルーチン思ったよりバグが多かった
バグフィックスにだいぶかかりそうだ・・・
バグフィックスにだいぶかかりそうだ・・・
348名前は開発中のものです。
04/11/04 16:55:51ID:OKON4TbN 人いねーw
まじでRTSの話で盛り上がりたい
まじでRTSの話で盛り上がりたい
349名前は開発中のものです。
04/11/04 21:15:38ID:2ineS6xy 話題なさすぎだな
350名前は開発中のものです。
04/11/07 08:58:53ID:HxZsVm4g LANで存在しているホストを調べるにはどうしたらいいんですか?
351名前は開発中のものです。
04/11/09 21:14:03ID:vKua+4YE どなたか、AOE開発元のアンサンブルスタジオがHPに載せてた経路選択についてのレポートの
ある場所教えてください
ある場所教えてください
352名前は開発中のものです。
04/11/10 23:04:35ID:ewz442zd やっぱRTS作るなら戦略的に面白くなるように高低差のあるマップじゃないとな…
AOEのように高低差をなめらかに作るのむずかしそうだな
directX8で高低差のあるマップの作り方書いてるサイトないかな?
AOEのように高低差をなめらかに作るのむずかしそうだな
directX8で高低差のあるマップの作り方書いてるサイトないかな?
353名前は開発中のものです。
04/11/11 19:04:07ID:xwGyZvY4 HightMapじゃだめかな
354名前は開発中のものです。
04/11/11 19:04:46ID:xwGyZvY4 HeightMapでした失礼
googleに「もしかして」って指摘されたOTL
googleに「もしかして」って指摘されたOTL
355名前は開発中のものです。
04/11/11 19:19:14ID:EcHuenuy356名前は開発中のものです。
04/11/11 19:37:35ID:xwGyZvY4 Terrain rendering の方が検索しやすいかも
http://www.google.co.jp/search?hl=ja&c2coff=1&q=Terrain+rendering+&lr=
http://www.google.co.jp/search?hl=ja&c2coff=1&q=Terrain+rendering+&lr=
357名前は開発中のものです。
04/11/11 19:38:41ID:EcHuenuy >>356
英語苦手なんですw
英語苦手なんですw
358名前は開発中のものです。
04/11/11 19:40:28ID:EcHuenuy >>356
おすすめのHPとか教えてください
おすすめのHPとか教えてください
359名前は開発中のものです。
04/11/11 19:43:26ID:U7fOSr9v 苦手なだけなら頑張ればいいじゃん
360名前は開発中のものです。
04/11/11 19:45:23ID:EcHuenuy AOEの地形の変化にも柔軟に対応した経路選択ってどうしてるんだろうな…
1フレームごとに経路選択用の地形データを更新してたら重くなるしな
1フレームごとに経路選択用の地形データを更新してたら重くなるしな
361名前は開発中のものです。
04/11/11 23:55:46ID:gCLa/mOb >>355
2次元配列で高さを管理する方法。
2次元配列で高さを管理する方法。
362名前は開発中のものです。
04/11/12 00:50:24ID:6BjBpz3E >>360
地形が変化したときだけ、経路探索用データを更新すればいいんじゃない?
地形が変化したときだけ、経路探索用データを更新すればいいんじゃない?
363名前は開発中のものです。
04/11/12 04:57:53ID:o15WkWIg364名前は開発中のものです。
04/11/12 05:37:46ID:Xcu+uIP9 >>363
説明しよう!
heightmapとはxy方向に等分に分割したマップである
頂点は周りの8方向の頂点と合計4つの四角形を構成し頂点を共有するので
メッシュを別個に置いていく方法と比べて滑らかにできる
もちろん分割数が少ないとカクカクになり、分割数が多いととても滑らかになる
ちなみにDirectXSDKサンプルにも収録されている
自然な地形の作り方はgame programming gemsなど
説明しよう!
heightmapとはxy方向に等分に分割したマップである
頂点は周りの8方向の頂点と合計4つの四角形を構成し頂点を共有するので
メッシュを別個に置いていく方法と比べて滑らかにできる
もちろん分割数が少ないとカクカクになり、分割数が多いととても滑らかになる
ちなみにDirectXSDKサンプルにも収録されている
自然な地形の作り方はgame programming gemsなど
365名前は開発中のものです。
04/11/12 06:06:05ID:FE7zbcBO >>363
別に1フレームごとに更新することは無いんじゃない?
ちょっとずつ更新して、2秒に一回更新することにしたら?
コストが100分の1以下になるよね?
AoEって高さの概念って攻撃力ぐらいじゃなかったっけか?
別に1フレームごとに更新することは無いんじゃない?
ちょっとずつ更新して、2秒に一回更新することにしたら?
コストが100分の1以下になるよね?
AoEって高さの概念って攻撃力ぐらいじゃなかったっけか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】トランプ大統領、中国の習近平国家主席を「国賓」として招待することに ★3 [ニョキニョキ★]
- 【速報】トランプ大統領、中国の習近平国家主席を「国賓」として招待することに ★4 [ニョキニョキ★]
- 日本と中国を結ぶ12航空路線で全便欠航 中国人に最も人気の海外旅行先は日本から韓国に ★2 [ぐれ★]
- 【東京・足立の車暴走】赤信号無視か 危険運転致死傷疑いも視野に捜査 逮捕された職業不詳の男性(37)は精神疾患で通院歴も ★3 [ぐれ★]
- 【音楽】「なんでこんなバカが国のトップなの?」 若者に人気のバンド「GEZAN」のマヒトゥ・ザ・ピーポーが高市総理に苦言 [シャチ★]
- 防衛費増額「賛成」62・8% 「反対」32・2%を大きく上回る 賛成「18~29歳で8割」世代差あらわ 産経FNN合同世論調査 ★3 [尺アジ★]
- 【実況】博衣こよりのえちえち朝こよ🧪★2
- 【実況】博衣こよりのえちえち朝こよ🧪
- 【悲報】小野田紀美さん、宇宙人みたいな服を着てしまう…また、そのことを突っ込まれブチ切れ中www [856698234]
- 習近平「台湾はアメリカ領」😲 [422186189]
- お前らっていつもここにいるよな
- 【📦】Amazonブラックフライデー、まだまだ良い物盛り沢山な2日目(火曜日)突入!!!
