2024年05月21日
【ゲーム制作】パズルゲーム 第14回
パズルゲーム 第14回です。
今回は「ブロック消滅」を組んでいきます。
勝ち判定後のブロック消滅…。
出来れば派手なのがいいですよね。
それなら、爆散させてしまえ!と、なりました。
という事で「SPRITE EDITOR」で「破片」用のパターンを作成。
この8×8の「破片」キャラクタを4つ、2パターンでくるくる回転させながら、4方向に放物線を描いて爆散させることに決定。
放物線は、これにしか使わないので移動値データとして登録。
そのデータを読み込んで座標に加算し、放物線を描かせます。
良い感じに派手ですね。
ちょっと動きが早すぎるかな?
次回は、BGM作曲と、効果音を作成します。
2024年05月20日
【ゲーム制作】パズルゲーム 第13回
パズルゲーム 第13回です。
今回は「じゃんけんブロック」の勝敗判定を組んでいきます。
飛ばされたブロックが、他の「じゃんけんブロック」に当たった時、飛ばされたブロックの手(例えばパー)がぶつけられたブロックの手(例えばグー)に勝っていればぶつけられた方のブロックは消滅します。
ぶつけられたブロックの手がそれ以外(例えばパー、チョキ)ならば、ぶつかった位置で停まります。
衝突チェックの後に、面クリア判定を行います。
飛ばされたブロックが最終格納場所に入れられたなら、マップ上の「じゃんけんブロック」数をカウントし、「0」ならば面クリア、「0」以外ならギブアップとなります。
勝判定後のブロック消滅も最初は、FONTキャラクタで崩れるパターンを用意して…と、思っていたのですが、やっぱりSPRITEが余っているので、そちらを利用する方向で。
でも、ただ崩れるだけのアニメーションだと地味…。
うーん、何かいい案はないかな?
次回は、「ブロック消滅」を組んでいきます。
2024年05月19日
【ゲーム制作】パズルゲーム 第12回
パズルゲーム 第12回です。
今回は「じゃんけんブロック」の動きを組んでいきます。
途中まで「じゃんけんブロック」の動きはFONTで組んでいたのですが、SPRITEが余りに余っているので使わないともったいないな…と、考え直しました。
そこで「じゃんけんブロック」が飛んでいく時だけ、SPRITEで動かす事にします。
「SPRITE EDITOR」で「じゃんけんブロック」用のパターンを作成。
FONTのブロックを押したら、その位置にSPRITEのブロックを表示し、FONTのブロックは床FONTで消去。
飛んだ先で障害物に当たったら、その位置にFONTのブロックを表示し、SPRITEのブロックは隠します。
おぉ、滑らかにブロックが飛んで行って、良い感じです。
横から押すと、SPRITEが水平方向に5枚並びますが、「水平ライン4枚(MSX2は8枚)を超えてSPRITEを表示させたい」処理されているので大丈夫です。
飛んでいくブロックのキャラクタ数は、いくつ必要かな…?
飛んでいくブロックは速いので、次のブロックを押すまでに障害物にぶつかり止まっていると思われるので、ひとつで十分かな?とも思いましたが、念のため4個まで同時に動かせるようにしておきます。
(画面中央辺りで4方向じゃんけんブロックに囲まれていて4方向次々に押せるような状況でない限りは不要。)
SPRITEとFONTの切り替え以外は、直進して障害物にぶつかったら停まるだけのロジックなので、単純です。
次回は、「じゃんけんブロック」の勝敗判定を組んでいきます。
2024年05月18日
2024年05月17日
【ゲーム制作】パズルゲーム 第11回
パズルゲーム 第11回です。
今回は「管理人」の動きを組んでいきます。
「管理人」が倉庫内をジョイスティックで動くロジックは、前回問題ないことが確認できました。
ほぼ、前作「ハンド君」のロジックのままです。
今作では、前作では一切使わなかった「ボタン」を使います。
「Aボタン(若しくはスペースバー)で、じゃんけんブロックを押す」動作をします。
キャラクタパターンを変えるわけではなく、押した感じに見えるように動かします。
↓ Aボタン打下
こんな感じで、4ドット分前に移動して押した感じにします。
「管理人」の操作部では、Aボタンの連続押し不可処理と、「管理人」の4ドットずらし表示をし、「ブロックを押したよ」フラグ(&HE05D)と効果音bセットします。
最後にBボタン(若しくは「Graph」キー)で「ギブアップ」となります。
戻り値(&HE053)に「2」(ギブアップ)を設定してBASICに戻します。
ギブアップらしく、「??」を表示。
次回は、「じゃんけんブロック」の動作を組んでいきます。
2024年05月16日
【ゲーム制作】パズルゲーム 第10回
パズルゲーム 第10回です。
今回はメインのマシン語設定プログラムを用意します。
メインのマシン語設定プログラム「BINSET.BAS」を用意します。
こちらもExcelで作成して、「.BAS」にコンバートして、「.BIN」ファイル作成。
サブルーチンは前作のものを、ほぼ流用。
残数表示にSPRITEを重ねるなど、一部改訂。
ハイスコア表示などは削除。
忘れちゃいけない、タイトル・ロゴ表示用のキャラクタ埋めルーチンと、SPRITE全隠しルーチン。
サブルーチン群がちゃんと動作するか、面表示テスト。
問題なく表示されました。
残数表示もいい感じ。
前作「ハンド君」の動作ロジックそのままで動くと思うので、表示ルーチンだけ4枚表示に変更し、「管理人」の動作テスト。
良い感じです。
「管理人」ハッキリしていて見易いです。
SPRITE4枚重ねの効果バッチリですね。
なんにせよMSX1で4色キャラクタって珍しいのでは?
次回は、「管理人」の動作を組んでいきます。
2024年05月15日
【ゲーム制作】パズルゲーム 第9回
2024年05月14日
【ゲーム制作】パズルゲーム 第8回
パズルゲーム 第8回です。
今回は、面データを作成します。
面データの作成には「MAP16 EDITOR」を利用します。
今作も1面16×11キャラクタです。
設計では20面作成するので、MAPデータの幅は16キャラ×20面=320キャラとなります。
高さはそのまま11キャラです。
「設定画面」で、2×2で4FONT使い1キャラクタを作成していきます。
試作で作った使わないキャラもありますが、気にしない…。
次に「エディット画面」で、作ったキャラクタを使いMAPを作成していきます。
こんな感じになります。
面データを思考中なので、とりあえずプログラムテストできるよう1面分だけ作っておきます。
残りの面は後で作成します。
次回は「走査線割込み処理」を組んでいきます。
2024年05月13日
【ゲーム制作】パズルゲーム 第7回
パズルゲーム 第7回です。
今回は、FONTキャラクタを作成します。
FONTキャラクタの作成には「FONT EDITOR」を利用します。
どんな倉庫デザインにしようかと考えましたが、ちょっと近代的な物にしてみました。
最後の1個になったじゃんけんブロックを仕舞うエリアのキャラクタが決まらない…。(×のキャラクタ)
とりあえずで描いてあります。
文字FONTは、前作のものを流用。
じゃんけんブロックは前作のSPRITEのじゃんけんを枠で囲ったものです。
押した時にこのFONTが飛んでいきます。
右上フリーエリアの下段にある、中途半端な「管理人」は残数表示用。
これに肌色(薄黄色:カラーコード11)のSPRITEを重ねて残数表示します。
次回は面データを作成します。
2024年05月12日
【ゲーム制作】パズルゲーム 第6回
パズルゲーム 第6回です。
今回は、SPRITEキャラクタを作成します。
SPRITEキャラクタの作成には「SPRITE EDITOR」を利用します。
メインは主人公の「倉庫の管理人」です。
前作の反省を踏まえ、最初から縁取り有にします。
(前作では後から縁取り追加した為、縁取りパターンだけ離れたパターンbノ置かざるを得ず、SPRITEbニパターンnZ出式が2つずつ必要になった。)
今作は敵がいないパズルゲームなのでSPRITEは主人公のみ。
ならば大盤振る舞いで、主人公キャラクタは4色で行きます!
ただ小心者なので、後の仕様変更で他にSPRITE使うことも考えて、前作のズラし処理を使って、水平方向には3枚しか重ならないようひと手間かけておきます。
こんな感じです。
2ページ目右下のキャラクタは、試作時点のものです。(顔がかわいい)
こちらも捨てがたかったのですが、また別の機会に…。
次回は、FONTキャラクタを作成します。