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

2023年08月12日

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



3Dダンジョンロールプレイングゲーム第9回目です。
今回は、プレイヤーの向きに対応した2Dマップデータを読み込み、表示ワークを設定します。

因みに3D表示のやり方は、人によっても、機種によっても、言語によってもやり方は千差万別です。
「この人は、こんなやり方なんだ。」程度に読んで下さい。

表示ワークへは、前回作った2Dマップからデータ取得します。
7_19_2.png

8_12_3.png
プレーヤーの向きに対して、@〜Gのポジションの地形を表示ワークに設定します。

例えば、前を向いている時は、下図のようにワークを設定します。
8_12_1.png





















ワーク@ABCDEFG
通路通路


左を向いている時は、下図のようにワークを設定します。
8_12_2.png





















ワーク@ABCDEFG
通路通路通路通路通路通路


この方法ですと、どこに移動しようと、どの向きだろうとワークさえちゃんと設定できていれば3D表示可能ですので、表示ルーチンは単純なものにできます。

次回は、いよいよ今回設定した表示ワークから、3D表示ロジックを考えます。

posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2023年08月09日

MAP8 EDITOR Ver.2.5公開!

T3_2.png

マウスの不具合を修正したバージョンです。
コントローラー選択部分のプログラムを、一通り見直して修正してあります。
すべてのコントローラー・ポートでの動作確認済みです。
バグ修正なので本来ならバージョンを0.1上げる程ではないのですが、0.01単位がないので止む無くVer.2.5とします。

こちらも前2ツール同様、カラーパレットのカラー上で右クリックすると、全カラーパレットを初期色に戻す機能がありました。
説明文に追加しておきます。

1日1本の修正版公開はキツイです…。
プログラム修正して、エディタ開発用ディスクから、そのツール分のプログラムだけコピーしてイメージディスク作って、zip化してアップロード。
動作確認後、紹介記事も改訂して、初めて終了…。
やる事多すぎ!
サラリーマンにはキツイです。

「MAP8 EDITOR Ver.2.5」紹介ページへ
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2023年08月08日

FONT EDITOR Ver.2.5公開!

t2_1.png

マウスの不具合を修正したバージョンです。
コントローラー選択部分のプログラムを、一通り見直して修正してあります。
すべてのコントローラー・ポートでの動作確認済みです。
バグ修正なので本来ならバージョンを0.1上げる程ではないのですが、0.01単位がないので止む無くVer.2.5とします。

こちらも、「SPRITE EDITOR」同様、カラーパレットのカラー上で右クリックすると、全カラーパレットを初期色に戻す機能がありました。
説明文に追加しておきます。

絶対にそれ以外にも忘れてる機能があると思います。
もし、正式にバージョンアップすることがあればその時に、全機能洗い出します。

「FONT EDITOR Ver.2.5」紹介ページへ
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2023年08月07日

SPRITE EDITOR Ver.2.5公開!

t1_1.png

マウスの不具合を修正したバージョンです。
コントローラー選択部分のプログラムを、一通り見直して修正してあります。
すべてのコントローラー・ポートでの動作確認済みです。
バグ修正なので本来ならバージョンを0.1上げる程ではないのですが、0.01単位がないので止む無くVer.2.5とします。

あと、プログラム見ていて気付いたのですが、カラーパレットのカラー上で右クリックすると、全カラーパレットを初期色に戻す機能がありました。
説明文に追加しておきます。

「SPRITE EDITOR Ver.2.5」紹介ページへ
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2023年08月06日

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



3Dダンジョンロールプレイングゲーム第8回目です。
今回は、「【ゲーム制作】3Dダンジョンロールプレイングゲーム 第4回」で決めた、15パターン分のキャラクタデータを作成します。
キャラデータ作成には、「【ゲーム制作】3Dダンジョンロールプレイングゲーム 第7回」で紹介した、「キャラクタを読み込んでキャラクタデータファイル化」するツール(以下、「CHARSET.BAS」と呼ぶ)を使います。
事前に「CHARSET.BAS」を3DダンジョンRPGのディスクにコピーしておきます。

