Bagaimana Doom masuk Super Nintendo

gambar

Artikel ini adalah terjemahan dari bab Buku Mesin Game: DOOM , analisis terperinci dari struktur internal salah satu permainan id Software yang paling berpengaruh. Bab ini berbicara tentang proses kompleks pengantoran DOOM ke Super Nintendo dan peran kunci yang dimainkan pengembang Star Fox, Argonaut Games, di dalamnya .

Buku ini ditulis oleh penulis dan programmer Fabien Sanglar, dan teks lengkapnya sekarang dapat dibeli dalam bentuk kertas dan digital .

Sistem Super Nintendo Entertainment dirilis di Jepang pada tahun 1990, dan tahun berikutnya muncul di AS dan Eropa.

Dia menjadi keturunan NES 8-bit 16-bit. Di Jepang, Super Famicom (FAMIly COMputer) meraih sukses instan, dan seluruh batch awal 300 ribu perangkat terjual habis dalam hitungan jam. Kegembiraan itu begitu kuat sehingga pemerintah meminta Nintendo untuk masa depan untuk merilis konsol mereka di akhir pekan untuk menghindari kerusuhan.

Untuk memastikan konsol game berkualitas tinggi Nintendo telah menciptakan sistem kontrol yang kejam. Penerbit berhak untuk merilis hanya lima game setahun. Agar peraturan ini berlaku, Nintendo berhak untuk memproduksi kartrid hanya untuk dirinya sendiri; penerbit terpaksa membelinya dari Nintendo. Agar setiap orang dapat bermain sesuai aturan (dan juga untuk melindungi gim dari penyalinan), sebelum memulai gim, konsol SNES memeriksa keberadaan chip CIC. Itu adalah mekanisme pertahanan yang kuat yang hanya bisa dipecahkan menjelang akhir masa SNES.

Selama sembilan tahun kehidupan konsol, 721 game dirilis, dan di antaranya adalah hits seperti Super Mario World , Zelda III [ Legenda Zelda: Tautan ke Masa Lalu ], Mario Kart , F-Zero , Super Metroid, dan Donkey Kong Negara Hampir 50 juta konsol telah terjual sepanjang waktu, sehingga SNES dianggap sebagai salah satu konsol paling populer dalam sejarah, baik dari segi volume penjualan dan katalog permainan.

SNES yang unggul secara teknis adalah di bidang 2D-grafis. Prosesor 16-bit 65C816 dengan frekuensi 3,58 MHz memiliki 128 kbytes RAM. Dia mengendalikan PPU (Picture Processing Unit) dengan 64 kbytes RAM, yang menangani sprite besar dan dapat mendukung hingga 256 warna pada resolusi 256x240. Sistem suara konsol terdiri dari kombinasi yang kuat dari prosesor Sony SPC700 8-bit dan prosesor sinyal digital 16-bit dengan 64 kbytes RAM khusus.

Meskipun mesin yang mengesankan untuk memproses sprite dua dimensi dan khususnya fungsi Mode 7, mesin tidak memiliki kekuatan untuk operasi komputasi mahal seperti komputasi 3D. Nintendo jelas mengakui bahwa 3D akan menjadi tahap penting berikutnya dalam pengembangan game, tetapi ia tidak memiliki kemampuan untuk mengimplementasikannya. Dengan kehendak takdir, sebuah perusahaan kecil Inggris menemukan solusi untuk masalah ini.

Game Argonaut


Pada tahun 1982, Jez San mengembangkan sendiri game yang dirancang khusus untuk komputer C64, Atari ST, dan Amiga. Dia membutuhkan perusahaan untuk menjual kreasinya. Melihat kesamaan antara namanya (J. San) dan Jason (Jason) dari mitos Argonauts, ia menyebutnya Argonaut Games plc.

Perusahaan itu tidak lama menjadi ansambel satu orang. Pada tahun 1990, ia telah mengumpulkan orang-orang berbakat di kantor perusahaan London, dan ia menjadi tertarik dengan konsol portabel Nintendo Game Boy, yang dirilis pada tahun 1989. Tim berhasil membuat dua prestasi yang tampaknya hampir mustahil: mereka menciptakan mesin 3D wireframe dan meretas pertahanan CIC untuk menginstalnya di Game Boy.

