初心者専用スレ「シミュレーションゲーム」を作らない?
■ このスレッドは過去ログ倉庫に格納されています
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
0541名前は開発中のものです。
05/02/06 17:02:07ID:Da8m3Kpn代わりに
ぽ
0542名前は開発中のものです。
05/02/10 06:23:22ID:0glaX97a卒研をかねているのでかなりごたごた、しかもグラはシミュレーションRPGを使ってるんだが大丈夫だろうか?
0543名前は開発中のものです。
05/02/10 06:23:56ID:0glaX97a0544名前は開発中のものです。
05/02/11 00:31:50ID:pD+B9ZfR0545名前は開発中のものです。
05/02/11 01:16:21ID:G0/LXJgD>>537-541
ガッ!
0546名前は開発中のものです。
05/02/19 00:39:40ID:lMuS3VdBttp://www.src.jpn.org/
0547名前は開発中のものです。
05/02/19 02:01:49ID:gbt/TKAd0548名前は開発中のものです。
05/02/19 03:14:57ID:PBWmYR9A0549名前は開発中のものです。
05/02/19 04:08:10ID:RpiaXR9Y0550名前は開発中のものです。
05/02/19 08:55:19ID:1rAF19AM0551名前は開発中のものです。
05/02/20 18:30:49ID:Sdsq6e+Gこのスレのlevel4のように障害物のあるものは
具体的にどう作ればいいのか分かりません。
移動者の中心から全移動ルートを一マスずつ探ればいいのでしょうか?
だけど無意味なルートの処理(既に移動可能と判断されてるマス)
まで調べてしまい、処理速度に大きな影響がでてしまいませんか?
0552名前は開発中のものです。
05/02/20 21:14:47ID:MZHZOmE6今の段階で、どんな方法で計算しているか分からないけど、
既に可能な所は、読み飛ばすとかすればいいのでは。
0553名前は開発中のものです。
05/02/20 21:54:04ID:D20139+pAge of Empires IIってPCゲーム友達からもらって遊んでみたら、
マップエディタを作る気が失せた・・。
0554名前は開発中のものです。
05/02/20 22:09:18ID:43VBy+PF体験版にしとけ。
0555名前は開発中のものです。
05/02/20 22:09:29ID:yMDXw/8g>移動者の中心から全移動ルートを一マスずつ探ればいいのでしょうか?
基本的にはそう。障害物があるマスは移動ルートの検索から外す。
>処理速度に大きな影響がでてしまいませんか?
凄い出るけど、それは基本的な移動アルゴリズムを作り上げてから考えても遅くはない。
0556552
05/02/20 22:12:02ID:MZHZOmE6あっ、たぶん再起法でやっているのかな。
このスレにも出てきている、ダイクストラ法なら、
地形によって遅くなるという事はないと思う。
>>553
よく分からないけど、普通の2D用のマップエディタを作ろうとしていた所、
そのゲームを見てしまった衝撃を受けたという感じ?
0557名前は開発中のものです。
05/02/20 22:54:00ID:YD13bL3p何故?
0558名前は開発中のものです。
05/02/20 22:59:15ID:D20139+pとても作りやすい構成だったので、量がおおいのは置いといて。
質も良かった。何十人もの人が長い年月かけて作っているように思えたし。
>>554
譲渡はだめなんですか?
CD無いと遊べないから、遊べる権利も譲ったという解釈は?
0559名前は開発中のものです。
05/02/20 23:01:30ID:yMDXw/8g0560551
05/02/22 01:52:48ID:kB9x/Qrkスマソ。今はBCC使ってるんですが、
シミュレーションはVBでちょっと簡単なもの作ったくらいです。
ついていけなさそうなので出直してきます(´・ω・`)
0561名前は開発中のものです。
05/02/22 08:03:24ID:EPbyao3kBCCなら、そこの部分の簡単なプログラムをうpして上げましょうか?
0562名前は開発中のものです。
05/02/22 11:50:17ID:gi6gzinK敵国のスパイだな。
>C:\bcc55にすりゃあいいだろがタコ!!
心の問題だから駄目なんだよ!!
0563551
05/02/22 21:07:40ID:7DQGglZBd。けどダウソは禁じてるので。
大まかな仕組みと流れが分かれば
自分で何とか組んでみたいです。
0565名前は開発中のものです。
05/02/23 10:26:24ID:DyDx9zzAバイナリエディタで見ただけでアウト!!だ。
0566561
05/02/23 19:11:22ID:3gPHR2JMフォルダ名は見つからなかったけど、どこら辺?
プログラム中で使った文字列と、使ったライブラリ関数の名前は表示された。
キャラ、アイテムの名前とか丸見えでびびった。
0567名前は開発中のものです。
05/02/23 22:07:32ID:p6wvwP+M0568名前は開発中のものです。
05/02/24 13:54:50ID:SJ9IDH8n0569名前は開発中のものです。
05/02/24 21:32:27ID:ObnyDdFD0570名前は開発中のものです。
05/02/27 21:40:51ID:6KCxyQGSまずはレベル1から挑戦だ
0571名前は開発中のものです。
05/03/02 17:41:19ID:/Kr8mOUtlv4まで作ってみた。
移動可能範囲検索がよく分からん。
移動力を上げるとかなり重くなる。
あと、ソースにコメントを付ける習慣がまったくないんだけど、やっぱ付けるべき?
0572名前は開発中のものです。
05/03/02 19:39:26ID:sPyl3EBw0573名前は開発中のものです。
05/03/03 03:19:56ID:LcIzefXc半年後に見たとき、コメント付けときゃよかったと後悔すると思う。
0574571
05/03/03 09:35:25ID:JAyscznJ>>572
関数名か...かなりテキトーに付けてるからな。
もう少し考えて付けるようにするよ。
>>573
なるほど、後のことは全然考えてなかった。
でも、半年後に見直すこと自体ない気がする。
でも、まぁこれからは今後のことを考えて、関数名もコメントも分かりやすく付けるように努力すろ。
0575571
05/03/03 09:36:03ID:JAyscznJ0576570
05/03/05 10:21:16ID:4Hpkt+sNちょっとごちゃごちゃしてるかな
http://gamdev.org/up/img/2390.png
0577570
05/03/11 18:25:17ID:yIB/u6EUhttp://gamdev.org/up/img/2416.zip
0578名前は開発中のものです。
05/03/11 19:51:37ID:KL0zJtF0良い。探索が速いね。
移動のアニメはしないの?
経路探索も面白いんだけど。
0579570
05/03/12 00:37:32ID:7ponwXKB探索は再帰処理だけど、思ったより早かったよ。
明日は休みなので、経路探索挑戦みる。
0580名前は開発中のものです。
05/03/12 01:26:23ID:QZaGJYEK0581名前は開発中のものです。
05/03/12 01:43:09ID:vfjAxALQ移動先を開始地点にして、上下左右のマスの中で、記録してある移動力が
大きい方へ移動を繰り返していくと、最終的に必ずプレイヤーの現在位置へ戻る。
00100
01210
12321
01210
00100
の、「3」がプレイヤーの現在位置で、たとえば、(2,0)の位置へ移動したい時、
(2,0)→(2,1)→(2,2)と、数字が大きくなってるでしょ。
0582名前は開発中のものです。
05/03/12 01:49:50ID:vfjAxALQ移動範囲探索の時に、進んだ方向を記録していって
マスのフラグを立てる時に、それまでの移動方向もマスに持たせる。
>>581 の図(?)で、
(2,0) のマスは、「↑↑」
(3,3) のマスは、「→↓」
みたいな感じで。
移動方向は2bitで表現できるけど、1byteにした方が使いやすいかな。
他にも良い方法があるかも知れないけど、知ってるのはこの2つ。
おすすめは前者だけど、再帰使うからバグが出る可能性も。
0583名前は開発中のものです。
05/03/12 01:51:09ID:QZaGJYEKここにあったか、スタック、キューは使いようってことだね
(縦×横)×(縦×横)の配列データをマップロード時に先読みするのはありなのかな?
0584名前は開発中のものです。
05/03/12 02:10:14ID:vfjAxALQデータとしては大きくない?
0585名前は開発中のものです。
05/03/12 02:22:55ID:QZaGJYEK別のエディタであらかじめ計算したデータを使えば早いかなと思いまして。
でも縦256*横256なら4GBなんですね・・・電卓叩いてびっくりした
0586名前は開発中のものです。
05/03/12 02:27:06ID:QZaGJYEKで、この方法の意味を考えてたんですが
これ移動範囲可視の後の実移動の際、2度目の検索がいらないやり方ってことですかね
0587名前は開発中のものです。
05/03/12 03:15:33ID:vfjAxALQそう。
移動先のマスに保存しておいた移動経路を辿るだけだから、探索時間は0。
ただし、マップが大きいと、メモリ食うかも。
最高移動力を10として、移動方向を1byteで扱うなら
経路保存に必要なのが1マスにつき10byte。
もし、すべてのマスに、この経路保存変数を持たせると、
256*256のマップの場合640KBも使うことになる。
もちろん、移動範囲内だけ保存するようにすれば、少なくて済むけど。
移動力10のユニットが、平地の真ん中に居た場合、移動可能範囲は
220マス。(範囲計算は (1+n)*n*2)
220*10 = 2200 で2KB程度。
0588名前は開発中のものです。
05/03/12 04:16:56ID:KBF6L85uヘクスのマップ(配列じゃなくてハッシュ)、地形によるロスあり、移動力10って条件で
探索を1000回繰りかえしたけど一秒もかからない(つまりミリ秒以下)
ファミコン時代とかなら突き詰める価値はあったと思うけどね。
0589名前は開発中のものです。
05/03/12 05:24:45ID:QZaGJYEKターン制SLGならコスト的にもリーズナブルそうですね。
瞬間移動してたらSLGっぽさがないし、これはいい。
大グリッドと小グリッドに分けた経路探索ならAIにも対応できるかも(無謀?)
>>588
> ハッシュ
隣接面への参照を保持してやってるのかな?難しそう・・・
リアルタイム3次元マス(キューブ?)での経路探索が気になるところです。
0590名前は開発中のものです。
05/03/12 06:26:08ID:vfjAxALQ三次元だと、基本は同じで、探索方向に上下が加わるだけじゃない?
計算量は増えそうだけど、面白そうだ。
0591名前は開発中のものです。
05/03/12 14:29:06ID:1mojNwQFはえぇ いやそれって1秒以下じゃないの?
0592名前は開発中のものです。
05/03/12 15:09:46ID:nSnZ9md9一回当たり?
0593名前は開発中のものです。
05/03/12 18:15:02ID:vfjAxALQそんぐらい速ければ問題ないけど、
速いに越したことはないよね。
レスポンスが悪いゲームって本当にイライラする。
0594570
05/03/12 19:04:04ID:7ponwXKB経路探索の方法はいろいろあるようだけど、
再帰のときにどのセルから検索されたかを記録しておいて、
移動先から逆算する方法にしてみた。
http://gamdev.org/up/img/2423.zip
0595名前は開発中のものです。
05/03/12 21:56:13ID:vfjAxALQ乙。スクロール、スムーズでいいね。
気になった点が一つ。
描画順がおかしくない?
青いユニットを赤いユニットの真下に移動すると分かるんだけど、
赤いユニットの方が必ず青いユニットの上に被る。
0596名前は開発中のものです。
05/03/13 01:13:12ID:i5DBmPnB乙
ちょっと遅いんだけど俺だけ?
カーソルがマウスについてくるまで1秒ぐらいかかってる
スクロールも毎秒3マスぐらい
0597570
05/03/13 11:53:57ID:t2mLGEb8ありがとう
描画順はぜんぜん考えてなかった。
ユニットが移動したらソートしないといかんのか。
毎フレーム書き直ししてるからマシンスペックによっては遅くなるかもしれん。
正しく動くだけでなく、早く動くということも考えないといけないんだね。
0598名前は開発中のものです。
05/03/13 12:04:44ID:rwmeSzIL自分自身のマスを攻撃対象に出来てみたいだし工夫のしどころ
0599571
05/03/16 22:59:42ID:xd0KEMVllv 〜8,11,12,16,17 まで
http://gamdev.org/up/img/2431.zip
0600名前は開発中のものです。
05/03/17 12:05:45ID:kuCcYYYC移動する位置への道順が、移動する前に表示される。
なかなか、かっこいい演出。
0601名前は開発中のものです。
05/03/17 18:44:27ID:Kyvq5PYy@Pentium4 1.8GHz、RAM 768MB
重すぎる… ゲームにならない。描画がマウスに追いついてない。
CPU使用率が100%。
マウスが動くたびに描画してるみたいだから、描画が遅いんだと思う。
Unit1.DrawMap 、各セルで毎回全プレイヤーと全敵の位置を照らし合わせてるけど、
この管理方法なら、マップはマップ、プレイヤーはプレイヤー、敵は敵で、
別々に描画したほうがよさそう。少なくとも条件文は無くなる。
0602名前は開発中のものです。
05/03/17 22:07:42ID:bPO4DfQ/そんなに遅い?
うちはAthlonXP 1.8@0.8GHz だけど
CPU使用率最大4%くらい
0603571
05/03/17 23:44:52ID:gvb+Ge3i実は、移動方法考えるときのデバックとして付けた機能がそのまま残ったものだったりする。
>>601
ホント?
うちは700MHz,128MBのオンボロだけど、十分動くよ。
でも、できるだけ軽くなるように描画方法も考えてみる。
アドバイスありがと。
0604570
05/03/19 16:07:38ID:n9XyEYKf以前よりだいぶ高速化したつもり。
http://gamdev.org/up/img/2442.zip
>>599
Pentium4 2.8GHzだけど、すべての動作が1テンポ遅れる感じ。
共にがんばろう。
0605名前は開発中のものです。
2005/03/21(月) 07:22:23ID:xSRFvs+QSLG を作ろうと思って、フレームワークを作り始めたら、
気づくと、DirectX をラップした QuadrupleD をさらにラップしていたとです…
ヒロシです…
level 1 がなかなか終わりません!
ヒロシです… ヒロシです… ヒロシです…
0606名前は開発中のものです。
2005/03/21(月) 18:52:51ID:vC1r8qsaおっ、チームが増えてる。
操作性は、遅くは無いけど、重い感じ(CPU率が高い)。
0607名前は開発中のものです。
2005/03/23(水) 18:53:36ID:QKupgVqx0608571
2005/03/25(金) 22:06:41ID:hUnU9rQK他は変更なし。
http://gamdev.org/up/img/2461.zip
>>604
常にCPU率が100%になる。
うい、がんばりましょう。
0609601
2005/03/26(土) 01:28:56ID:Us5vTj+nサクサク動くようになった。CPU使用率はほぼ0%。
なるほど、バッファのTImage作ったのね。よさげです。乙。
>>604は確かにCPU使用率が高いけど、FPS制限してないからだね。
300FPSぐらい出てるから、FPS抑えれば滅茶苦茶に軽くなると思う。
0610名前は開発中のものです。
2005/03/27(日) 12:57:56ID:T9oV5wT4ソース見せてもたっらんですが、デストラクタを書いたほうがいいとおもいますた
0611名前は開発中のものです。
皇紀2665/04/01(金) 01:51:22ID:SPfs8D6Q0612名前は開発中のものです。
2005/04/04(月) 00:34:36ID:1OKLMiow開発環境は Delphi 7 + QuadrupleD。
Practical SLG (Level 4 の移動まで)
http://gamdev.org/up/img/2482.zip
ゲーム開発は初めてなので、不慣れなところが多いです…
クラス構成とか不安…。一応 ReadMe.txt に解説書いてあります。
一応、うちのPCだと 約30fps で CPU使用量は 0〜20% ぐらいです。
何かアドバイスとか、不具合とかあったら、教えてください。
0613名前は開発中のものです。
2005/04/04(月) 03:20:24ID:jHrujCNT歩行画像、向き変更があっていい感じ。
不具合は特にないが、CPU率は少し高い気もする。
0614名前は開発中のものです。
2005/04/04(月) 15:42:23ID:TKsHR4Ocプレイしました。
デザインパターンも知っておられるようですし、
ゲーム以外では明らかにプログラム慣れしていそうですね。
そうなるとクラス構成なんて個人個人の趣味みたいなもんなので、
問題ないのではないでしょうか。
発見したバグは、ウィンドウ最大化時に
マウスのカーソルがずれるくらいでした。
0615612
2005/04/04(月) 18:37:07ID:1OKLMiow試験ありがとうございます。
CPU率高いですか… これからもっと高くなるかもです…
工夫していきたいと思います。
>>614
ありがとうございます。
実は、デザインパターンの勉強も兼ねています(笑
クラス構成はまだ改善の余地ありと見てますが、
そう言って頂けると大変安心しました。
> 最大化時にマウスのカーソルがずれる
あ… ウィンドウスタイル指定するの忘れてました(´・ω・`)
0616名前は開発中のものです。
2005/04/18(月) 17:47:30ID:mbf+zZxd何度も挫折を繰り返し、初心者って感じじゃないんだけどいいですかね?
意見を聞きつつ開発したほうが持続力がつきそう。
今は、あまりに孤独じゃー
0617名前は開発中のものです。
2005/04/19(火) 14:21:35ID:k0wyhy8xそれは冗談として、見てる人はそれなりに居るはず
とりあえずなんか始めてみれば出てくるんじゃない?
0618名前は開発中のものです。
2005/04/20(水) 17:52:00ID:neMwYGyi0619名前は開発中のものです。
2005/05/07(土) 03:10:25ID:evUDXxkACPUが操作するユニットのターンになった時に、
ユニットが移動や攻撃をする度にスレッドを作って
移動アニメーションを行うのですが、一気にループを
回してしまうと何が起こっているのか分からないので
移動や攻撃が終わるまではSleepしているのですが、
それではメインウィンドウプロシージャがメッセージを
受け取れなくなってしまって他のアプリケーションを
起動していたりすると画面が白転してしまいます。
VC++で作っているのですが、Sleepなどで待機しても
プロシージャがきちんとメッセージを受け取れるようにするには
どうすればよいでしょうか。長文すみません。
0620名前は開発中のものです。
2005/05/07(土) 05:22:15ID:evUDXxkAすれ違い気味の質問、失礼しました。
0621名前は開発中のものです。
2005/05/07(土) 10:47:58ID:JNaDZvUu子スレッドにするのは思考ルーチンだけにしておいた方が良いよ。
0622名前は開発中のものです。
2005/05/07(土) 23:05:43ID:evUDXxkA了解しました!
0623名前は開発中のものです。
2005/05/13(金) 11:01:36ID:4Br0vKQQHSPで完全オリ〜スレに移ったほうが良い?
0624名前は開発中のものです。
2005/05/13(金) 13:13:35ID:E2VMflw9棲み分け的には
・シミュレーションゲームの基礎知識&プログラミングの練習
→ここ
・(HSPの)スキル有り&仕様、シナリオ案があって開発が可能
テストプレイヤー的な意見を希望
→向こう
って感じだと思う
0625名前は開発中のものです。
2005/05/13(金) 14:05:39ID:4Br0vKQQつっても俺が考えているのは、厳密にいうとシミュレーションゲーム、とはちょっと違うような気が・・・
どちらかというとRPG的要素が少なからずあるような。
今日から居候するので宜しく。悪い点はバシバシ指摘してもらえるとありがたい。
心配なのは、このスレのHSP人口が低そうな点だけど・・・。
0626名前は開発中のものです。
2005/05/13(金) 15:05:03ID:XuCqCN520627名前は開発中のものです。
2005/05/13(金) 18:23:15ID:1w8R4xbI例えば、SLGの移動1つとっても茨の道だけどがんがって!
0628bz
2005/05/15(日) 01:02:09ID:v36HvDDCやたら変なところで凝っているくせに、未だにキャラの移動すら出来ていないorz
とりあえず明日までにはキャラの移動を完成させる。
今の所のスクリーンショット
ttp://gamdev.org/img/img-box/img20050515005932.jpg
グラフィックがヘチョいのはスルーして・・・orz
0629bz
2005/05/15(日) 23:34:12ID:v36HvDDCとりあえずレベル2。極めて読みにくいソースコードつき。
こんなヘボいのに100行以上使ってどうするんだか・・・。
デザインは後回しでいいと頭では分かっていても、ついつい手を出してしまう。
あー、次はアニメーションさせようかなー。素材だけはそろっているんだけど。
HSPで〜スレに滅茶苦茶クオリティの高い作品が上がっていて呆然。
俺だっていつかあんなのを・・・無理ぽorz
0630名前は開発中のものです。
2005/05/20(金) 21:23:57ID:a4PwaMJQ0631とうりすがりのものです
2005/05/21(土) 20:26:06ID:rrjkfHGK一番シンプルなHexの表示(真上視点の6角形)と
キャラ移動の方法を知りたいです
0632名前は開発中のものです。
2005/05/21(土) 20:47:44ID:4glDUKFW0633名前は開発中のものです。
2005/05/21(土) 23:38:26ID:ASH2UgW8長方形を半分ずつずらすか、平行四辺形にすると結構簡単なんだけどね。
0634名前は開発中のものです。
2005/05/22(日) 00:07:34ID:uqvFjLO80635名前は開発中のものです。
2005/05/22(日) 00:10:43ID:LyHQEhVuコツをつかめば割りといけるよ
今、作ってる奴の昔のソースなら出してもいいけど、要る?
0636名前は開発中のものです。
2005/05/22(日) 00:12:24ID:nZCAd3ZE0637名前は開発中のものです。
2005/05/22(日) 00:16:48ID:p+ndikOr0638名前は開発中のものです。
2005/05/22(日) 00:45:50ID:2NRvxqubどーもです
参考になります
特に635さんのソース気になります
とても見てみたいです
0639名前は開発中のものです。
2005/05/22(日) 00:48:21ID:nZCAd3ZE四角マップを一行置きに半マスずらしたようなHEXを考えてるんだが、
これをマップを2次元配列のまま処理しようとする場合、
奇数行と偶数行で縦方向の連続する番号が違うよな。
これを条件分岐させながら検索することになるのかなぁ、なんて思って。
0640名前は開発中のものです。
2005/05/22(日) 10:09:04ID:r8NQ8lyqFEをモデルにしてるんでHEXじゃないけど。
ttp://gamdev.org/up/img/2685.zip
Level1までできました。
0641名前は開発中のものです。
2005/05/22(日) 11:53:48ID:LyHQEhVuマップ表示だけでいいの?移動もですか?
漏れの再起処理は独流なので効率わるいかも
理論は合ってるとおもうけど
多少きれいに書き直してから
>>640
イイ感じ
■ このスレッドは過去ログ倉庫に格納されています