2023年05月21日
ツイッター
最近、ツイッターでMSX関連の記事探しては閲覧のみしております。
うちのブログと違ってとても賑わっており、MSXは元気!って感じられます。
なんかハード面でもソフト面でも技術的に高度な内容ばかりで、私ごときが話題に入っていいのか悩んでしまうくらい、レベルが高い…。
お気に入りなのが、とあるドッターさんと、プログラマーさん。
ドッターさんは、MSXで商用を超えるレベルのドット絵を描いており(私の所感です)、尊敬を通り越して崇拝してしまいそうです。
MSX1で、なぜあそこまで描けるんだろう?
プログラマーさんは、レベルの高いゲームを作成しており、今度ROM化して発売される予定のようです。
ホームページにあるプログラムを拝見してレベルの高さが伺えます。
私なら相当悩みそうなアルゴリズムを、いとも簡単にロジック化されています。
MSXユーザーって、やっぱりレベル高いですよね…。
皆さん、どんな勉強の仕方してここまでのレベルになられたんでしょうか。
昔はインターネットもなく、解らないことがあっても聞くこともできず、書籍くらいでしか調べられませんでした。
そのため、難しいアルゴリズムを考える時は、悪戦苦闘し諦めたことも何度もありました。
私の周りにはゲームプログラミングに精通している友人はいませんでした。
だから誰かと一緒に考えるとか、そういったことが出来ない環境でした。
そんな時はどうしていたんでしょう。
ゲーム開発に限らず、やっぱり周りの環境って大事ですよね。
2023年05月20日
3Dダンジョンロールプレイングゲーム
製作再開一発目決まりました。
「3Dダンジョン型ロールプレイングゲーム」です。
要するにアスキーの「WIZARDRY」タイプですね。
画像出典: 『Game Database』
https://refuge.tokyo/msx/msx/00653.html
実は、3Dダンジョン系のロールプレイングゲームは意味なく嫌っていたので、MSXでは製作したことはありませんでした。
私は日本ファルコムの「イース」タイプのARPGが大好きだったので、「ドラクエ」タイプもほとんどこの時期プレイしたことがありません。(2023年4月14日記事参照「ブログタイトル画像更新」)
画像出典: 『Game Database』 イース MSX2版
https://refuge.tokyo/msx/msx/00718.html
専門学校時代に、友人からドラクエの処理について「どうやってるのか教えて」とヘルプされたのをきっかけに、ロジックを教えるためだけにプレイしたのが始めです。
その後も、ドラクエタイプにはハマることなく、ドラクエタイプのロールプレイングゲームは、作るだけの人でした。
では、検証内容は前回示した通り、
@基本はBASIC
ABASIC部で「MuSICA」でBGM演奏
Bマップ表示はマシン語
C敵表示用のFONT書換えもマシン語
で行きます。
仕事で忙しいときは製作が進みませんが、ゆっくりやっていこうと思います。
2023年05月19日
きつかった…
ツール集とサンプルの公開、無事終了しました。
…きつかった!
ツールの改修が完了し、準備が整ったことで記事順に割込む形で入れたツール公開。
まさかサンプル作成にここまで手こずるとは考えておらず、見積もりが甘かったです…。
「操作説明は解り易く、尚且つ詳細に、だがシンプルに!
サンプルも、プログラムは短く解り易く!」
をモットーに、可能な限り解り易くしたつもりです。
しかし現役のサラリーマンですので、1回1回を一晩で仕上げるのはきつかったです…。
おかげで寝不足です…。
もう無理の聞かない年齢です…。
ツール公開以外の記事は、既に6月半ば分までアップ済みですので、ぼちぼち記事数増やしていけばいいだけだったんですが…。
ブログについても、なんだかんだで現在は毎日更新になっていますが、徐々にペースを落としていく予定です。
反響もないし…、ひょっとしたら誰も来てくれていないかも…。
まぁ、自分の回顧録なので、細々と続けます。
2023年05月18日
作品Bパズル
・初パズルゲーム
・リアルタイム数字表示実装
・面データ暗号化実装
タイトル | 『 WONDER BOY 』 | 作品 | 3 | |
内容 | 自機を操作し上下の「黄石」間を、接触すると位置が入替る不思議な「青石」で繋げて下さい。 青石と入替わるには体力が必要です、「POWER」が尽きる前にクリアして下さい。 全30面 | |||
操作方法 | タイトル画面でタイトル文字(WONDER BOY)の色が紫色になったら、「↑」「↓」カーソル若しくは十字キーで、面を選択し「スペース」バー若しくはAボタンでゲーム開始 開始させたコントローラーで操作します 「↑」「→」「↓」「←」カーソル若しくは十字キーで、自機移動 「スペース」バー若しくはAボタンで、ギブアップ | |||
対応機種 | MSX1、MSX2、MSX2+ | 製作年 | 1988年 | |
ダウンロード | リンク先へ | ジャンル | パズル |
※ゲーム内のキャラクタ、音楽は制作当時の物です。 公開前提に製作していないため、雑誌等から流用している物もあるかも知れませんので、著作権侵害の恐れのあるものは、ご連絡をお願いします。 |
2023年05月17日
MAP8 EDITOR 活用方法
このMAP8 EDITORで作成したデータは、保存すると各データ下記アドレスに保管されBSAVEされます。
メモリアドレス | データ種別 | 詳細 |
&HA000〜&HBFFF | マップデータ | 最大&H2000=8,192バイト |
そのデータを表示してゲームに使えるようにするサンプルプログラムを用意しました。
起動すると、下画面が表示されます。
俗に言う、MSX2のSCREEN1.5のSPRITEモード2を使用しています。
プログラムは簡単なので特に解説は不要かと思います。
「MAP8SMPL.BAS」【ダウンロード】
自作プログラムに組み込むには、下記の部分が必要です。
行番号 | 内容 | 説明 |
190 | MAP8PRT.BIN | フォントデータVRAM転送マシン語プログラム |
210〜230 | 表示範囲 | マップの表示の範囲と、マップ全体の横幅を指定 |
310〜340 | マップ表示サブルーチン | 変数AYに全体マップの表示範囲左上のY座標、変数AXに全体マップの表示範囲左上のX座標を代入し、310行のサブルーチンをコールすると、アドレスを計算しマップ表示するサブルーチン |
このプログラムでは、最も時間のかかるであろうマップ表示部分をマシン語で組んでいます。
「MAP8PRT.BIN」(180行)
下記機能を提供します。
実行アドレス | 機能 | 詳細 |
&HC0B8 | マップ表示 | 指定のアドレスから、指定の幅と高さ分の範囲にマップを表示する 最大32フォント×24フォント=768バイト |
マシン語アドレスを変えたい人用に、MAP8PRT.BIN作成用のBASICプログラムを用意しました。
起動すると、MAP8PRT.BINを作成します。
「MAP8PRT.BAS」【ダウンロード】
2023年05月16日
MAP8 EDITOR Ver.2.5
ツール | 3 | 製作年 | 1990〜2023年 |
タイトル | 『 MAP8 EDITOR Ver.2.5 』 | ||
対応機種 | MSX1、MSX2、MSX2+、MSXturboR | ||
ダウンロード | リンク先へ |
『起動時』
起動するとコントローラーの選択です。
マウスが絶対お奨めです。
『基本操作』
操作はマウスを基準としています。
「+」カーソルを動かし、所定の位置でクリックすることで任意の動作を行います。
マウス移動:キーボードのカーソルキー、ジョイスティックの十字キー
マウスの左クリック:キーボードの「スペース」バー、ジョイスティックのAボタン
マウスの右クリック:キーボードの「GRAPH」キー、ジョイスティックのBボタン
『サンプルデータ』
操作を覚えるためのサンプルデータとして、上記データを「SAMPLE.MP8」と「SAMPLE.FNT」としてディスク内に同梱してあります。
『設定画面説明』
『エリア説明』
エリア名 | 詳細 | |
1 | フォント確認エリア | 読み込まれたフォントを表示します |
2 | カラーエリア | 色を直接左クリックすることで、RGB変更する色を選択します(その色の下に「選択カーソル」が付きます) カラー上で右クリックすると、初期色に戻ります。 |
3 | コマンドエリア | をクリックすることで各命令を実行する。(コマンド説明参照) |
『コマンド説明』
表記 | ボタン | クリック | 命令名 | 詳細 | |
1 | CHANGE EDITOR | 左 | エディット | エディット画面へ移行 | |
2 | R | 左 | 赤値 | 選択されたカラーのRGB赤値を0〜7まで指定 | |
3 | G | 左 | 緑値 | 選択されたカラーのRGB緑値を0〜7まで指定 | |
4 | B | 左 | 青値 | 選択されたカラーのRGB青値を0〜7まで指定 | |
5 | XPOS | 左 | 横幅 | マップ全体の横幅を指定する(1単位) | |
右 | 〃 (10単位) | ||||
6 | YPOS | 左 | 高さ | マップ全体の高さを指定する(1単位) | |
右 | 〃 (10単位) | ||||
7 | SAVE | 左 | セーブ | データを保存する(空入力でキャンセル) | |
8 | LOAD | 左 | ロード | データを呼び出す(空入力でキャンセル) フォントデータ展開の際にマップデータを破壊するので、先にフォントデータを読み込んで下さい | |
9 | FONT | 左 | フォント | フォントデータを呼び出す(空入力でキャンセル) フォントデータ展開の際にマップデータを破壊するので、マップ編集途中でフォントを切り替える際は、マップデータをセーブし、切り替え後ロードして下さい 読み込んだフォントによっては▲▼が分らなくなるのでご注意下さい | |
10 | NEXT | 左 | 次メニュー | 将来拡張用(現在未使用) |
『エディット画面説明』
『エリア説明』
エリア名 | 詳細 | |
1 | エディットエリア | 左クリックで選択されたフォントを描きます 右クリックで「描画カーソル」を移動します 連続で描画したい時は「フォントエリア」の描きたいフォントを右クリックで「描画カーソル」に描画し、「描画カーソル」は右へ移動します ▼▲で表示範囲を下上右左へ移動 |
2 | コマンドエリア | をクリックすることで各命令を実行する。(コマンド説明参照) |
3 | フォントエリア | 表示されたフォントを左クリックすることで、フォントを選択します(そのフォントに「フォント選択カーソル」が付きます) |
『コマンド説明』
表記 | ボタン | クリック | 命令名 | 詳細 | |
1 | CHANGE | 左 | チェンジ | フォントエリアに表示されるフォントを変更 | 2 | CLEAR | 左 | クリア | エディットエリアをクリア |
右 | 全クリア | マップ全体をクリア | |||
左 | フル | エディットエリアを選択されたフォントで埋める | |||
左 | 全フル | マップ全体を選択されたフォントで埋める | |||
3 | SETTING | 左 | セッティング | 設定画面へ移行 |
2023年05月15日
FONT EDITOR 活用方法
このFONT EDITORで作成したデータは、保存すると各データ下記アドレスに保管されBSAVEされます。
メモリアドレス | データ種別 | 詳細 |
&HA800〜&HAFFF | ワークデータ | フリーエリアデータ等、ゲーム使用の際は不要 |
&HB000〜&HB7FF | パターンデータ | 256フォント×8バイト=2,048バイト=&H800 |
&HB800〜&HBFFF | カラーデータ | 256フォント×8バイト=2,048バイト=&H800 |
そのデータをVRAMにセットしてゲームに使えるようにするサンプルプログラムを用意しました。
起動すると、下画面が表示されます。
俗に言う、MSX2のSCREEN1.5のSPRITEモード2を使用しています。
プログラムは簡単なので特に解説は不要かと思います。
「SPRSMPL.BAS」【ダウンロード】
自作プログラムに組み込むには、下記の部分が必要です。
行番号 | 内容 | 説明 |
180 | SETFNT.BIN | フォントデータVRAM転送マシン語プログラム |
200〜210 | フォントデータセット | フォントデータをVRAMに転送する |
このプログラムでは、最も時間のかかるであろうフォントデータをVRAMに転送する部分をマシン語で組んでいます。
「SETFNT.BIN」(180行)
下記機能を提供します。
実行アドレス | 機能 | 詳細 |
&HC060 | フォントデータセット | 256フォント分のパターン、カラーデータをVRAMの上中下段全てに転送する 256フォント×8バイト×2(パターン、カラー)×3(上中下段)=12,288バイト |
マシン語アドレスを変えたい人用に、SETFNT.BIN作成用のBASICプログラムを用意しました。
起動すると、SETFNT.BINを作成します。
「SETFNT.BAS」【ダウンロード】
2023年05月14日
FONT EDITOR Ver.2.5
ツール | 2 | 製作年 | 1990〜2023年 |
タイトル | 『 FONT EDITOR Ver.2.5 』 | ||
対応機種 | MSX1、MSX2、MSX2+、MSXturboR | ||
ダウンロード | リンク先へ |
『起動時』
起動すると「FONTよみこみですか?」と質問があります。
通常は0(NO)で進んでください。
1(YES)を選ぶと、VRAM上のFONTデータをクリアせずにツールを起動します。
これにより、その時のVRAM上のFONTデータをツールで編集可能となります。
主な用途は、編集中にツールがエラーで落ちてしまった時、ツールを通常起動すると編集中だったデータがクリアされてしまうので、読込起動することで編集中のデータを継続編集できます。
他にも、他の人が作ったゲームのFONTデータを編集することが可能です。
次にコントローラーの選択です。
マウスが絶対お奨めです。
『画面説明』
『基本操作』
操作はマウスを基準としています。
「+」カーソルを動かし、所定の位置でクリックすることで任意の動作を行います。
マウス移動:キーボードのカーソルキー、ジョイスティックの十字キー
マウスの左クリック:キーボードの「スペース」バー、ジョイスティックのAボタン
マウスの右クリック:キーボードの「GRAPH」キー、ジョイスティックのBボタン
『サンプルデータ』
操作を覚えるためのサンプルデータとして、上記データを「SAMPLE.FNT」としてディスク内に同梱してあります。
『エリア説明』
エリア名 | 詳細 | |
1 | フォントエリア | 表示されたフォントを左クリックすることで、フォントを選択します(そのフォントに「フォント選択カーソル」が付きます) |
2 | カラーエリア | 色を直接左クリックすることで、前景色を選択します(その色の下に「前景色選択カーソル」が付きます) 色の「前景色選択カーソル」の表示行の下の行を左クリックすることで、背景色を選択します(「背景色選択カーソル」が付きます) カラーの上で右クリックすると、初期色に戻ります。 |
3 | エディットエリア | 左クリックで選択された前景色で、右クリックで選択された背景色でドット描きです。 |
4 | フリーエリア | 左クリックで選択されたフォントを描画 右クリックで、「描画カーソル」を移動します 連続で描画したい時は「フォントエリア」の描きたいフォントを右クリックで「描画カーソル」に描画し、「描画カーソル」は右へ移動します |
5 | コマンドエリア | をクリックすることで各命令を実行する。(コマンド説明参照) |
『コマンド説明』
表記 | ボタン | クリック | 命令名 | 詳細 | |
1 | CLEAR | 左 | クリア | エディットエリアをクリア | |
右 | フル | 前景色でエディットエリアを塗潰す | |||
左 | クリア | 選択されたフォントをクリア | |||
右 | フル | 背景色でエディットエリアを塗潰す | |||
2 | R | 左 | 赤値 | 選択されたカラーのRGB赤値を0〜7まで指定 | |
3 | G | 左 | 緑値 | 選択されたカラーのRGB緑値を0〜7まで指定 | |
4 | B | 左 | 青値 | 選択されたカラーのRGB青値を0〜7まで指定 | |
5 | CALLBACK | 左 | コール | 選択されたフォントをエディットエリアへ呼ぶ | |
左 | バック | エディットエリアを選択されたフォントに格納 | |||
6 | ROUND | 左 | 縦反転 | エディットエリアを上下反転 | |
右 | 縦スライド | エディットエリアを下へ1ドットスライド | |||
左 | 横反転 | エディットエリアを左右反転 | |||
右 | 横スライド | エディットエリアを右へ1ドットスライド | |||
7 | GRAPHIC | 左 | ブロック描画 | 選択されたフォントを8×14フォントの四角の左上頂点とし、「フリーエリア」に描画する | |
左 | クリア | 「フリーエリア」をクリア | |||
8 | SAVE | 左 | セーブ | データを保存する(空入力でキャンセル) | |
9 | LOAD | 左 | ロード | データを呼び出す(空入力でキャンセル) | |
10 | NEXT | 左 | 次メニュー | 将来拡張用(現在未使用) |
2023年05月13日
SPRITE EDITOR 活用方法
2回目はツールで作ったデータの活用方法について説明します。
このSPRITE EDITORで作成したデータは、保存すると各データ下記アドレスに保管されBSAVEされます。
メモリアドレス | データ種別 | 詳細 |
&HB000〜&HB77F | パターンデータ | 60パターン×32バイト=1,920バイト=&H780 |
&HB800〜&HB9DF | カラーデータ1〜30 | 30パターン×縦16ドット=480バイト=&H1E0 |
&HB9E0〜&HBBBF | カラーデータ31〜60 | 30パターン×縦16ドット=480バイト=&H1E0 |
そのデータをVRAMにセットしてゲームに使えるようにするサンプルプログラムを用意しました。
起動すると、下画面が表示されます。
俗に言う、MSX2のSCREEN1.5のSPRITEモード2を使用しています。
プログラムは簡単なので特に解説は不要かと思います。
「SPRSMPL.BAS」【ダウンロード】
自作プログラムに組み込むには、下記の部分が必要です。
行番号 | 内容 | 説明 |
110 | SETSPR.BIN | スプライトデータVRAM転送マシン語プログラム |
130〜140 | スプライトパターンデータセット | スプライトパターンデータをVRAMに転送する |
150〜180 | スプライトカラーデータセット | 変数Sに色設定したいスプライトaA変数SPに設定したいスプライトパターンb代入し240行のサブルーチンをコールすると、VRAMにカラーデータを転送する 表示するスプライト分設定する |
240〜290 | アドレス計算サブルーチン | 指定されたスプライトbニ、スプライトパターンbフデータが格納されているアドレスを計算するサブルーチン |
このプログラムでは、最も時間のかかるであろうスプライトデータをVRAMに転送する部分をマシン語で組んでいます。
「SETSPR.BIN」(110行)
下記機能を提供します。
実行アドレス | 機能 | 詳細 |
&HC040 | スプライトパターンデータセット | 60パターン分のパターンデータをVRAMに転送する 1,920バイト |
&HC050 | スプライトカラーデータセット | 指定されたスプライトbノ指定されたパターンbフカラーデータをVRAMに転送する 16バイト |
マシン語アドレスを変えたい人用に、SETSPR.BIN作成用のBASICプログラムを用意しました。
起動すると、SETSPR.BINを作成します。
「SETSPR.BAS」【ダウンロード】