“Logo Nintendo turun dari bagian atas layar, dan ketika mencapai tengah, bootloader memeriksa untuk melihat apakah logo berada di tempat yang tepat.

Permainan diluncurkan hanya jika kata ini berada di tempat yang tepat dari ROM. Jika seseorang ingin membuat game tanpa izin Nintendo, mereka harus menggunakan kata Nintendo tanpa lisensi; Oleh karena itu, Nintendo dapat mengajukan gugatan merek dagang. Kami menemukan bahwa itu hanya sebuah resistor dan kapasitor - bagian berharga sekitar satu sen - dan menemukan cara untuk menipu perlindungan. Sistem membaca kata Nintendo dua kali - pertama untuk menampilkannya di layar selama proses boot, kedua kalinya - untuk memeriksa kebenarannya sebelum memulai permainan dari kartrid. Dan itu adalah kesalahan fatal - pertama kali konsol membaca kata Nintendo, kami membuatnya mengembalikan Argonaut sehingga jatuh ke bagian atas layar. Dalam tes kedua, kami menerapkan daya pada resistor dan kapasitor sehingga kata yang benar adalah Nintendo, dan game dimuat tanpa masalah ”- Jez San, dari wawancara Eurogamer 2014.

Di CES '90, mesin demo-nya dari booth Nintendo telah berhasil sampai ke kantor perusahaan di Kyoto. Jez tidak tahu tentang itu, tetapi dia memilih waktu yang tepat. Saat itu, Nintendo sedang bekerja di Jepang pada game untuk Super Famicom, yang seharusnya menunjukkan pada saat rilis konsol keunggulan teknologi. Super Mario World masih dalam masa pertumbuhan, tetapi simulator penerbangan Pilotwings sudah merupakan permainan yang sedikit lebih rumit.

Untuk mensimulasikan medan, Pilotwings menggunakan mode Mode 7 perangkat PPU (mampu melakukan transformasi affine seperti rotasi, penskalaan, dan memotong gambar menjadi beberapa bagian), serta mode HDMA. Namun, pesawat itu sendiri masih tetap sprite dua dimensi yang biasa digambar tangan. Ini mengganggu produsen permainan, Shigeru Miyamoto, karena ia tidak membiarkan kamera berputar dengan lancar di sekitar pesawat (sprite yang pecah berkeping-keping tidak rata).

Pada saat itu, Nintendo tidak suka bekerja dengan perusahaan pihak ketiga, dan terlebih lagi dengan orang asing. Namun kali ini, mereka membuat pengecualian dan mengundang Jeza ke kantor pusat mereka di Kyoto bersama Dylan Cuthbert, yang bekerja pada mesin 3D.

Kaum muda (Jesu berusia 23 tahun, Dylan berusia 18) bertemu dengan semua wakil presiden Nintendo: Miyamoto, Gumpei Yokoi, Takehiro Izushi, Yasuhiro Minagawa dan Genio Takeda. Mereka ditunjukkan semuanya dari SNES rahasia hingga rahasia Mario dan Pilotwings . Mereka kemudian ditanya apakah mungkin menemukan cara untuk menjadikan pesawat sebagai objek poligon nyata.

“Saya memberi tahu mereka bahwa ini adalah yang terbaik yang bisa mereka capai, kecuali mereka membiarkan saya mendesain peralatan sehingga SNES menjadi lebih baik dalam 3D. Anehnya, meskipun saya belum pernah melakukan peralatan sebelumnya, mereka mengatakan "ya" dan memberi saya satu juta dolar untuk dijual. " - jes san

Jez dengan berani menjanjikan kepada mereka peningkatan produktivitas "sepuluh kali lipat", jadi Nintendo dengan senang hati menerima proposal untuk mengembangkan peralatan khusus untuk permainan tersebut. Pilotwings harus dirilis dengan pesawat sprite untuk menangkap Super Famicom, tetapi chip tersebut, yang kemudian disebut Super FX, akan digunakan untuk proyek Nintendo lainnya.

