Bagaimana saya bisa mencapai tampilan "grafis 8-bit"?

10

Saya memiliki latar belakang pemrograman yang kuat tidak hanya dari pengembangan game. Saya hanya membuat beberapa pong dan ular di sekolah menengah dan saya melakukan beberapa OpenGL di perguruan tinggi.

Saya ingin membuat mesin gim saya sendiri. Tidak ada yang mewah hanya mesin game 2D sederhana. Tetapi karena saya agak sekolah tua dan merasa retro. Saya ingin grafis terlihat seperti game 8 bit lama (megaman, contra, super mario, ...).

Jadi bagaimana game lama dibuat saat itu? Saya ingin pendekatan yang paling sederhana. Apakah mereka juga menggunakan aset (gambar) seperti yang dilakukan mesin yang lebih baru? Bagaimana Anda mencapai rendering semacam ini menggunakan OpenGL?

Ingatlah selalu. Solusi paling sederhana. Saya ingin tahu bagaimana itu dibuat saat itu dan bagaimana saya bisa meniru itu. Bahkan tidak harus OpenGL. Saya bisa menggambar di kanvas jendela. Saya ingin membuatnya dari awal.

Matjaz Muhic
sumber
6
Grafik 8bit adalah masalah aset dan bukan pemrograman, saya kira Anda bisa membatasi palet warna Anda dalam kode, tapi itu terdengar agak terlalu banyak hanya untuk nuansa jadul.
Luke B.
Jika Anda ingin grafis seperti 8-bit, batasi palet warna saat Anda membuat aset seni Anda dan selalu gunakan pemfilteran tetangga terdekat pada tekstur.
Robert Rouhani
3
Di mana untuk memulai dan teknologi mana yang menggunakan pertanyaan adalah di luar topik untuk situs. Lihat FAQ untuk mempelajari jenis pertanyaan apa yang ingin ditanyakan di sini. Anda dapat mencoba menulis ulang pertanyaan Anda hanya dengan bertanya tentang cara membuat grafik 8-bit, dan menghapus semua hal tentang membuat mesin permainan.
MichaelHouse
1
Apa yang dikatakan Byte56 - ini bisa menjadi pertanyaan yang bagus dan berguna jika Anda mengolahnya menjadi lebih spesifik untuk topik yang tepat.
Maximus Minimus
Berubah Semoga lebih baik sekarang.
Matjaz Muhic

Jawaban:

7

Jadi bagaimana game lama dibuat saat itu?

Sepenuhnya berbeda - lebih mirip dengan apa yang sekarang kita sebut "pemrograman sistem tertanam". Grafik berbasis mode dari konsol 8-bit dan kotak arcade didorong oleh perangkat keras, bukan perangkat lunak. Kode permainan (biasanya rakitan) menyodok memori khusus pada jadwal-instruksi (misalnya instruksi X per scanline).

Bagaimana Anda mencapai rendering semacam ini menggunakan OpenGL?

Tekstur-petakan quad dengan penyaringan dimatikan. Lebih baik lagi, kumpulan beberapa paha depan bersama dan atlas aset untuk kinerja yang lebih baik.

Maks
sumber
"atlas" asetnya? Apa artinya?
Matjaz Muhic
Menempelkan banyak gambar ke satu gambar tekstur dan "memetik" yang akan ditampilkan menggunakan UV quad. Jadi, misalnya, semua ubin latar belakang dapat disambungkan ke satu lembar tekstur, dan kemudian Anda hanya perlu mengikat satu tekstur sebelum merender lapisan latar belakang.
Maks
Oh Sesuatu seperti sprite?
Matjaz Muhic
@Matjaz: Sangat mirip sprite. Kata itu berarti sesuatu yang berbeda jauh sebelum akselerator grafis 3D datang.
Ilmari Karonen