Apa batasan dari konsol retro? [Tutup]


8

Saya tertarik untuk membuat tampilan retro untuk sebuah game, dan saya saat ini sedang dalam proses menentukan seberapa retro (generasi / konsol mana). Apa yang akan membuatnya lebih mudah adalah jika ada semacam wiki / dokumen pada batasan masing-masing konsol, seperti jumlah maksimum total warna, maksimum per sprite, jumlah lapisan, ubin max, ukuran ubin max, ukuran sprite, dll. ., dll. Ambil Game Boy misalnya. 4 warna, ya, dan saya dapat menemukan resolusi layar juga. Tetapi bagaimana dengan semua keterbatasan lainnya?

Jadi, jika ada yang tahu sumber daya yang baik, itu akan sangat membantu. Saya menemukan bahwa kebebasan yang diberikan oleh generasi komputer dan konsol saat ini agak terlalu banyak , karena saya dapat terus menambahkan lebih banyak lagi ke dalamnya, dan saya tidak akan pernah selesai. Saya ingin menetapkan batas, dan melakukan yang terbaik yang saya bisa dalam batas itu.

Jawaban:


2

Sebagian besar detail ini tersirat dalam spesifikasi perangkat keras untuk konsol dan desain API interaksi perangkat keras mereka. Informasi ini biasanya tersedia dalam panduan pemrograman untuk konsol yang relevan, namun panduan tersebut berada di bawah NDA dan yang terdekat yang bisa Anda dapatkan adalah melalui dokumentasi yang disediakan oleh reverse-engineering (itu sendiri sedikit wilayah abu-abu yang sah) - ini membahas hal-hal seperti jumlah dan ukuran RAM bank, latensi yang terlibat dalam pengalihan bank dan kapan Anda dapat melakukannya (misalnya, selama penelusuran vertikal kosong atau tidak), dan lain-lain.

Untungnya, batasan yang tampaknya Anda cari adalah beberapa yang lebih jelas, terkait dengan grafik. Sebagai contoh, batasan umum konsol awal seperti GameBoy dan NES adalah bahwa mereka mendukung jumlah sprite yang tetap (kecil) per baris - perangkat keras hanya akan menggigit begitu banyak, dan jika Anda memiliki terlalu banyak, mereka hanya menghilang. Ini akan memanifestasikan dirinya sebagai "berkedip" dari beberapa sprite di layar ketika tampilan game menjadi ramai.

Beberapa sumber daya yang tersedia termasuk wiki NESDev , artikel tentang sprite di Wikipedia ini (yang mencakup statistik tentang berbagai kemampuan sistem sprite berbasis perangkat keras yang lebih lama seperti GameBoy, NES, dan lain-lain).


1

Konsol biasanya memiliki banyak mode yang berbeda, misalnya DS dapat memiliki 4 warna, 16 atau 256 (bahkan mungkin 16-bit, saya tidak ingat). Itu digunakan karena jejak memori kartrid (permainan yang lebih kecil lebih murah untuk dibuat), dari kecepatan blit dan jejak memori.

Ada juga banyak teknik seperti interupsi scanline, untuk mengatasi keterbatasan tersebut (termasuk jumlah sprite).

Karena sepertinya Anda ingin tampil, cukup periksa grafik dari game-game lama dan pilih pilihan Anda, lalu periksa resolusi dan kedalaman warna dari game tersebut dan lakukan.


0

Menggunakan SNES sebagai contoh:

Ubin 8x8 atau 16x16 piksel masing-masing dibatasi hingga 16 warna. Warna bisa berasal dari salah satu dari delapan palet. Tilemaps, yang berisi petak-petak ini, terbatas pada piksel 256x256, 512x256, atau 256x512. Di dalam tilemap, Anda dapat menggunakan ubin yang sama dengan palet yang berbeda. Ada juga dukungan untuk 2 atau 4 lapisan latar belakang warna untuk mengurangi memori yang digunakan oleh ubin.

SNES memiliki hingga empat lapisan tilemap, tergantung pada mode grafis yang digunakan. Urutan tampilan tilemap dapat dikontrol dalam perangkat lunak.

Sprite terbatas pada kekuatan dua kombinasi dari 8x8 hingga 64x64. (mis. 8x8, 8x16, 32x64 64x64, dll.). Setiap sprite dibatasi hingga 16 warna dari delapan palet.

Salah satu fitur rapi SNES (dan banyak konsol 16 bit lainnya), adalah kemampuan untuk mengubah properti tampilan per scanline. Warna latar belakang dapat diubah, atau tilemap digulir ke kiri atau kanan pada setiap garis pemindaian. Ini digunakan untuk membuat langit gradien tanpa melanggar batas 16 warna, atau membuat gambar bergelombang.

Saya menerapkan batasan di atas untuk mesin permainan Super Play berlisensi MIT saya .

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.