初心者専用スレ「シミュレーションゲーム」を作らない?
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
04/03/20 10:18ID:HjCApWI8各レベルの課題に沿って作ってみてあぷしてみましょう。
まとめ:
SLGを作らない?
http://gamdev.org/w/?%5B%5BSLG%A4%F2%BA%EE%A4%E9%A4%CA%A4%A4%A1%A9%5D%5D
あぷろだ:
http://gamdev.org/up/
話題元:
初心者のためのゲームプログラミング
http://pc2.2ch.net/test/read.cgi/gamedev/1023119134/852-
関連スレは>>2
各レベルの課題は>>3
0015名前は開発中のものです。
04/03/22 15:49ID:NPRtU4h00016酒鬼薔薇
04/03/22 16:28ID:02nufRa30017名前は開発中のものです。
04/03/22 16:50ID:0WE8/VPz開いてよいかわかりません。だれか教えてください。
ダウンロードページ
http://kikyou.info/tvp/
0018名前は開発中のものです。
04/03/22 17:00ID:02nufRa3krkr.eXe 吉里吉里本体
これじゃない?
0019名前は開発中のものです。
04/03/22 17:17ID:vJlCIhDp0020名前は開発中のものです。
04/03/22 17:20ID:0WE8/VPz0021名前は開発中のものです。
04/03/22 17:48ID:uwTuOZKuスレ違いですよ。
吉里吉里のスレは他にあります。
というか、質問スレにも同じ子と書いてるよね?
同じ内容のレスを複数のスレに書くのは嫌われるのでやめましょう。
0022カレー元水 ◆Curry2wIOI
04/03/22 18:15ID:GSyaT/AHhttp://pc2.2ch.net/test/read.cgi/gamedev/1078089510/l50
Level1〜3、5の前半、7,9,10が出来ていると思います。
って、話題元見たら、ファイヤーエンブレム目指してるんですか。
FEプレイ経験が無いです・・・
002310
04/03/22 20:58ID:l+XOFhlpついにできました。ご教授ありがとうございます。
やっぱりできたときが非常にうれしいですね。
前と同じくソースは見ないで・・・
てか処理落ちすると変なことが起こる・・・
level2
ttp://gamdev.org/up/img/352.zip
0024カレー元水 ◆Curry2wIOI
04/03/22 21:37ID:GSyaT/AH0025名前は開発中のものです。
04/03/22 22:10ID:Tm4N5myF画面の色を16bitにしてください
0026107
04/03/22 22:19ID:J2+GSuhfhttp://gamdev.org/up/img/217.zip
0027名前は開発中のものです。
04/03/22 22:27ID:IkgfwbwOマウスが使いたいね。
0028名前は開発中のものです。
04/03/22 22:29ID:J2+GSuhfこのシステムだと、マウスでの操作って無理でないですか?
建物を作った場合、建物の裏にカーソルがもっていけないです。
0029名前は開発中のものです。
04/03/22 22:32ID:IkgfwbwOとか
回転表示できるようにする
とかが一般的だと思うけど?
自分のシステムを中心に考えて、UIに制限をつけるのは
プログラマの悪い癖だと思う(オレも含めてw)。
0030名前は開発中のものです。
04/03/22 22:46ID:rXt4ScILまあPCでやる以上マウス操作は必要になると思うが…
0031名前は開発中のものです。
04/03/22 22:52ID:J2+GSuhf回転ですか。3Dみたいにぐりぐりはできないけど それならなんとかなるなぁ。サンクス。
>>30
ががーん
いろいろアドバイスがもらえそうなのでマターリと参戦します
0032カレー元水 ◆Curry2wIOI
04/03/22 23:49ID:s8T/TaQ7Level11は「マウスが乗っているマス目にカーソルを表示する」というのは、
どうですか?
0033名前は開発中のものです。
04/03/23 00:00ID:JCV/36obそれはLevel2か3の範疇だと思うのだが・・・
0034名前は開発中のものです。
04/03/23 00:02ID:pelRe5jK0035カレー元水 ◆Curry2wIOI
04/03/23 00:13ID:x6Bnkz57プログラム製作に慣れている人なら、当然のごとく実装するのかもしませんが、
スレは初心者用ですし、見たとこ、ガイシュツのマウス操作を想定したプログラムは
どれも、実装していませんし、どこかに明記すべきかと思います。
0036名前は開発中のものです。
04/03/23 00:18ID:4auKbf0zWikiのほうには補足として選択肢書いておくのもいいと思うけど。
どっちにしろ、平面、擬似3Dとも横向きビュー?、クォータービューとも明示してないし
0037名前は開発中のものです。
04/03/23 00:19ID:H6gmUJFuゲーム環境はFEを参考にして。
0038カレー元水 ◆Curry2wIOI
04/03/23 00:19ID:x6Bnkz570040名前は開発中のものです。
04/03/23 02:06ID:BXdAOeDK・ソース見たのだけど、コメントが文字化けしてる。ウィンじゃみれないのかな。
・キャラの移動で矢印ボタンが使いたい。後、マウスの方がよいという
意見もあるけど、自分はキー入力のほうが好き。マルチ対応もありかな。
・移動範囲の表示が遅い。ソースが分からないから表示が遅いのか、計算が
遅いのか分からないけど。もし再起的なツリー方法でやっているのなら、
次のレスに書くやり方がお勧め。
・登場人物のキャスティングのアンバランスさが良い。なんのこっちゃ。
せっかくスレができたのだから、製作をやめずにがんばってください。
0041名前は開発中のものです。
04/03/23 02:18ID:PMWtRlHbEUCでしょ。Unix系なんかでよく使われる文字コード。
・・・とか大雑把な説明をしてみる。
004240
04/03/23 02:25ID:BXdAOeDK>次のレスに書くやり方がお勧め。
1,マップサイズの配列を用意し、移動前の位置に0、その他に-1を入力。
2,マップの左上から右下へカウンタでマスを進めていく(マップ全体)。
3,2の所でひとマス毎にそのマスの周りを調べる。
4,3の所で0以上の値があったらその値+進入ロスの値を2のマスに入力する。
3の所で0以上の値が複数あったなら小さい値の位置を選ぶ。
3の所で0以上の値があっても、その値+進入ロスの値が既に入力されている
値より大きいなら入力を行わない。共に移動歩数のかからない方を
選びたいから。
5,2~4を移動力分繰り返す。
この方法だと移動力が低い時はツリー方法の方が早いが、
移動力が高い時はこの方法の方が断然速くなる。
ツリーは4(移動できる方向数),16,64と累乗で掛かる時間が増えていくけど、
この方法は400(マップのマス目の数),800,1200と掛け算で増えていくので。
004340
04/03/23 02:31ID:BXdAOeDKそうでしたか。サンクスです。
メモ帳でフォントを変えて見ようとしたら
CourierNew、FixedSysと跳ばされていてなかった。残念。
004440
04/03/23 02:39ID:BXdAOeDK>この方法は400(マップのマス目の数),800,1200と掛け算で増えていくので。
400*4(方向の数),3200,4800。後、移動力より遠い位置は絶対行けないので
調べる範囲を絞れば400(マップのマス目の数)より小さくできる。
0045名前は開発中のものです。
04/03/23 10:57ID:rwjTP/ky0046名前は開発中のものです。
04/03/23 11:17ID:rwjTP/kyその方法は、左上から、右下にかけて処理を行った後、
右下から左上にかけて、同じ処理を行う必要があると思うのは気のせいですか?
ユニットが(15,15)のマスにいるとして、
配列にデータを入れる処理が始るのは、事実上、処理が(15,14)を行っている時でしょう
ユニットの移動力が2だとして、
処理は(15,13)(14,14)(13,15)を飛ばすと思います。
0047名前は開発中のものです。
04/03/23 11:35ID:nPpe4Kfeツリーの場合にも
>4,3の所で0以上の値があったらその値+進入ロスの値を2のマスに入力する。
> 3の所で0以上の値が複数あったなら小さい値の位置を選ぶ。
> 3の所で0以上の値があっても、その値+進入ロスの値が既に入力されている
> 値より大きいなら入力を行わない。共に移動歩数のかからない方を
> 選びたいから。
と同じような最適化をかけるので、
大体(最大移動距離)*(移動できる方向数)^2くらいで収まる。
004846
04/03/23 11:43ID:rwjTP/ky>3,2の所でひとマス毎にそのマスの周りを調べる。
で言っている、「周り」の半径がユニットの移動距離分あれば、
問題ない・・・のかな???
004940
04/03/23 12:30ID:BXdAOeDK最終形態はSRPGツクールみたいなのとか。
でもまずは、人気のその2つか、スパロボみたいなのかな。
その前にどの言語で作るとかも、いろんな作品を見て決める必要がありそう。
>>46
大丈夫です。逆に右下の方向は進入ロスが全て同じなら、
1回調べるだけで端まで調べられてしまう。
>>47
調べた位置の読み飛ばし方と後何かだと思うのだけど。
分からんす。すごく興味があります。
>>48
周りとは周り1マスの事。0,0→0,1→0,2と調べていくが、
0,0なら周りの位置は1,0 0,-1 0,1 -1,0の4箇所の事。
もちろん-の時はマップをはみ出すので処理を飛ばす。
005146
04/03/23 12:59ID:rwjTP/ky>>40
左上からの処理の後、右下からの処理を行えば、移動力に関わらず
一往復で済むような気も・・・?
いあ、まだ検証したわけではないんですが。
0052名前は開発中のものです。
04/03/23 13:01ID:nPpe4Kfe要するに、途中打ち切りのあるダイクストラ法なんだけど、
ttp://www-or.amp.i.kyoto-u.ac.jp/algo-eng/db/demo/Dijkstra/index.html
みたいな感じ。
005340
04/03/23 13:09ID:BXdAOeDK自分も考えていました。この方法は移動力分は確実に正しく調べられて、
+aで少ない回数で調べられるみたい。
>>52
サンクス。見てみます。*が付く(アストリア法だっけ?)とは違うのかな。
0054名前は開発中のものです。
04/03/23 13:24ID:dAR4TZIvhttp://gamdev.org/up/img/359.lzh
移動先検索ルーチンはここのを拝借
ttp://www.campus.ne.jp/~ishigami/CREATION/MAKING/index.html
キャラクタ素材はここのを拝借
ttp://www.light.gr.jp/
肝心な部分は何もやってないなー
0055名前は開発中のものです。
04/03/23 13:34ID:PfXAGYNfA*サーチアルゴリズムは汎用探索アルゴリズムだね。
A*の
各点からゴールまでの距離の予想 = 常に0
とすると、ダイクストラ法と同じになる。はず。
↓こんなのあるよ。
http://gamdev.org/w/?AStarAlgorithmTutorial
005640
04/03/23 14:05ID:BXdAOeDKシンプルですが、画面が見やすいです。移動範囲のみでなく、移動する時の
道順も計算できている。進入ロスは緑が1、灰色が2、水色が3、×の所が
移動できない。女の子によって移動力が違う。という感じかな。
>>55
サンクス。見てみます。
0057名前は開発中のものです。
04/03/23 15:09ID:rwjTP/ky今までので一番きれいな画面だと思いました。
0058名前は開発中のものです。
04/03/23 22:21ID:rwjTP/kyLevel10で作ったメニューの“攻撃”を押すと、戦闘表示用の画面が表示されること
というのは?
これも、ゲームの形態によって、不必要な場合があるかな・・・
0059名前は開発中のものです。
04/03/23 22:29ID:FUTPyxoAそのつぎに敵のアルゴリズム
006026
04/03/23 23:54ID:d7UORjCG>>40
>・キャラの移動で矢印ボタンが使いたい。後、マウスの方がよいという
>意見もあるけど、自分はキー入力のほうが好き。マルチ対応もありかな。
矢印での移動は次アップ時に実装します。
マウスでの移動はちとめんどいので、おまけ程度の優先度にしたいです。
>・移動範囲の表示が遅い。
多分再起しすぎなんだと思います。キャラクタを中心に四方を再帰的に探索してます。
速度がどんなものだか知りたかったので 移動値を10にしてます。ゲームでは7程度が最高だと思います。
それでも遅いですが…。
>次のレスに書くやり方がお勧め。
ありがとうございます。今の作りだとその方法を実装するのがしんどいので
ちょっとお待ちください。どう考えてもだめぽな作りです…。
しかしながら検索範囲を絞れば相当早くなりそう!
>せっかくスレができたのだから、製作をやめずにがんばってください。
意見をもらえる限り頑張りますです。
006126
04/03/24 00:01ID:CE++aXBY>>40
>・登場人物のキャスティングのアンバランスさが良い。なんのこっちゃ。
棒人間でもよかったんですけど、適当にこしらえました。
下地が完成したら、キャラクタとストーリーは公募するつもりです。完成したら。
0062名前は開発中のものです。
04/03/24 01:08ID:O8SY00w20063名前は開発中のものです。
04/03/24 01:11ID:gwUiqp0N地形と高さのデータを与えるだけで秒間19000ブロックのマップ描画か可能なんだとさ。
0064名前は開発中のものです。
04/03/24 01:12ID:j3Ar40Ol何を使うの?
006540
04/03/24 10:02ID:QtkSU69uその前にたぶん攻撃対象の選択が必要になる。
攻撃対象が複数居る場合があるから。
まだ、アイテムが無いからなんともいえないけど。
>>59
そうですね。キャラの移動とは独立した部分で作れるから。
まずはFE型だったら、キャラデータ、アイテムデータを与えて、
闘技場みたいにどちらかが倒れるまで攻撃→反撃→追撃を
繰り返すみたいなのかな。
>>60
>キャラクタを中心に四方を再帰的に探索してます。
なら、自分が言ったツリー法と同じような感じかな。
ツリー法とは以下みたいに進めていって必要移動力を
どんどん最小値に書き換えていくやり方。
下下下下下下下下下下→下下下下下下下下下左→
下下下下下下下下下右→下下下下下下下下下上→
下下下下下下下下左下→下下下下下下下下左左→
>移動値を10にしてます
10でたぶん1秒ぐらいだからそれくらいがちょうどいいです。
単純に考えると4→16→64→256→1024と15にすると20分ぐらいかかる。
>>62>>64
言語自体決まってないから。
単純にCを使うだけならBCC、GCC辺りでよいと思う。
>>63
画面に収まるのが多くて400ブロックぐらいだと思うからかなり速い。
0066名前は開発中のものです。
04/03/24 18:12ID:50mDjwva0067NPC
04/03/24 19:11ID:wYfAwGDe0068名前は開発中のものです。
04/03/24 20:10ID:bD7nF4Wk必要なゲームの形態:FE, 大戦略 etc・・・
必要なし :TO, etc・・・
といったところか?
0069名前は開発中のものです。
04/03/24 22:51ID:+umUyuZe戦闘アニメを作れ
でいいんじゃないの
戦闘アニメはどんなゲームであれつける必要があるから
別画面にするかどうかは任意にすればいい
マップ上での簡易戦闘まで不必要なゲームってないだろ
0070名前は開発中のものです。
04/03/24 23:01ID:MdvMJchq敵をどういう基準で動かせばいいのかいくら考えてもわかんないぞ。
http://gamdev.org/up/img/364.lzh
マウスのみの操作でつ。
0071名前は開発中のものです。
04/03/24 23:13ID:9UGPxAlI>>32
>Level11は「マウスが乗っているマス目にカーソルを表示する」というのは、
>どうですか?
このあと、それはLv2か3レベルじゃね?と突っ込みアリ
>>58
>Level11:
>Level10で作ったメニューの“攻撃”を押すと、戦闘表示用の画面が表示されること
>というのは?
>>59
>おれとしてはそろそろHPや攻撃力などを設定したほうがいいと思う。
>そのつぎに敵のアルゴリズム
>>69
>レベル11
>戦闘アニメを作れ
0072名前は開発中のものです。
04/03/24 23:23ID:9UGPxAlIlevel11 複数キャラ制御
複数の敵、味方を出す。
動きはLv9のように自分ターン→敵ターンとする。
level12 敵移動
敵が味方のほうに接近し、隣接したら攻撃するようにする。
攻撃したら何らかの方法(メッセージボックスなど)で攻撃が行われたことを示す。
level13 ステータス(簡易)表示とキャラのやられ処理
ヒットポイントと攻撃力を設定し、キャラをクリックしたら表示する。
また、攻撃によりヒットポイントをへらし、倒せる(倒される)ようにする。
とかどうよ?
level14からは、戦闘画面編?
0073名前は開発中のものです。
04/03/24 23:23ID:+umUyuZeレベル10は移動より前のほうがいいのでは?
オブジェクトを指定して行動を選ぶのはオブジェクト指向の基本だけど
そういう作り方をするよう仕向けるようにしたほうがいい
7はいらない
8は2と合流
9は5と6の間に移動
10は1と2の間に移動
これでスッキリする
>>69と矛盾するが装飾的なものやるより先に
パラメータの管理や攻撃手段の多様化、多数のユニットの管理を
やらせたほうが後々を考えるとスムーズにいくだろう
達成感と難易度のバランスを取るために途中で絵的に派手なものを
入れるのは仕方ないけどな
>>70
乙
数手先を読んで一番有利な手を選ぶわけだけど基本的に総当り
で評価関数が一番いい成績を返す手を捜す
評価関数はゲームによって変わるが敵を多く倒したりダメージを与えたり
ダメージを受けなかったりなどでマップやシナリオ上の都合でも変わってくる
総当りから無駄をいくら省けるかはプログラマの腕の見せ所
ミニマックス法やアルファ・ベータ法などを参考に
将棋よりパラメータが多く全駒を動かせるからややこしいよ
とりあえずCOM同士で固まってプレイヤーに近寄ってくるぐらいでいいんじゃないの
FE系の雑魚キャラならプレイヤーが数マス以内に近寄ってきたら移動して攻撃するってだけで用は足りる
大戦略系なら都市占領を目安にダラダラ移動
>>71
>>59案に一票
0074名前は開発中のものです。
04/03/25 00:49ID:oFVyG02tHPはエンブレム基準?
0075名前は開発中のものです。
04/03/25 01:21ID:uxZXQBMG0076差分
04/03/29 03:53ID:B7g1h+Qj>>70だが。
いま調べたところ重要な条件分岐がひとつ抜けてたので、ちゃんと歩数計算できてなかった。
スマソ。。。
これが修正分
http://gamdev.org/up/img/374.lzh
敵が近寄ってくるところまではなんとなくわかるけど、それ以上のことになると・・・もうおれには無理。
0077差分
04/03/29 03:54ID:B7g1h+Qj>>1
Levelは全部まとめてでなく、移動、射程、戦闘、その他などに分けて、
それぞれにLevelを設定したほうがいいかも。
>>73
SRPGで数手先を読むのは、詳しいのはFEだけだったから考えた事が無かった。
相手側のキャラの攻撃力を見て、彼に攻撃されるとピンチになるから、
相手側の他のキャラに倒せそうなのがいても、逃げておく、とかやるわけね。
>>76
例 (相手==プレイヤー 仲間==敵 敵からの始点で見ている)
【射程内に使用対象がいない】
・一番近くの相手、仲間によっていく
・一番強い(弱い)相手、仲間によっていく
【射程内に使用対象がいる】
・自分より弱い(戦うと自分が有利な)相手を攻撃する
・ピンチな仲間を回復する
キャラの戦闘力がまだ決まってない以上、
「一番近くの相手、仲間によっていく」以外できない。
そのやり方が>>70さんが分かっているやり方というのと同じかな?
唯一移動力が決まっているので、射程内に相手がいる時は
移動力の一番高い相手を攻撃、いない時は近くの相手によっていくとかがいいかな。
0078差分
04/03/29 03:55ID:B7g1h+Qj追加
>>76
相手の近くへのよって行き方は、移動する時に移動範囲を表示する所まで
できているという事は、ある位置に移動するために最低いくつの移動力が必要か
調べるのもできていると思うから、そのやり方を使い、調べる範囲を広げて調べる。
平平平平 → A___ → 3212
平森平平 → __自_ → 3201
平平壁平 → B__C → 43×2
例だが、自が自分(敵自身)で移動力が1、アルファベットが相手であるなら、
2の移動力で行く事ができるCに向かっていく。
0079差分
04/03/29 04:09ID:B7g1h+Qj従来のレベル分けは統廃合すると混乱しそうなのでいじらない方がいいと思う。
(何か変って言いたいのは分かるけど。)
>Levelは全部まとめてでなく、移動、射程、戦闘、その他などに分けて、
ということで、レベル11以降は分岐すると言うのはどうだろうか?
・ 戦闘画面編
>>71のを詳細化
・ 戦闘フィールド編(移動、射程やフィールド表示)
とりあえず>>72のやつでいいのかな?
・ AI編 (敵アルゴリズム)
・ ステータス画面編
・その他(シナリオ進行とかキャラアニメとか?)
0080差分
04/03/29 04:19ID:B7g1h+Qj>>76
追加
どの敵を攻撃するかは、移動できる位置を順番に調べていき、
移動できるマス毎に攻撃できる位置を調べていく。
今回は全キャラ共通で射程1の武器一つなので、
調べているマス(移動先)の周り1マスを調べればよい。
使用対象が居たなら、そのキャラの番号と移動力をチェックしておく。
全部調べたら、最大の移動力だったキャラを攻撃する。
>>79
例えばLV8までを作らなくてもLV9を作れるとしたら、
その場合はそのLV9のを別のLV1にした方がいいかなと。
だけど、おっしゃるようにごっちゃになる可能性があるから、
従来のは分けない、11以降は分ける、両方同意しました。
0081差分
04/03/29 04:21ID:B7g1h+Qj移動部分をつくる課題(Lv.1〜
戦闘部分をつくる課題(Lv.1〜
んで、途中で合体ってどうよ。
0082名前は開発中のものです。
04/03/29 15:40ID:2wnPpGZ70083名前は開発中のものです。
04/03/30 08:10ID:x13guaQKhttp://gamdev.org/up/img/396.lzh
0084名前は開発中のものです。
04/03/30 18:41ID:hNYVLTtz0085名前は開発中のものです。
04/03/31 01:44ID:hvultEH1LV11までしっかりできている。
あえていうと、移動する時に一変に移動先に移動してしまうので、
1歩ずつウェイトを置きながら移動した方がいいと思う。
0086名前は開発中のものです。
04/03/31 02:15ID:hvultEH1ひとまずは、HP、移動力、射程、攻撃力、かな。
移動力、射程は既に実装されている。
いろんな種類のキャラを用意して個性を出すと面白い。
アーマーナイトならHPは高いが移動力は低い、
アーチャーなら射程は長いがHPが低い、など。
■LV14■
攻撃しているのを、別ウインドウでアニメーションを表示したり、
オンマップで手を動かしたり、弾を飛ばしたりして表示するのは大変だから、
簡単なサウンドを鳴らすだけでも十分だと思う。
LV13の部分のキャラごとの違いを正しく表現されていればよい。
■LV15■
アーマーナイト
HP 17/30
移動 4
射程 1
攻撃 10
こんな感じで能力の一覧を簡単に表示できればよい。
0087名前は開発中のものです。
04/03/31 07:32ID:7K8diIhvhttp://gamdev.org/up/img/398.lzh
>>85
どもです
levelのほうで特に指定がない限りオプションで全部OFFにした
状態のものを想像して作っています
たぶん、作っている人に合わせてlevelのほうが変わっていくと思うので大丈夫でしょうが
一応、グラフィックの指示があるlevelもあるのでどこまで作っていいのかなと迷います
どういう経路で移動するのが美しいのかも迷うし
索敵やダメージ床、イベントの問題もあってまだ着手していません
FEはそういうの無いのでしたっけ
0088名前は開発中のものです。
04/03/31 13:38ID:hvultEH1>どういう経路で移動するのが美しいのか
>索敵やダメージ床、イベントの問題もあって
なるほど、考えていなかった。ここはかなり難しくなる所かも。
とくに何もない場合は左左左上上上か上上上左左左と検索方法に
合わせてやればいいと思っていたけど。
>FEはそういうの無いのでしたっけ
ある位置を通過する事で発生するイベントは無かったと思う。
待機する事でならあるけど、それはその部分で問題にはならない。
ただ、ダメージ床は封印、烈火であったと思う。
ダメージ床を通らないといけない場所は、どうしているのだろう。
移動可能位置の色を変えたりしたりしているのかな。
>level12の作品
キャラが画面いっぱいにいて動くスペースがない。
どこかデータが違っていたのかな。20、30体ぐらいでいいと思う。
0089107
04/03/31 19:03ID:J7xQt3SmC + SDL
http://gamdev.org/up/img/399.zip
0090名前は開発中のものです。
04/03/31 19:28ID:269irEEC移動可能範囲内に攻撃対象があるか検索して、その中でHPが少ない奴や近い奴を
選んで対象の隣に移動して攻撃するようなプログラムを組んでるんだけど、
移動範囲内に攻撃の対象がいない場合どうすればいいんですか。
今のところ、移動可能範囲内に敵が見つかるまで範囲を広げていく方法で
敵の位置は分かったんですけど、移動先を決める方法が分かりません。
0091名前は開発中のものです。
04/03/31 20:09ID:4Ju389xz自分だったらどうやって動かす?
相手の手を読んで次の移動で隣接できる位置に動かす?
それとも一直線に突っ込んでいく?
地形効果が得られる場所にとりあえず置いておく?
とりあえず自分と同じ考えをするルーチンを組んでみて、それを改良したほうがいいかも。
なぜそこを選ぶのか、という点を分解していけばルーチン作れるはず。
009290
04/03/31 20:21ID:269irEEC攻撃対象に一番近い位置に移動させたいんだが、
どこが攻撃対象に一番近い位置なのかを判別するプログラムが分からない。
0093名前は開発中のものです。
04/03/31 20:50ID:hvultEH1>>89
まず、画面スクロールの部分が直ってますね。
質問なんですが、進入ロスの部分が分からない。
草地、平地、荒地の地形があるみたいだけど、
地形の種類ではなくて、高さの方で行っているのかな。
0094名前は開発中のものです。
04/03/31 20:55ID:4Ju389xz移動した後の場所からさらに移動して、目的地に到達する地点をピックアップすればOK。
2回移動処理してその消費ポイントの総計が少ない場所だな。
009590
04/03/31 21:00ID:269irEECなるほど!ありがとうございました。
0096名前は開発中のものです。
04/03/31 21:00ID:hvultEH1平平平平平 01234 → 敵____ → _____
森平平平平 22345 → _____ → ____b
山森平山平 64486 → _____ → _____
森平平森平 75577 → ___C_ → _ac__
山平平平平 106788 → A___B → _____
ずれるのでメモ帳などで見てください。
敵が移動する敵キャラ、移動力は5。
アルファベットの大文字が味方キャラ、小文字は移動する位置。
それぞれのキャラの位置に移動するための最短の道を探し、
その道を移動力分フルに使って進む。
いちばん簡単なやり方は、距離が一番近い味方によっていくなら、
必要移動力が7の所に居るCによっていくためにcに移動する。
同じような感じで、一番弱い味方によっていくなら、
よって行くキャラの小文字の部分に移動すればよい。
009796
04/03/31 21:05ID:hvultEH1すいまそん。Cには射程1でも攻撃できてしまう(^^;。
移動力を4にして考えてください。
その場合は以下の位置に移動します。
____b
_____
_ac__
_____
_____
0098107
04/03/31 21:11ID:J7xQt3Smhttp://gamdev.org/up/img/401.zip
>>89
絵がどうしようもなくてスイマセン。
平地、草地、砂地、水(追加) です。移動抵抗値はそれぞれ
平地:1
草地:1
砂地:3 (さきほどのは2でした)
水: 20
です。水タイルがガリガリ君ソーダ味みたいになってしまいました。
0100名前は開発中のものです。
04/03/31 21:48ID:hvultEH1サンクス。分かりました。
0101107
04/04/02 00:32ID:koF3jQIYC + SDL D9_ver0_21
http://gamdev.org/up/img/402.zip
# SDL で日本語って鬼門のような気が
0102107
04/04/02 00:34ID:koF3jQIYDLLs/下の DLL を d9.exe があるところにコピーして実行してください。
d9.exe はパスが変わると動かないので注意してくださいませ。
0103名前は開発中のものです。
04/04/02 09:33ID:NTd6JQAoSDLで日本語を使うのは大変なのか。知らなかった。
CのウィンアプリならTextOutで一発。
どのマシンでも動くようにできているため、実装するのが大変なのかな。
画面からはみ出た部分の残像の消去が行われているが、
色が微妙に違っていて、その色が残ってしまう。
後、端の段差の部分がスクロールしたとき、
同じように似た違う色が残っている。
0104名前は開発中のものです。
04/04/02 13:23ID:CX7v2wvWhttp://gamdev.org/up/img/404.lzh
メンバ変数にhpなどを加えただけ
level14
攻撃力8、HP15に設定してみました
敵を2回殴ったら死にます
ついでに出しすぎてたユニットを減らしました
0105名前は開発中のものです。
04/04/02 13:23ID:CX7v2wvWhttp://gamdev.org/up/img/405.lzh
それにしても404.lzhってまぎらわしい
0106名前は開発中のものです。
04/04/02 14:04ID:CX7v2wvWhttp://gamdev.org/up/img/406.lzh
ユニット上で右クリックするとステータス表示
0107名前は開発中のものです。
04/04/02 18:39ID:NTd6JQAoLV15までしっかり出来ていますね。
更新したらいいと思う所は、移動するユニットを押した後の
キャンセルボタンが無いから欲しい。
マウスはボタンが二つしかないから大変だけど。
後は、職業がもう少し多く欲しい。
職業ごとに能力値を決めて個性を出す。
ランダムで決める場合も高低の傾向を残るようにして。
その関連でもあるけど、LV16の課題は、職業によって移動コスト
(進入ロス)の値を変化させるが良さそう。
人は戦闘力は低いが、どの地形もそれなりにスムーズに進める、
戦車は戦闘力は高いが、地形が悪い所は移動コストが高い、
飛行機は戦闘力抜群で、どの地形も移動コストを1で進める、など。
0108名前は開発中のものです。
04/04/02 20:13ID:Dr8j7PoM0109名前は開発中のものです。
04/04/02 22:26ID:NSXyaUx+0110名前は開発中のものです。
04/04/02 23:02ID:NSXyaUx+0111名前は開発中のものです。
04/04/03 05:56ID:ruJl5s2ahttp://gamdev.org/up/img/407.lzh
0112名前は開発中のものです。
04/04/03 06:07ID:ruJl5s2ahttp://gamdev.org/up/img/408.lzh
0113名前は開発中のものです。
04/04/03 06:30ID:ruJl5s2ahttp://gamdev.org/up/img/409.lzh
0114名前は開発中のものです。
04/04/03 09:17ID:i6croG5Fお疲れ様です。
LV1、LV2はしっかりできていますが、LV3が少し違う感じがします。
環境によって動作が違うかもしれないし、うまく説明できませんが。
もし環境がwinなら、以下のサイトの「C言語なサンプル」の所にある
「戦え」というのを参考にしてはいかがでしょう。
http://hp.vector.co.jp/authors/VA016117/index.html
■ このスレッドは過去ログ倉庫に格納されています