Itu disebut Star Fox .

Rubah bintang


Menurut perjanjian tersebut, Nintendo memiliki hak untuk semua keputusan tentang desain game, dan juga membiayai Argonaut Games untuk produksi tidak hanya peralatan, tetapi juga mesin 3D untuk game. Jez-san segera mulai mempekerjakan spesialis Inggris yang dia kenal.

Untuk mengembangkan peralatan, ia menandatangani perjanjian dengan Flare Technology (orang yang sama yang merancang Atari Jaguar). Proyek Ben Cheese, Rob Macaulay, dan James Hakeville diberi nama kode Mathematical Argonaut Rotation I / O, atau MARIO. Akibatnya, perangkat yang mereka ciptakan ternyata sangat kuat sehingga mereka bercanda menyebut Super NES "hanya sebuah kotak untuk memasang chip kami." Karena tidak mungkin untuk memutakhirkan konsol, chip itu disolder ke setiap kartrid permainan baru, yang secara signifikan meningkatkan harga ecerannya.

“Kami mengembangkan chip Super FX dengan cara yang tidak ada orang di hadapan kami yang merancang peralatan - pertama-tama kami menciptakan perangkat lunak dan serangkaian instruksi kami sendiri untuk mengoptimalkan perangkat lunak tersebut. Tidak ada yang melakukan itu! Alih-alih membuat chip 3D, kami pada dasarnya mengembangkan mikroprosesor RISC yang berfungsi penuh, yang memiliki fungsi matematika dan fungsi rendering piksel, sementara sisanya ditangani oleh perangkat lunak. Itu adalah Unit Pemrosesan Video (Graphics Processing Unit) pertama di dunia, dan kami memiliki paten yang membuktikannya. ”- Jez Sun

Karl Graham dan Pete Warns bekerja pada mesin di kantor perusahaan London, sementara Dylan Cuthbert, Christer Wombell dan Giles Goddard (dan kemudian Colin Reed) pindah ke kantor Nintendo di Kyoto dan bekerja sama dengan tim Miyamoto.

Proyek ini dimahkotai dengan kesuksesan komersial dan teknologi. Star Fox dirilis pada 21 Februari 1993 dan terjual empat juta kopi.

Sejarah selanjutnya dari hubungan antara kedua perusahaan itu menyedihkan. Sekuel dari megahit Star Fox 2 diselesaikan oleh Argonauts dan siap untuk rilis pada tahun 1996, tetapi Nintendo tiba-tiba mengganggu proyek tersebut, takut dampaknya pada rilis Nintendo 64. Argonaut tidak suka ini dan hubungan dengan Nintendo memburuk. Kemudian, Nintendo memikat Goddard dan Wombella kepadanya. Dylan Cuthbert juga bisa bergabung dengan mereka, tetapi dia dicegah untuk melakukannya dengan klausul larangan berkompetisi. Dia keluar dari Argonaut dan, bekerja di Sony, mulai bekerja di PlayStation.

"Perceraian" dari kedua perusahaan berakhir ketika Nintendo tidak mengizinkan Argonaut untuk menggunakan karakter Yoshi dalam permainan platform yang direncanakan perusahaan untuk rilis di PS1. Akibatnya, mereka menggantikan Yoshi dengan buaya dan menyebut permainan Croc: Legend of the Gobbos . Nintendo kemudian merilis Mario 64 , salah satu mekaniknya yang mirip dengan Croc ... dan bahkan memenangkan pasar selama sekitar satu tahun.


Chip MARIO memiliki desain sederhana berdasarkan pada prosesor RISC 16-bit dengan frekuensi 10,74 MHz dan i-cache 512 byte. Dia memiliki seperangkat instruksi sendiri, dioptimalkan untuk perhitungan matematika, dan penyangga frame-nya sendiri, dioptimalkan untuk menempatkan piksel. Tugasnya adalah merender frame buffer, data yang darinya ditransfer secara berkala ke SNES RAM menggunakan DMA. Itu bisa membuat hingga 76.458 poligon per detik, yang memberikan Star Fox sekitar 15 fps.

