初心者専用スレ「シミュレーションゲーム」を作らない?
■ このスレッドは過去ログ倉庫に格納されています
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
0002名前は開発中のものです。
04/03/20 10:19ID:HjCApWI8初心者専用スレ「パックマン」風ゲーム作らない?
http://pc2.2ch.net/test/read.cgi/gamedev/1014326802/
【目標ない奴】おまいらに課題を与える。【集まれ】
http://pc2.2ch.net/test/read.cgi/gamedev/1026148930/
STGを最初からみんなで作るスレ
http://pc2.2ch.net/test/read.cgi/gamedev/1014709311/
関連ページ:
段階的学習!
http://gamdev.org/w/?%5B%5B%C3%CA%B3%AC%C5%AA%B3%D8%BD%AC%A1%AA%5D%5D
0003名前は開発中のものです。
04/03/20 10:19ID:HjCApWI8level1 表示
地形(マス目)を作成
level2 移動(1) 基本
キャラクターを地形の上に表示させマス目通りに動かせるようにする
level3 移動(2) 移動範囲
キャラクターをクリックしたときにそのキャラの移動範囲を表示できるようにする
level4 移動(3) 移動ポイント
通行不能な地形と移動ポイントを2以上消費する地形を作りましょう
level5 敵(1) 表示
敵を表示しましょうまた、自キャラを移動させたときに攻撃可能範囲を表示しましょう
level6 敵(2) 攻撃
攻撃可能範囲内の敵をクリックしたときに敵を消滅させましょう
level7 ターン(1)
ターンを付けてみよう。
level8 ターン(2)
自機を移動させたら、自機の右下に"E"と表示して動けなくしましょう
level9 ターン(3)
自機を移動→自分のターン終了→敵が移動(動きは適当でよい)→敵のターン終了→自機の移動→・・・という流れになるようにしましょう。
level10 メニュー
移動後、もしくは移動前に移動、攻撃、待機と書かれたメニューを出す
続きもよろしく!
0004名前は開発中のものです。
04/03/20 10:42ID:yrDWd4ciおつかれ〜
0005前スレの成果(Delphi6)
04/03/20 11:42ID:Yqi1HOCyhttp://gamdev.org/up/img/320.lzh
level2
http://gamdev.org/up/img/321.lzh
level3
http://gamdev.org/up/img/322.lzh
level4
http://gamdev.org/up/img/324.lzh
level5
http://gamdev.org/up/img/329.lzh
level6
http://gamdev.org/up/img/330.lzh
level7
http://gamdev.org/up/img/331.lzh
level8
http://gamdev.org/up/img/333.lzh
level9
http://gamdev.org/up/img/334.lzh
0006前スレの成果(DirectX9)
04/03/20 11:43ID:Yqi1HOCylevel1
ttp://gamdev.org/up/img/336.zip
0007名前は開発中のものです。
04/03/20 17:42ID:Omw8vI1bとりあえずLevel3に挑戦してみた。
http://gamdev.org/up/img/340.zip
0008名前は開発中のものです。
04/03/20 19:12ID:yALPf9TR0009名前は開発中のものです。
04/03/20 20:17ID:Rm0qEOqD0010名前は開発中のものです。
04/03/20 21:00ID:OecvxPVmマウスの現在位置を取得する方法はわかるのですが、
マス目ごとに取得する方法がわかりません。(おかげでマス目ごとに移動できない・・・)
どうすればいいのでしょうか?
0011名前は開発中のものです。
04/03/20 21:01ID:OecvxPVm0012名前は開発中のものです。
04/03/20 21:09ID:0rZvKGA5>>7はC++ + SDL だと思う。自分はcは分かるが、
C++、SDLともに分からないけど、きれいに書かれている感じがします。
0013名前は開発中のものです。
04/03/20 21:25ID:Kmo1OtpO0014名前は開発中のものです。
04/03/20 22:24ID:D5EKok1Oマスのドット数で割ったら縦横何マス目にマウスがいるかわかるんじゃない?
16ドットだったら、0〜15までは0マス目で16〜31なら1になる。
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
マウスのみの操作でつ。
■ このスレッドは過去ログ倉庫に格納されています