まず、「FONT EDITOR」でマップフォントを読み込み。
マウスが動くようになったので、少しだけ改訂。
3D表示が出来るようになったら、見栄えが良くなるようにFONT増やします。
なので、今はこれでOK。
8_6_1.png
「Ctrl」+「STOP」で強制終了の後、3DダンジョンRPGのディスクと入替、「CHARSET.BAS」をロード。
プログラム下部にあるDATA文に、15パターン分のキャラクタを配置し、1行ごとに忘れず「RETURN」。
8_6_2.png
15パターン分、DATAセットし終わったら、RUN実行。
8_6_3.png
15パターン分のデータがBSAVEで格納され、それぞれの開始アドレスが一覧表示されるので、ハードコピーして保存。
これで、キャラクタデータが完成しました。
「CHARSET.BAS」があったから簡単にできたけど、なかったらDATA文にひたすらキャラクタコードを打ち込まないといけないという苦行が…、あぁ、考えただけで恐ろしい…。(昔はそれをやってたんですよね…。)

では次回は、「【ゲーム制作】3Dダンジョンロールプレイングゲーム 第6回」で作成した2Dのマップデータを向きに合わせて、5データ分読み込んで、描画ワークに設定する仕組みを考えます。

posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2023年08月02日

MAP16 EDITOR 活用方法

「MAP16 EDITOR」で作ったデータの活用方法について説明します。
この「MAP16 EDITOR」で作成したデータは、保存すると各データ下記アドレスに保管されBSAVEされます。














メモリアドレスデータ種別詳細
&H9C00〜&H9FFFキャラクタデータ256キャラクタ×4バイト=1,024バイト
&HA000〜&HBFFFマップデータ最大&H2000=8,192バイト

そのデータを表示してゲームに使えるようにするサンプルプログラムを用意しました。
起動すると、下画面が表示されます。
俗に言う、MSX1のSCREEN1.5を使用しています。
8_2_1.png

昔に「MAP16 EDITOR」で作成したマップデータを使って作ったゲーム(製作途中も含め)を探したのですが見付からず、「MAP16 EDITOR」自身のマップ表示ルーチンは速度度外視(遅い)のため、一からロジック組み直しました。
そのため時間がなく、今回は1キャラクタスクロール(16ドット)の全画面表示です。(昔は市販ゲームでも結構ありましたね…。)
1FONTスクロール(8ドット)をするための仕組みは組み入れてありますので、表示範囲指定可能な1FONTスクロール版は後日公開します。(ロジック的には、メモリ内で一旦1列分のキャラクタを展開(2FONT×2FONT×マップ表示横幅)し、1FONTスクロール2回をセットにして表示します。)
「MP16SMPL.BAS」【ダウンロード
8_2_2.png

自作プログラムに組み込むには、下記の部分が必要です。

















行番号内容説明
70MAP16PRT.BINキャラクタ単位マップ表示マシン語プログラム
150〜180マップ表示値指定マップ全体の縦横幅と、表示する左上の座標を指定
220マップ表示サブルーチンマップ表示値を指定し、220行のサブルーチンをコールするとマップを表示するサブルーチン

このプログラムでは、最も時間のかかるであろうマップ表示部分をマシン語で組んでいます。
「MAP8PRT.BIN」と異なり、アドレス計算もマシン語内で行っているため、描画速度も向上しています。

「MAP16PRT.BIN」(70行)

下記機能を提供します。











実行アドレス機能詳細
&HC0D0マップ表示

指定されたマップ表示値から表示される先頭アドレスを算出しマップを表示する

最大16キャラクタ×12キャラクタ

