トップページgamedev
1001コメント387KB

初心者専用スレ「シミュレーションゲーム」を作らない?

■ このスレッドは過去ログ倉庫に格納されています
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
00564004/03/23 14:05ID:BXdAOeDK
>>54
シンプルですが、画面が見やすいです。移動範囲のみでなく、移動する時の
道順も計算できている。進入ロスは緑が1、灰色が2、水色が3、×の所が
移動できない。女の子によって移動力が違う。という感じかな。

>>55
サンクス。見てみます。
0057名前は開発中のものです。04/03/23 15:09ID:rwjTP/ky
>>54
今までので一番きれいな画面だと思いました。
0058名前は開発中のものです。04/03/23 22:21ID:rwjTP/ky
Level11:
Level10で作ったメニューの“攻撃”を押すと、戦闘表示用の画面が表示されること
というのは?
これも、ゲームの形態によって、不必要な場合があるかな・・・
0059名前は開発中のものです。04/03/23 22:29ID:FUTPyxoA
おれとしてはそろそろHPや攻撃力などを設定したほうがいいと思う。
そのつぎに敵のアルゴリズム
00602604/03/23 23:54ID:d7UORjCG
どもども。

>>40
>・キャラの移動で矢印ボタンが使いたい。後、マウスの方がよいという
>意見もあるけど、自分はキー入力のほうが好き。マルチ対応もありかな。
矢印での移動は次アップ時に実装します。
マウスでの移動はちとめんどいので、おまけ程度の優先度にしたいです。

>・移動範囲の表示が遅い。
多分再起しすぎなんだと思います。キャラクタを中心に四方を再帰的に探索してます。
速度がどんなものだか知りたかったので 移動値を10にしてます。ゲームでは7程度が最高だと思います。
それでも遅いですが…。

>次のレスに書くやり方がお勧め。
ありがとうございます。今の作りだとその方法を実装するのがしんどいので
ちょっとお待ちください。どう考えてもだめぽな作りです…。
しかしながら検索範囲を絞れば相当早くなりそう!

>せっかくスレができたのだから、製作をやめずにがんばってください。
意見をもらえる限り頑張りますです。
00612604/03/24 00:01ID:CE++aXBY
洩れた。

>>40
>・登場人物のキャスティングのアンバランスさが良い。なんのこっちゃ。
棒人間でもよかったんですけど、適当にこしらえました。
下地が完成したら、キャラクタとストーリーは公募するつもりです。完成したら。
0062名前は開発中のものです。04/03/24 01:08ID:O8SY00w2
やっぱりVC++じゃなきゃだめ?
0063名前は開発中のものです。04/03/24 01:11ID:gwUiqp0N
TOに使われていたプログラム「HERMIT」は、
地形と高さのデータを与えるだけで秒間19000ブロックのマップ描画か可能なんだとさ。
0064名前は開発中のものです。04/03/24 01:12ID:j3Ar40Ol
>>62
何を使うの?
00654004/03/24 10:02ID:QtkSU69u
>>58
その前にたぶん攻撃対象の選択が必要になる。
攻撃対象が複数居る場合があるから。
まだ、アイテムが無いからなんともいえないけど。

>>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:50mDjwva
FEクローンを作ってるサイトか、スレってなかったっけ?
0067NPC04/03/24 19:11ID:wYfAwGDe
どうせならディアプリンセスのクロry
0068名前は開発中のものです。04/03/24 20:10ID:bD7nF4Wk
>>58
必要なゲームの形態:FE, 大戦略 etc・・・

必要なし        :TO, etc・・・

といったところか?
0069名前は開発中のものです。04/03/24 22:51ID:+umUyuZe
レベル11
戦闘アニメを作れ

でいいんじゃないの
戦闘アニメはどんなゲームであれつける必要があるから
別画面にするかどうかは任意にすればいい
マップ上での簡易戦闘まで不必要なゲームってないだろ
0070名前は開発中のものです。04/03/24 23:01ID:MdvMJchq
レベル10?に挑戦。(ただし敵が動かないし攻撃もしてこない・・・)
敵をどういう基準で動かせばいいのかいくら考えてもわかんないぞ。
http://gamdev.org/up/img/364.lzh

