私はBASICを超えたC64ゲーム開発の基本を理解しようとしています。非常に基本的ですが、重要な何かについていくつかのアドバイスを使用できます。実際に画面に表示されるものは何ですか、それをどのように描画するのですか?
カタキス/デナリスを見てみましょう:
画面には少なくとも9つの異なるものが表示されます。
- さまざまなフォントのスコアバー
- 船自体
- 船に取り付けられた衛星、取り外し可能
- 二次武器発射体
- 主な武器の発射体
- 移動するオブジェクト(敵の船になることもあります)
- ステータスバー。船の画像、命の数、3つのセクションを表示
- 主要な武器チャージバーは、最後まで満たすことができます
- バックグラウンドでスクロールするスターフィールド
- (画面には番号が付いていません)背景の一部である岩や金属壁などの固体オブジェクト
C64は水平走査線あたり8つのスプライトしかサポートしないので、画面の中央にあるすべてがスプライトになるとは思いませんか?(スプライトを使用してハードウェアの衝突検出を取得できるため)衝突が必要なものはすべてスプライトであると思いますが、それでも8つのスプライトの制限にすぐに達しました。また、私の武器は複数の発射体よりもはるかに多く発砲する可能性があります。私の船、衛星、および6つの弾丸は、すでに8つのスプライトが並んでいます(ビデオの約50秒を見てください)。
また、このようなゲームはどのグラフィックモードを使用しますか?プログラミングハンドブックには、基本的に画面メモリを直接変更するビットマップモードがリストされています。これは通常使用するモードですか?スプライト以外のすべての要素を一緒に構成して画面に表示するにはどうすればよいですか?
スコアとステータスバーの多くの項目は静的です( "Area:01"または "frame")。したがって、レベルが開始したときに一度だけ入力することになると思います。更新が必要なもの-スコア、下部の充電バー-は、画面のメモリを黒で埋め、フレームごとに新しいスコアを描画することによって更新されますか?
または、フレームごとに画面全体を描画する必要がありますか?