アフィリエイト広告を利用しています
 

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) | 開発
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/12379866
※ブログオーナーが承認したトラックバックのみ表示されます。

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