マシン語アドレスを変えたい人用に、MAP16PRT.BIN作成用のBASICプログラムを用意しました。
起動すると、MAP16PRT.BINを作成します。
「MAP16PRT.BAS」【ダウンロード
8_2_3.png
250行〜280行:マップ表示させたい左上座標の、マップデータ上のアドレスを算出。
290行〜380行:マップデータから1キャラクタデータを読み取り、横1列分のマップをメモリ上に展開。
390行〜470行:メモリ上に展開した1列分のデータをVRAMに上から転送。それを縦列数分繰り返す。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2023年08月01日

MAP16 EDITOR Ver.2.2

8_1_2.png




















ツール6製作年1990〜2023年
タイトル『 MAP16 EDITOR Ver.2.2 』
対応機種MSX1、MSX2、MSX2+、MSXturboR
ダウンロードリンク先へ

『起動時』
起動するとコントローラーの選択です。
5_14_2.png
マウスが絶対お奨めです。

『基本操作』
操作はマウスを基準としています。
「+」カーソルを動かし、所定の位置でクリックすることで任意の動作を行います。
マウス移動:キーボードのカーソルキー、ジョイスティックの十字キー
マウスの左クリック:キーボードの「スペース」バー、ジョイスティックのAボタン
マウスの右クリック:キーボードの「GRAPH」キー、ジョイスティックのBボタン

『サンプルデータ』
操作を覚えるためのサンプルデータとして、上記データを「SAMPLE.M16」と「SAMPLE.FNT」としてディスク内に同梱してあります。

『設定画面説明』
T6_1.png

『エリア説明』
























エリア名詳細
1フォントエリア

左クリックでキャラクタエリアの描画カーソルの内カーソルにクリックされたフォントを1つ描きます

(内カーソルが下図赤線の順に移動し、描画カーソルが4つフォントで埋まると描画カーソルが右へ移動します)

右クリックで「選択カーソル」を移動します8_1_3.png
2キャラクタエリア

左クリックで「描画カーソル」を移動します。

右クリックで「描画カーソル」にフォントエリアで選択されたフォントを起点にフォントを4つ連続で描きます
3カラーエリア

色を直接左クリックすることで、RGB変更する色を選択します(その色の下に「選択カーソル」が付きます)

カラー上で右クリックすると、初期色に戻ります
4コマンドエリア左向き三角1右向き三角1をクリックすることで各命令を実行する。(コマンド説明参照)


『コマンド説明』























































































































表記ボタンクリック命令名詳細
1CHANGE EDITOR右向き三角1エディットエディット画面へ移行
2CHANGE左向き三角1右向き三角1チェンジキャラクタエリアに表示されるキャラクタを変更(横16キャラ×縦4キャラ×4頁=256キャラ)
3CLEAR左向き三角1クリアキャラクタエリアをクリア
全クリアキャラクタエリア全4頁分をクリア
右向き三角1フルキャラクタエリアを選択されたフォントで埋める
全フルキャラクタエリア全4頁分を選択されたフォントで埋める
4R左向き三角1右向き三角1赤値選択されたカラーのRGB赤値を0〜7まで指定
5G左向き三角1右向き三角1緑値選択されたカラーのRGB緑値を0〜7まで指定
6B左向き三角1右向き三角1青値選択されたカラーのRGB青値を0〜7まで指定
7XPOS左向き三角1右向き三角1横幅マップ全体の横幅を指定する(1単位)
      〃      (10単位)
8YPOS左向き三角1右向き三角1高さマップ全体の高さを指定する(1単位)
      〃      (10単位)
9SAVE右向き三角1セーブデータを保存する(空入力でキャンセル)
10LOAD右向き三角1ロード

データを呼び出す(空入力でキャンセル)

フォントデータ展開の際にマップデータを破壊するので、先にフォントデータを読み込んで下さい
11FONT右向き三角1フォント

フォントデータを呼び出す(空入力でキャンセル)

フォントデータ展開の際にマップデータを破壊するので、マップ編集途中でフォントを切り替える際は、マップデータをセーブし、切り替え後ロードして下さい

読み込んだフォントによっては▲右向き三角1左向き三角1が分らなくなるのでご注意下さい
12NEXT右向き三角1次メニュー将来拡張用(現在未使用)

