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

C++でドラクエっぽいRPGを作る 2

■ このスレッドは過去ログ倉庫に格納されています
0001代理2008/05/14(水) 02:52:59ID:WT/twc82
C++の勉強をかねてFCのドラクエっぽい感じのRPGを作りたいんです。

しょっぱなからつまずいています、知恵を貸してください。

前スレ
http://pc11.2ch.net/test/read.cgi/gamedev/1193935988/
0203名前は開発中のものです。2008/07/13(日) 08:23:37ID:rp6Ey1eS
動画アップとかいらねーだろ。
0204名前は開発中のものです。2008/07/13(日) 09:50:04ID:4WlQBhMW
>>202
誰でも初心者のうちはやる気あるもんだろ

そしてプログラミング技術が向上してくにつれて無くなっていく
0205名前は開発中のものです。2008/07/13(日) 11:04:31ID:Q4QFKUhC
技術が向上しる前に辞めていく初心者も多いよな。
一番困るのは生半可な知識で満足して、
卒業したと自慢する中退組だったりする。
はかせは今はまだ中途半端だけど、
着実に進歩していってるから、
見ていて侮れないし、刺激的だ。
0206名前は開発中のものです。2008/07/13(日) 12:42:00ID:32LgRFvr
>>202
しばらく余裕無いから進捗だけでも知りたかったのだが
ソース読む余裕出るまではひっこんでろと
ソース突っ込み入れる人以外はひっこんでろと

そう言いたいの?
0207名前は開発中のものです。2008/07/13(日) 13:12:44ID:N0B+2n0a
起動後すぐのタイトル画面で#$%が表示されてるのは何故なんだぜ?
ちなみに DragonQuestFC.zip DragonQuestFCIntact.zip はインストール済み。
0208名前は開発中のものです。2008/07/13(日) 13:38:48ID:w8xdeK0L
goto文も使い方次第じゃね?

goto文が危険なのは処理の流れを追いにくくなるからだが
エラー処理へのジャンプとか多重ループからの脱出とか
定型的な使い方ならさほど害は無い

まぁC++なら例外投げろってことなんだろうけど
0209名前は開発中のものです。2008/07/13(日) 14:12:41ID:eBw+YtUV
>>199
どんなものってファミコンのドラクエほとんどそのままだよ
0210名前は開発中のものです。2008/07/13(日) 14:49:03ID:rp6Ey1eS
>>206
進捗知りたいだけなら更新履歴でも読めよ
0211名前は開発中のものです。2008/07/13(日) 16:50:01ID:32LgRFvr
>>210
何が足されたかが見えれば、何が足りないか全てわかってしまう状況ってそうないと思うのだが
君はそういう人なの?
0212名前は開発中のものです。2008/07/13(日) 17:29:57ID:dT3HPMCP
いちいち噛み付くなようぜぇ
0213名前は開発中のものです。2008/07/13(日) 22:31:38ID:yURT/Goz
いちいち噛み付くなようぜぇ
0214はかせ2008/07/13(日) 23:59:39ID:TB0e6Ja7
複数歩移動イベントが正常に作動するようになりました。
↑一歩しか動かなかったり、一歩多く動いちゃったり大変でした。

状態異常回復魔法を状態異常になっていない人にかけた時のメッセージを修正しました。
↑やっぱり毒になってないのにどくがきえた!とかでると微妙ですもんね。

乗物に乗るときの動きをイベントスクリプトで実装しました。
↑やっと乗り物に乗る動きがそれっぽくなりました。

【つよさ】->【ならびかた】を実装しました。
"YesNo"コマンドをcontrolで実装しました。
↑これでメッセージ表示ウィンドウ以外はメインループを通るようになりました。目標ひとつ達成。

スクリプトに命令文[WalkEvent]を追加しました。
↑町の扉をあけて右の方の女の人が逃げ出します。この仕組みを利用して町の人が自由に歩くようにしたいです。

tp://sakuratan.ddo.jp/uploader/source/date86604.lzh

>>207
仕様です。
というのも、DQフォントにはアルファベットがすべて入っているわけでは無く
SやTがDQ2の紋章の記号だったり、文字が割り当てられて無かったりなので
タイトルが終わってから使用フォントを切り替えてるのでした。
本当はタイトルには一枚絵とか使えばいいんでしょうね。
というか文字を画像データにするなり、フォントを拡張して足りない文字を埋めろって感じですね。すみません。Orz

