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

2023年08月23日

【ゲーム制作】3Dダンジョンロールプレイングゲーム 第11回



4_19_1.png
3Dダンジョンロールプレイングゲーム第11回目です。
今回は3D表示のプログラミングに挑戦する予定だったのですが、ゲーム製作久しぶりすぎて、最初にやらなくてはならない事を忘れていました。

メモリマップの作成です。
ゲームを製作する時には、ツールを使うなりして各種データを作成し、最後すべて読み込んで1本のゲームにします。
と、いう事は、それぞれのデータの保存アドレスが重ならないように、データ保存する必要があります。(若しくは読込先アドレスを変更する。)
しかも、ロールプレイングゲームは、データの種類が多いジャンルです。
・マップデータ
・イベントデータ
・メッセージデータ
・アイテムデータ
等々…。
これらが重ならないように事前にデータ量と範囲を決めておく必要があります。
今回の3Dロールプレイングゲームのメモリマップは、現状下記としました。



アドレス

データ名

備考


A000〜A1B8

2Dマップデータ

21マス×21マス=441バイト


A200〜A7FF

壁キャラクタデータ

前回から保存先アドレス変更


A800〜AFFF

空き



B000〜B7FF

フォントキャラクタデータ

256キャラ×縦8バイト=2,048バイト


B800〜BFFF

フォントカラーデータ

256キャラ×縦8バイト=2,048バイト


C000〜CFFF

マシン語エリア



D000〜D0FF

変数エリア



D100〜DFFF

メッセージデータエリア

アイテムデータも含む



ゲームの種類によっては、各面の最初にフォントを設定してしまえばフォントデータのエリアは不要なのですが、ロールプレイングゲームの場合は、敵キャラフォントを毎回読み込む必要があるので、読込先エリアとして空けておく必要があります。

うーん、キツキツですね。
MSX2以降だと、データをVRAMに保存してといったことが可能なのですが、MSX1だと厳しいです…。
メッセージ表示ルーチンとか、選択ルーチンとかは、かなり巨大なサブルーチンだけど、マシン語エリア(&HC000〜&HCFFF)に収まるのか?
因みに、タイトル背景の「Devils Busters」製作中にメモリ不足に悩まされて、ロールプレイングゲーム製作止めた過去があります…。 2023年4月14日記事参照「 ブログタイトル画像更新 」)

とりあえず、今のところはこれだけ決めておけば大丈夫です。
これに合わせて、各データの保存先アドレスを変更しておきます。

では、次回こそ、3D表示のプログラミングをしましょう。

posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発
Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: