NES向けゲーム/ファミコン/プログラマーの目を通して見たダンディ

この投稿は、古いビデオゲームの制限に関するものです。 私自身はNESでプログラミングしたことはありませんが、表面的には建築と出会いました。 今では、NESの仕組みを考えずにゲームをプレイすることはできません。 時には、ゲーム自体を思わず忘れてしまうこともあります。 「賞賛すべきものは何ですか?」とあなたは言います。 はい、NESのすべての制限に適合しますが、同時にゲームを美しくすることは本当に芸術です。



次に、可能な限りすべてを単純化して、それについて説明しようとします。



NESでは、画面に表示されるすべてのものがスプライトと背景に分割されます。 スプライトは、画面内を移動するオブジェクトです。 原則として、これはあなたのヒーローと敵です。 時々これらはまだいくつかのオブジェクトですが、ここではすべてがすでにゲームに非常に依存しています。 背景は実際には背後にあるものです。 スプライトと背景の両方には、多くの制限があります。



背景



NESの背景は、タイルと呼ばれる8 x 8ピクセルの正方形に分割されます。 これらの正方形の合計は、高さ30、幅32です。 この場合、背景は水平および/または垂直にスムーズに移動できます。







多くのゲーム、特に古いゲームでは、ゲームがそのような繰り返しの正方形で構成されていることに気付くでしょう。 スーパーマリオブラザーズ、ボンバーマン、またはバトルシティを考えてください。 事実、非常に限られた数のこのような図面を同時にNESメモリにロードできるため、同じものを繰り返し使用する必要がありました。



さらに、色に大きな制限が課されました。 合計で、NESは約53〜55色を表示でき、重複する色や類似した色を考慮します。 当時はそれほど小さくはありませんでしたが、すべてがそれほど単純ではありませんでした。 パレットのようなものが使用されます:







初めて理解するのはそれほど簡単ではないかもしれません。 私は指で説明しようとします。 上の写真をもう一度見てください。 各ボックスは4色以下で塗装されています。 さらに、それらは3つのタイプに分けられます:ブラックホワイトブルー、ブラックグリーンブルー、ブラックブラウン。 4番目のものが使用されている可能性はありますが、私は気付きませんでした。



私は明確に説明します:







アスタリスクでマークされた色は常に変化しているため、コインと質問はちらつきます。 はい、コインは背景の一部です。 そして、それが雲と茂みがまったく同じ絵である理由です。1つのタイルがあり、パレットは異なります。 彼らは少しのメモリを節約しましたが、それは一目で完全に知覚できません。







私が言ったように、背景は動くことができます。 これには通常ミラーリングが使用されますが、これらの詳細については説明しません。 この場合、画面を2つの部分に分割し、それらを互いに別々に移動することができます。これは、通常、生活、健康、眼鏡などに関する情報を使用して固定線が行われる方法です。



スプライト



背景の制限を理解すれば、スプライトを使えばすべてが簡単になります。 一番下の行は、これらが画面上のオブジェクトを移動する8x8または8x16ピクセルであることです。 さらに、それらはすべて同時に8x8または8x16である必要があり、他のいくつかの制限が課せられます。 最適な場合(サイズによって異なります)、最大64個ありますが、対応するスプライト領域が透明であっても、1行に表示できるのは8個までなので、移動するオブジェクトはあまり多くありません。 確かに、一部のゲームはまだ動作しており、スプライトの1つを1秒間強制的に非表示にします。これにより、不快なちらつきが生じます。 確かに多くの人がこれに気づきました。 背景と同じ制限が色に課せられますが、スプライトには4つの別々のパレットが与えられ、色の1つは透明であると見なされます。 つまり、3色と背景のみが取得されます...







ルイージはマリオとは異なるパレットです。 マリオは同じ袖、目、髪、口ひげを持っていることに注意してください。 それが、ルイージの目、髪、口ひげが緑色に変わった理由です。