0215はかせ2008/07/14(月) 00:12:43ID:hNQJ5DfD
つづき。

まず動画ですが、いろいろ手間がかかりそうなのでやりません。
進歩状況を気にかけて下さる方がいるのはとてもありがたいことなのですが
足りない部分をすべて把握しきれていないので、期待通りの動画はとても用意できないかと思います。
今までどおり更新の情報と、なるべくこれからの更新の方向性を書いていくので
「お、はかせがんばってるな」とニヤニヤしていただければ幸いです。

スクショについてですが、これもやりません。
どうせダウンロードしてもらうなら、プレイして欲しいからです。
プレイして欲しい、とかえらそうなことがいえる出来じゃないのは百も承知ですが
せっかく実行形式のファイルも入れてあるので、やっぱり起動して欲しいですね、というのが素直な気持ちです。
と、いうかスクショだけだと 『どうみてもFC版ドラクエ3です本当にあr(ry』 となるのが目に見えてます。

goto文についてはこれから回収します。
BattleFieldクラスに何箇所かあるのをメインループに収束する作業の過程で消していくつもりです。
すこし時間はかかるかもですが、暖かく見守ってあげてください。
例外処理はまだ勉強中です。Hpが0以下になったときとか例外投げて処理すべきなんでしょうね、本当は。Orz
0216名前は開発中のものです。2008/07/14(月) 00:59:18ID:q2Jdo2Kg
例外処理は異常時にエラー処理のためで普通の制御構造で使うものじゃないぞ。
HPが0になるのはゲームデザインとして存在してるから無駄。
不正アドレスに書き込みしようとしたとかメモリが足りないとかに使う。
0217名前は開発中のものです。2008/07/14(月) 01:07:29ID:0Th48wDt
でもゲームだとgoto文もありかなと思う
ゲームのコマンド処理は特有だし
0218名前は開発中のものです。2008/07/14(月) 06:55:36ID:oE3M8+bW
スクショは動かない人用だろ
やりたくてもやれない人は無視かよw
0219名前は開発中のものです。2008/07/14(月) 08:21:21ID:vNeoT8Vn
ヒント:
やりたくてもやれない人→マックとかLinuxとか
0220名前は開発中のものです。2008/07/14(月) 08:39:14ID:xOLZOQrC
別にいいよ
0221名前は開発中のものです。2008/07/14(月) 12:02:12ID:wxUymIt7
スクショくらいはかせがやらなくても誰か有志がやればよくね?
0222名前は開発中のものです。2008/07/14(月) 15:54:49ID:0Th48wDt
>>214
勇者嫌われすぎワロタ
0223名前は開発中のものです。2008/07/14(月) 20:29:26ID:hcNW7qct
>Hpが0以下になったときとか例外投げて処理すべきなんでしょうね

そんなことに例外使うくらいならgoto使ってるほうがマシです
gotoは処理のジャンプ先が明確だけど
例外は慣れないとどこにジャンプするか分からないから
下手するとgotoより危険
0224名前は開発中のものです。2008/07/14(月) 20:35:01ID:cTEttVhV
例外ってのは本当に“例外”が発生したときに使うもんらしーよ
たとえば「あるはずの画像ファイルが見つからない」とか
実際に例外使ったことない俺が言っても説得力皆無だけど
0225名前は開発中のものです。2008/07/14(月) 20:52:39ID:whtngsYM
HP0がゼロ以外ってか、マイナスになった時の処理ってことかな?
それってHPゼロで教会送りのドラクエの仕様では、
ありえない挙動、プログラム上のバグってことだよな?
だったら例外投げてプログラム強制終了でもいいはずだけど。。。
と。ソースも見ないで言ってみる。
つか。そんなバグでゲーム落とされたら、
オレならソフトを投げ捨てるけどなw
0226名前は開発中のものです。2008/07/14(月) 22:41:34ID:9MGhOcwr
はかせが参考にしてる教本とかソースが気になるな
gotoとか最近の本には書かれても無いはずなんだが

元HSP使いとか、古典BASIC使いなら分かる気がする
0227名前は開発中のものです。2008/07/14(月) 23:03:25ID:oE3M8+bW
最近の本にgotoが書かれてもないってマジ?
なんかの間違いだろ?
0228名前は開発中のものです。2008/07/14(月) 23:09:58ID:wxUymIt7
俺は去年までCにgotoがあるって知らなかったw
ちなみに2004年くらいから勉強始めた
0229はかせ2008/07/15(火) 01:53:40ID:yNcexSKC
goto文をなくしました。
戦闘のコマンドもメインループを通過するようになりました。
戦闘に関してはもっといじるところがあるので今度はそっちをやろうと思います。
村人が歩く実装は後回しになっちゃいそうです。

tp://sakuratan.ddo.jp/uploader/source/date86729.lzh

>>223-225
例外処理の使い方、了解です。
たとえばHPが0になった時の処理を忘れないでしてね、という風に使うものだと思ってました。Orz
例外処理、即ゲーム終了ではなく、全滅した、の例外が投げられたら教会に戻る処理を呼び出す、みたいな。
Gotoにしても例外処理にしても読みやすいソースを書くように心がけなくちゃ、と思うので
なるべく慣習に従って使うようにして行きたいと思うのでアドバイスの程よろしくお願いします。


>>226
今回C++を勉強するにあたって参考にしてるのは↓です。
tp://wisdom.sakura.ne.jp/programming/c/index.html
tp://wisdom.sakura.ne.jp/programming/cpp/index.html
参考書の類は持ってません。
参考にしてるソースも特になく、行き当たりばったりで作り始めたからこんな感じになっちゃったんですね。Orz


2008でデバッグでエラーでとまったときにxstringのファイルが開いたりすることがあるのですが
エラーでとまったときにその関数を呼び出した関数を調べる方法ってありますか?
できればひとつずつ巻き戻して、エラー箇所に行くまでの道のりを全部見られるような方法。
0230名前は開発中のものです。2008/07/15(火) 03:01:20ID:NOWzkK0J
>>227
教本はね。
書いてあっても、コラムとかに「使わないようにしましょう」とか、そんな扱い
もちろん、どの本でも予約語表には書いてあるけど
0231名前は開発中のものです。2008/07/15(火) 06:57:39ID:gZFxkFbp
>>228
それも例外処理じゃないなー。
戦闘で死んだ、MPが足りない、全滅した、ソフトリセットをした、というのは例外処理には当てはまらなくて、
bmpを読み込めなかった、DirectXを初期化できなかった、シナリオファイルがぶっ壊れてるというときに
例外を投げるの。「ゲーム外」の致命的エラーのときに例外を使うのだ。
0232名前は開発中のものです。2008/07/15(火) 07:16:08ID:rw0Afo1d
戦闘で、MPが・・は「広義の例外処理」
ファイルが壊れ・・は「狭義の例外処理」

普通はそう呼びますが
ここには相当なローカルルールがあるようですね
いやはや
0233名前は開発中のものです。2008/07/15(火) 07:32:42ID:7yk0deRV
今ここで言ってるのはtry-catchの例外処理のことで
これは明らかに「狭義の例外処理」の範疇でしょ?

なんでそんな煽りっぽい書き方なのか知らんけど落ち着け
0234名前は開発中のものです。2008/07/15(火) 08:28:41ID:Zwm7Itw/
>>232
呼ばない
0235名前は開発中のものです。2008/07/15(火) 09:39:51ID:7uaos1H7
>>232
呼ばない

"広義の例外"という言葉があったとしても、ゲームルール上想定している状況を例外と言い張るのは強引

ちなみに"広義の例外"でググッたら4件だけヒットした
0236名前は開発中のものです。2008/07/15(火) 11:37:08ID:2JWq/CWe
頭がおかしい奴は相手にするだけ不毛だぜ
0237名前は開発中のものです。2008/07/15(火) 18:39:56ID:F76sFcAL
>>231が正しい
0238名前は開発中のものです。2008/07/15(火) 20:17:42ID:693bK5j/
不毛とホモって似てるよな
0239名前は開発中のものです。2008/07/15(火) 21:01:16ID:3YAa6qqq
>>238
似てない

不毛とホモが似てるって言い張るのは強引

ちなみに"不毛とホモ"でググッたら3件だけヒットした
0240名前は開発中のものです。2008/07/15(火) 21:19:24ID:Ysnh+DHy
無毛とな
0241名前は開発中のものです。2008/07/15(火) 21:35:40ID:y3h/zkNd
つるぺたはにゃーn
0242はかせ2008/07/16(水) 03:05:59ID:1A9mEeBM
便利ボタンを実装しました。
ちなみに便利ボタンは【S】です。
はなす->とびら->しらべる の順に検査します。

戦闘の流れをフェイズで区切って処理するようにしました。
かなり見やすくなった気がします。というか、今までがダメすぎですか、そうですね。Orz

生物タイプのイベントに話かけたときに方向を変えるようにしました。
鍵を使った時にドアが消えるタイミングがおかしいのを修正しました。

http://sakuratan.ddo.jp/uploader/source/date86850.lzh

戦闘の流れの整理がちょっと楽しくなってきたこの頃。
前スレでリファクタリングは楽しいものだ、と言っていた人の気持ちが少しわかったかも知れないです。
とは言えそれだけだとうpしてもアレ気がしたので気まぐれに便利ボタン実装してみたり。

そういえばページ送りの機構がうまく動作してない気がするので
そっちの修正もしなくちゃですね。
まだまだやることたくさんありますね。がんばらなくちゃです。
0243名前は開発中のものです。2008/07/16(水) 08:18:56ID:HpuTaFaQ
>>229
デバッグは、ブレークポイントを細かく設定して追っていくしかないかも
0244名前は開発中のものです。2008/07/16(水) 18:11:40ID:4eWf9QIJ
>>243
EEって呼び出し履歴見られないんだっけ?
0245名前は開発中のものです。2008/07/16(水) 18:29:32ID:wSTAyXoK
ttp://www.nitoyon.com/vc/tutorial/debug/win32.htm
OutputDebugStringてのも有るけど
クラスや関数に入った時に表示させるようにすれば一応可能
0246名前は開発中のものです。2008/07/16(水) 18:51:03ID:6pqX5H9z
>>229
>>243
>>245
Expressでも呼び出し履歴見られるじゃん…
http://msdn.microsoft.com/ja-jp/library/a3694ts5.aspx
0247名前は開発中のものです。2008/07/16(水) 19:31:42ID:MgJCGGAp
まぁ、細かくブレークポイント設定しとかないと履歴見れても追い辛いてのはある。
0248名前は開発中のものです。2008/07/16(水) 21:55:45ID:4eWf9QIJ
>>247
それやるなら、例外投げないアサート沢山仕掛けて
偽の時にbreakpoint仕込んだ関数呼ぶようにするほうがスマートかと
0249名前は開発中のものです。2008/07/16(水) 23:17:41ID:JiTD01Sf
地味だけどOutputDebugStringが一番つかえる気がする。
ベホマラーぐらい使える気がする。万能じゃないけど。

あえてドラクエ風に強引に解釈したら、
BreakPointはベギラゴンぐらい←立ち位置微妙
コールスタックはトラマナぐらい(そんなにしょっちゅう使わないし)。
0250名前は開発中のものです。2008/07/17(木) 00:14:03ID:nR4gUOv6
常時監視やログ取りが目的じゃないんだから>>248がこの場合最適だと思うけど
デバッグプリントだと除去や追加の手間がかかりすぎる
リリースビルドで排除されるとはいえ、デバッグ時はフィルタリングができない
不要になってもログをだらだら吐かれる
まさかフィルタリングのためにコンパイルスイッチ増やすの?
ちょっと信じられないんだが
0251名前は開発中のものです。2008/07/17(木) 00:40:15ID:ASPdNACr
落ち着けよ248
0252名前は開発中のものです。2008/07/17(木) 01:23:22ID:nR4gUOv6
勝手に同一人物扱いされても困る…
0253名前は開発中のものです。2008/07/17(木) 08:52:52ID:W6C267ke
それはそうと、一つ気になってたことがある。
MAP用の画像フォルダと画像ファイルが日本語のままなんだ。
前に全部1バイト文字にしてたし、折角だから統一した方がいいんじゃないか?
0254名前は開発中のものです。2008/07/17(木) 16:02:50ID:6UldiNJ5
デバッグ用メッセージなんて手順確認したらすぐ消すもんだと思ってたけど。
残しておくって考える248がしんじがたい。
0255名前は開発中のものです。2008/07/17(木) 16:28:18ID:2DSpkRw+
いや、オープンソースの楽しみはデバッグ用コードの痕跡を探すことだろ。
0256名前は開発中のものです。2008/07/17(木) 21:04:49ID:uAQ9zE97
今どきはassertぐらいリリース版でも残すもんだぜ
0257名前は開発中のものです。2008/07/17(木) 21:13:45ID:gkpEGQ0q
リリースビルドはNDEBUG定義されるから普通は除去されてないか?
0258名前は開発中のものです。2008/07/17(木) 23:01:07ID:xBB6+N8d
#ifdef _DEBUG
#define DEBUG_OUT OutputDebugString
#else
#define DEBUG_OUT
#endif

でOK
0259名前は開発中のものです。2008/07/17(木) 23:19:43ID:uAQ9zE97
assertを残しておかないとリリース後のデバッグで地獄を見ることになるんだぜ?
ログすら吐かない状態でリリースとかもう絶対信じられねぇ
リリース後に発見されたバグは直す気ねぇの?って感じ
0260名前は開発中のものです。2008/07/17(木) 23:40:29ID:gkpEGQ0q
なんかJavaと勘違いしてない?
0261名前は開発中のものです。2008/07/17(木) 23:41:27ID:nR4gUOv6
>>254
だからなんで同一視するんだ?
あと俺は、毎回足したり消したりするのがナンセンスだし、"かといって"残したら邪魔だと言っている

都合よく解釈変えるのやめてくれ
0262名前は開発中のものです。2008/07/17(木) 23:50:51ID:uAQ9zE97
世の中には2種類の人間がいる
デバッグモードを作りこむ人間と作りこまない人間んだ
0263名前は開発中のものです。2008/07/17(木) 23:57:22ID:xyGCf9Fs
なにが248をここまで…
0264名前は開発中のものです。2008/07/17(木) 23:59:38ID:nR4gUOv6
>>260
俺のことか?
同一バグの再発防止、再発時の手間を考えるとこういう目的でログに頼るのは危険
リリースビルドでログが吐かれなければokということにはならない
マクロが云々言語が云々って言うのは全く関係ない話。
>>263
どうして一緒にしたいの?
2ch病なの?
0265名前は開発中のものです。2008/07/18(金) 00:17:26ID:6yruIhmm
誰がどういう手法を主張してるのかごっちゃになってるな
あと、すぐ消すようなメッセージなら最初からソースに埋め込むなよ
トレースすればいいだけじゃねーか
0266名前は開発中のものです。2008/07/18(金) 00:46:18ID:msMIfXSV
>>264
あおりつーか遊ばれてるだけだからあまり本気になるなよ。

普通は消さんで残す。消したら意味がない。
一人で書いてるならそれもありかも知れんがあまりいい癖じゃないな…。
0267名前は開発中のものです。2008/07/18(金) 00:51:22ID:4cK+6/me
>>264
いや>>256,259に対して、C++のassertてログなんて吐き出さないしリリースビルド時には何もしない構文になるから。
引数の範囲が決まってるならassertで引っかけたほうが良いから消さない
OutputDebugStringを残すのはある程度のエラーじゃないと必要ないだろう、実行時エラーは例外処理で拾うし。
0268はかせ2008/07/18(金) 02:45:21ID:3lhgKCh9
デバッグにもいろいろ方法があるんですね。
いままでひたすらブレイクポイントを置いてやってたので、この方法を参考に試してみたいと思います。

>>253
マルチバイトは消しておきました。ご指摘ありがとうございます! ><

街でエンカウントするバグを修正しました。
>エンカウント率が0でも遭遇するバグ… Orz

BattleFieldを細かく分けて見やすくしました。
MetaCmd::getCmd と  etaCmd::getCmdVis をif分岐から関数ポインタに変更しました。
>リファクタリングが楽しくなってきました。嫌いとか言ってた自分がうそみたい。
でもこういう作業にのめりこむとエターなりそうです。

店を作りました。
>実際の売り買いはまだできません。

ページ送りの動作を修正しました。
>呪文も3ページとかできますし、パーティーアタックも復活しました。

tp://sakuratan.ddo.jp/uploader/source/date86957.lzh

店の人に話しかけても向きが変わらないのは実際にはなすが適用されてるのはカウンターだから、です。
はなす、をほかのイベントにまわす仕組みを作ったら何かと便利かもしれないとか思いました。
0269名前は開発中のものです。2008/07/18(金) 09:18:12ID:EucVdKpz
カウンタにはなすより、カウンタにテーブル属性をつけて、
その属性ONの場合は、更に奥の人を検索させるほうがいい。
そうすれば、向きを変える事もできるし。
今のままだと、今後、カウンターをうろうろしている人に話し掛け
る時に困らないかな。
0270名前は開発中のものです。2008/07/18(金) 09:43:48ID:pMvy4uZu
便利ボタンで文字送りも出来た方がいい気がする。
敵が出た時とか敵が一瞬消えるのが気になる。
0271はかせ2008/07/18(金) 21:28:17ID:3lhgKCh9
>>270
とりあえず決定とかメッセージ送りに【X】でも【S】でも使えるようにしたつもりです。
やっぱり便利ボタンは便利じゃないとダメですね。 ^−^

>>269
ObjectタイプにTableを設定。このタイプのイベントに話すと一歩先のイベントを起動します。
>イベントからイベントを起動させようと思ったけど難しそうだったので269さん方式で。

戦闘時に呪文が使えないキャラはじゅもんコマンドが表示されなくなりました。
>先頭にいるキャラが呪文が使えない場合は【ぼうぎょ】も【にげる】もできます。

戦闘中にダメージを受けると画面が揺れるようになりました。
>もうちょっと触れ幅をでかくしたほうが良いかな?

ゴールドを表示するウィンドウを実装しました。

時間経過を作ってみました。【 T 】を押すと1/4日進みます。
>夜だけしか出てこないモンスターとかはまだ設定してません。

基本ダメージが1以下の時に50%の確率で1のダメージを与えるようにしました。
>東の祠があるべき場所でメタルスライムを出しました。
現在の攻撃力では1か0のダメージしか与えられません。
ただし、属性攻撃の耐性も設定してないので魔法が効きます。
モンスターの逃げる、もまだ作ってないので今なら狩り放題です。

tp://sakuratan.ddo.jp/uploader/source/date87003.lzh

トトロが始まったのでちょっと見てきます。
寝る前にもう一回更新できるかな?
0272名前は開発中のものです。2008/07/20(日) 01:25:20ID:gpI6Slf5
>>271
二回目の戦闘から、コマンド入力が効かなくなるね
前回の戦闘の入力が残ってる
0273名前は開発中のものです。2008/07/20(日) 05:59:54ID:QFiIC4V6
頭がおかしい奴は相手にするだけ不毛だぜ
0274名前は開発中のものです。2008/07/20(日) 15:34:35ID:gpI6Slf5
FieldクラスのcheckSpellEvent()で、
インスタンスもつくってないUseableのoutMsgを呼んでるけど、
こういうのはオブジェクト指向に反するんじゃないか?
0275名前は開発中のものです。2008/07/20(日) 15:49:34ID:gpI6Slf5
ごめんなさいstaticでした
0276名前は開発中のものです。2008/07/20(日) 16:13:07ID:bqWnONdl
staticじゃなかったらコンパイルできねえし
しかもオブジェクト指向とは関係ない
>>1を見下すつもりでソース読んでたのがバレバレwww
0277名前は開発中のものです。2008/07/20(日) 16:44:05ID:gpI6Slf5
>>276
見下すどころか見上げてるよ。
ただ、理解できなかったんで書き込んでみた
0278名前は開発中のものです。2008/07/20(日) 18:10:56ID:Lh4PAiqb
わかんねーんだったらヘタに口出してもしょうがないぞ
0279はかせ2008/07/21(月) 00:34:28ID:4WLR/OVD
>>272
戦闘中のコマンドがターン開始時にうまくリセットできていなかったバグを修正しました。
>>これは結構ひどいバグですねOr2

全滅したときにセーブポイントに設定された位置に戻るようになりました。
>実装にちょっとてこずりました。今までstd::stringの=演算子の振る舞いを勘違いしていたかもしれません。
ググっても詳しく解説してくれるページに当たらないんですよねぇ… Or2

攻撃するモンスターのグループを選択した時に、標的にする固体を選ぶ方法を変更しました。
>いままで各グループの先頭を標的にしてましたが、
ランダムで標的をとり、それを倒すまで標的にし続け、倒したら次の標的へ、という風に変更しました。
本物のドラクエでは基本的には同じモンスターに攻撃しますが
時々同じモンスターに攻撃しない時もあります。あれってどうやってるんですかね?

ゲームの開始場所を街に変更して、全滅したときの再開場所もそこにしました。
最終的にセーブ機能とかつけることを考えたらセーブポイントのリストを作ったほうがいいのかもしれません。

tp://sakuratan.ddo.jp/uploader/source/date87204.lzh

>>274
見下されても仕方ないかもです。
こういうstaticの使い方は多分NGだと思うので。Or2
直そうと思って忘れてました…
0280はかせ2008/07/22(火) 08:17:40ID:ZXf09FHW
スクリプトに ClearShopList と AddShopList を追加しました。
お店で かいにきた を選ぶと売っている物を表示するようになりました。

実際の買い物にたどり着くまでは 思ったより手順を踏んでいるんだな、と改めて思いました。
最近のRPGがアイテムを全部のキャラで共有してる理由のひとつがわかった気がします。

tp://sakuratan.ddo.jp/uploader/source/date87326.lzh

このまま店の機能を実装してみようと思います。
今のところ
ClearShopList でリストを削除して
AddShopList で商品を追加して…
とやってますが、
<Shop 0 1 25 23>
みたいな文を入れれば置換してやってくれる所まで作りたいと思ってます。
0281名前は開発中のものです。2008/07/22(火) 12:49:03ID:WmWx6Wij
岬の洞窟に行くとすぐに外に出ちゃう。
洞窟に入った時、階段の上に出て、そのまま階段のイベントが発生してるような感じ?
0282名前は開発中のものです。2008/07/22(火) 12:57:42ID:kdRVqHht
マップとシナリオを使う人が拡張出来るのが良い
0283名前は開発中のものです。2008/07/22(火) 13:03:36ID:oX0LgAz/
マップとかシナリオは共有メモリにしておいて
エディタでリアルタイムに更新できると作成、デバグが楽だよな。
各種モジュールもDLL化すると後々楽になる。
0284名前は開発中のものです。2008/07/22(火) 13:17:03ID:DJbcifn2
無意味に壮大な提案して足引っ張ろうとしてるだけだろw
作るものが決まってんなら最小限でつくりゃいいんだよゲームなんて。
0285なんか、みつけてきた2008/07/22(火) 13:19:09ID:kdRVqHht
Level4 マップエディタを作る
http://sys1.dip.jp/wiki/index.php?%C1%B0%B1%D2%BE%AF%BD%F7RPG_%B2%DD%C2%EA4

ツクール200X形式のチップをWOLF RPGエディター対応形式のチップに変換
http://sunsoften.web.fc2.com/

WOLF RPGエディター 説明書
http://www.silversecond.com/WolfRPGEditor/Help/

Platinum 汎用マップエディタ/マッピングツール
http://www.vector.co.jp/soft/win95/game/se231004.html?site=n

マップエディタLight ゲーム用のマップを簡単に作成
http://www.vector.co.jp/soft/win95/game/se413567.html?site=n

KSマップエディタ ゲームのマップエディタ
http://www.vector.co.jp/soft/winnt/game/se442396.html?site=n

Map Eddy3 単純操作で高機能かつ軽快動作のマップエディタ
http://www.vector.co.jp/soft/win95/game/se401352.html?site=n

MapEditor4 ツボを抑えた汎用マップエディター
http://www.vector.co.jp/soft/winnt/game/se351541.html?site=n
0286なんか、みつけてきた2008/07/22(火) 14:02:58ID:o9oamxq5
285を全部うごかしてみたけど
まともに使えるのは
Platinum
http://www.hyperdevice.net/
だけだったよ
0287名前は開発中のものです。2008/07/22(火) 14:09:03ID:c7QeI/ED
最近のRPGがアイテムを共有してるのは、アイテムの種類や数が多すぎるから
どうやって持ってんだ・・・・・
0288名前は開発中のものです。2008/07/22(火) 14:09:35ID:c7QeI/ED
>>286
マップエディタの使い方わかってんのか?
0289名前は開発中のものです。2008/07/22(火) 14:25:05ID:c7QeI/ED
なんでいつもやくそうポーチがやくそうポーって表示されるの?
0290なんか、みつけてきた2008/07/22(火) 14:57:03ID:o9oamxq5
ここにwin APIでの画面描写のコードがある
http://www.geocities.jp/saga4project/

これとマップエディタ Platinum
http://www.hyperdevice.net/

を組み合わせれば出来るはずなんだが・・・

プログラム技術がしょぼくて出来ない
0291名前は開発中のものです。2008/07/22(火) 14:58:06ID:o9oamxq5
Platinumにサンプルコードが付属しているが、ちゃんとうごかない
0292名前は開発中のものです。2008/07/22(火) 15:39:30ID:WmWx6Wij
俺は自分用をC#でさくっと作ってみようと思ってる。
もうちょっと安定したらだけど。
0293名前は開発中のものです。2008/07/22(火) 19:19:05ID:DY8Fcb8g
海外にはもっといいマップエディタあるぞ
教えないけど
0294名前は開発中のものです。2008/07/23(水) 00:21:00ID:3WuY5+EK
>>283
クラッシュして編集中のデータがパーですね。
わかります
0295名前は開発中のものです。2008/07/23(水) 00:24:24ID:ZYbqvCmG
まずはDQの再現が先だろうに何で流用が前提になってるの?>282とか
0296名前は開発中のものです。2008/07/23(水) 01:16:16ID:hWn7TDvg
>>294
メモリマップトファイルでの共有ならファイルにも残せるんだぜ。
0297はかせ2008/07/23(水) 02:12:33ID:I+5SHmGd
>>289
カタカナの【チ】がDQfontに存在しないからです。
このままだとみづらいので【やくそうつめあわせ】って名前に変更しました。

>>281

洞窟に入ってすぐ出ちゃうエラーを修正しました。

両名 バグ報告ありがとうございます!


Drawとshift 関数を分離しました。
>いままで描写と足踏み&移動を同じ関数で処理してたのを分けました。もう一手間加えたら村人が歩き出しそうです。

おみせ->かいにきた->でメニューと金額を表示するようになりました。
商品を選んだ後にメンバー選択できるようになりました。
商品を選んだ時に所持金が足りない場合にエラーメッセージがでるようになりました。
>お店関連の実装です。
あと一歩で販売はできるようになりそうです。

msgCmd.setMsg()で複数行あつかえるようになりました。
>いままで一行セットしてDrawして… とやっていたのをまとめてセットしてDrawということができます。
なので各コマンドからメッセージコマンドを呼び出す時の記述がさらにわかりやすくなりました。
でもイベントスクリプトのMsg は一行ずつ入れないとダメです。

メッセージウィンドウを呼び出したら、呼び出す前のウィンドウに制御を移すようにした。
>これと上の修正点を使ってMsgCmd.giveControl() を MsgCmd.control() に変えていきたいと思います。

tp://sakuratan.ddo.jp/uploader/source/date87395.lzh
0298名前は開発中のものです。2008/07/23(水) 02:18:45ID:3WuY5+EK
>>296
共有メモリじゃないじゃん
0299はかせ2008/07/23(水) 02:23:20ID:I+5SHmGd
>>283
ドラクエみたいなオンラインの開発日記を全部読んだんですが
そんな機能をつけてたのを見て、僕も実装したいな、なんて思ってました。
イベント編集は難しいかもですが、マップ編集ならなんとかなるかも知れません。
みんなでアレフガルド作ったり、天空の塔作ったりとか考えるとちょっと楽しくなってきました。
期待しないで待っててください。

>>282
現時点でも拡張はできます。
でも、今現在では僕以外はよくわからないデータ構造になってます。
無理やり解析して使うくらいなら別の、たとえばたびたび話がでるWOLFとか使ったほうがよさそうです。
エディタ作成はしたいと思ってますが、着手するのは多分一番最後です。
まだまだ先の話になると思うので、283よりも期待できません。
待てるのであれば気長に待っててください。がんばります。


次の更新予定は
・お店の実装
・歩く村人
・メッセージボックスでのエラーメッセージ を ゲーム内のメッセージ表示に切り替える。
の3本立てです。
いや、全部一気に更新できるかわからないですけど。Or2
0300名前は開発中のものです。2008/07/23(水) 11:24:48ID:z5KGu4Wy
http://www.geocities.jp/saga4project/
ここのSAGA4のソースが参考になると思うんですけど出来ないです。

マップエディタ Platinum http://www.hyperdevice.net/
で作ったマップを歩くサンプル教えて下さい!!!
0301名前は開発中のものです。2008/07/23(水) 12:45:51ID:qVziCebo
今はかせの死亡プラグが立った
0302名前は開発中のものです。2008/07/23(水) 13:46:09ID:h3cspee9
レーベの村は入れないが無限ループです
■ このスレッドは過去ログ倉庫に格納されています