「8ビットグラフィックス」の外観を実現するにはどうすればよいですか?


10

私はゲーム開発だけでなく、強力なプログラミングのバックグラウンドを持っています。私は高校でいくつかのピンポンとヘビだけを作り、大学でいくつかのOpenGLを作りました。

自分でゲームエンジンを作りたい。単純な2Dゲームエンジンだけを空想することはありません。しかし、私はちょっと古い学校で、レトロな感じなので。グラフィックを古い8ビットゲーム(メガマン、コントラ、スーパーマリオなど)のように見せたいです。

では、当時の古いゲームはどのようにして作られたのでしょうか?私は最も単純なアプローチを求めています。新しいエンジンのようにアセット(画像)も使用していたのでしょうか?OpenGLを使用してこの種のレンダリングをどのように実現しますか?

覚えておいてください。最も簡単なソリューション。それが当時どのように作られたのか、そしてそれをどのように複製できるのか知りたいです。OpenGLでなくてもかまいません。ウィンドウキャンバスに描けます。基本的に一から作りたいです。


6
8ビットグラフィックスはプログラミングではなく資産の問題です。コードのカラーパレットを制限することもできますが、それは古い学校の雰囲気だけでは少なすぎます。
ルークB.

8ビットのようなグラフィックが必要な場合は、アートアセットを作成するときにカラーパレットを制限し、常にテクスチャに最近傍フィルタリングを使用します。
Robert Rouhani、

3
どこから始めて、どのテクノロジを使用するかは、サイトのトピックから外れています。ここで尋ねる質問の種類については、FAQを参照してください。質問を書き直して、8ビットグラフィックスのレンダリング方法について質問し、ゲームエンジンの作成に関するすべてを削除することもできます。
MichaelHouse

1
Byte56の発言-正確なトピックにより具体的になるように書き直した場合、これは非常に役立つ質問になる可能性があります。
Maximus Minimus

かわった。それが今より良いことを願っています。
Matjaz Muhic、2012年

回答:


7

では、当時の古いゲームはどのようにして作られたのでしょうか?

完全に異なります-現在「組み込みシステムプログラミング」と呼ばれるものにより似ています。8ビットコンソールおよびアーケードボックスからのモードベースのグラフィックスは、ソフトウェアではなくハードウェアによって駆動されました。ゲームコード(通常はアセンブリ)は、命令スケジュール(たとえば、スキャンラインごとにX命令)に特殊なメモリを突きました。

OpenGLを使用してこの種のレンダリングをどのように実現しますか?

フィルタリングをオフにしたクワッドをテクスチャマッピングします。さらに良いことに、複数のクワッドをバッチ処理し、アセットをアトラスしてパフォーマンスを向上させます。


資産を「アトラス」?どういう意味ですか?
Matjaz Muhic 2012年

複数の画像を1つのテクスチャ画像に貼り付け、クワッドのUVを使用して表示する「ピッキング」。したがって、たとえば、すべての背景タイルを1つのテクスチャシートにグリッド表示でき、背景レイヤーをレンダリングする前に1つのテクスチャをバインドするだけで済みます。
最大

ああ。スプライトのようなもの?
Matjaz Muhic、2012年

@Matjaz:スプライトとよく似ています。その言葉は、3Dグラフィックアクセラレータが登場するずっと前に別のことを意味していました。
Ilmari Karonen、2012年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.