Komuniti permainan retro telah heboh membicarakan tentang emulator Game Boy baharu yang dipanggil retroboy, ditulis dalam Rust dan mampu berjalan secara langsung dalam pelayar web. Projek ini menunjukkan bagaimana bahasa pengaturcaraan moden dan WebAssembly membolehkan pembangun membawa pengalaman permainan klasik ke web dengan ketepatan yang mengagumkan.
Cabaran dan Kemajuan Emulasi Berasaskan Web
Emulator ini telah mendapat perhatian yang signifikan kerana set cirinya yang komprehensif, termasuk emulasi CPU yang tepat, sokongan audio, dan keserasian dengan pelbagai Memory Bank Controllers (MBCs). Walau bagaimanapun, perbincangan komuniti mendedahkan bahawa emulasi audio kekal menjadi salah satu aspek yang paling mencabar dalam emulator berasaskan pelayar. Ramai pengguna melaporkan mendengar bunyi klik dan artifak audio lain yang sepatutnya tidak wujud dalam permainan asal. Ini nampaknya menjadi isu biasa dengan WebAssembly dan audio dalam pelayar.
Hampir semua WASM+Audio nampaknya melakukan itu dalam pelayar hari ini, melainkan anda sangat berhati-hati tentang apa yang anda lakukan dan memanfaatkan berbilang thread. Saya rasa isu ini kebanyakannya berkaitan dengan konteks thread tunggal, di mana ia perlu beralih antara memainkan audio dan perkara lain.
Para pembangun dalam komen menjelaskan bahawa had prestasi WebAudio sering memerlukan penimbal audio yang jauh lebih besar (minimum 100ms) berbanding dengan aplikasi natif (20ms), dan sebarang kejatuhan bingkai atau gangguan prestasi boleh menyebabkan gangguan audio. Sesetengah mencadangkan penggunaan thread berasingan untuk pemprosesan audio sebagai penyelesaian yang berpotensi, walaupun ini menambah kerumitan yang ketara kepada pelaksanaan.
Ciri-ciri Utama Pengemulasi retroboy:
- CPU yang tepat mengikut kitaran yang lulus semua ujian CPU JSON
- Pengemulasian audio yang tepat (dengan beberapa batasan pelayar)
- Pengemulasian grafik menggunakan perender berasaskan garis imbasan
- Sokongan MBC1, MBC3, MBC5, dan HuC1
- Sokongan RTC untuk kartrij MBC3
- RAM kartrij berterusan melalui storan tempatan pelayar
- Sokongan untuk cheat GameShark atau GameGenie
- Antara muka web dengan mod skrin penuh, jeda/sambung semula, dan kawalan yang boleh disesuaikan
Ekosistem Emulasi Rust yang Berkembang
Projek ini menyertai ekosistem emulator berasaskan Rust yang semakin berkembang, dengan beberapa pengomen berkongsi pautan ke projek serupa mereka sendiri. Bahasa pengaturcaraan Rust nampaknya semakin popular untuk projek emulasi kerana ciri prestasi dan ciri keselamatan memori. Apabila dikompilasi ke WebAssembly, emulator ini boleh berjalan dengan cekap dalam pelayar tanpa plugin atau muat turun.
Organisasi kod yang kemas menerima pujian khusus daripada beberapa pembangun yang ingin belajar daripadanya. Sesetengah menyebut mereka telah ragu-ragu untuk memulakan projek emulasi mereka sendiri kerana ketidakpastian tentang rangka kerja dan alat, tetapi mendapati pendekatan projek ini yang menggunakan wasm-bindgen dan HTML Canvas sangat mudah dan menarik.
Permainan Game Boy Yang Paling Disyorkan (daripada komen):
- Pokémon Red/Blue dan Gold/Silver
- The Legend of Zelda: Link's Awakening
- Tetris
- Super Mario Land 1 & 2
- Kirby's Dream Land
- Wario Land II & III
- Donkey Kong (1994)
Daya Tarikan Permainan Retro yang Berkekalan
Di luar perbincangan teknikal, komen-komen mendedahkan populariti permainan dan perkakasan Game Boy yang berkekalan. Pengguna berkongsi dengan penuh semangat tentang tajuk kegemaran mereka, dengan Pokémon, Zelda: Link's Awakening, dan Tetris sering disebut sebagai pengalaman penting. Perbualan itu juga menyoroti pemandangan homebrew yang berkembang maju yang mencipta permainan baharu untuk perkakasan klasik, termasuk pengatur urutan muzik seperti LSDj dan pelaksanaan Tetris moden.
Ramai pengomen menyatakan bahawa mereka baru-baru ini membeli peranti permainan retro mudah alih dari pengilang seperti Anbernic dan Miyoo, dengan harga bermula sekitar £50 (kira-kira 65 dolar Amerika), mampu mengemulasi bukan sahaja Game Boy tetapi sistem sehingga PlayStation 1. Ini menunjukkan pasaran yang kukuh untuk pengalaman permainan retro mudah alih di luar emulasi perisian tulen.
Pencipta projek, yang terkejut dengan perhatian yang diterima projek hobi kecil mereka, menyebut mereka mendapati wasm-bindgen agak mudah untuk digunakan. Kemudahcapaian ini menunjukkan bagaimana teknologi web moden menurunkan halangan untuk memasuki projek emulasi yang kompleks, membolehkan lebih ramai pembangun menyumbang kepada pemeliharaan sejarah permainan sambil menjadikannya boleh diakses melalui platform web yang sentiasa ada.
Rujukan: retroboy