2019/03/06

ウインドウ面を使ったゲームを作ってみよう(2)

せっかくなのでカラー対応してみました。

ソース一式はここからダウンロードできます。
gbファイルはここから。

各ファイルの説明は以下の通りです。
make.bat        コンパイル用バッチ
BlackyBirdCol.c メインプログラム
snd_drv.c       サウンドドライバ
snd_drv.h       サウンドドライバ用ヘッダ
snd_data.c      サウンドデータ
bird_bg.c       BG画像データ
bird_spr.c      スプライト画像データ
bird_cloud.c    BG画像データ(雲アニメ用)※今回は実質未使用です

前回、背景の雲の画像をスクロールに合わせて転送して
疑似2重スクロールを行っていましたが、処理が重いので止めました。

カラー化にあたり、いくつか説明します。

set_bkg_palette関数やset_sprite_palette関数を使ってカラーデータを転送します。
画面のフェードを行う際に、フェード段階に合わせたカラーデータを用意しました。
最初はカラーデータを元に計算していましたが、処理が重すぎたので諦めました。

背景のパレット情報はタイルデータと同じようにset_bkg_tiles関数を使って設定します。
set_bkg_tiles関数などタイルデータを設定する関数を実行する前に
VBK_REG = 1 を行うとタイルの代わりにカラーデータを設定してくれます。
終わったらVBK_REG = 0 に戻しておきましょう。

あと、コンパイルのオプションが増えています。

分からない事がありましたら質問して下さい。

ウインドウ面を使ったゲームを作ってみよう(1)

これまでのまとめとして、ウインドウ面を使ったゲームを作ってみました。
ネタがなかったのでFlappyBirdのクローンゲームです。
黒っぽい鳥ということでBlackyBirdです。
ゲーム内容はAボタンで羽ばたきながら土管に当たらないように進んでいくものです。
どこかで見たことのあるような鳥の絵ですが気にしないで下さい。
(※一応、若干変えてあります)

画像データは以下のものをbmp2gbdk.exeで変換しました。
BGの画像(bird_bg.bmp)
スプライトの画像(bird_spr.bmp)

ソース一式はここからダウンロードできます。
gbファイルはここから。

ソースは長いのでダウンロードして確認して下さい。
各ファイルの説明は以下の通りです。
make.bat     コンパイル用バッチ
BlackyBird.c メインプログラム
snd_drv.c    サウンドドライバ
snd_drv.h    サウンドドライバ用ヘッダ
snd_data.c   サウンドデータ
bird_bg.c    BG画像データ
bird_spr.c   スプライト画像データ
bird_cloud.c BG画像データ(雲アニメ用
こんなのです

今回、背景の雲の画像をスクロールに合わせて転送して
疑似2重スクロールを行っていますが、処理が重いみたいです。

サウンドデータを作るツールは諸事情により公開しません。

分からない事がありましたら質問して下さい。