マウスのみの操作でつ。
0071名前は開発中のものです。04/03/24 23:13ID:9UGPxAlI
レベル11案をまとめてみたぞ。

>>32
>Level11は「マウスが乗っているマス目にカーソルを表示する」というのは、
>どうですか?
このあと、それはLv2か3レベルじゃね?と突っ込みアリ

>>58
>Level11:
>Level10で作ったメニューの“攻撃”を押すと、戦闘表示用の画面が表示されること
>というのは?

>>59
>おれとしてはそろそろHPや攻撃力などを設定したほうがいいと思う。
>そのつぎに敵のアルゴリズム

>>69
>レベル11
>戦闘アニメを作れ
0072名前は開発中のものです。04/03/24 23:23ID:9UGPxAlI
俺的には、

level11 複数キャラ制御
複数の敵、味方を出す。
動きは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:oFVyG02t
どこかでエンブレム目指すとか言ってたような気がする
HPはエンブレム基準?
0075名前は開発中のものです。04/03/25 01:21ID:uxZXQBMG
エンターブレインが作ってましたね>FEクローン
0076差分04/03/29 03:53ID:B7g1h+Qj
76 名前:70[sage] 投稿日:04/03/26 00:52 ID:DunKQiGB
>>70だが。
いま調べたところ重要な条件分岐がひとつ抜けてたので、ちゃんと歩数計算できてなかった。
スマソ。。。
これが修正分
http://gamdev.org/up/img/374.lzh


敵が近寄ってくるところまではなんとなくわかるけど、それ以上のことになると・・・もうおれには無理。
0077差分04/03/29 03:54ID:B7g1h+Qj
77 名前:40[sage] 投稿日:04/03/26 11:22 ID:g0P+3r/W
>>1
Levelは全部まとめてでなく、移動、射程、戦闘、その他などに分けて、
それぞれにLevelを設定したほうがいいかも。

>>73
SRPGで数手先を読むのは、詳しいのはFEだけだったから考えた事が無かった。
相手側のキャラの攻撃力を見て、彼に攻撃されるとピンチになるから、
相手側の他のキャラに倒せそうなのがいても、逃げておく、とかやるわけね。

>>76
例 (相手==プレイヤー 仲間==敵 敵からの始点で見ている)
【射程内に使用対象がいない】
・一番近くの相手、仲間によっていく
・一番強い(弱い)相手、仲間によっていく
【射程内に使用対象がいる】
・自分より弱い(戦うと自分が有利な)相手を攻撃する
・ピンチな仲間を回復する

キャラの戦闘力がまだ決まってない以上、
「一番近くの相手、仲間によっていく」以外できない。
そのやり方が>>70さんが分かっているやり方というのと同じかな?
唯一移動力が決まっているので、射程内に相手がいる時は
移動力の一番高い相手を攻撃、いない時は近くの相手によっていくとかがいいかな。
0078差分04/03/29 03:55ID:B7g1h+Qj
78 名前:40[sage] 投稿日:04/03/26 11:46 ID:g0P+3r/W
追加
>>76
相手の近くへのよって行き方は、移動する時に移動範囲を表示する所まで
できているという事は、ある位置に移動するために最低いくつの移動力が必要か
調べるのもできていると思うから、そのやり方を使い、調べる範囲を広げて調べる。

平平平平 → A___ → 3212
平森平平 → __自_ → 3201
平平壁平 → B__C → 43×2

例だが、自が自分(敵自身)で移動力が1、アルファベットが相手であるなら、
2の移動力で行く事ができるCに向かっていく。
0079差分04/03/29 04:09ID:B7g1h+Qj
79 名前:名前は開発中のものです。[age] 投稿日:04/03/26 11:54 ID:fe9Yolb/
従来のレベル分けは統廃合すると混乱しそうなのでいじらない方がいいと思う。
(何か変って言いたいのは分かるけど。)

>Levelは全部まとめてでなく、移動、射程、戦闘、その他などに分けて、
ということで、レベル11以降は分岐すると言うのはどうだろうか?