Setelah menyaksikan kesuksesan fenomenal Star Fox , studio lain menjadi tertarik dengan teknologinya. Versi baru dari chip yang disebut GSU dirilis, mampu beroperasi pada frekuensi 21,4 MHz. GSU generasi pertama digunakan dalam empat game: Dirt Racer , Dirt Trax FX , Stunt Race FX dan Vortex .

Generasi kedua (GSU-2) memiliki prosesor yang sama dengan frekuensi 21,4 MHz dan kontak tambahan yang disolder ke bus untuk meningkatkan ukuran ROM yang didukung dan penyangga bingkai. Itu digunakan dalam tiga game: DOOM , Super Mario World 2: Yoshi's Island dan Winter Gold .

Jika Anda membuka kartrid DOOM, Anda dapat melihat semua komponen di atas:

[1] GSU-2 16-bit, [2] buffer bingkai 512-KB yang digunakan GSU, [3] ROM 2-mebbyte, tempat kode dan sumber daya disimpan, [4] modul enam inverter dan [5] ] Chip CIC untuk perlindungan salinan.

“Pertumbuhan produktivitas sepuluh kali lipat di pihak saya merupakan sesuatu yang berlebihan. Kami tidak tahu apakah ini benar-benar mungkin. Tapi ini memungkinkan kami untuk melebih-lebihkan, dan pada saat yang sama melampaui janji. Alih-alih meningkatkan kinerja 3D sepuluh kali lipat, kami malah meningkatkannya hingga 40 kali lipat. Di beberapa daerah, seperti komputasi 3D matematis, pertumbuhan bahkan seratus kali lipat. Chip tidak hanya dapat melakukan perhitungan 3D dan bekerja dengan grafik vektor, tetapi juga menyediakan rotasi dan penskalaan sprite, dan fungsi ini sangat dibutuhkan oleh game Nintendo sendiri, misalnya, Super Mario World 2: Yoshi's Island. " - jes san

Fakta yang menarik: beberapa penggemar berhasil mengumpulkan semua game (721 nama) dari katalog SNES. Biasanya, kartrid DOOM dapat dilihat dari jauh. Hanya tiga game yang diizinkan dirilis dalam kasing abu-abu yang tidak standar. Dua berwarna merah - DOOM dan Maximum Carnage , dan Killer Instinct berwarna hitam.



Doom di Super Nintendo


DOOM on SNES muncul berkat kejeniusan dan tekad satu orang: Randy Linden. Dia menyukai permainan ini dan memutuskan untuk port ke konsol populer sehingga lebih banyak pemain bisa menikmatinya. Randy tidak memiliki akses ke kode sumber, atau ke sumber daya versi game untuk PC atau konsol. Dia harus mulai dari awal.

Untuk sumber daya, ia dapat menggunakan "spesifikasi Doom tidak resmi" yang ditulis oleh Matthew Fell. Ini dijelaskan secara rinci struktur file .wad. Sprite, tekstur, musik, efek suara, dan peta yang diekstrak Randy dari DOOM.WAD. Dengan mesinnya, ceritanya benar-benar berbeda.

" DOOM adalah permainan yang benar-benar revolusioner, dan saya ingin orang-orang tanpa PC memainkannya. DOOM di SNES adalah satu lagi prestasi pemrograman yang dapat dicapai.

Saya memulai proyek sendiri dan membuat prototipe yang berfungsi penuh, menunjukkan demo di Perangkat Lunak Sculptured. Sekelompok karyawan Sculptured membantu saya menyelesaikan permainan sehingga bisa dirilis tepat waktu untuk liburan.

Proses pengembangan itu rumit karena banyak alasan, dan terutama karena pada saat itu tidak ada sistem pengembangan untuk chip SuperFX. Sebelum memulai permainan itu sendiri, saya menulis seperangkat alat lengkap - assembler, linker, debugger.