これはどのように起こりますか?



次に、上記の制限を考慮して、NESゲームを見てみましょう。 背景の色は13色しかできませんが、多くのゲームは非常にカラフルに記憶されていますか? このような小さなスプライトで巨大なボスとどのように戦ったのですか? ゲームは非常に異なって見え始めています。



たとえば、Chip and Dale 2:







開発者はすべての制限に適合する一方で、すべてが非常にカラフルです。



レベルの後半に到達するとすぐに、新しい色が表示されます。







別の場所に移動し、画面が暗くなった瞬間に、新しいパレットとタイルが既にメモリにロードされています。 したがって、ゲームは実際よりもはるかにカラフルであるように見えます。これらの非常に13色はしばしばレベルごとに変化します。



上で説明したように、背景は別々に移動する2つの部分に分割できます。 これが、最初のスプラッシュスクリーンが作成された方法です。トルストップス飛行船が飛行します。







下の有刺鉄線はある速度で移動し、背景は別の速度で移動し、飛行船自体は第3の速度で移動するスプライトです。 これは、ボリュームの錯覚を作成します。



まったく異なるトリックがあります。 有名なMegaman 2スクリーンセーバーを注意深く見てください:







窓と棚はスプライトであり、建物自体は単なる垂直線の背景であり、その動きを追跡することは不可能です。







実際、建物は背景の都市と同じ速度で移動しますが、感知できません。 同時に、窓の動きのために、建物はまだずっと速く動いているように見え、それに応じて、より近くにいるという感覚を作り出します。



ところで、Megamenがなぜこんなに多くの色を持っているのかと尋ねる人もいるかもしれません。 はい、それは実際にはいくつかのスプライトで構成されています:互いに重なり合う顔と体:







ここで、スプライトの数に関するすべての制限を考慮して、モバイルボスの大きさを考えてみてください。 答えは簡単です。通常、このようなボスは実際には背景です。 だからこそ、彼らと戦うとき、背景はしばしば黒かただの無地です。 同じチップとデール2の例を次に示します。







前者の場合、そのような背景は垂直に移動し、後者の場合は水平に移動します。 あなた自身が黒い背景にたくさんのボスを覚えていると思います。



ジュラシックパークのようないくつかのゲームはさらにトリッキーです:







ボスはまだ背景ですが、背景の茂みや石はスプライトです。 つまり、すべて逆さまです! そして、はい、スプライトは背景の後ろにあるかもしれません。 キャラクターが茂みを通過するとき、キャラクターが時々彼を通して輝くのはそのためです。



ちなみに、スクリーンセーバーの同じゲームでは、「海」という碑文が大きく、さまざまな方向にさまざまな速度で動き、完全に波で表示されます。







それはすべて非常にトリッキーです。 ゲームは、スキャンライン(水平線)がテレビ画面に描画された瞬間を追跡し、その後、背景を水平に移動します。 これにより、水平波のような効果を得ることができます。



非常に長い間続けることができます。 かなり深刻なゲームには、本来意図されていた以上にNESから絞り出されたさまざまな「トリック」が詰め込まれています。 これらの制限の多くは、ゲームカートリッジにチップを追加することで解消できると言わなければなりません。 そして、彼らは非常に積極的にそれを行ったので、カートリッジはハードウェアの観点から非常に異なる可能性がありましたが、最終的な生産価格を忘れないようにする必要があったため、開発者はあまり気にしませんでした。



限られたサウンド機能を忘れないでくださいが、これはそれほど明白ではありません。 そのような鉄の助けを借りて楽しい音楽を作るためには、音楽の才能が本当に必要だとしか言えません。 ゲームボーイはこの点ですでに少し進歩しており、その結果、音楽ジャンル全体とその文化が生まれました。



開発者がどのように頭を打ち砕かなければならなかったかを考えて、今度はゲームを違った視点で見てほしいと思います。



upd:多くの説明についてVEGに感謝します!



All Articles