・ 戦闘画面編
 >>71のを詳細化
・ 戦闘フィールド編(移動、射程やフィールド表示)
 とりあえず>>72のやつでいいのかな?
・ AI編 (敵アルゴリズム)
・ ステータス画面編
・その他(シナリオ進行とかキャラアニメとか?)
0080差分04/03/29 04:19ID:B7g1h+Qj
80 名前:40[sage] 投稿日:04/03/26 13:29 ID:g0P+3r/W
>>76
追加
どの敵を攻撃するかは、移動できる位置を順番に調べていき、
移動できるマス毎に攻撃できる位置を調べていく。
今回は全キャラ共通で射程1の武器一つなので、
調べているマス(移動先)の周り1マスを調べればよい。
使用対象が居たなら、そのキャラの番号と移動力をチェックしておく。
全部調べたら、最大の移動力だったキャラを攻撃する。

>>79
例えばLV8までを作らなくてもLV9を作れるとしたら、
その場合はそのLV9のを別のLV1にした方がいいかなと。
だけど、おっしゃるようにごっちゃになる可能性があるから、
従来のは分けない、11以降は分ける、両方同意しました。
0081差分04/03/29 04:21ID:B7g1h+Qj
81 名前:名前は開発中のものです。[sage] 投稿日:04/03/26 16:56 ID:QRkdNiyU
移動部分をつくる課題(Lv.1〜
戦闘部分をつくる課題(Lv.1〜
んで、途中で合体ってどうよ。
0082名前は開発中のものです。04/03/29 15:40ID:2wnPpGZ7
乙ー
0083名前は開発中のものです。04/03/30 08:10ID:x13guaQK
level11
http://gamdev.org/up/img/396.lzh
0084名前は開発中のものです。04/03/30 18:41ID:hNYVLTtz
age
0085名前は開発中のものです。04/03/31 01:44ID:hvultEH1
>>83
LV11までしっかりできている。
あえていうと、移動する時に一変に移動先に移動してしまうので、
1歩ずつウェイトを置きながら移動した方がいいと思う。
0086名前は開発中のものです。04/03/31 02:15ID:hvultEH1
■LV13■
ひとまずは、HP、移動力、射程、攻撃力、かな。
移動力、射程は既に実装されている。

いろんな種類のキャラを用意して個性を出すと面白い。
アーマーナイトならHPは高いが移動力は低い、
アーチャーなら射程は長いがHPが低い、など。

■LV14■
攻撃しているのを、別ウインドウでアニメーションを表示したり、
オンマップで手を動かしたり、弾を飛ばしたりして表示するのは大変だから、
簡単なサウンドを鳴らすだけでも十分だと思う。
LV13の部分のキャラごとの違いを正しく表現されていればよい。

■LV15■
アーマーナイト
HP 17/30
移動 4
射程 1
攻撃 10

こんな感じで能力の一覧を簡単に表示できればよい。
0087名前は開発中のものです。04/03/31 07:32ID:7K8diIhv
level12
http://gamdev.org/up/img/398.lzh

>>85
どもです
levelのほうで特に指定がない限りオプションで全部OFFにした
状態のものを想像して作っています
たぶん、作っている人に合わせてlevelのほうが変わっていくと思うので大丈夫でしょうが
一応、グラフィックの指示があるlevelもあるのでどこまで作っていいのかなと迷います
どういう経路で移動するのが美しいのかも迷うし
索敵やダメージ床、イベントの問題もあってまだ着手していません
FEはそういうの無いのでしたっけ
0088名前は開発中のものです。04/03/31 13:38ID:hvultEH1
>>87
>どういう経路で移動するのが美しいのか
>索敵やダメージ床、イベントの問題もあって
なるほど、考えていなかった。ここはかなり難しくなる所かも。
とくに何もない場合は左左左上上上か上上上左左左と検索方法に
合わせてやればいいと思っていたけど。

>FEはそういうの無いのでしたっけ
ある位置を通過する事で発生するイベントは無かったと思う。
待機する事でならあるけど、それはその部分で問題にはならない。

ただ、ダメージ床は封印、烈火であったと思う。
ダメージ床を通らないといけない場所は、どうしているのだろう。
移動可能位置の色を変えたりしたりしているのかな。

>level12の作品
キャラが画面いっぱいにいて動くスペースがない。
どこかデータが違っていたのかな。20、30体ぐらいでいいと思う。
008910704/03/31 19:03ID:J7xQt3Sm
基本編 Level4 と思ったけど通行不能な地形を作るのを忘れた...
C + SDL
http://gamdev.org/up/img/399.zip
0090名前は開発中のものです。04/03/31 19:28ID:269irEEC
敵の思考ルーチンで、質問があります。
移動可能範囲内に攻撃対象があるか検索して、その中でHPが少ない奴や近い奴を
選んで対象の隣に移動して攻撃するようなプログラムを組んでるんだけど、
移動範囲内に攻撃の対象がいない場合どうすればいいんですか。
今のところ、移動可能範囲内に敵が見つかるまで範囲を広げていく方法で
敵の位置は分かったんですけど、移動先を決める方法が分かりません。
0091名前は開発中のものです。04/03/31 20:09ID:4Ju389xz
>>90
自分だったらどうやって動かす?
相手の手を読んで次の移動で隣接できる位置に動かす?
それとも一直線に突っ込んでいく?
地形効果が得られる場所にとりあえず置いておく?

とりあえず自分と同じ考えをするルーチンを組んでみて、それを改良したほうがいいかも。
なぜそこを選ぶのか、という点を分解していけばルーチン作れるはず。
00929004/03/31 20:21ID:269irEEC
>>91
攻撃対象に一番近い位置に移動させたいんだが、
どこが攻撃対象に一番近い位置なのかを判別するプログラムが分からない。
0093名前は開発中のものです。04/03/31 20:50ID:hvultEH1
なかなか書き込めない。連書きになっていたらすまそ。

>>89
まず、画面スクロールの部分が直ってますね。

質問なんですが、進入ロスの部分が分からない。
草地、平地、荒地の地形があるみたいだけど、
地形の種類ではなくて、高さの方で行っているのかな。
0094名前は開発中のものです。04/03/31 20:55ID:4Ju389xz
>>92
移動した後の場所からさらに移動して、目的地に到達する地点をピックアップすればOK。
2回移動処理してその消費ポイントの総計が少ない場所だな。
00959004/03/31 21:00ID:269irEEC
>>94
なるほど!ありがとうございました。
0096名前は開発中のものです。04/03/31 21:00ID:hvultEH1
>>90
平平平平平 01234 → 敵____ → _____
森平平平平 22345 → _____ → ____b
山森平山平 64486 → _____ → _____
森平平森平 75577 → ___C_ → _ac__
山平平平平 106788 → A___B → _____

ずれるのでメモ帳などで見てください。

敵が移動する敵キャラ、移動力は5。
アルファベットの大文字が味方キャラ、小文字は移動する位置。

それぞれのキャラの位置に移動するための最短の道を探し、
その道を移動力分フルに使って進む。

いちばん簡単なやり方は、距離が一番近い味方によっていくなら、
必要移動力が7の所に居るCによっていくためにcに移動する。
同じような感じで、一番弱い味方によっていくなら、
よって行くキャラの小文字の部分に移動すればよい。
00979604/03/31 21:05ID:hvultEH1
>>90>>96
すいまそん。Cには射程1でも攻撃できてしまう(^^;。
移動力を4にして考えてください。
その場合は以下の位置に移動します。

____b
_____
_ac__
_____
_____
009810704/03/31 21:11ID:J7xQt3Sm
今度こそ Level4 です。C+SDL
http://gamdev.org/up/img/401.zip

>>89
絵がどうしようもなくてスイマセン。
平地、草地、砂地、水(追加) です。移動抵抗値はそれぞれ
平地:1
草地:1
砂地:3 (さきほどのは2でした)
水: 20
です。水タイルがガリガリ君ソーダ味みたいになってしまいました。
009910704/03/31 21:12ID:J7xQt3Sm
間違えた。at >>98,
×>>89
>>93
ちなみに高さではまだ制限はかけていません。
0100名前は開発中のものです。04/03/31 21:48ID:hvultEH1
>>98
サンクス。分かりました。
010110704/04/02 00:32ID:koF3jQIY
SDL_kanji を使って文字出し。動的リンクに拘ったら結構疲れた...
C + SDL D9_ver0_21
http://gamdev.org/up/img/402.zip

# SDL で日本語って鬼門のような気が
010210704/04/02 00:34ID:koF3jQIY
書き忘れ。
DLLs/下の DLL を d9.exe があるところにコピーして実行してください。
d9.exe はパスが変わると動かないので注意してくださいませ。
0103名前は開発中のものです。04/04/02 09:33ID:NTd6JQAo
>>101
SDLで日本語を使うのは大変なのか。知らなかった。
CのウィンアプリならTextOutで一発。
どのマシンでも動くようにできているため、実装するのが大変なのかな。

画面からはみ出た部分の残像の消去が行われているが、
色が微妙に違っていて、その色が残ってしまう。
後、端の段差の部分がスクロールしたとき、
同じように似た違う色が残っている。
0104名前は開発中のものです。04/04/02 13:23ID:CX7v2wvW
level13
http://gamdev.org/up/img/404.lzh
メンバ変数にhpなどを加えただけ

level14
攻撃力8、HP15に設定してみました
敵を2回殴ったら死にます
ついでに出しすぎてたユニットを減らしました
0105名前は開発中のものです。04/04/02 13:23ID:CX7v2wvW
level14を貼り忘れてました
http://gamdev.org/up/img/405.lzh
それにしても404.lzhってまぎらわしい
0106名前は開発中のものです。04/04/02 14:04ID:CX7v2wvW
level15
http://gamdev.org/up/img/406.lzh
ユニット上で右クリックするとステータス表示
0107名前は開発中のものです。04/04/02 18:39ID:NTd6JQAo
>>104-106
LV15までしっかり出来ていますね。

更新したらいいと思う所は、移動するユニットを押した後の
キャンセルボタンが無いから欲しい。
マウスはボタンが二つしかないから大変だけど。

後は、職業がもう少し多く欲しい。
職業ごとに能力値を決めて個性を出す。
ランダムで決める場合も高低の傾向を残るようにして。

その関連でもあるけど、LV16の課題は、職業によって移動コスト
(進入ロス)の値を変化させるが良さそう。
人は戦闘力は低いが、どの地形もそれなりにスムーズに進める、
戦車は戦闘力は高いが、地形が悪い所は移動コストが高い、
飛行機は戦闘力抜群で、どの地形も移動コストを1で進める、など。
0108名前は開発中のものです。04/04/02 20:13ID:Dr8j7PoM
飛行機最強?
0109名前は開発中のものです。04/04/02 22:26ID:NSXyaUx+
基本的には最強。そのかわり燃料とかのペナルティがあるもんだな。
0110名前は開発中のものです。04/04/02 23:02ID:NSXyaUx+
あと、ユニットの一連の操作は、状態遷移図を書いて考えるべきだと思うんだが、どうよ?
0111名前は開発中のものです。04/04/03 05:56ID:ruJl5s2a
戦闘画面編level01
http://gamdev.org/up/img/407.lzh
0112名前は開発中のものです。04/04/03 06:07ID:ruJl5s2a
戦闘画面編level02
http://gamdev.org/up/img/408.lzh
0113名前は開発中のものです。04/04/03 06:30ID:ruJl5s2a
戦闘画面編level03
http://gamdev.org/up/img/409.lzh
0114名前は開発中のものです。04/04/03 09:17ID:i6croG5F
>>111-113
お疲れ様です。
LV1、LV2はしっかりできていますが、LV3が少し違う感じがします。
環境によって動作が違うかもしれないし、うまく説明できませんが。

もし環境がwinなら、以下のサイトの「C言語なサンプル」の所にある
「戦え」というのを参考にしてはいかがでしょう。
http://hp.vector.co.jp/authors/VA016117/index.html
0115名前は開発中のものです。04/04/03 10:07ID:ruJl5s2a
>>114
戦闘画面編level03a
http://gamdev.org/up/img/410.lzh

こんな感じですか?
011611404/04/03 10:49ID:i6croG5F
>>115
速い!ばっちりです。
後は、細かい所だけど、HPが減った分を更新表示し、
もし倒したならキャラを消すといいと思う。
0117名前は開発中のものです。04/04/03 11:32ID:0c9Pl1UA
キャラちゃんと消えてるよ?
0118名前は開発中のものです。04/04/03 11:34ID:0c9Pl1UA
自身に攻撃しても敵の表示は赤いのね
011911404/04/03 12:33ID:i6croG5F
>>117
いや、戦闘画面の中の敵です。
ooダメージと出た後、HPを減らし表示を更新。
HPが0になっていたら敵を消す。
0120名前は開発中のものです。04/04/03 12:37ID:wNmja9ez
攻撃範囲の外にいる敵に攻撃できるのは仕様?
0121名前は開発中のものです。04/04/03 13:11ID:ruJl5s2a
戦闘画面編level03b
http://gamdev.org/up/img/411.lzh

ご指摘いただいた箇所の修正です
ありがとうございます
012211404/04/03 16:30ID:i6croG5F
>>121
ご苦労様。しっかり出来ています。
0123名前は開発中のものです。04/04/03 17:15ID:ME7YITW6
>>121さん
自分で自分を攻撃できるのは仕様ですか?
0124114(!121)04/04/03 20:49ID:i6croG5F
>>123
自分、味方、敵とかでなく、射程0に対しても攻撃できるからだと思います。
今は最大射程のみ決められていて、最低射程は0固定だけど、
製作が進んできたら入る項目になると思う。
012510704/04/04 03:58ID:1VY7X8Kq
level5を達成するには

攻撃可能範囲を設定

そう言えば武器はデータファイルから読み込みたいなぁ

試しに外部ファイルから読み込む部分を作ってみよう



C + SDL D9_ver0_23
http://gamdev.org/up/img/413.zip

武器はおろか、マップだけを外部ファイルから読み込むテスツ。
本当に死にそうになったので、今回からファイルは EUC-JP (LF) にしました。すいません。
0126名前は開発中のものです。04/04/04 08:41ID:LZtw2hsi
>>125
なんかマップが寂しくなってしまった。

外部ファイルからという事で、ためしにマップデータらしきdata/map/m001.xmlの
数字の一番左上をを01から02に変更してexeを実行したら、
そこのチップがなくなり、移動道順検索のときにエラーが発生してしまった。
グラフィックデータから見ると草地に変更されると思ったのですが。

外部ファイルに変更することはいいことだと思う。
武器やマップが増えてきたとき、整理しやすいし、変更もしやすい。
形式は、作者にとって一番使いやすいやり方でいいと思う。

後、マップ外の残像のバグが直っています。
012710704/04/04 13:47ID:1VY7X8Kq
>>126
すいません。マップ解析は今はまだほとんど決め打ちです。
高さ0レベルのみ、作れるのは平地のみ、等々...

>後、マップ外の残像のバグが直っています。
これは頑張りましたので(笑。
小手先の修正を行ってしまったのが、「バグがバグを生んだ」原因でした。

このスレの趣旨でもある「段階的に開発していく」のは方針としては有効ですが、
目先のレベルをクリアしようとして場当たり的な改良をしないように気をつけないといけないですね。
あくまで目標は「シミュレーションゲームを作ること」ですと。
012812604/04/04 18:34ID:LZtw2hsi
>目先のレベルをクリアしようとして場当たり的な改良を
>しないように気をつけないといけないですね。
これはすごく大事。プログラム全般にいえることでもありますね。
場当たり法でやれば、作る所までは速く作れるけど、
拡張するに当たって直さないといけない所がたくさん出てくる。
下手すると1から・・。
作ろうスレは製作を急かされる雰囲気があるから、
場当たり法で作ってしまいがちだけど。
0129名前は開発中のものです。04/04/05 00:23ID:WE9YpSoW
プログラムに慣れていないうちは、場当たり法も悪くないと思う。
慣れないうちは、
全体の見通しを付けてから進めようとしても、結局なにをやるべきかを見失う恐れがある。

ある程度ノウハウが身に付いた後に、一からやり直すのも良い経験値稼ぎじゃないかな。
0130名前は開発中のものです。04/04/05 00:27ID:WE9YpSoW
もちろん、『初心者専用』と謳っているからこそ>>130のようなことが言えるわけだが。
考えるばかりで手が動かず、挫折する初心者は多いと思われる。
0131名前は開発中のものです。04/04/05 01:00ID:+2vDVuzu
バージョンを付けるほど進化してないですが…。
C+SDL D9_ver0_24
http://gamdev.org/up/img/415.zip

遊んでたらバグ発見…。orz

>>129
良い設計をするには悪い設計を知っておかないといけないですからね。
自分もd1, d2, d3, ...と作っては捨て作っては捨て、9番目でようやくこれです。
0132名前は開発中のものです。04/04/05 12:55ID:CjXCi+fq
>>131
グラフィックが少しリニューアルされ、
再び、地形の種類が増えましたね。

下の方に浮いている地形があるけど、あういう事も出来るのか。
のちのちは潜ったり出来るようになるのかな。
01337004/04/05 17:52ID:SMtKZlOj
(;´Д`)時間なくてなかなか進まん・・・

>>128
全くそのとおりだと思います。
漏れは結局最初から作り直してるし

>>121さん
すごー(゚д゚)
同じDel使いとして応援してまつ
0134名前は開発中のものです。04/04/06 23:03ID:xq4QmTrf
>>133
(゚д゚)俺もだ、時間なくてなかなか進まん・・・
013510704/04/08 03:41ID:iljtYeaI
XMLファイル読み込み部の拡張性がどうしようもなく無かったので、
汎用的に使えるように8割近く書き直しました。
D9と切り離しても使えるまでになりました。
http://gamdev.org/up/img/425.zip

が、Cygwinで動かなくなりました。バイナリは入っていません。追っかけなくちゃあああああああああああああ
0136名前は開発中のものです。04/04/08 08:50ID:YbTxqvvB
>>135
exeが見つからない。いつもはsrcにあるんだけど。
D9と切り離す、バイナリは入っていないの意味は分からないが、
それの関係なのかな。
013710704/04/08 10:20ID:iljtYeaI
>>136
いつもつくっている d9.exe はCygwinでビルドしていたものです。
今回の修正でCygwinでビルドしたものがまともに動かなくなったので
実行ファイルは同梱していません。
ちなみにまともに動いても見た目としては以前より劣るものになります。
013810704/04/08 10:27ID:iljtYeaI
いやー、検索してみたところ、どうやらmalloc()した領域の二重開放をしているみたいです。
なんでFreeBSDで再現しないのかは分かりませんが、氏にたくなりました。
013910704/04/08 11:20ID:iljtYeaI
原因が分かりました…。Cygwinを少しでも疑ってしまった自分が情けないです。
今時間が無いので次のアップ時にバイナリと原因を書き込みます。

ワイがアホやってん…orz orz orz orz
014013604/04/08 12:29ID:YbTxqvvB
>>137
了解。修正は大変でしょうががんがって。
0141名前は開発中のものです。04/04/08 12:29ID:43WESuae
>>139
        ○ まぁイッパイ ドゾ
 _| ̄|○ uノ)
         ̄
0142名前は開発中のものです。04/04/08 18:57ID:nK/mlQI1
http://gamdev.org/up/img/436.lzh

【操作方法】
  左クリック:操作対象を選ぶ / 移動先を選ぶ
  右クリック:移動のキャンセル / ターン終了確認

敵が一番近くのプレイヤーに寄ってくるところまではできた風味。
まだ攻撃はできないし、してこない。

敵のターゲット補足の方法を変えれば、例えば体力が一番低いやつを追っかけたりとかもできるはず。。。

味方はメニューを出せば「攻撃⇒移動」「移動⇒攻撃」を選べるけど敵はどうしよう。
攻撃できる状態(すでにプレイヤーに隣接している)なら「攻撃⇒移動」、
それ以外なら「移動⇒攻撃」にするとか?
0143名前は開発中のものです。04/04/08 20:55ID:YbTxqvvB
>>142
仰っている所はしっかりできている。
細かい所では、移動範囲以外を暗くして
移動範囲が目立つような演出がされている(^^)。

敵のコマンドは、仰るようなやり方でいいと思う。
FEの再移動みたいな、例えば移動力が8で、3歩分しか使っていなかったので、
攻撃した後さらに5歩分移動できるみたいにする方法もあるけど。
0144名前は開発中のものです。04/04/09 00:38ID:0kKs6a7z
>>142
これ、鬼ごっこみたいで面白い
014514204/04/10 01:42ID:2zLjyYVn
作業中にフリーズ食らった
もうやる気しない
0146名前は開発中のものです。04/04/10 03:21ID:yG5v3On8
ガンガレ!
・・としかいいようがない
0147名前は開発中のものです。04/04/10 18:03ID:luar88ii
Lv15
http://gamdev.org/up/img/448.lzh

Lv11はDirectX使わないと駄目な予感。
0148名前は開発中のものです。04/04/10 18:09ID:luar88ii
途中で送信してしまった・・・・

>>143タソのいったとおりヒットアンドアウェイが可能になった。
ステータス画面の「移動:7/7」とかであと何歩歩けるかが分かる。

ステータス画面の表示が一瞬遅れるのはビットマップ拡大コピーのせい。
なんかいい方法ないかの〜
0149名前は開発中のものです。04/04/10 18:11ID:IG55B5LB
>>145
CVSかsubversion使え。
0150名前は開発中のものです。04/04/10 20:33ID:tlqdAvhY
>>147-148
すごく良く出来ている。
目に付いた直したほうがいい所も特に無い。
ステータス画面の表示が遅れるというのも、遅いと思わなかった。

移動システムは、FEの再移動と微妙に違う。FEは、移動→攻撃→再移動の
一連の流れをこなすと自動的に行動終了になってしまうが、
このゲームは待機をしなければ、残っている行動可能分をいつでも実行できる。

FEだと通せんぼしている敵を、みんなで少しずつ削りながら倒した時、
フィニッシュした味方以外は、敵のより前に行けないが、このゲームだと
みんな前に行ける、見たいな事が出来るので、より手の広い戦略が立てられそう。
0151名前は開発中のものです。04/04/11 21:52ID:bLJXT2Cs
AI編 Lebel-3
http://gamdev.org/up/img/469.lzh

たぶんできてるはず・・・
ちなみに敵はヒットアンドアウェイしない。
他のユニットの都合を考えられるようにしないと無理ポ
0152名前は開発中のものです。04/04/11 22:40ID:bLJXT2Cs
http://gamdev.org/up/img/470.lzh

再移動の際の歩数計算がおかしかったのを修正しますた
0153名前は開発中のものです。04/04/12 02:20ID:Y7o5gJHf
>>152
ばっちりですね。かなりゲームらしくなってきた。
追加するといいと思う所は、敵を左クリックしたとき能力を見られるが、
その時に敵の移動範囲と攻撃範囲を表示するといいと思う。
敵の攻撃範囲に入っているか簡単に分かるので、戦略が立てやすくなる。
0154名前は開発中のものです。04/04/12 23:50ID:0APJzoLE
470.lzhは最適経路を通ってないみたいです

 1 2 3 4 5
1草草草草草
2草草女草草
3水水水草草
4水水草草草

女の移動力は5です。
草地の移動ロスは1、水は4です。
女がX4Y3に移動するとき、↓→の順番で移動してしまうので再移動できなくなるという・・・
なるべくロスが少ない経路を通るようにしないとだめっぽい
0155名前は開発中のものです。04/04/13 00:06ID:WxSGeCEW
いい方法が見つかるまで再移動やめときます
鬱死
■ このスレッドは過去ログ倉庫に格納されています