『エディット画面説明』
T6_2.png

『エリア説明』



















エリア名詳細
1エディットエリア

左クリックで選択されたキャラクタを描きます

右クリックで「描画カーソル」を移動します

連続で描画したい時は「キャラクタエリア」の描きたいキャラクタを右クリックで「描画カーソル」に描画し、「描画カーソル」は右へ移動します

▼▲右向き三角1左向き三角1で表示範囲を下上右左へ移動
2コマンドエリア左向き三角1右向き三角1をクリックすることで各命令を実行する。(コマンド説明参照)
3キャラクタエリア表示されたキャラクタを左クリックすることで、キャラクタを選択します(そのキャラクタに「キャラクタ選択カーソル」が付きます)


『コマンド説明』












































表記ボタンクリック命令名詳細
1CHANGE左向き三角1右向き三角1チェンジフォントエリアに表示されるフォントを変更
2CLEAR左向き三角1クリアエディットエリアをクリア
全クリアマップ全体をクリア
右向き三角1フルエディットエリアを選択されたフォントで埋める
全フルマップ全体を選択されたフォントで埋める
3SETTING右向き三角1セッティング設定画面へ移行
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2023年07月25日

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



3Dダンジョンロールプレイングゲーム第7回目です。
相変わらず遅々として進まない...。

今回は3Dダンジョン表示の準備として、キャラクタデータをデータ化します。
これは、Laboratoryで紹介した、「任意サイズのFONTキャラクタを指定座標に表示」させるサブルーチンで表示させる為です。
しかし、いくらデータ化といえど、DATA文中に直接キャラクタコードを打ち込んでいくのは非常に大変です。
そこで私が昔使っていた、キャラクタを読み込んでキャラクタデータファイル化する便利なプログラムを公開します。
これがあるのとないのとでは、労力が段違いです。
まぁ、大層なことはしていないので、ツール化はしません。

CHARSET.BAS【ダウンロード

使い方は、FONTEDITORでフォントを作成し、保存。
そのまま「Ctrl」+「STOP」で強制終了し、上のプログラムをLOAD。
7_26_1.png
FONTが残ったままの状態で、プログラムを「LIST」表示し、プログラム下部のDATA文の中にキャラクタを描くように配置していきます。
7_26_2.png
この時、1行毎の「ENTER」を忘れないように注意。
データ登録ルールとして、1キャラクタデータの最初に、キャラクタ名を登録。(3,160行)
1キャラクタデータの終わりには「FF」を登録(4,150行)、そのまま2キャラ目を配置してください。
データが終わった最後のDATA文に「END」を入れてください。(4,160行)
登録が終わったら「RUN」実行。
7_26_3.png
「キャラクタ名」、「データ開始アドレス」を一覧化して終了します。

次回は、このツールを使いキャラクタデータを作成します。

posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2023年07月19日

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



3Dダンジョンロールプレイングゲーム第6回目です。
遅々として進まない...。

今回はダンジョンデータの準備をします。
【ゲーム制作】3Dダンジョンロールプレイングゲーム 第2回」の時にEXCELを使って作ったマップデータを、「MAP8EDITOR」でデータ化するだけです。
まず、「MAP8EDITOR」の領域を21×21マスにセットします。
7_19_1.png
次に、あればFONTを読み込みます。
なくても支障ありませんが、とりあえずでも構わないのでFONTセットしておくと、後で分かり易いです。

次に、「MAP8EDITOR」のEDIT画面でダンジョンを描いていきます。
7_19_2.png
この時、事前に通路のキャラクタコード、壁のキャラクタコードを決めておく必要があります。















キャラクタコード説明
&H91壁(青)
&H92通路(白)

階段や扉などは後で大丈夫です。
まずは、3Dダンジョンの中を歩けるようにします。
因みに階段や、お店などは壁にめり込ませる予定です。
複数階層のダンジョンを作る場合は何階のデータか判るよう、ファイル名を「RPGMP3.MP8」等工夫して下さい。(例はRPGのマップ3階データ、拡張子はMAP8EDITORデータ)