Kit pengembangan perangkat keras terdiri dari kartrid Star Fox yang diretas (karena chip SuperFX) dan sepasang pengontrol permainan yang dimodifikasi yang terhubung ke kedua konektor SNES dan terhubung ke port paralel Amiga. Untuk mengunduh kode, mengatur breakpoint, memeriksa memori ketika mentransfer data antara kedua perangkat, protokol serial digunakan.

Saya ingin gim ini memiliki lebih banyak level, tetapi, sayangnya, gim ini menempati ROM yang paling banyak tersedia dan hampir sepenuhnya menikmatinya. Samar-samar saya ingat bahwa hanya sekitar 16 byte yang gratis, yaitu, tidak ada lagi ruang yang tersisa! Namun, saya berhasil mengakomodasi dukungan untuk Super Scope, mouse, dan modem XBand! Ya, Anda bahkan bisa bermain dengan seseorang secara daring! "- Randy Linden dalam sebuah wawancara untuk Gaming Reinvented

Dalam versi ini, patut dicatat bagaimana Randy harus "mengambil jalan pintas" dengan mempertimbangkan kemampuan dan keterbatasan mesin pelabuhan.


Pada Gambar 6.8, dapat dilihat bahwa meskipun hanya 600 kibibytes dari RAM, lantai biru tetap (meskipun dengan warna yang sama). Perhatikan bahwa geometri tidak berubah (pasti sangat sulit untuk mencapai ini, karena Randy tidak mengalami DoomED atau doombsp), dan pada E1M1 semua langkah dari yang asli dipertahankan.

Mesin Reality, demikian Randy menyebutnya, mampu bekerja dengan geometri kartu dari PC, tetapi ia kemungkinan besar memiliki masalah dengan kecepatan pengisian dan tekstur sampel, karena tekstur langit-langit dan lantai sama sekali tidak ada.


Tangkapan layar di atas menunjukkan bahwa jendela sebenarnya tidak ditampilkan di layar penuh. Masalah ini tidak hanya menyangkut DOOM - Star Fox , Star Fox 2, dan semua game dengan Super FX harus mengurangi ukuran ruang kerja. Kemungkinan besar, ini disebabkan oleh laju transmisi SNES yang terbatas, yang tidak memungkinkan transmisi DMA untuk rendering layar penuh.

Dari 256x224 piksel resolusi “asli” konsol, hanya 216x176 yang dapat ditarik, dan hanya 216x144 yang digunakan untuk 3D (bilah status digambar pada 32 baris). Garis-garis vertikal digandakan, yaitu, Reality Engine mampu membuat resolusi hanya 108x144. Dan bahkan dengan resolusi serendah itu, frame rate rata-rata adalah 10 FPS, yang merupakan pencapaian besar. Frame rate "rendah" tidak menghalangi pemain untuk bermain DOOM . Menurut Randy Linden, kartrid terjual dengan sangat baik.


Daftar fitur yang disumbangkan untuk RAM berharga termasuk resolusi sprite, yang harus dikurangi secara signifikan; kadang-kadang bahkan sulit untuk membongkar mereka (sebagai lawan dari senjata pemain, yang diberikan dalam resolusi yang lebih tinggi). Saya harus menghapus semua pose musuh, dengan pengecualian sprite melihat pemain, menyingkirkan perkelahian monster satu sama lain, menyebarkan suara (monster terbangun hanya dengan kontak visual), memotong sebagian besar efek suara (semua monster terdengar seperti imp).

Fakta menarik: Nintendo awalnya melarang penggunaan darah dalam game di SNES. Pada saat DOOM dirilis, prosedur peringkat ESRB telah muncul di tempat. Mengingat jumlah darah dan potongan daging, tidak mengherankan bahwa DOOM pada SNES menerima peringkat M ("dari 17 tahun").

Teks lengkap dari Game Engine Black Book: DOOM tersedia di situs web Fabien Sanglar.

Source: https://habr.com/ru/post/id455429/


All Articles