検索
<< 2024年01月 >>
1 2 3 4 5 6
7 8 9 10 11 12 13
21 22 23 24 25 26 27
28 29 30 31
広告
駿河屋レトロゲーム
最新記事
ブログランキング
にほんブログ村 ゲームブログ ゲーム制作へ
プロフィール
J-JSOFTさんの画像
J-JSOFT
高校時代、あれほど熱心に取り組んだMSXに触れなくなって30年余…。 MSXエミュレータとの出会いで、MSX愛が再燃中。
カテゴリーアーカイブ
ファン
QRコード

2024年01月24日

ロールプレイングゲーム再考

4_19_1.png

さて、今回の3Dダンジョンロールプレイングゲーム制作中に出たメモリ不足問題について、対応について改めて考えてみました。
最初、MSXでのプログラミング勘が鈍りまくっててマシン語エリアが&HC000〜CFFF(4,096バイト)くらいで大丈夫かな?とか思ってた自分を殴りたい…。
途中でマシン語エリアを&HCFFF→&HD9FF(6,656バイト)に増やし、それでも足りないのでFONT読込用エリア(&HB000~BFFF)をFONT読込・設定後、半分(&HB000~B7FF、2,048バイト)を戦闘用マシン語エリアにする事で何とか完成に漕ぎ着けました。
それでも共通ロジックはギリギリで、一部の不具合を直す余裕がなかったくらいです。




共通ロジック

戦闘ロジック


&HC000~D9FF

&HB000~BFFF


メッセージルーチン

メニュールーチン

システムメッセージルーチン

スクリプト処理

探索

システムメニュー

道具

魔法

死亡処理

状態異常効果

走査線割込み処理

BGM演奏

効果音演奏

敵遭遇

フェードアウト


戦闘

レベルアップ

イベント戦闘




そこで次回作る事があれば、FONT読込用エリアを戦闘時は戦闘ロジック、ダンジョン探索時は探索ロジックのマシン語エリアとする事で、共通ロジックを分散・縮小し、イベントデータなどに割くメモリを確保したいと思います。



共通ロジック

探索ロジック

戦闘ロジック


&HC000〜 CFFF

&HB000〜BFFF


メッセージルーチン

メニュールーチン

システムメッセージルーチン

道具

魔法

死亡処理

走査線割込み処理

BGM演奏

効果音演奏

共通フェードアウト

BGMエフェクト処理


スクリプト処理

探索

システムメニュー

状態異常効果

敵遭遇

フェードアウト

イベントキャラ表示


戦闘

レベルアップ

イベント戦闘



他にも、今作はメッセージルーチンとスクリプト処理ルーチンがひとまとめだった事もあり、システムメッセージ専用の表示ルーチンが必要でしたが、本来ならメッセージルーチンでシステムメッセージを表示するはずですので、システムメッセージルーチンは削除します。
あと、共通ロジックエリアは分割し軽くなるはずなので、メモリに余裕があればBGMがいかにもなPSG音そのままだったので、エフェクトかけてそれなりにしたいな。
ただ、ドラクエタイプのロールプレイングゲームを作るなら、スクリプト命令がかなり増えると思われるので、油断は禁物です。
(イベントでキャラクタをアニメーションさせたりするMV(ムーブ)命令など)

では、とりあえず次回作は宣言通り「BMP to MSX」を使ったアドベンチャーゲームの予定です。
これもとりあえず今回は比較的簡単なものにしたいと思います。
推理ものとかだとシナリオが大変なので、脱出物にでもしようかな…。
絵をどうするか検討中です。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発
Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: