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

C++でFC版ドラクエっぽいRPGを作る Lv3

■ このスレッドは過去ログ倉庫に格納されています
0001はかせ2008/10/24(金) 00:25:57ID:D59zu1hj
はかせがC++でドラクエっぽいRPGを作るスレです。
触発されて「よっしゃ俺もなんか作る」って方はぜひう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
0017名前は開発中のものです。2008/11/02(日) 22:04:07ID:oZACXOAh
テウニレか…あのまま完成していれば神ツールだったのに。
0018はかせ2008/11/03(月) 00:00:53ID:+MOC+Via
エディタをちょっと触ったけど確かにすごいですね…。
今のやっつけ仕事のエディタが恥ずかしくなってきました。

DQ4のメンバーの名前の英語の綴りわかる人いますか?
ドラクエ板で聞いたほうがいいですかね?
0019名前は開発中のものです。2008/11/03(月) 14:45:08ID:cUJ6J6WO
>>18 そんな事だったら普通に目の前の箱で調べぇなwww
ttp://en.wikipedia.org/wiki/Dragon_Quest_IV:_Chapters_of_the_Chosen
0020はかせ2008/11/03(月) 16:22:37ID:+MOC+Via
>>19
ありです。
日本語WikiだとマーニャがMaraになってたりとかしてて違和感があったんですよね…。 Orz
0021名前は開発中のものです。2008/11/03(月) 16:35:55ID:2I2Qx3Dt
俺はマラのほうがいいなぁ
0022名前は開発中のものです。2008/11/04(火) 10:27:58ID:3KBAkZqE
っていうかつづりなんて適当でいいと思う
0023名前は開発中のものです。2008/11/04(火) 13:45:51ID:1H/W14uj
後で検索で困るぞw
0024名前は開発中のものです。2008/11/04(火) 16:01:16ID:B20slX4L
曖昧検索があるさ
0025名前は開発中のものです。2008/11/04(火) 20:40:47ID:S/gq7Ccr
Maraはあんまりだから、Magnaでいいんじゃないの。
0026はかせ2008/11/05(水) 01:35:38ID:+nu8/WaG
フラグをいじるためのランチャー作りで挫折中です。
DxLibとWinAPIをスレッドみたいに扱いたいんですがうまく行きません。
一回一回ウインドウを閉じる方式ならいけそうなんですが、それだと不便な気がします。
DxLibのみでやることも考えたのですが、
ウィンドウのサイズを変えると一回初期化されてしまうので却下です。
0027名前は開発中のものです。2008/11/05(水) 01:59:11ID:T23I1TX6
ゲーム画面内に仕込むとか
0028名前は開発中のものです。2008/11/05(水) 08:14:34ID:ebctRjYx
デバックエリアみたいなところ作って、人立たせて話かけでON、OFF。
0029名前は開発中のものです。2008/11/05(水) 10:52:14ID:bltvZ46a
いつからこれ、RPGツクールになったんだ?
0030名前は開発中のものです。2008/11/05(水) 13:16:31ID:aMMXJSvq
開発の利便性を考えるとそんな感じになっていくのはお約束
0031名前は開発中のものです。2008/11/05(水) 14:14:47ID:00de3+H9
さらに進化してコンパイラとかVMになる日を楽しみに待ってます^^v
0032名前は開発中のものです。2008/11/05(水) 15:59:37ID:8CxFBWi5
別プロセスにしてパイプ使うとか
0033名前は開発中のものです。2008/11/06(木) 23:02:58ID:hq7hgbiQ
起動したときになにかウィンドウズに常駐させようとしてウイルスソフトに危険度最大ではじかれるんだけど
これはいれないとなんかもんだいあるのか?
0034名前は開発中のものです。2008/11/06(木) 23:30:56ID:HIqdJ+6n
>>33
何を起動したんだよ
その説明じゃ何が何だかサッパリわからん
0035名前は開発中のものです。2008/11/06(木) 23:35:59ID:hq7hgbiQ
1のサイトにあったDragonQuestImitationってソフト
0036名前は開発中のものです。2008/11/07(金) 00:20:59ID:Lj2t76oe
つーか最新版てexe無くね?
0037はかせ2008/11/07(金) 02:31:31ID:+uCOwXYq
・酒場を馬車に対応させました。
最大人数は8人になってますが、DQ4に習って10人にすべきでしたね Orz

