トップページgamedev
638コメント231KB

リアルタイムストラテジーの話

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。01/11/17 12:31ID:EBHuprcv
age of empireとかstarcraftみたいな
リアルタイムストラテジーの開発の話題
0332名前は開発中のものです。04/10/25 10:52:22ID:NdprxpT5
>>307
3Dでモデリングしたものを、2Dのアニメパターンに落とすツールかソフトないでしょうかね…
0333名前は開発中のものです。04/10/25 10:56:55ID:NdprxpT5
AOCのグラフィックをMOD PACK STUDIOで見ると同じキャラでもパターンのサイズがいろいろ違うね
普通は32×32ドットとかパターンサイズを統一してると思うんだけどな
0334名前は開発中のものです。04/10/25 13:49:53ID:lKhw0+h2
>>302
EmpireTohuっての見つけたぞ
http://i-saint.abz.jp/pg/

SDL+OpenGL+Luaつー環境もなかなかアツイ
0335名前は開発中のものです。04/10/25 14:42:21ID:NdprxpT5
>>334
まだ開発途中だけどAOMみたいで形はできあがってる感じだね
3Dだしミサイルの弾道や爆発シーンもかっこいい
参考になりました
0336名前は開発中のものです。04/10/26 00:38:26ID:BVRK4NBo
>>331
日本のゲームプログラマの質の低さを物語っていますね。


0337名前は開発中のものです。04/10/26 00:42:40ID:BVRK4NBo
AoEはグラフィッカーが50人ぐらいでは?

0338名前は開発中のものです。04/10/26 00:43:46ID:C7eujjr/
>>337
それは多すぎだよw
0339名前は開発中のものです。04/10/26 03:27:23ID:0qtmMtwB
GoogleにA*で検索できないぞゴルァって言えば案外対応してくれそうな気もする。
理系集団だし。
0340名前は開発中のものです。04/10/26 05:31:04ID:uAktRXLc
50人って多すぎかな?
FF10は100人で作ったらしいけど、そのうちグラフィッカーは
50人以上いるでしょ?
0341名前は開発中のものです。04/10/26 05:37:39ID:sWxPsHDT
 8bit時代のロートルぷろぐらまだす。

 なんか漏れ的に懐かしい話題のスレのようなので、
俺が大昔に書いた経路選択処理を書くっす。

a.マップ(スクエアマップで斜め移動は1.4倍コスト)と同じサイズの整数2次元配列を用意し、「未到達」値で初期化
 (以後の処理は全てこの配列を対象とする)
b.移動目標とするべき地点に、その重みに応じた「重要度」数値をプロット(小さいほうが重要箇所)
c.配列全てをスキャンし、「重要度」がプロットされている地点の
 隣接スクエアに「元の地点の重要度+スクエア間移動コスト」を重要度としてプロットする。
 (既に重要度がプロットされている場合は、新しい値が小さくなるときだけプロットする)
d.移動させたいユニットのスクエアが「未到達」でなくなるまでcを繰り返す
e.ユニットは値の「重要度」値の小さいほうに移動する

 ってやって、目標設定も一緒にやってた。
データ処理量の問題とかありそうだけど、ま、何かの参考になれば・・・・

#思考ルーチンスレにも似たこと書いたけど、
#こっちのが具体的に書いたので重複許して。
0342名前は開発中のものです。04/10/26 11:19:48ID:DOYIFEE2
>>341
目標地点を基点にしてA*で探索すれば配列全てをスキャンしなくてもすむと思うんだけど、気のせい?
0343名前は開発中のものです。04/10/26 14:01:17ID:P3ofJO/v
>>342
 まぁ、基本的にはそう。
 最終的には(A*は知らなかったけど)もう少しましな実装にしたいなぁ、とは思ってた。

 だけど、
a.思考ルーチンも兼ねてて、「複数の目標のうち、どれを選択するべきか」ってのも
その処理でやらせてた(今考えるとさもしい発想かも・・・)
b.コード側のメモリ制限が厳しかったので、メモリ食いそうなコードを書きたくなかった
c.配列を1枚プロットすれば、他のユニットにも使いまわせたので、
 合計処理時間は意外とかからなかった

 ので、そのまま実用にしちゃった:p

 マップサイズが小さかった(確か80x50)から
