C言語の学習目的で、メガドライブプログラミングを行っています。ラウンド1がほぼ完成したのですが、無計画にプログラミングしてきたため、全体構造を頭の中だけで把握できなくなり、プログラムが崩壊寸前です。
C言語はクラスが使えないので、まず必要なオブジェクト(プレイヤー、プレイヤーの武器、敵機、敵機の武器、ステーション、バルーンなど)をそれぞれ構造体を作成し、なるべく変数単体は使用しないように設計しました。速度の問題があるので、小さな関数は必要最小限にし、ポインタの使い方を再度見直し、関数の呼び出しもポインタで行ったり、いろいろ試行錯誤しております。
ラウンド1です。何とか動いている状態です。ここでプログラミングを終了するかどうか正直迷いました。技術を少しばかり習得できると、それを継続するためのモチベーションが極端に下がってしまいます。飽きてくるというのもあります。ただ一つのゲームとして完成させたいという気持ちもありまして。本当に完成できるかどうか自信はないのですが、もう少しチャレンジを続けてみようと思います。
前線基地の座標をメモしたり
敵機のグラフィックスの調整をしたり
ファンタジーゾーンは音楽がとても良いですが、グラフィックスも最高ですね。素晴らしいセンスに感動を覚えながら作業を続けます。
メガドライブのハードウェアはとてもよくできていると思うのですが、使える色数が少ないのが最大の弱点かもしれません。メガドライブ読み込める色は9-bit colorでたったの512色です。さらに16色パレットが4つしか使えないので4色の透過色を考慮するとたったの60色です。色数を倍にする「シャドウ・ハイライト機能」もありますが、自分の技術ではまだ使い切れません。色数はゲームの見た目に大きく影響するので、色の選択には最大限に気を使いたいところです。
RGB各色の数値は0,
崩壊寸前のプログラミングの構造を見直し、複数の面に対応できる設計に改良中。2Playerの機能も追加中です。
速度面を重視した「わかりやすい構造のプログラミング」ってどんなものだろう?