・文字を画像ファイルを読み込んで表示する方式に変更しました。
一部表示されないカタカナや英字があったのでがんばりました。さて、死亡時とかどうしよう。

・エディットモード時にフラグをいじれる機能を追加しました。
ウィンドウサイズを変える方法がまだわからないのでエディタ分だけ無駄に横長になりました。

・【つよさをみる】中に十字キーを押すと落ちるバグを修正しました。

>>33
特にインストールは必要ありません。exeファイルを実行するだけです。
製作者不明の怪しいファイルだけど開いていいの?という確認のメッセージじゃないかと思うのですが
へぼ作者が作ったものなのである意味ウィルスではないと言い切れないかもしれません。

>>36
本当だ! 入ってない!(汗
最新版更新したのでご勘弁を Orz

馬車関連では、戦闘が手付かずなので、まず戦闘中の入れ替えをできるようにしたいと思います。
0038名前は開発中のものです。2008/11/07(金) 02:47:42ID:IxdJKhYg
>>37
ちがう、ウィンドウズ起動時に自動起動させるように常駐されようとしていますとでる。
まずこの機能を教えるんだ
0039名前は開発中のものです。2008/11/07(金) 04:35:44ID:IxdJKhYg
ごめん間違えた、このアプリを起動時に他のプログラムを自動起動するようにウィンドウズの設定を変更しようとしているだった
まじごめん
0040名前は開発中のものです。2008/11/07(金) 05:56:25ID:iiFbJuBk
>>39
わかりにくい、つまりなんなの?
0041名前は開発中のものです。2008/11/07(金) 08:52:12ID:oeTWRUQl
その糞ソフトを杏仁ストールしろよ
0042名前は開発中のものです。2008/11/07(金) 23:18:51ID:rAjJhWB5
>>39
メッセージ全文をそのまま掲載しろ。
嫌なら黙れ。
0043名前は開発中のものです。2008/11/07(金) 23:22:17ID:Lj2t76oe
いやスクリーンショットだ。それ以外は認めない。
0044名前は開発中のものです。2008/11/08(土) 00:12:04ID:WhtaTC/s
教えない
0045名前は開発中のものです。2008/11/08(土) 01:52:53ID:D8XmMLIW
上げた本人はどうした?
0046名前は開発中のものです。2008/11/08(土) 03:43:35ID:aVZnw6qH
最近>>1に勢いがないな
0047はかせ2008/11/08(土) 04:02:52ID:z4W0ZVvg
勢いのない1です。 Orz

>>39
すみませんが、どう対処すべきなのか僕にはわかりません。
レジストリを書き換えるようなコードは書いてないはずですが
>>37にも書いたとおりへぼ作者の作ったものなので
PCに悪影響を及ぼす可能性がないとは言い切れませんのでご了承ください。

戦闘中の入れ替えで苦戦中… というか、どういう動作にするか悩み中です。
DQ4に忠実に作ると戦闘中は1ターンに一人しか入れ替えができません。
5以降は自由に入れ替えができるようになってます。
やっぱり5以降の方式のほうがいいですよねぇ?
0048名前は開発中のものです。2008/11/08(土) 04:10:37ID:aVZnw6qH
>>47
>入れ替え
どちらにもできるようにすればいいんじゃ?
0049名前は開発中のものです。2008/11/08(土) 04:17:48ID:D8XmMLIW
どちらにもってエンジン作ってるわけじゃないんだろ?
0050名前は開発中のものです。2008/11/08(土) 11:16:10ID:MrGlrAF1
>>49が何を言いたいのかさっぱりだが
自由入れ替えができるようにしておけば、そこから一人だけ入れ替えに変更するのは容易だと思う
0051名前は開発中のものです。2008/11/08(土) 12:16:25ID:7gqKlRlK
拡張しているうちに袋小路になってそのうちスクリプト→エンジン→言語処理系→VM
となっていくと予想したけど、案外その流れは早そうだな
0052名前は開発中のものです。2008/11/08(土) 13:42:30ID:fAmK4m3K
IIIくらいでとどめて、とりあえず完成させればいいのに迷走するからw
0053名前は開発中のものです。2008/11/08(土) 17:29:55ID:mEomuEol
久しぶりにソース覗いたらえらい複雑だな
よくこんなの維持できるね
0054名前は開発中のものです。2008/11/08(土) 17:49:04ID:lDNSTCKY
C++使ったらオブジェクト指向で分かりやすくなると思ったら間違いなんだよC++で分かりやすいソースが書けるやつはCでも分かりやすいプログラムが書ける表面的なことばかり追求する姿勢を改め機械語からやり直すことが近道だ
0055名前は開発中のものです。2008/11/08(土) 17:54:22ID:7gqKlRlK
そうだねプロテインだね
0056名前は開発中のものです。2008/11/08(土) 23:06:08ID:NuwBShCC
とりあえず>>54みたいなレスするやつの書くソースは読みたくないな
0057名前は開発中のものです。2008/11/08(土) 23:47:14ID:7gqKlRlK
でも、そろそろ再設計し直すのもいいんじゃないかな?
let's enjoy リファクタリング!!
0058名前は開発中のものです。2008/11/09(日) 00:11:24ID:IgXKRmKW
時間が許すならリファクタリングもいいよね。
楽しいよね。ゲームが完成するより
0059名前は開発中のものです。2008/11/09(日) 09:50:49ID:c46pbJiK
自作フレームワークやリファクタリングに凝りだすのは危険信号w
0060名前は開発中のものです。2008/11/09(日) 11:48:49ID:clryvbVu
ぐちゃぐちゃのソースになるのも危険信号
0061名前は開発中のものです。2008/11/09(日) 11:55:19ID:c46pbJiK
あんまりクラス間の関連とか難しく考えるより、
バッサリ切っちゃって間に書き捨てのコード挟んだ方が、コード量は増えるけど扱いやすい気がする
0062名前は開発中のものです。2008/11/09(日) 12:09:31ID:clryvbVu
LLならともかくC++でそれはちょっと…
0063名前は開発中のものです。2008/11/09(日) 15:56:31ID:FtIWEYNh
多分、このプロジェクト 
誰もついて行けてないな
0064名前は開発中のものです。2008/11/09(日) 16:20:26ID:n6NwV4No
見守ってるだけです、私は
0065名前は開発中のものです。2008/11/09(日) 16:53:48ID:MVq+lkr7
いつも見守っているぜ
0066名前は開発中のものです。2008/11/09(日) 20:41:28ID:tH6tdgt0
オレも1年前から見守ってる
あのコードでよく頑張ってると思う
0067名前は開発中のものです。2008/11/10(月) 00:23:21ID:ax2mEbPJ
むずすぎ
0068名前は開発中のものです。2008/11/10(月) 00:42:19ID:b06vkDmc
dragonquestionもむずい
0069名前は開発中のものです。2008/11/10(月) 02:05:31ID:Mlo57YX2
あったなぁそんなのw
0070名前は開発中のものです。2008/11/10(月) 11:35:23ID:10XAvY49
リファクタリングを試みたけど、はかせの開発スピードが速すぎて放棄した俺が通りますよっと。
正直、今ぐらいならまだリファクタリング可能な量・複雑度だから
やるなら今ぐらいが最後のチャンスじゃね?と思ったりもする。
0071はかせ2008/11/10(月) 18:34:01ID:9u5Tq3PG
リファクタリングですか… orz
実をいうとどこをどう直すべきなのか解らないのが本音だったりします。
いや、みずらいコードなのは重々承知してますが(汗
コメントもセンスよくつけないと、かえって見辛くなっちゃいませんか?
0072名前は開発中のものです。2008/11/10(月) 18:38:21ID:Kojsgftp
一人で作ってて、間違いなく自分で把握できるなら無理して付けることない
俺なんか自分で書いたところもすぐ忘れちゃうからくどいほど書くけど
0073名前は開発中のものです。2008/11/10(月) 19:57:33ID:h6SupEnH
switch文がたくさん出てくるコードを見ると「それってCでやった方がいいんじゃね?」って気分になってくる。
0074名前は開発中のものです。2008/11/11(火) 00:10:38ID:L3pT9wJP
>>71
小難しいことを言い出すときりが無いが、
一つの基本はDRY、Don't repeat yourself(同じことを繰り返すな)
だと思うけどね
C++にはLispのマクロのようなものは無いからやれることにも限度があるが、
例えば今パッと開いたBattleField.cppには

coms.getMsgCmd()->setMsg(msg);
coms.getMsgCmd()->Draw();
coms.getMsgCmd()->giveControl();

こんなコードが何度も出てくるが、こういうのは関数化する価値がある
煩雑なifやswitchは、関数ポインタ配列のジャンプやポリモーフィズムで
より綺麗に置き換えられる可能性がある
0075名前は開発中のものです。2008/11/11(火) 00:29:19ID:ybXTRzCS
関数ポインタの配列ってデバッグ時に実際に呼び出されている関数名がすぐ分からなくて困ることない?見た目は魚数も減っていい感じなんだが。
0076名前は開発中のものです。2008/11/11(火) 00:33:46ID:qT5sn5n5
描画周りは整理できると思うなあ
リファクタリングの範囲は超えるけど
0077名前は開発中のものです。2008/11/13(木) 16:07:10ID:i/U5Zqjp
なんとなくタイトル画面まで作ってみた。
0078名前は開発中のものです。2008/11/13(木) 16:40:52ID:ZG4sjM1I
うpよろ
0079名前は開発中のものです。2008/11/14(金) 01:01:05ID:e0n6mGne
うっぷしてみた。
ttp://sakuratan.ddo.jp/uploader/source/date97217.rar
0080名前は開発中のものです。2008/11/14(金) 02:18:06ID:CV0V0+fI
>>79
このアプリケーションの構成が正しくないため、アプリケーションを開始できませんでした。アプリケーションを再度インストールすることにより問題が解決する場合があります。

だってさ
0081はかせ2008/11/14(金) 03:07:36ID:Jt+1lm3L
>>79
僕も起動できませんでした。
d2dx9_39.dllが見つからなかったため〜
と出てくるのでDirectXのからみですかね?
コンパイルするとヘッダが見つからないといわれちゃうのはパスが通ってないからです。
と、いうかDev用のDirectXのインストールの仕方がよくわからなくてDxLibを使い始めたんでした。


現在 リファクタリングに入りました。
リファクタリングというか再構築と呼ぶべきものかもしれません。
修正してるのはコマンド周りで、今までCommandクラスにMetaCmdクラスを入れて使っていましたが
そのせいでかなりわかりづらくなっていたような気がするので
MetaCmdクラスのみで一つのウインドウを表すようにしています。
【ならびかえ】や【つよさ】などの特殊なウィンドウはそれを継承して扱うことにします。
まだもうちょっと時間がかかりそうなので気長にお待ちください。
0082名前は開発中のものです。2008/11/14(金) 04:59:38ID:Tor/iygI
 
0083名前は開発中のものです。2008/11/14(金) 07:09:28ID:reUpVo9p
>>81
自分の system32 覗いてみたら d2dx9_35.dll までしか無かった
最新版のDirectX入れなきゃダメっぽいね
こういうの面倒よね
0084はかせ2008/11/14(金) 08:35:17ID:Jt+1lm3L
>>83
なるほど、System32ですか…。
よし、ちょっとやってみよう。
0085名前は開発中のものです。2008/11/14(金) 13:27:53ID:O6G8bzkV
d2dx9_39.dllってなんだ
d3dx9の間違いじゃないのか?
0086名前は開発中のものです。2008/11/14(金) 14:28:48ID:WcR0MbXG
(こいつ知らないな・・・)
0087名前は開発中のものです。2008/11/14(金) 16:15:19ID:bw0xKSdm
ファイルが見つかりませんって言われた
0088名前は開発中のものです。2008/11/14(金) 16:17:57ID:LZpM8b2i
横カーソルが速すぎてNORMAL選べないw
0089名前は開発中のものです。2008/11/14(金) 16:19:50ID:bw0xKSdm
textureってフォルダコピーしたら動いた

SLOW NORMAL HARDって…
0090名前は開発中のものです。2008/11/14(金) 16:21:09ID:/R6oEAkC
================現在でも続いている歴史が長いRPG=================
『ドラゴンクエスト』シリーズ 1986年5月27日〜
『イース』シリーズ 1987年6月21日〜
『女神転生』シリーズ 1987年9月11日〜
『ファイナルファンタジー』シリーズ 1987年12月18日〜
『ファンタシースター』シリーズ 1987年12月20日〜
『英雄伝説』シリーズ 1989年12月10日〜
『サガ』シリーズ 1989年12月15日〜
===============================================================
==================歴史の浅いキモオタ専用RPGモドキ===============
===============================================================
『テイルズオブ』シリーズ 1995年12月15日〜 ←『国内で』3大RPGのひとつwww
『スターオーシャン』シリーズ 1996年7月19日〜 ←『ファンタシースター』のパクリゲーwww
0091名前は開発中のものです。2008/11/14(金) 16:25:08ID:m7beSzf2
時を越えて kiss kiss kiss
0092名前は開発中のものです。2008/11/14(金) 16:31:17ID:JVAY3jkW
D3DXってバイナリ依存するよねー
0093名前は開発中のものです。2008/11/14(金) 18:05:11ID:8l+PZI0P
ttp://sakuratan.ddo.jp/uploader/source/date97249.rar

別のマシンに2007APRIL入ってたからビルドしたのね。
キーボードとHARDも直したのね。

[↑] [↓] [←] [→] [Enter] で操作できると思う。
0094資生堂2008/11/15(土) 10:25:06ID:DsjDdSxZ
ドラクエより、FEの方が良いと思う!
0095名前は開発中のものです。2008/11/15(土) 10:27:45ID:kxRV/yhH
なんべんやっても動かないからリコンパイルしたのことよ。
0096名前は開発中のものです。2008/11/15(土) 10:28:38ID:6FDdAfYR
ハンドルつけろカス
0097名前は開発中のものです。2008/11/15(土) 11:08:19ID:68uPGyzB
ここでインド人を右に
0098名前は開発中のものです。2008/11/15(土) 11:19:32ID:RlpGwAN3
>>93
なんかこれ腹立つw
0099資生堂2008/11/15(土) 12:41:03ID:DsjDdSxZ
>>96
羞恥心持って。
0100名前は開発中のものです。2008/11/15(土) 14:52:39ID:TSQg6Y6a
工事中から進まないんだが
0101名前は開発中のものです。2008/11/15(土) 16:52:31ID:kxRV/yhH
作ったのはタイトル画面だけだと思われたのでした。
ソース見てもそれ以外書いてないように見えるし。
0102名前は開発中のものです。2008/11/15(土) 16:58:02ID:RlpGwAN3
Silverlightでマップスクロールとキャラクタの移動まで作ってみた
0103名前は開発中のものです。2008/11/16(日) 09:58:29ID:L12pppw1
>>93
つづきまだぁ?
0104はかせ2008/11/16(日) 13:39:34ID:CZtzapwv
DirectX 最新版入れようとしてるけど上手くいかない… orz
0105名前は開発中のものです。2008/11/16(日) 16:01:24ID:MZqbYUf7
>>102
うぷ
0106はかせ2008/11/17(月) 02:30:04ID:VOJ4M10d
MsgCmdクラスの改装で挫折しました。
なんか動作が重くなってるので、原因を突き止めたいと思います。
ちなみに僕のPCだと1フレーム60msくらいかかってます。
もし実行してくれる方がいれば、どれくらいかかっているか教えていただけるとありがたいです。


・Commandクラスを無くしました。
MetaCmdクラスをCommandクラスに入れて呼び出していたという仕組みを廃止。

・戦闘中の仲間の入れ替えができるようになりました。
とりあえず全員入れ替えが可能になってます。
戦闘でコマンド選ぶときにスペースキーでDQ4みたいなコマンドが出せる用になってます。
【さくせん】コマンドは当分実装できないと思いますが。

・フラグ操作のランチャーが出し入れできるようになりました。
DxLibの掲示板で質問したら、機能追加してもらっちゃいました。ありがとうございました。

MsgCmdについてはもう手がつけられないかもしれません。
丸一日つぶしたけど解決できませんでした。
戦闘後のレベルが上がるあたりのところとか全部組みなおしになっちゃうしなぁ…。
やるとしたら戦闘のHP増減とか、画面を揺らすとかいった所も
Filedクラスのイベントスクリプトみたいに処理することになっちゃうんだろうか?

0107名前は開発中のものです。2008/11/17(月) 12:32:39ID:JGC59PYj
具体的にどこが重いの?
あと、SetWindowSizeってどこから持ってきたんだ。
0108名前は開発中のものです。2008/11/17(月) 12:34:29ID:JGC59PYj
SetWindowSizeみつけた、掲示板か。
最新版じゃ、まだ入ってないのね。
0109名前は開発中のものです。2008/11/17(月) 12:42:21ID:Zhr1hzWJ
windows環境ではプロファイラさえ有料(しかも糞高い!!)
一方gccではフリーで使えるgprofというものがある
0110名前は開発中のものです。2008/11/17(月) 13:16:12ID:o1vbjurN
低脳レスが釣りに見えないのは
この板の雰囲気のせいだろうか
0111名前は開発中のものです。2008/11/17(月) 15:54:30ID:C84K2rhR
プロファイラってものの存在を初めて知ったんだけど
VC2008expreesに同じような機能はないの?
0112名前は開発中のものです。2008/11/17(月) 15:59:56ID:C84K2rhR
おっと、ググったら分かった
高価な上位エディションにしか付いてないのね
0113名前は開発中のものです。2008/11/17(月) 16:20:03ID:bkkK/9jG
どこぞの企業がプロファイラもUMLもついてくる統合環境リリースしとった気がしたんだけど
なまえ忘れてしまった。
0114名前は開発中のものです。2008/11/17(月) 16:41:03ID:D2kc0jTC
DevPartner Community Editionって奴は無償で手に入る
ただし、VS2005までにしか対応していないようだな
0115名前は開発中のものです。2008/11/17(月) 17:50:49ID:DaVQdlwt
DirectXならPIXってソフトがDXSDKに入ってるから
関数の実行時間とか調べられるけど
0116名前は開発中のものです。2008/11/18(火) 19:16:55ID:omgy03ey
マップチップは一枚の画像にまとめたら?
それだけで結構速くなると思うんだけど
0117はかせ2008/11/18(火) 19:29:51ID:jp4BRBZp
一枚にまとめると起動は早くなりそうですが、描写に時間は変わらないような気がします。
画像の追加や削除はバラバラの方がお手軽にできそうなのでこのままにしたいんですが、
一枚にまとめた方が早くなりますか?
■ このスレッドは過去ログ倉庫に格納されています