これが出来れば、次はこのデータを読んで3Dに表示します。
次回はいよいよ3Dダンジョンの描画について考えます。

posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2023年07月15日

簡易MMLコンパイラ 活用例






 

このツールの上位版である、「MMLコンパイラ(通常版)Ver.1.1」を2024年3月26日に公開しています。

 

「簡易MMLコンパイラ Ver.2.0」でコンパイルしたBGMデータ3つを、簡易BGM演奏ルーチンを3つ使い、スクウェアの「アルファ」のオープニングの冒頭部分を3重和音で演奏してみました。(フルコーラス作りましたが、著作権的に問題ありそうなので公開はやめます。

7_16_1.png
画像出典: 『sinking into dithered』 ALPHA NEC PC-8801
https://pixelriots.tumblr.com/post/104261570162/alpha-square-nec-pc-8801-1986-in-this-game


MSX1の絵と思えない…。
因みに画像は「BMP to MSX」なるソフトでコンバートしました!
制作者のHRAさん、素晴らしいソフトをありがとうございます!
(古い方のホームページにしか置いていないようです。こちら

ダウンロード

う〜ん、やっぱり「アルファのオープニングはカッコいい!!」(曲名知りません。)
「アルファ」(1986年発売)は高校2年生当時、X1持ってた友人に高校の文化祭のデモ陳列用に「X1貸して!」(パソコン同好会員に非ず。)と無理言って持って来てもらって、その時デモで流してたゲームでした。
聞いた時の最初の印象は、最初に書いた感想通り「カッコいい!」。
当然の如く、MSXでは発売されていなかったので、カセットテープに録音してもらい、それを耳コピでPLAY文データに起こしました。
伴奏がなかなか聴き取り難く、大ボリュームでやっていたため、耳が痛かった覚えがあります。
最後の方は力尽きてる感満載ですね…、なんかグダグダでデータ合ってるのかどうかが不明…。(注:公開分は問題なし)

因みに、こんなでっかいBGMデータ(フルコーラスで7kバイト強(BASIC部も含めると15kバイト)、MSXのメモリは32kバイト)、普通に全データDATA文にして打ち込んでコンパイルすると、当然飛びます。(リセット若しくは暴走。)
では、どうやってコンパイルしたかと言うと…。
まず、事前準備として、PLAY文の中のT(テンポ)、V(ボリューム)、S、M(エンベロープ)など、簡易コンパイラで使えないコマンドを削除・調整します。
併せて、スペースなどの無駄なデータも削除します。
次に簡易MMLコンパイラにPLAY文のAパートのみDATA文にして打ち込み、コンパイル。
次に簡易MMLコンパイラをコピーし、そちらでBパートのみDATA文にして打ち込み、コンパイル。
同じく簡易MMLコンパイラをコピーし、最後CパートのみDATA文にして打ち込み、コンパイル。
コンパイル時に、CLEAR文を使って領域確保し、飛ばないように調整します。
要するに、パート毎にMMLコンパイラも3つ用意した訳です。
それぞれ違うアドレスにBGMデータを置いて、サブルーチンを3つ重ねていざ演奏!
思った以上に上手くいきました!
…ていうか、簡易MMLコンパイラ、我ながら凄いな!
元のPLAY文を、ほぼなんの改修もせずにそのままコンパイルできました。

ゲーム以外の活用方法でしたー。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発
検索
<< 2024年12月 >>
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 31        
広告
最新記事
ブログランキング
にほんブログ村 ゲームブログ ゲーム制作へ
プロフィール
J-JSOFTさんの画像
J-JSOFT
高校時代、あれほど熱心に取り組んだMSXに触れなくなって30年余…。 MSXエミュレータとの出会いで、MSX愛が再燃中。
プロフィール
カテゴリーアーカイブ
ファン
QRコード