全スキャンでどうにかなった、といえばそうかもしれない。
0344名前は開発中のものです。04/10/29 02:13:59ID:1Lxx1m5h
>>334
それ全然経路検索してねーやん。ユニット重なりも怪しい。

そう言えばフロントミッション:オルタの経路検索も酷かったよね。和製RTSの恥部って感じ。
0345名前は開発中のものです。04/10/30 06:18:16ID:I7LW/FD4
米軍は衛星や航空部隊が、味方と敵の位置と移動方向を把握して、
司令部が計算し、現場の戦車に移動方向や弾を撃つ方向を指示する。
測量から、1秒もかからないで、イラクの戦車に命中。

でも歩兵の場合は、おおまかな指示が歩兵のディスプレイに伝えられる
だけで、あとは歩兵同士のP2P通信で、現場で判断して行動してください。
0346名前は開発中のものです。04/10/31 18:17:41ID:hvTxRR6C
音声P2P通信って奴だな
0347名前は開発中のものです。04/10/31 20:51:10ID:BJZgJqz9
移動ルーチン思ったよりバグが多かった
バグフィックスにだいぶかかりそうだ・・・
0348名前は開発中のものです。04/11/04 16:55:51ID:OKON4TbN
人いねーw

まじでRTSの話で盛り上がりたい
0349名前は開発中のものです。04/11/04 21:15:38ID:2ineS6xy
話題なさすぎだな
0350名前は開発中のものです。04/11/07 08:58:53ID:HxZsVm4g
LANで存在しているホストを調べるにはどうしたらいいんですか?
0351名前は開発中のものです。04/11/09 21:14:03ID:vKua+4YE
どなたか、AOE開発元のアンサンブルスタジオがHPに載せてた経路選択についてのレポートの
ある場所教えてください
0352名前は開発中のものです。04/11/10 23:04:35ID:ewz442zd
やっぱRTS作るなら戦略的に面白くなるように高低差のあるマップじゃないとな…
AOEのように高低差をなめらかに作るのむずかしそうだな
directX8で高低差のあるマップの作り方書いてるサイトないかな?
0353名前は開発中のものです。04/11/11 19:04:07ID:xwGyZvY4
HightMapじゃだめかな
0354名前は開発中のものです。04/11/11 19:04:46ID:xwGyZvY4
HeightMapでした失礼
googleに「もしかして」って指摘されたOTL
0355名前は開発中のものです。04/11/11 19:19:14ID:EcHuenuy
>>353
HeightMapってなんですか?
検索したけどあまり詳しくかいてなかったので
0356名前は開発中のものです。04/11/11 19:37:35ID:xwGyZvY4
Terrain rendering の方が検索しやすいかも
http://www.google.co.jp/search?hl=ja&c2coff=1&q=Terrain+rendering+&lr=
0357名前は開発中のものです。04/11/11 19:38:41ID:EcHuenuy
>>356
英語苦手なんですw
0358名前は開発中のものです。04/11/11 19:40:28ID:EcHuenuy
>>356
おすすめのHPとか教えてください
0359名前は開発中のものです。04/11/11 19:43:26ID:U7fOSr9v
苦手なだけなら頑張ればいいじゃん
0360名前は開発中のものです。04/11/11 19:45:23ID:EcHuenuy
AOEの地形の変化にも柔軟に対応した経路選択ってどうしてるんだろうな…
1フレームごとに経路選択用の地形データを更新してたら重くなるしな
0361名前は開発中のものです。04/11/11 23:55:46ID:gCLa/mOb
>>355
2次元配列で高さを管理する方法。
0362名前は開発中のものです。04/11/12 00:50:24ID:6BjBpz3E
>>360
地形が変化したときだけ、経路探索用データを更新すればいいんじゃない?
0363名前は開発中のものです。04/11/12 04:57:53ID:o15WkWIg
>>361
もっと詳しく説明おねがいします
>>362
あちこちで森を切ったりしてるから頻繁に更新しないといけないかも
私が使ってる経路探査用地形データを一フレームごとに更新したら超スローになったので
そこらへんどうしてるのかなと思いまして
0364名前は開発中のものです。04/11/12 05:37:46ID:Xcu+uIP9
>>363
説明しよう!
heightmapとはxy方向に等分に分割したマップである
頂点は周りの8方向の頂点と合計4つの四角形を構成し頂点を共有するので
メッシュを別個に置いていく方法と比べて滑らかにできる
もちろん分割数が少ないとカクカクになり、分割数が多いととても滑らかになる
ちなみにDirectXSDKサンプルにも収録されている
自然な地形の作り方はgame programming gemsなど
0365名前は開発中のものです。04/11/12 06:06:05ID:FE7zbcBO
>>363
別に1フレームごとに更新することは無いんじゃない?
ちょっとずつ更新して、2秒に一回更新することにしたら?
コストが100分の1以下になるよね?

