C++でFC版ドラクエっぽいRPGを作る Lv3
■ このスレッドは過去ログ倉庫に格納されています
0001はかせ
2008/10/24(金) 00:25:57ID:D59zu1hj触発されて「よっしゃ俺もなんか作る」って方はぜひうpしてください。
ドラクエフォントをインストールしておかないと表示が微妙な感じになります。
まとめサイト
ttp://chiekoubou.is.land.to/game/dqi/index.php
<<使用しているもの>>
VC++2008
DXライブラリ
ドラクエフォント
DXライブラリはここ
ttp://homepage2.nifty.com/natupaji/DxLib/index.html
ドラクエフォントはここ
ttp://slime4.hp.infoseek.co.jp/font/font.html
前スレ
C++でドラクエっぽいRPGを作る 2
http://pc11.2ch.net/test/read.cgi/gamedev/1210701179/l50
前々スレ
C++でFCのドラクエっぽいRPGを作る
http://pc11.2ch.net/test/read.cgi/gamedev/1193935988/l50
0121名前は開発中のものです。
2008/11/18(火) 21:08:57ID:bUBF1nTc60FPSで作ってるなら60msはいくらなんでも致命的すぎる
0122名前は開発中のものです。
2008/11/18(火) 22:34:59ID:HHT2Kui70123はかせ
2008/11/19(水) 00:12:28ID:4+lRQRJ9>>121 さんのいう感じです。
いままで10〜20ms で動いてたのに急に重くなったのは何か原因があるんじゃないかな、と。
>>122
今までプロファイラという言葉すら知らなかったので興味はあるんですが、有償だとなかなか手が出ないんですよねぇ…。
>>118-119
すみません、僕の知識不足で現段階で理解の範疇を超えている話みたいです。
ただ、以前は今の仕組みでそれなりの速度が出てたのでなんで急に遅くなったのかな、と。
最近PCの調子が悪いので、プログラムのせいじゃない可能性もあったのですが
試してくれる人はいませんか?(汗
0124名前は開発中のものです。
2008/11/19(水) 01:12:19ID:5PavXff40125名前は開発中のものです。
2008/11/19(水) 01:16:41ID:Ci3bf90W0126名前は開発中のものです。
2008/11/19(水) 02:07:36ID:mfSDwsh+サイトにある最新版ってヤツじゃないの?
>>1
リンクしてるDXLIBのバージョンは?
掲示板で会話されてる
http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe //VC用
http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe //BCC用
これか?
ウィンドウサイズを変えられるとかってやつ
余談だけど古いDXLIBがあるならそっちでリンクしてみたら?
軽くなるかもよ。
0127名前は開発中のものです。
2008/11/19(水) 03:36:56ID:KILvkc/1メニュー表示してる間は軽かったのでキャラクタ関係かな
あと、ひとくいばことの戦闘で逃げ続けると全滅後にエラー出るね
0128はかせ
2008/11/20(木) 00:21:27ID:w70aXpStセーブができるようになりました。
コマンドのカーソルの点滅速度を調整しました。
同種の敵が異なるグループで出てきた時にアルファベットが重複しなくなりました。
【つよさ】->【つよさをみる】で特技が見れるようになりました。
>>126
前のVerがなくてとりあえず掲示板のを削除して正式で最新版の2.25をリンクしたら20ms〜30msになりました。
20以下が好ましいですが十分な速度だと思います。
DxLibの作者は忙しそうですが、報告だけはしておいたほうがいいですよね?
>>127
バグ報告ありがとうです。
リファクタリングの時に後回しにしちゃった部分ですね。(汗
こういうゴミかそこら中に散乱してるから困る。
HPもぼちぼち更新し始めました。
SSも載せないとなぁ…
0129102
2008/11/21(金) 11:09:45ID:IPu5qEL0設置が面倒なのでもっと進めてから公開します
http://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0346.png
0130名前は開発中のものです。
2008/11/21(金) 12:45:11ID:VzqaOPozみんながんばれ
0131名前は開発中のものです。
2008/11/21(金) 16:36:30ID:hfEd7GGX今更昔のクオリティのゲーム作って何が楽しいんだ
つーかこのスレやっぱりゲーム作る人多いのね
0132名前は開発中のものです。
2008/11/21(金) 18:59:24ID:i1DpdV6J0133名前は開発中のものです。
2008/11/21(金) 19:23:12ID:ikYjJyF3応援しましょう。
0134名前は開発中のものです。
2008/11/21(金) 23:31:04ID:MeGRTVc1あと数年は9が要るよ
0135名前は開発中のものです。
2008/11/22(土) 02:08:01ID:CHbeDY4vXPのユーザーは多いから10にしてしまうのはまだ早い。
0136名前は開発中のものです。
2008/11/22(土) 09:15:12ID:cJE3HxBO(*・e・) ブタさんにのっていざ出陣ピヨ
(ヽ ヽ
ε⌒》 ヘ⌒ヽフ
(GT-R( ・ω・)
しー し─J
0137はかせ
2008/11/23(日) 22:06:32ID:kRY3YoAO・へっぽこスクリプトでFor〜Next構文を実装しました。
・全滅時にうまく動かなくなる状態を修正しました。
・【つよさ】→【じょうたい】が表示されないバグを修正しました。
王様の機能を実装するまであと少しです。
102さんもがんばって下さい。
0138はかせ
2008/11/24(月) 23:22:18ID:P2hmaVQ6久々の連投です。
一日家で作業できる時間があったのでがんばっちゃいました。
0139名前は開発中のものです。
2008/11/25(火) 00:16:26ID:ofV0Macn内容まだ見てないけど、乙!!
0140名前は開発中のものです。
2008/11/25(火) 05:25:13ID:PDlIFym8フレーム描画、本体描画、カーソル表示と選択、それぞれ単体でテストできるくらいに。
0141名前は開発中のものです。
2008/11/25(火) 05:26:42ID:3TIRCvoA0142名前は開発中のものです。
2008/11/25(火) 05:47:41ID:stIZ4vw2設計ばっかりにこだわってると前に進まないよ。
プログラム初心者にありがちな罠だな。
0143名前は開発中のものです。
2008/11/25(火) 07:43:25ID:PDlIFym80144名前は開発中のものです。
2008/11/25(火) 07:44:25ID:PDlIFym8最優先事項、とは言わない。
0145名前は開発中のものです。
2008/11/25(火) 16:54:03ID:hFVcrKJB完成しない、遊べないゲームに一切の価値はない。
0146名前は開発中のものです。
2008/11/25(火) 17:00:18ID:Q6acwlC+コードは適当だけど,さすがにファイル形式はちゃんと設計しないといけないよなあ…
0147名前は開発中のものです。
2008/11/25(火) 18:17:16ID:tnKMSKIF0148名前は開発中のものです。
2008/11/25(火) 21:04:10ID:nmxuwJhh0149はかせ
2008/11/25(火) 21:57:45ID:wJOk+are悩んでるだけじゃすすまない!って事で結構強引に一歩を踏み出して今に至ってます。
たしかに最善解とはいえませんが、それで迷っていたら、僕はきっと今でも迷っているだけだったと思います。
おかげでデータ形式を変える羽目になってますが、それも一つの勉強だと思って割り切ってます。
0150名前は開発中のものです。
2008/11/26(水) 07:26:40ID:9u2wT398ってC++でゲームを作っている大先輩が沢山いらっしゃいますので
後発でいくなら先人達の失敗を上手く利用するべきですね
0151名前は開発中のものです。
2008/11/26(水) 08:00:36ID:botVUVxwそれでいいと思うよ。
いつまでも悩んでるよりかは一行でもコードを書く。
それが出来ない人が多いこと多いこと。
0152名前は開発中のものです。
2008/11/26(水) 17:53:01ID:VWsjjsAxシーンのクラスに分割しようと思った場合、
次に必要なクラスをゲーム進行に合わせて作るにはどーすればいいの?
0153名前は開発中のものです。
2008/11/26(水) 21:47:04ID:9065IfcInewすりゃいいんでね?
俺の読解力だとこうしか答えられない
0154名前は開発中のものです。
2008/11/27(木) 01:00:24ID:sDCo+KrQシーンには呼び出し元のクラスインスタンスがあるだろうから、
そこへ「次のシーンはこれでーす」とかいって投げればいいんじゃないかな
0155名前は開発中のものです。
2008/11/27(木) 08:29:45ID:a5U8XS7p0156はかせ
2008/11/28(金) 02:39:49ID:X+ZXS841>>152
質問の意図がよくわからないので見当違いな回答かもしれませんが
僕の場合は
移動中のField class
戦闘中のBattleField class
の二つを使ってます。
main関数の中で一つだけインスタンス化したものをプログラム終了まで使いまわしています。
PlayerParty classで移動中とか戦闘中などの状態を保持していて
main関数のメインループの中でswitch文を使ってそれぞれ必要なクラスを呼び出しています。
…本当は関数ポインタとか使って分岐をなくしたほうがいいのかしら?
0157名前は開発中のものです。
2008/11/28(金) 08:46:09ID:8ull9cKi0158名前は開発中のものです。
2008/11/28(金) 14:03:48ID:+fIXeYke0159名前は開発中のものです。
2008/11/28(金) 14:35:05ID:BVLhIuU2元のシーンに戻る時はポップするだけでいいし
0160名前は開発中のものです。
2008/11/28(金) 17:09:56ID:uRW33KHvhttp://dictionary.goo.ne.jp/search.php?MT=script&kind=ej
0161名前は開発中のものです。
2008/11/30(日) 14:08:43ID:NW6+piWz0162はかせ
2008/12/03(水) 02:29:15ID:ICsefJIJ半月もすれば落ち着くと思うんですが… Orz
今回はイベントから別のイベントを呼び出す命令文 【Throw】 を実装しました。
表現の幅はかなり広がると思います。
あと文字の色を下地が黒なのを利用して
白で描写したあとに減算ブレンドで色をつけられないかと思ったんですが駄目でした。
透過用のファイルを作って先に文字の色を塗って黒い文字のかたちのフィルターをかける感じでやってみたいと思います。
0163名前は開発中のものです。
2008/12/09(火) 08:38:29ID:nV1Lv7YI俺は見守ることしかできないけど応援してるよ
0164名前は開発中のものです。
2008/12/11(木) 20:58:53ID:I52IxsWx0165名前は開発中のものです。
2008/12/11(木) 22:22:21ID:1VaQqcK60166名前は開発中のものです。
2008/12/12(金) 01:14:51ID:gwol4gMl0167名前は開発中のものです。
2008/12/12(金) 01:27:29ID:LHIzzXMKいつになったらまた動かせるようになるんだろう
0168名前は開発中のものです。
2008/12/16(火) 00:44:00ID:o3pFEybH0169名前は開発中のものです。
2008/12/19(金) 17:56:45ID:gIPakjTt0170名前は開発中のものです。
2008/12/20(土) 10:02:31ID:kj68jzmuたとえば switch いっぱい書けば書けるけど保守性に問題が出てくるから、
そういう問題を解決するために抽象クラスが必要でしょ、って話。
0171名前は開発中のものです。
2008/12/20(土) 19:28:06ID:d1HDFc0h0172名前は開発中のものです。
2008/12/20(土) 19:50:04ID:cahcCxQl0173名前は開発中のものです。
2008/12/20(土) 20:42:49ID:oflTSMVg0174名前は開発中のものです。
2008/12/21(日) 15:44:08ID:RtAia/Yk入力ツールも簡単に作れるだろうし
XMLだとユーザーが簡単にパラメータを書き直せてしまう
0175名前は開発中のものです。
2008/12/22(月) 00:31:17ID:28r3e/E4いいライブラリがあればXMLは楽だよ
0176名前は開発中のものです。
2008/12/22(月) 01:06:58ID:Uu9bgCVg0177名前は開発中のものです。
2008/12/22(月) 20:30:27ID:lWclLk6I0178名前は開発中のものです。
2008/12/28(日) 08:29:09ID:6qNBUJpn0179名前は開発中のものです。
2008/12/29(月) 21:10:35ID:wDMpJXkO0180名前は開発中のものです。
2008/12/30(火) 13:56:13ID:yxWPAKvhwhileでシーン毎にゲームループを作って、
SleepやGetMessageで待つ感じに作っているが、
無限ループを使うと落ちる言語では使えない。
メッセージ発生で、常にプログラムの開始位置から始まり、
毎回、現在はどのシーンなのか、能力はどうなのか等を
チェックする必要があり、ごちゃごちゃしてくる。
シーン毎ゲームループを使う場合は、どのシーンか、
能力か等は、当然分かってそのループにいるので、
そのループでの処理に必要な事だけ書けばいい。
無限ループがダメな言語では、たぶんオブジェクト指向とか、
新しくでてきた技術を使うとそこがうまくいくんだろうが、
このスレの↓辺りにヒントはあるんだろうか。
>>70-76 リファクタリング
>>152-159 シーン
>>170-175 抽象化
0181名前は開発中のものです。
2008/12/30(火) 20:56:32ID:1fWXWpaR0182名前は開発中のものです。
2008/12/31(水) 00:41:32ID:xTvJPONjttp://www.aerith.net/design/enum-j.html
このページが分かりやすくて、少し理解できたかも。
タイトル→フィールド→戦闘→戦闘コマンド入力
とシーンがある場合、ゲームループが複数使える場合、
4つの各ゲームループから次のゲームループに潜り、
処理したら戻り値を持って戻ってくる感じだった。
main→タイトル
→フィールド
→戦闘
→戦闘コマンド入力
ゲームループが使えない場合は、
4つのシーンに潜るというより並列にする感じになり、
各シーンでは次のシーンを戻り値にする感じになっていたが、
その潜るのをカプセル化や継承で実装する感じなのかな。
>>181
そのメッセージループを複数作っている。
共同開発とかは絶対無理そうだが。
通常のメッセージループひとつの場合は、
コールバック先をシーンで変えているが、これもなかなかいい。
0183名前は開発中のものです。
2008/12/31(水) 13:06:22ID:7C2SjXQUmainLoop() {
while (running) {
currentScene.Update();
currentScene.Draw();
}
}
こういう風にして,各シーンはSceneから派生して差し替える とか
0184名前は開発中のものです。
2008/12/31(水) 13:09:25ID:6wnxf0t2タイトル()
}
else if(状態==フィールド){
フィールド()
}
(以下略)
0185名前は開発中のものです。
2008/12/31(水) 13:18:32ID:X2wXzfSK0186はかせ
2008/12/31(水) 17:58:26ID:fAEU3nwJ文字を白抜きで用意して、表示したい色で塗りつぶした上に抜いた文字を描写してやりました。
パレットアニメのほうが楽そうですが、やり方がわからないので力技で。
放置っぷりがとんでもないことになってますが、まだ続ける気はあります。
期間が開いちゃった割にすこししか進んでません。
それではみなさま、よいお年を。
0187名前は開発中のものです。
2008/12/31(水) 18:09:30ID:YTX/EGre0188名前は開発中のものです。
2008/12/31(水) 19:09:52ID:XY3Fkj8g0189名前は開発中のものです。
2009/01/01(木) 00:44:31ID:ltM6YgTqhttp://contents.oricon.co.jp/upimg/news/20081230/61682_200812300341752001230620377c.jpg
http://contents.oricon.co.jp/upimg/news/20081230/61682_200812300297266001230620377c.jpg
http://contents.oricon.co.jp/upimg/news/20081230/61682_200812300349984001230620377c.jpg
あけおめ && サンクス。
これはswitch型の方になるんかな。
まだ、勉強しなおしたばかりだから分からない。
>>182で自分が書いた例も分かりにくかったから、
理解が深まったら、また質問させてもらいます。
0191名前は開発中のものです。
2009/01/01(木) 21:05:36ID:UqgKmWk60192名前は開発中のものです。
2009/01/03(土) 00:26:23ID:ZDgPmZTcすべての物をオブジェクトと見なし、ゲームの中に唯一つ存在する
タスク構造体配列の中にぶち込んで、ぶん回している
タイトル表示オブジェクト、メニューオブジェクト、PAUSEオブジェクト
ゲーム終了しますか?はいorいいえオブジェクト
プレイヤーオブジェクト、マップ表示オブジェクト、戦闘オブジェクトなどのように
利点は並列が可能なことだな
欠点は排他処理がちとメンドクサイかも
たとえばメニューオブジェクトとプレイヤーオブジェクトやマップ表示オブジェクトが
同一タイミングで存在する事はまずあり得ない
メニューオブジェクトでゲーム開始を選択したら
メニューオブジェクトを殺して、プレイヤーオブジェクトやマップ表示オブジェクトを生成する
フィールド移動中にメニューを呼び出した時は、プレイヤーオブジェクトやマップ表示オブジェクトを殺して
メニューオブジェクトを生成する
0193名前は開発中のものです。
2009/01/03(土) 10:01:20ID:34u90tMJタスクシステム総合スレ part3
http://pc11.2ch.net/test/read.cgi/gamedev/1226199100/
0194名前は開発中のものです。
2009/01/03(土) 15:49:44ID:uBgbxnma0195はかせ
2009/01/06(火) 02:16:58ID:oJ5svjTMかなり小規模のアップデートです。
というか、かなり中途半端なんですが
最近DQIをいじらない日が増えてきたので、
一日一つ目標を立てて、小規模アップを続けようという、ある意味無謀な企画です。
アップ作業の手間が面倒でアップは断念しそうな気がするけど、やれるだけがんばろう。
ちなみに、今現在夜のときのイベントを実装してます。
0196名前は開発中のものです。
2009/01/16(金) 07:16:19ID:OXOygQIE忙しいのかな?ちょっと進行が止まってるね
0197はかせ
2009/01/21(水) 20:51:06ID:HMLdziWNW32.Downadup.Bってやつらしいです。
WindowsUpdateで対策すれば良いらしんですが
このウイルスは特定のURLの接続をできなくするらしくて
それもダメポです… Orz
OS再インスコしか道はないんでしょうか?Orz
0198はかせ
2009/01/21(水) 20:52:29ID:HMLdziWN0199名前は開発中のものです。
2009/01/21(水) 21:00:59ID:JespKL2dここの駆除方法は読んだ?
0200はかせ
2009/01/24(土) 12:52:16ID:G0QtWtt7無事削除してSP3にアップデートしました。
ウィルス対策ってやっぱり大事ですね。
3日ほど何もなかったです。Orz
僕から情報が漏れても実害はほぼありませんが
他人に迷惑かけちゃうからなぁ…。と思いました。
MORPGとか作ってみたいと思うならなおさら気をつけなくちゃ、ですね。
0201名前は開発中のものです。
2009/01/26(月) 22:01:33ID:fNy7USfUttp://www.geocities.jp/wadam_jp_us_kr/lastdestiny_0001.zip
とりあえず移動のみ可。
開発環境はC + WinAPI
BCC
変なライブラリは未使用
0202名前は開発中のものです。
2009/01/26(月) 22:36:08ID:j4WuEkzh0203名前は開発中のものです。
2009/01/26(月) 22:37:05ID:csUxrOI2素晴らしい!
形にすること
とても良い事!
0204名前は開発中のものです。
2009/01/26(月) 22:38:55ID:GiLZ5cwOもっとがんばってくれ
0205名前は開発中のものです。
2009/01/27(火) 07:58:34ID:o0U48htVライブラリ未使用か 俺だとやる気が起きないなw
とりあえず歩行可能判定と向きを変える(決める)判定は別にした方がいいんじゃないかな
0206LD
2009/01/27(火) 11:15:58ID:63/MDkS6>>202
とりあえず複数人での開発になってるから、途中でやめることはない。
PGは当方のみだが、他にグラフィックス任せてる人がいる。まぁ受験生だから後の参加になるが。。
>>203
>>204
(゜∀゜)
とりあえずもっと先がんばる(`・ω・´)
戦闘システムを作るか、NPCを登場させるか。。。どっちを先にしよう。
0207LD
2009/01/27(火) 11:16:20ID:63/MDkS6ライブラリは本質的なところが見れないからキライ。
d3dxInit()で初期化できたとしても、実際に初期化ってなんなのかがこれだとわからん。
>歩行可能判定と向きを変える(決める)判定は別にした方が
りょーかい。早速直した。
変更点は、方向キーが押されてるとき、
if(移動中じゃない && 移動先が歩行可能){
向きを変える
移動
}
から、
if(移動中じゃない){
むきをかえる
if(移動先が歩行可能)
移動
}
とりあえず、戦闘システム考えだすと時間かかりそうだからNPCから実装することにする。
やっぱり使うキーはZとXが主流なの?
0208名前は開発中のものです。
2009/01/27(火) 11:47:31ID:l0R28+F00209名前は開発中のものです。
2009/01/27(火) 11:50:30ID:g6Z0rQ8m0210LD
2009/01/27(火) 13:00:06ID:63/MDkS6>>208
キーコンフィグか。。
NPC用のスクリプトとscriptloaderが一通りできたから、それ使って設定できるようにします。
>>209
|・`)まず最初にスペースバー押すのって時代遅れ?
0211名前は開発中のものです。
2009/01/28(水) 06:13:10ID:JO34w9Oqとか複数セット使えるようにしている。
それプラス、マウスでも操作可能に。
移動方式はSRPGみたいになるが、片手でプレイて便利。
0212LD
2009/01/28(水) 17:39:14ID:pdnMoyzY0213名前は開発中のものです。
2009/01/28(水) 18:07:41ID:m+F/F7AQ0214LD
2009/01/28(水) 22:04:26ID:pdnMoyzYすまんした。
>>212からID変わってるが>>201のLDと同一人物です。
パソコン変わりました。ついでに開発環境も変わりました。
BCC --> VC++ 2008 EE
途中でコンパイラ変えるのって大変だなぁ。。
開発再開できるまでに4時間かかった。。
0215はかせ
2009/01/31(土) 14:32:43ID:wU7G4zXaパソコンがもうダメそうです。
ウイルス云々よりもHDDが物理的な意味でお亡くなりになられたかも…
起動する度にチェックディスク?が始まりますorz
HDD買い換えの時期かもしれませんね
0216名前は開発中のものです。
2009/01/31(土) 18:18:14ID:/Q9GfxCHこんなのもあるから注意>http://pc11.2ch.net/test/read.cgi/pcnews/1232933880/
CrystalDiskInfoを使ってみるのも良いかも。
http://pc11.2ch.net/test/read.cgi/pcnews/1232933880/
0217名前は開発中のものです。
2009/01/31(土) 18:19:05ID:/Q9GfxCH0218はかせ
2009/02/01(日) 14:59:31ID:XqmKn0mFcrystalなんとかもWMIを有効にしてくださいと言われて動きません。
有効になってるっぽいのに… orz
とりあえず新しいHDD買ってきます
0219名前は開発中のものです。
2009/02/01(日) 15:33:39ID:CsD1cYRmそうだったか・・・
新しいHDD買って移すしかないね・・・
ご愁傷様・・
0220はかせ
2009/02/02(月) 01:48:42ID:5ZSryWO2悩んで迷ってたらお店が閉まってました… orz
明日また行って来ます。多分HDDになりそうですが。
0221名前は開発中のものです。
2009/02/02(月) 09:54:24ID:LF9FXVUF■ このスレッドは過去ログ倉庫に格納されています