2024年07月31日
【ゲーム制作】シミュレーションゲーム 第16回
シミュレーションゲーム 第16回です。
今回は、カーソルの動きを組んでいきます。
パラメータ部のコマンドの横サイズは不定なので、単純に横移動させることは出来ません。
(温度、湿度、明度は4FONT、それ以外は2FONT)
そこで、X座標の値は1〜7(コマンドが7種類)しか取らない事にします。
そして値に応じて、カーソル位置を算出し表示する事とします。
この時、算出基準とするのはコマンド間にある縦線。
VRAMを左から読み、縦棒だったらコマンドbゥら「1」を引き、「0」になったVRAMアドレスからX座標を算出しカーソルを表示する事にします。
(例えばコマンド「明度」ならば、コマンドbヘ「3」なので、「明度」右横の縦棒が左から3本目なので、そこをX座標の基準とする。)
更に、前作「神経衰弱」同様、一気に端まで移動してしまわないように、1移動ごとにリピート処理をしないといけません。(一度キーを離さないと次の入力を受け付けない。)
前作は、カーソルの移動以外の処理がなかったので、キーを離すまでロジック内ループで良かったのですが、今作はキー離し待ちの間も「スラー」は動く必要がありますので、リピートのロジックを変更する必要があります。
こんな感じになりました。
キー入力反応良く、良い感じです。
因みにパラメータ部が暗かったので、枠線を明るく薄黄色にしました。
次回、コマンド選択を組んでいきます。
2024年07月30日
【ゲーム制作】シミュレーションゲーム 第15回
2024年07月29日
【ゲーム制作】シミュレーションゲーム 第14回
2024年07月28日
【ゲーム制作】シミュレーションゲーム 第13回
シミュレーションゲーム 第13回です。
今回は、「スラー」の表示を考える予定でしたが、ちょっと、ゲーム画面のパラメタ部のFONT描き直しです。
前回で、サブルーチンのデバッグを行った際、メイン画面のパラメタ部を表示してみて、
「シンプルだなぁ…。」と、思ってしまいました...。
前作、「神経衰弱」の時も同じような流れだった気がする…。
仮に「スラー」を15匹表示させたとして、こんな感じになります。
うーん…、やっぱり色合い的にも少し寂しいかな…。
それに、「所持金」の漢字FONTが、線が細くて他の漢字FONTと統一性がない。
そこで、もう少し凝ってる感を出すため、FONTを描き込んでみます。
こんな感じでどうでしょうか。
仮にこちらも「スラー」を15匹表示させたら、こんな感じになります。
なかなか良い感じになったのではないでしょうか。
まぁ、飼育部が1色なのは仕方ない…。
次回は、今作の主役「スラー」の表示を考えます。
2024年07月26日
【ゲーム制作】シミュレーションゲーム 第12回
2024年07月25日
【ゲーム制作】シミュレーションゲーム 第11回
シミュレーションゲーム 第11回です。
今回は一通りのサブルーチンを用意します。
メインのマシン語設定プログラム「BINSET.BAS」を用意します。
こちらもExcelで作成して、「.BAS」にコンバートして、「.BIN」ファイル作成。
今作のサブルーチンは、今まで作成したものの中から、
■SPRITEセット
■FONTセット(上・中段、下段の2本)
■乱数発生
■16進数を10進数に変換
■VRAMアドレス算出
■中段画像表示画面セット(タイトル表示用)
■全SPRITEを隠す
を用意します。
そして今作のみのサブルーチンとして、
■初期画面表示
■16×16ドット数字表示
を用意します。
更にそれらサブルーチンを用いパラメータ表示用として、
■日付表示
■温度、湿度表示
■所持金表示
■明度・飼育部背景表示
を作ります。
一気に組み上げましたので、次回は表示関係サブルーチンの「デバッグ」作業をします。
2024年07月24日
【ゲーム制作】シミュレーションゲーム 第10回
シミュレーションゲーム 第10回です。
今回は走査線割込み処理を組んでいきます。
今作はSPRITEを多く表示させるので「水平ライン4枚(MSX2は8枚)を超えてSPRITEを表示させたい」と、いつも通り「BGM演奏ルーチン(通常版)」、それに時間経過の概念があるので前作テーブルゲームで使ったタイムカウンタを使います。
Excelから「.BAS」にコンバートして、「.BIN」ファイル作成。
「水平ライン4枚(MSX2は8枚)を超えてSPRITEを表示させたい」ルーチン。
走査線割り込みルーチン。
BGM演奏ルーチン(通常版)。
この3つはいつものものをそのまま流用。
今回も時間の概念があるので、タイムカウンターを用意します。
今作では、カウンタを「タイムカウンタ」、「分」、「時」、「日」としているので、「タイムカウンタ」と「分」カウンタは60を、「時」カウンタは24を超えたら次のカウンタを+1する。
次回は、サブルーチン集を組んでいきます。
2024年07月23日
【ゲーム制作】シミュレーションゲーム 第9回
シミュレーションゲーム 第9回です。
今回は、面データを作成します。
面データの作成には「MAP8 EDITOR」を利用します。
このブログでは初利用となります。
「MAP8 EDITOR」では、1キャラ8×8ドットとなります。
まずは「設定画面」でMAPのサイズを設定し、FONTデータを読み込みます。
読込んだFONTによっては矢印やカラーが表示されないことがあるので注意が必要。
サイズは1画面分なので横32×縦24となります。(デフォルトのまま)
次に「エディット画面」で、画面を描いていきます。
こんな感じになります。
おぉ、漢字も読みやすくスッキリしている!
結構いい感じではないでしょうか。
次回は「走査線割込み処理」を組んでいきます。
2024年07月22日
【ゲーム制作】シミュレーションゲーム 第8回
シミュレーションゲーム 第8回です。
今回は、他のFONTキャラクタを作成します。
FONTキャラクタの作成には「FONT EDITOR」を利用します。
今作では、画面上部のインフォメーション部と、下部スラー飼育部でFONTファイルを分けます。
こちらはインフォメーション部。
前回作成した漢字入りのFONTデータに枠線と、「MAP8 EDITOR」で操作できるように矢印を追加。
こちらはスラー飼育部。
選択肢用に文字FONTを利用します。(3Dダンジョンロールプレイングゲームの物を流用)
それに伴う枠線と矢印。
あとは明度操作した時の背景と、清掃用の波飛沫、糞、エサ(高・並・安)、スラーを区切るための柵です。
実はこの並びにも意味がありますが、それは後程…。
一旦「.BMP」ファイルを介する事で他のゲームに使ったFONT同士を結合させることができるので、すごく便利。
昔だったら、FONTポチポチ打ち直しだったもんなぁ…。
次回は面データを作成します。
2024年07月21日
【ゲーム制作】シミュレーションゲーム 第7回
シミュレーションゲーム 第7回です。
今回は、FONTキャラクタを作成します。
いつもなら「FONT EDITOR」でいきなりガシガシ描いていくところですが、今回は16×16サイズの漢字FONTが多くあります。
流石にこれを「FONT EDITOR」でいきなり描き込めるほどの才能は私にはありません。
では、どうするか?
久しぶりに実験をしてみます。
まず、MSX1の画面上部1/3(横32FONT×縦8FONT)に、全FONTを並べて表示したものをハードコピーして「.BMP」画像化します。
次に、その画像にWindowsの画像加工ソフト(例は「ペイント」)で、16×16サイズの漢字を書いていきます。
このサイズで漢字を書くと大きく潰れますので、綺麗に見えるよう修正します。
その画像を「BMPtoMSX」で「.SC2」化します。
それを「SC2toFNT」でFONTファイル化します。
まず「DiskManager」で「SC2toFNT」のディスクに「.SC2」ファイルをコピー
次に「SC2toFNT」で「.SC2」データをFONTデータにコンバート
MSXで読み込める「.FNT」ファイル化に成功
出来上がった「.FNT」ファイルの上部1/3のファイルのみ抽出します。(ファイル名1.FNT)
そのファイルを「FONT EDITOR」で開けば、無事FONTデータ化されました!
要するに「.BMP」画像の写真をFONT化するやり方の応用です。
これで漢字や簡単な画像を簡単にFONT化する事が出来ます。
次回は残りのFONTデータを作成します。