AoEって高さの概念って攻撃力ぐらいじゃなかったっけか?
0366名前は開発中のものです。04/11/12 10:56:10ID:o15WkWIg
>>364
早速サンプルを見てみます
>>365
ちょっとずつ更新ってどうやるんですか
経路選択ルーチンをを分割しておいて1フレームごとに少しずつ実行して数フレーム後に更新が完了するような感じですか?
攻撃力が上がるだけですね
0367名前は開発中のものです。04/11/12 11:01:39ID:o15WkWIg
>>364
DirectxSDKのC++のサンプルさがしたけどそれらしいのが発見できなかったです
サンプルの名前教えてください
0368名前は開発中のものです。04/11/12 11:08:41ID:6BjBpz3E
>>363
毎フレームしている探索用データの更新処理ってどんなことをやってるの?
その更新処理のコストってどの程度のものなの?
0369名前は開発中のものです。04/11/12 15:01:49ID:o15WkWIg
>>638
処理の内容は内緒ですw
かなり重くて移動が超スローになりました
0370名前は開発中のものです。04/11/13 00:22:36ID:/H+xuVtR
それじゃ話が広がらないと思うんだけど…
0371名前は開発中のものです。04/11/13 22:07:37ID:gudvQGqH
基本的にこの手のスレが盛り上がらない理由ってのも
内緒が多いからという気がする。

まぁ、そういう俺も内緒派だけど。
0372名前は開発中のものです。04/11/14 14:13:28ID:RYmOVBPw
やっぱ、自分が考えたプログラムは秘密にするよな
0373名前は開発中のものです。04/11/15 01:39:33ID:/uKPjpMv
メリケンだとnyユーザも顔負けの共有意識があるけどな。やっぱ英語が読めないときついわ。
0374名前は開発中のものです。04/11/15 03:04:32ID:MuGiRpGt
>>373
外国だとすでにゲームプログラムも定式化されてて隠す必要がないから
知識を共有してるのかもしれないね
国内の情報が少なすぎるよね
0375名前は開発中のものです。04/11/15 05:53:17ID:6kOUVy3w
国内も海外も関係なくない?
0376名前は開発中のものです。04/11/15 16:30:29ID:wp6NfoRs
だれか、実際にRTS作ってる人いない?
0377名前は開発中のものです。04/11/15 20:08:28ID:FcsyfAdW
2ヶ月ほど前から、こういうゲームを作って公開を始めています。

http://www.geocities.jp/retsuden2004/

また、つい2、3日前ですが、ようやくネット対戦が出来るようになりました。
ということで、現在遊んで みて動作検証やバグ報告にご協力いただける
方を募集しております。また完成度もまだ低いですので、感想や要望など
を色々頂けると開発の励みになります。よろしくお願いします。
0378名前は開発中のものです。04/11/15 21:55:13ID:l5YJl8C8
>>377
銀英伝みたいでいいね
艦隊戦燃えるねー
応援しとります
0379名前は開発中のものです。04/11/15 22:51:02ID:qsUN+Dz7
おお 面白そうやねぇ
0380名前は開発中のものです。04/11/15 23:02:34ID:oSqrLWaE
やっと1人プレイでやり方覚えた
もう通信対戦はじまってるのかな
038137704/11/15 23:19:57ID:FcsyfAdW
さっきどなたか接続を試みられたようですが、そちらのポートが開いて
いないようでエラーで止まってます。

今までの常連さんは接続できているので、たぶんこちらからリンクで
飛んできてもらった方だと思うのですが…
0382名前は開発中のものです。04/11/18 06:49:18ID:HMLK/Kba
http://www.garagegames.com/pg/product/view.php?id=54

これRTSの製作ツールみたいだけど
0383名前は開発中のものです。04/11/19 04:55:53ID:CvTcRkeC
海外RTS。Delphiソース付。
http://www.c-evo.org/
0384名前は開発中のものです。04/11/19 17:27:19ID:2zaUn8+G
>>383
それはCIVILIZAIONクローン
0385名前は開発中のものです。04/11/19 17:28:40ID:2zaUn8+G
>>384 (誤)CIVILIZAION → (正)CIVILIZATION
スマン。
0386名前は開発中のものです。04/11/19 22:57:21ID:KHujW7fq
箱庭ゲーだし紹介してもらって損はないぞな
0387名前は開発中のものです。04/11/20 09:44:39ID:z6kdR0Io
動いてるキャラを止めるのもむずい…
移動ルーチンは難しいね
0388名前は開発中のものです。04/11/24 11:27:15ID:YaK9bT4G
一応、移動、攻撃ができるようになったけど攻撃の勝敗が一瞬でついてしまってわかりにくいので
ウエイトかけたいんだけど攻撃は0.5秒ごと、移動は0.3秒ごとに発動するようにしたいんだけど
このウエイトの間もプログラムは回っていてウエイトによってプログラムが停止してないようなやつってどうしたらいいんですか?
0389名前は開発中のものです。04/11/24 11:40:23ID:jlHl4NEJ
>>388
与えられているジョブ、現在行っている行動、現在行っている行動の残り時間
ユニットごとにこれだけ記憶しとけば対応できるんじゃね?
大雑把だけどこんな流れ

移動や戦闘をする

次回の行動開始時刻(現在時刻+硬直時間)を記憶する

<?:ループ毎に行動開始時刻と現在時刻を比較する>
↓ ↓
↓ <yes:現在時刻が行動開始時刻を過ぎた>
↓ ↓
↓ 行動可能(移動や戦闘など現在与えられているジョブを実行する)

<no:現在時刻が行動開始時刻を過ぎていない>

なにもしない
0390名前は開発中のものです。04/11/24 12:07:04ID:YaK9bT4G
>>389
なるほど!!
早速試してみます
0391名前は開発中のものです。04/11/24 16:06:54ID:YaK9bT4G
>>389
うまくいきました
アドバイスありがとうございました


そろそろキャラのグラフィック用意しないとだめなんだけどキャラ一体につき
移動時、8方向×4=32
戦闘時、8方向×3=24
静止時、8方向×3=24
計80パターン用意しないといけない・・・
気が遠くなりそうだ
0392名前は開発中のものです。04/11/24 16:25:45ID:1hjT8+6e
>>391
死にモーションもあったほうがいいよ。
0393名前は開発中のものです。04/11/24 16:33:51ID:YaK9bT4G
>>392
移動時、8方向×4=32
戦闘時、8方向×3=24
静止時、8方向×3=24
死亡時、8方向×3=24

計104パターンかよ
やる気なくなってきたw
0394名前は開発中のものです。04/11/24 18:02:02ID:f3eQ++K0
>>393
メタセコイアとか使えば?
3Dなら一度型さえつくれば、どれだけでも好きな方向から取れるし。
0395名前は開発中のものです。04/11/25 15:39:11ID:NYV3YH58
>>394
3Dの型作るのが難しいよw
そんな技術ないし習得するのに時間がかかりそうだしw
0396名前は開発中のものです。04/11/26 11:33:54ID:a7WrBW48
2D表示でもプリレンダという選択肢がある3Dはおぼえといたほうが良い。
0397名前は開発中のものです。04/11/26 11:54:20ID:5Q+iRM1D
3Dならフリーのコミカルなモデルデータ使うのが楽。
0398≠39604/11/26 15:07:31ID:zZCGvzvX
394だが、396と同じ意味合いで3Dつかったらと言ったの。
まぁ、あれだ、104パターンもドット絵描く位なら、
3D関連の本手元に置きながらガシガシやったほうが早いよ。
0399名前は開発中のものです。04/11/27 06:20:31ID:KeC/Rs7I
プリレンダの意味を教えてください
0400名前は開発中のものです。04/11/27 10:30:58ID:ugzW7aIy
3Dでレンダリングしたイメージ(2D) を表示に使うって意味。

もっとわかりやすくいうと、ドット絵をチクチク描かずに
3Dソフトにドット絵を描かせる。
0401名前は開発中のものです。04/11/30 08:37:09ID:o26eXshx
1フレームごとに全画面を書き換えた方がいいのかな?
外枠は書き換える必要ないんだけどな
0402名前は開発中のものです。04/12/25 22:09:36ID:AnLcU/Ur
SFの艦隊戦を題材とした以下のようなRTSを作成しています。
ネットワーク対戦にも対応しています。

http://www.geocities.jp/retsuden2004/

現在、キャンペーンモードのシナリオを書いてくださる方、艦艇
や背景のモデルを作ってくださる方、エフェクトなどのテクスチ
ャを描いてくださる方を募集しています。

また遊んでみて要望・感想等を聞かしてもらえる方も大歓迎で
す。よろしくお願いします。
0403名前は開発中のものです。04/12/28 12:50:00ID:ZrPAkA2b
いいね!
これはやっぱり銀河英雄伝説を忠実に再現するつもりのゲーム?
0404名前は開発中のものです。04/12/28 13:28:48ID:h7Irbvvu
そういや、シュワルツシルトなんてゲームもあったな……
040540204/12/28 20:39:34ID:1RDX6MqK
作者の公式コメントとしては、
「ユーザーさんがシナリオを作成することで、色々な会戦を
再現可能なRTS」
になります。ということでよろしくお願いします。
0406名前は開発中のものです。05/01/08 09:43:40ID:jrsl1AyD
aoeを超えるRTS作ってたけどaoe3のニュース見て制作を断念した
0407名前は開発中のものです。05/01/10 19:56:46ID:V+kRYNHl
とりあえず最後まで作ってみたほうがいいよ
AOEシリーズはAOMになってコケた感じもあるし。

RTSの戦術、戦闘に絞ってゲーム作ることを考えてたら、
やっぱこりゃRTTだなと過去レス見てオモタ
0408名前は開発中のものです。05/01/10 20:00:06ID:g7qX9Iup
>>407
RTTって何の略?
0409名前は開発中のものです。05/01/11 01:07:32ID:bn3+gZyI
タクティクス
0410名前は開発中のものです。05/01/12 17:02:13ID:mXI8GV5T
A*で経路探索するのに、boost::graphは使えますか?
0411ゆうき ◆B4VDzapu12 05/01/19 22:10:30ID:UUoPuaP/
ロードオブザリング バトルフォーミドルアースってRTSの中では面白い方ですか?
0412名前は開発中のものです。05/01/22 10:13:25ID:7AqRxJwc
一応、Command & Conquers Generalsのスタッフが作ってるから、面白いとは思う
0413名前は開発中のものです。05/01/22 22:53:50ID:Sb/qeJFu
シングルは面白い。がマルチは最初からバランスを取る事を放棄している。
画面の割にはいっぱいユニット出るし結構頑張っているんではないかとと思う。

最近RTSでおもしろいなーと思ったのがWarCraft3のユーザカスタムマップのDotAってやつ
なんだけどあれぐらいなら個人で作れないかなーと思うんだけどあんなんでも意外と大変そうね。
0414ゆうき ◆B4VDzapu12 05/01/23 21:48:06ID:gh+NPIqP
もっと大規模なRTSって無いのですかね〜
正直言ってバトルフォーミドルアースでも最大ユニット数に不服してます。
0415名前は開発中のものです。05/01/24 17:38:21ID:F4sLN583
Rome Total warは結構人数多いよ
041641005/01/26 17:14:03ID:ebjXwwhK
訊いておいてそのままというのもなんなので、調べてみて解ったことを報告
(間違いがあるかも知れませんがお許しください)。

・boost::graphにはA*アルゴリズムが用意されていない
・ダイクストラならあるが、終点を指定できない為(始点から全ての頂点への経路を探索)RTSには不向き?
・関数オブジェクトでダイクストラをA*に拡張することも、上記の理由で無意味
・A*関数を自分で書けば、他の部分は使えそう

RTS作るのにboost::graphを使うメリットはあまり感じないです。
0417ゆうき ◆B4VDzapu12 05/01/27 16:03:00ID:8fmyQI4c
まだ発売してないけどTelladar Chronicles:Declineなんてどうですかね?
2万人という壮大な数で戦闘が繰り広げられるそうです
0418ゆうき ◆B4VDzapu12 05/01/30 22:17:12ID:IKJs4fm8
あのー
前言ってたRome : Total Warってゲームは動きとかリアルですか?
持ってる人がいたら感想とか聞かせてください
お願いします
0419名前は開発中のものです。05/01/31 00:59:09ID:iK3c86JW
質問厨コテうざい
0420名前は開発中のものです。05/01/31 02:03:04ID:ywW+fA0q
>>418 PCゲ板逝
0421ゆうき ◆B4VDzapu12 05/01/31 21:27:49ID:sD0yEdIO
>>419
別にお前に聞いてないんだけどね
0422名前は開発中のものです。05/02/03 05:14:17ID:sm85l25v
もう2ヶ月ほど頓挫してるよ
プログラムが複雑になるにつれて急激に難しくなってきたし
仕様を少し変更しようとするたびに何百行も修正しないといけないし
ちゃんと思い通りに動かせるまでに修正加えるのが面倒になってきた
なんかやる気が失せてきた
0423名前は開発中のものです。05/02/03 14:02:56ID:eHLvJXhy
>>422
この手のゲームだけじゃないけど、
部分々々に完全に分けて作らないとエライ事になるよな。
0424名前は開発中のものです。05/02/03 14:39:35ID:AmAX9QW1
>>422
どのへんが、難しい?
やっぱり、経路探索?
0425名前は開発中のものです。05/02/03 21:42:10ID:5dyu4MxD
>>422
プログラム初心者だから部分部分に分けてやる技術がないから大変だよ
>>424
大まかな経路探査はできたんだけど
細い道とかはまだ通れない段階
細かいところの調整が一番難しいです
0426名前は開発中のものです。2005/05/15(日) 16:02:48ID:Szr3nGVb
>>425
そりゃぁ、ゼロからやろうとしたらノウハウないから大変だろうな。
頓挫したらもう一度設計しなおして、また最初から作り直してみるといい。
ソース分割も含めてな。最初からできる奴なんて誰もいないんだから気にするな。
0427名前は開発中のものです。2005/05/26(木) 04:49:31ID:bBs2iSIz
http://i-saint.abz.jp/pg/index.html
ここのEmpireTohu (2005/4/28)がなかなかのできだな
0428名前は開発中のものです。2005/05/26(木) 05:23:08ID:bBs2iSIz
>>427のEmpireTohuみたいに3Dマップ上をユニットが走り回るようなプログラムをdirectxとVC++を使って
詳しく解説したHPとかありましたら教えてください
0429名前は開発中のものです。2005/05/26(木) 11:24:55ID:IJ0Iipqv
ていうかRTSやってる人、日本だとi-saintさんくらいじゃないかしら
つーわけで、>>428が自らやってみるよろし
0430名前は開発中のものです。2005/05/28(土) 10:21:28ID:vaedJw3W
六ヶ月ぶりにプログラム再開しようと以前のプログラムみたら
まったくわけわかんねw
ほぼすべて忘れてるw
0431名前は開発中のものです。2005/06/02(木) 20:43:53ID:wF2qMnjG
>>430
漏れも同じタイプ
納品して1ヵ月後に納品先でテストが始まって問い合わせが来るんだが

ま っ た く わ か ら ん

ひどいときは自分で作ったかどうかすらわからん


病気だな…orz
■ このスレッドは過去ログ倉庫に格納されています