Bagaimana Crash Bandicoot Meretas Playstation


Andy Gavin dari Naughty Dog berbicara tentang manajemen memori tahun 90an dan animasi 3D.

“Memori di Crash Bandicoot sangat kurang sehingga saya harus mencuri sedikit memori tambahan dari perpustakaan Sony. Saya hanya mencoba untuk menghapus bagian-bagian yang, menurut saya, tidak saya gunakan, dan memeriksa apakah semuanya terus berfungsi. Jika semuanya bekerja, maka saya menandainya sebagai bebas dan membuat retasan dari kode mereka, mengubah kode byte. Saya berpikir: Saya bisa melakukannya, jika Sony tidak ingin memperbaikinya sendiri, maka saya hanya mengubah kode mereka. Itu adalah memori bebas. [tertawa] Memori terbatas. Tetapi tidak ada yang benar-benar mengizinkan kami untuk melakukan ini. ”

Hai, saya Andy Gavin, salah satu pendiri Naughty Dog Inc dan pemimpin program di Crash Bandicoot. Kami memutuskan untuk membuat platformer aksi pertama dengan karakter tiga dimensi, dan untuk melakukan semuanya dengan benar, kami benar-benar harus meretas peralatan.

Itu adalah bagian dari filosofi Naughty Dog dalam melakukan segala hal yang mungkin, menggunakan setiap siklus CPU atau GPU, setiap byte memori. Jika ada peluang seperti itu di mobil, maka kami mencoba mencari cara untuk memanfaatkannya sebaik mungkin, terlepas dari apakah itu berguna bagi kami atau tidak, dan apakah kami akan menggunakan beberapa trik gila. Pada musim panas 1994, saya dan mitra saya Jason Rubin menyelesaikan game pertarungan 3DO yang disebut Way of the Warrior dan memikirkan game mana yang ingin kami buat selanjutnya. Genre yang paling populer di konsol pada saat itu adalah game platform aksi, seperti Super Mario World dan semua jenis klasik lainnya dari game platform 16-bit. Pada saat yang sama, peralatan 3D baru muncul di mesin arcade dan beberapa genre memulai transisi dari 2D tradisional ke 3D.


Game seperti Street Fighter II dan Mortal Kombat masih berada di puncak, tetapi Virtua Fighter sudah muncul. Itu menggunakan grafis 3D, itu keren dan menjadi jelas bahwa permainan akan bergerak seperti ini. Konsol baru akan berfungsi dalam 3D. Bisakah saya membuat platformer 3D? Belum ada yang melakukan ini, tetapi itu akan terjadi. Pikirkan tentang bagaimana Sonic terbang melalui loop pipa dalam 3D. Bagaimana kelihatannya? Sampai musim gugur 1994, Naughty Dog hanya terdiri dari kami, Jason dan Andy, yang membentuk sinergi nyata. Kami berdua berurusan dengan semua aspek kreatif, kami adalah teman baik, teman sekamar, Jason adalah seniman yang fenomenal, dan saya adalah seorang programmer game, dan saya pikir itu cukup bagus. [tertawa] Dari kami berdua, dia mencoba membuat permainan terlihat luar biasa, dan saya mencoba membuat teknologinya bekerja,dan kami berdua berusaha untuk membuat game ini benar-benar menyenangkan. Jason dan saya menjual hak Way of the Warrior ke divisi baru Universal Studios yang disebut Universal Interactive. Bahkan, mereka memberi tahu kami: datang ke California, berhenti di tempat Universal di sebelah Steven Spielberg, kami akan memberi Anda sebuah bungalo dan semua yang Anda butuhkan secara gratis. Anda dapat melakukan apa pun yang Anda inginkan, Anda hanya perlu menunjukkannya kepada kami. Kami mengambil anjing itu, seekor anjing bernama Naughty Dog Morgan, masuk ke Honda Accord saya dan melewati pedesaan, jadi kami punya banyak waktu untuk berbicara. Kami membahas: seperti apa tampilan platformer dalam 3D?datang ke California, berhenti di tempat Universal di sebelah Steven Spielberg, kami akan memberi Anda sebuah bungalo dan semua yang Anda butuhkan secara gratis. Anda dapat melakukan apa pun yang Anda inginkan, Anda hanya perlu menunjukkannya kepada kami. Kami mengambil anjing itu, seekor anjing bernama Naughty Dog Morgan, masuk ke Honda Accord saya dan melewati pedesaan, jadi kami punya banyak waktu untuk berbicara. Kami membahas: seperti apa tampilan platformer dalam 3D?datang ke California, berhenti di tempat Universal di sebelah Steven Spielberg, kami akan memberi Anda sebuah bungalo dan semua yang Anda butuhkan secara gratis. Anda dapat melakukan apa pun yang Anda inginkan, Anda hanya perlu menunjukkannya kepada kami. Kami mengambil anjing itu, seekor anjing bernama Naughty Dog Morgan, masuk ke Honda Accord saya dan melewati pedesaan, jadi kami punya banyak waktu untuk berbicara. Kami membahas: seperti apa tampilan platformer dalam 3D?

Kami membahas sesuatu seperti game Sonic the Hedgehog. Bayangkan Anda sedang mengulang, menjalankan dan melompat pada platform dan mengumpulkan objek dalam 3D. Kamera selalu di belakang pemain. Anda melihat dunia, dan semuanya tampak hebat, tetapi itu seperti permainan tentang pantat Sonic. Yang Anda lakukan hanyalah melihat pantat Sonic. Tapi karakternya paling ekspresif ketika kita melihatnya di depan. Apakah mungkin untuk membuat level di mana pemain pindah ke kamera? Tetapi bagaimana cara melihat di mana dia berlari? Bahkan, pantulan seperti itu secara bertahap membawa kami ke tingkat batu bulat dari Crash Bandicoot. Haruskah ada level di mana pemain bergerak ke samping, haruskah dia melihat dari balik bahunya ke layar? Kami secara bersamaan merancang game, yang akan menjadi Crash Bandicoot, dan pada saat yang sama, seolah-olah memilih platform untuk itu.

Kami tahu bahwa itu akan menjadi game 3D, kami akan membutuhkan salah satu platform 32-bit baru. Jadi, ada 3DO, yang sudah kami buat satu gim, tapi mobil ini seperti kurva, setengah mesin 3D. Selain itu, harganya sangat mahal dan tidak laris manis. Ada juga Atari Jaguar. Kami menganggapnya sebagai kesalahpahaman. Dan ada orang yang serius akan merilis mobil baru. Kami tahu tentang beberapa mobil misterius dari Nintendo, tetapi tidak dapat mengetahui apa yang sedang dimasak Nintendo. Mereka sama sekali tidak berkomunikasi dengan orang Amerika. Sega punya dua proyek. Dia memiliki 32X, rilis yang mulai musim gugur itu; dia seharusnya memperkuat kemampuan Genesis. Selain itu, dia menciptakan mobil baru; Saya tidak ingat apakah itu sudah disebut Saturnus, tetapi hasilnya berubah menjadi Saturnus. Dan ada juga kuda hitam Sony. Perusahaan ini belum pernah membuat video game sebelumnya.Kami mendengar bahwa dia memiliki mesin baru yang kuat, jadi kami menghubungi Sega dan Sony dan mempelajari informasi yang mereka berikan kepada kami. Untuk menyimpulkan perjanjian dengan mereka, Anda harus meletakkan jiwa Anda dan anak sulung, setelah itu Anda dapat memesan mobil jika Anda memberi mereka janji dan semua itu. Dan Sony punya mobil baru, seolah-olah dalam 3D penuh. Ini cocok dengan 2D, dan itu adalah arsitektur yang jelas baru, sangat mirip dengan peralatan 3D komersial kelas atas seperti Silicon Graphics, tetapi dengan banyak penyederhanaan yang membuat konsol lebih ekonomis; PlayStation 1 memiliki dua chip khusus utama - modul grafis dan CPU yang dibuat khusus dengan arsitektur MIPS. Tetapi GPU modern jauh lebih kompleks dan mereka melakukan banyak perhitungan yang tidak mampu dilakukan GPU 90-an lama.GPU PlayStation 1 hanya memberikan segitiga di layar, tetapi cukup baik. Dia bisa menggambar sekitar 120.000 segitiga per detik, yang pada saat itu sangat fenomenal. Pada PC saat itu tidak ada peralatan untuk grafik 3D. Mereka memiliki papan VGA. Anda akan beruntung jika Anda bisa mendapatkan beberapa ratus poligon, karena semua perhitungan dilakukan secara terprogram. Dan ada PlayStation yang harganya 199 atau 299 dolar.

- 299.

- Dan itu adalah mesin jadi dengan CD-drive, memori dan semua yang diperlukan. Perbedaan antara konsol dan PC pada waktu itu sangat besar. Kita berbicara tentang masa Windows 3.1 dan DOS. Untuk memulai permainan, Anda biasanya perlu memiliki disk boot dengan autoexec.bat dan config.sys khusus, yang harus dibuka di mesin. Dunia PC saat itu tidak terlalu ramah game. Dan di PlayStation atau Genesis atau Super Nintendo, cukup memasukkan cartridge atau CD - dan boom, semuanya dimuat. Kebanyakan saya menyukai Sony. Dia keren, jelas, kuat, dan berpikir untuk 3D. Saya benar-benar berpikir bahwa ini adalah satu-satunya mesin yang dapat menahan rencana kami.

Ide dasar Crash Bandicoot sebagai gim adalah bahwa ia harus memiliki mekanik, seperti dalam gim seperti Donkey Kong Country. Pemain harus melalui level hitung mundur, musuh dan melompat. Itu harus platform dengan karakter hewan kartun, dan kami tidak ingin itu terlihat sangat seperti video game. Kami ingin dia menjadi seperti kartun Looney Tunes, di mana karakternya dianimasikan dengan baik dan bergerak dengan lancar. Jika dihancurkan oleh batu bergulir besar, maka itu berubah menjadi pancake datar yang bergulir. Kami ingin menciptakan dunia yang mirip dengan dunia animasi, dengan emosionalitas kaset animasi klasik, yang kemudian ditemukan kembali oleh serial televisi seperti Duck Tales dan The Simpsons. Animasi menjadi keren lagi. Dan ada Crash dalam bingkai, kami memiliki 30 frame per detik dan sekitar 1.500 poligon di layar.600 dari mereka ditempati oleh Crash. Itulah betapa pentingnya dia bagi kita. Sebagian besar permainan menggunakan sekitar 80 poligon dan karakternya tampak seperti blok berjalan yang aneh. Kami ingin dia terlihat seperti tokoh kartun sungguhan. Ini membutuhkan banyak detail, jadi dia mengambil sepertiga dari anggaran TPA kami.


Menciptakan Kecelakaan, kami terus-menerus menemukan sesuatu yang baru. Belum ada yang membuat game 3D dalam genre action-platformer. Pada saat yang sama, jelas bahwa PC yang biasa digunakan untuk mengembangkan game tidak akan melakukannya. Saya ulangi, kemudian ada waktu Windows 3.1, kurangnya grafis 3D dan, pada kenyataannya, hanya 640 KB RAM yang tersedia. Kami memberanikan diri untuk membeli perusahaan untuk semua, dan kemudian ada lima dari kami, workstation Silicon Graphics, terutama Indigo2 Extremes. Workstation dengan harga 75 hingga 100 ribu rupiah. Mereka memiliki grafik 3D. Perangkat lunak untuk membuat grafik 3D juga berharga sekitar 75 ribu per mobil. Sesaat sebelum itu, film seperti Terminator 2, Abyss, dan Jurassic Park dibuat pada perangkat lunak tersebut. Oleh karena itu, kami memutuskan untuk memilih Alias ​​PowerAnimator sebagai perangkat lunak,yang pada waktu itu adalah salah satu dari tiga opsi yang mungkin [tertawa].

Jadi, kami punya kotak besar yang canggung - prototipe awal PlayStation, dan itu ternyata mesin yang cukup bagus. Tetapi pertama-tama Anda perlu memahami sesuatu. Itu datang dengan banyak manual yang ternyata sangat buruk diterjemahkan dari teks-teks rahasia Jepang. Kami melakukan diskusi yang luar biasa tentang apa yang mereka maksud dengan serangkaian kata-kata bahasa Inggris yang lucu ini atau itu. Untuk benar-benar mengetahuinya, kami harus menguji semuanya secara empiris. Kami mengambil masing-masing bagian dan menulis kode uji untuk melakukan tindakan tertentu dengan mesin dan melihat bagaimana cara mengatasinya. Ini mirip dengan bagaimana Anda mengendarai mobil di arena pacuan kuda dan memeriksa seberapa cepat mobil itu bisa berputar. Konsol memiliki banyak mode grafis yang berbeda, misalnya, operasi setengah kecepatan dalam mode resolusi tinggi;Namun, mode resolusi menengah jelas ditemukan pada saat terakhir, karena ia bekerja pada kecepatan yang sama dengan mode resolusi rendah. Jason sudah membuat karakter Crash Bandicoot, yang terlihat hampir sama dengan di gim, jadi saya membawanya ke layar dan kami menguranginya ke ukuran yang pas di layar. Saya menulis kode untuk menghitung jumlah piksel yang ditempati oleh setiap poligon, dan ternyata rata-rata 1,2 piksel. Oleh karena itu, saya menyarankan: mengapa kita perlu membuat tekstur poligon ini? Kami memutuskan bahwa kami tidak akan menggunakan mode tekstur untuk karakter. Kami akan menggunakan mode yang lebih cepat dan lebih mudah saat teduh, yang sebagian besar pengembang tidak gunakan. Tekstur yang paling banyak digunakan. Dan sebagian ini disebabkan oleh fakta bahwa kami melakukan tes dan menemukanbahwa dalam mode non-tekstur, permainan berjalan dua kali lebih cepat. Jika pengembang tidak melakukan tes dan percaya nomor dari instruksi, maka mereka menerima satu nomor. Dan kami menemukan bahwa PlayStation sebenarnya dapat menggambar jumlah poligon yang cukup baik per detik pada peralatan grafis, tetapi kita perlu melakukan perhitungan untuk mengetahui di mana poligon-poligon ini seharusnya berada.


Saat ini, hampir setiap komputer dan bahkan telepon memiliki GPU vertex-block yang kuat, dan mereka dapat melakukan sejumlah besar perhitungan, seringkali gigaflops untuk menjumlahkan multiplikasi. Dan pada saat itu, sebagian besar komputer dapat melakukan penggandaan dan penambahan pada CPU satu per satu, sehingga mereka berhasil melakukan ratusan atau ribuan, tetapi tidak milyaran perhitungan. Ini adalah hambatan serius.

Masalah mendasar dengan PlayStation adalah bahwa interaksi perangkat keras dan perangkat lunak dari sudut pandang matematika tidak ideal. Kami sepertinya mengerti bahwa masalahnya adalah perangkat lunak, bahwa Sony hanya ingin menggunakan perpustakaan yang ditulisnya, tetapi tidak mengoperasikan mesin secara maksimal. Di suatu tempat di dalam, para desainer menambahkan peralatan yang dirancang untuk merangkum perkalian, karena jutaan operasi semacam itu diperlukan, tetapi semua ini disembunyikan di bawah lapisan perpustakaan bahasa C yang ditulis oleh Sony: Anda memberikan angka, mereka melakukan penjumlahan jumlah, tetapi kinerjanya mengerikan. Meskipun unit grafis dapat menggambar 100-120 ribu poligon per detik, perpustakaan berhasil mengkonversi matematika, mungkin untuk 5-10 ribu, yang jelas tidak cukup.Artinya, jika Anda menguji kinerja dasar matematika titik pada PlayStation 1, menggunakan instruksi resmi Sony dan memanggil perpustakaan grafik, Anda bisa kehilangan seluruh urutan besarnya, gunakan besi untuk sepersepuluh. Kode hanya tidak berfungsi cukup cepat.


Kami melakukan hal yang sama seperti yang dilakukan oleh ilmuwan baik mana pun - kami memisahkan sistem dan menyadari bahwa ada cukup kekuatan di dalamnya, tetapi konsol menyembunyikannya dari kami. Dalam hal masalah khusus ini, melalui teman-teman saya di Sony, saya mengusulkan solusi kreatif - kami bertukar dua lembar kertas, menyerahkan secara langsung. "Aku belum memberitahumu apa-apa." [tertawa] Tapi sebenarnya itu sudah cukup. Kami baru saja menyelesaikan semua ini secara sistematis, dan ternyata di dalam CPU Sony yang dirancang khusus terdapat "otak" matematika yang disebut coprocessor, yang mampu melakukan perhitungan yang sangat khusus dan terbatas yang diperlukan untuk mengubah simpul. Dan dia mengelola untuk mengeksekusi mereka dengan kecepatan sedemikian rupa sehingga GPU dapat mengkonsumsi data ini.Hampir semua peralatan permainan khusus sejak zaman mesin arcade selalu memiliki dua "otak" utama: modul grafis dan CPU. CPU lama yang baik memproses angka tunggal dan ini memungkinkan mereka untuk melakukan segala sesuatu yang mampu dilakukan oleh komputer, tetapi pada saat yang sama mereka hanya bisa "berpikir" satu pemikiran. Modul grafis menyediakan cara untuk merender perangkat keras grafis. Di awal permainan tahun 80-an, bahkan dalam permainan sesederhana Galaga, di mana Anda hanya harus menembak kapal asing, grafik ini disebut sprite. Pada saat itu, CPU tidak dapat membuat sprite. Modul grafis kecil yang mampu menciptakan sprite dan menggulir latar belakang diciptakan. Faktanya, semua teknologi grafis komputer telah berkembang berkat permainan video. Tapi Anda selalu harus menjaga keseimbangan antara otak grafis dan otak dalam mesin ini,terlibat dalam matematika umum. Saat ini, GPU kadang-kadang dapat melakukan ribuan operasi yang sama, dan karena itu kekuatan pemrosesan GPU jauh lebih besar daripada CPU. Mereka memiliki banyak gigaflops, terkadang bahkan teraflops. Mereka tidak melakukan perhitungan umum.


Biarkan saya menjelaskan gameplay untuk Anda dalam platformer 2D. Ambil Donkey Kong Country. Seorang pemain dapat bergerak maju dan mundur di level, yaitu, kiri dan kanan, melompat-lompat platform, tetapi pada dasarnya permainan ini linier. Biasanya Anda bergerak ke kanan dan menemui hambatan. Semuanya bermuara pada prinsip yang muncul di Pitfall pada 1980. Anda bisa mengayun pada pohon anggur untuk melompati paku. Monster dapat menjelajahi platform, dan lebah terbang di atasnya. Permainan berkembang secara linier. Anda melihat di mana Anda bergerak, dan permainan berjalan sangat cepat. Jump-jump-kick, jump-jump-kick. Karena itu, ini berjalan baik dengan 2D. Perancang mengukur hampir ritme permainan musik, dan terima kasih untuk ini, permainan seperti itu sangat menarik dan membuat ketagihan. Anda mendapatkan pemahaman yang lebih baik tentang permainan, pertama-tama pelajari dasar-dasar manajemen, jadilah Donkey Kong,kemudian kamu mempelajari pergerakan musuh dan objek di level, ingat rute. Ini seperti memainkan musik dalam permainan ritme. Namun dalam 3D, semuanya berbeda. Kami telah menambahkan dimensi baru. Sekarang Anda dapat bergerak dari sisi ke sisi. Jika Anda memiliki tiga kura-kura yang mendatangi Anda di Donkey Kong Country atau Mario, maka Anda harus melompati mereka atau melompat-lompat untuk menjatuhkan ketiganya satu per satu. Dalam 3D, Anda cukup bergerak ke kanan dan diam-diam mengitari mereka. Kami telah menambahkan dimensi ruang yang sama sekali baru, dan ruang menjadi terlalu banyak. Ini tampaknya mengubah keseimbangan antara pilihan dan konflik. Kami harus mencari cara untuk mengkompensasi hal ini untuk mempertahankan jalannya permainan yang aktif. Kami menyadari bahwa kami telah menambahkan dimensi baru, jadi akan lebih mudah untuk menguranginya, tetapi mengurangi dimensi yang berbeda. Misalkan ini ada di lantai dengan batu bulat. Pengukuranyang sebenarnya kami bawa ada waktu.

Ini bukan salah satu dari tiga dimensi spasial. Karena bahaya level (batu akan menghancurkan Anda jika Anda tidak terus-menerus bergerak, bergerak, bergerak), Anda tidak memiliki kemewahan memilih dimensi lain, sehingga itu membuat Anda bergerak di sepanjang koridor yang sempit begitu cepat sehingga gameplay terasa intens. Dan level dengan babi hutan bergerak ke arah yang berlawanan - alih-alih memindahkan objek ke arah Anda, Anda akan melompat ke arah objek. Seolah-olah Anda sedang duduk di babi hutan dan tidak bisa mengendalikan kecepatannya. Ini adalah babi liar dan pada dasarnya Anda perlu bergerak ke kiri dan ke kanan, setelah itu tingkat 3D yang lebih biasa dimulai. Sebagai contoh, di Pantai Gila, kami menempatkan dinding hutan untuk mempersempit ruang, tidak sepenuhnya, tetapi sebagian. Ada elemen lain yang memungkinkan untuk mempersempitnya, misalnya, musuh, katakan kepiting atau sigung di tingkat ini,mereka melewati pemain di samping. Ini tidak berarti bahwa kami tidak dapat menggunakan dimensi baru jika diinginkan, karena kami memiliki kotak di sebelah kiri dan kotak di sebelah kanan. Anda dapat melakukan hal-hal menarik, misalnya, pemain harus memilih apakah akan menghadapi ancaman dan pindah ke kotak. Dan jika pemain berada pada level seperti Hog Wild, maka kami sengaja melakukannya. Misalkan kita memiliki tiang dengan paku dan kotak di sebelah kiri, dan jalan setapak tanpa hambatan di sebelah kanan. Karena itu, agar lebih mudah selamat dari rintangan ini, Anda bisa bergerak ke kanan dan hanya melewati pilar. Tapi kemudian Anda tidak akan mendapatkan kotaknya. Untuk mendapatkannya, Anda harus pindah ke pos di detik terakhir dan kemudian geser ke samping. Yaitu, permainan memberi pemain pilihan atau elemen perhitungan waktu, seperti pada beberapa level dari tipe 3D dengan batu-batu bulat bergulir, diikuti oleh level dengan platform. Pemain harus melompat, tetapi kemudian Anda dapat meningkatkan tegangan,menyebabkan platform runtuh. Platform, seolah-olah, memiliki masa berlaku sendiri. Pemain memanjatnya, dan dia bergerak dan jatuh. Dan kami juga memiliki level format yang berbeda, di mana kami kembali mengambil satu dimensi. Misalnya, dalam permainan ada banyak level yang mewakili misalnya dinding, artinya, mereka muncul dalam 2D. Ya, Anda dapat pindah ke samping, tetapi kami sudah melakukan sesuatu seperti level 2D, memperbaiki kamera sehingga terlihat dari samping. Dan ada satu lagi jenis level di mana kamera naik dan Crash bergerak seolah-olah di sepanjang grid, tetapi hampir tidak ada gerakan naik dan turun, dan bukannya ruang terbuka pemain berada di jembatan di mana ada semacam bahaya fana.di mana kami kembali mengambil satu dimensi. Misalnya, dalam permainan ada banyak level yang mewakili misalnya dinding, artinya, mereka muncul dalam 2D. Ya, Anda dapat pindah ke samping, tetapi kami sudah melakukan sesuatu seperti level 2D, memperbaiki kamera sehingga terlihat dari samping. Dan ada satu lagi jenis level di mana kamera naik dan Crash bergerak seolah-olah di sepanjang grid, tetapi hampir tidak ada gerakan naik dan turun, dan bukannya ruang terbuka pemain berada di jembatan di mana ada semacam bahaya fana.di mana kami kembali mengambil satu dimensi. Misalnya, dalam permainan ada banyak level yang mewakili misalnya dinding, artinya, mereka muncul dalam 2D. Ya, Anda dapat pindah ke samping, tetapi kami sudah melakukan sesuatu seperti level 2D, memperbaiki kamera sehingga terlihat dari samping. Dan ada satu lagi jenis level di mana kamera naik dan Crash bergerak seolah-olah di sepanjang grid, tetapi hampir tidak ada gerakan naik dan turun, dan bukannya ruang terbuka pemain berada di jembatan di mana ada semacam bahaya fana.di mana kamera naik dan Crash bergerak seolah-olah di sepanjang kotak, tetapi hampir tidak ada gerakan naik dan turun, dan bukannya ruang terbuka pemain berada di jembatan di mana ada semacam bahaya fana.di mana kamera naik dan Crash bergerak seolah-olah di sepanjang kotak, tetapi hampir tidak ada gerakan naik dan turun, dan bukannya ruang terbuka pemain berada di jembatan di mana ada semacam bahaya fana.


Dalam setiap kasus ini, kami suka menambahkan batasan atau derajat kebebasan yang lebih rendah untuk mempersempit ruang dan meningkatkan intensitas permainan. Karena dimensi ekstra, gim ini lebih beragam daripada gim 2D tradisional, karena pada level yang berbeda kami menghilangkan dimensi yang berbeda. Kami memiliki sekitar 7-10 strategi berbeda untuk membatasi pengukuran. Kotak-kotak itu sebenarnya juga diciptakan untuk mengisi kekosongan. Tidak ada banyak musuh di layar, karena mesin tidak akan diatasi dengan jumlah besar, tetapi kami secara aktif mengisi ruang kosong dengan laci. Selain itu, mereka dapat berantakan di seluruh tumpukan dan membuat teka-teki; untuk objek sederhana hanya beberapa poligon, itu sangat universal.

Kami yakin bahwa kami ingin membuat jenis animasi yang tidak pernah digunakan dalam video game. Itu seharusnya menyerupai gaya Looney Tunes, animasi yang cacat. Ini adalah gaya animasi yang sangat elastis dan elastis, diterapkan dalam animasi tradisional. Karena itu, karakter sebenarnya perlu dianimasikan. Di era grafik rendah-poli tahun 90-an, karakter secara tradisional dibuat dari sejumlah kecil tulang: humerus, tulang lengan bawah, tulang kepala; semua gambar pinggul kanan karakter melekat pada tulang paha kanan. Dan tulang adalah benda yang kaku, seperti engsel. Itu bisa diputar atau dipindahkan. Ini agak mengingatkan pada peniruan robot, dan jika Anda membutuhkan jari, Anda harus membuat banyak tulang. Untuk PlayStation, ini terlalu banyak perhitungan. Kami tahu bahwa dia tidak akan pernah bisa menghadapi seikat tulang.Dan tentu saja mustahil menciptakan animasi memukul tangan dengan palu, seperti yang terjadi dalam kartun. Apa yang kita lihat di sana? Tangan membengkak seperti bola, atau diratakan menjadi panekuk, atau sesuatu seperti itu. Kami tidak dapat melakukan semua ini dengan sistem tulang tunggal. Dalam game seperti Virtua Fighter, mesin arcade menggunakan sistem tulang klasik. Itu cukup cocok untuk permainan pertempuran, karena tidak ada banyak deformasi, tetapi karakternya terlihat sedikit terkendala. Menggunakan tulang hampir tidak mungkin atau sangat sulit untuk membuat animasi wajah, dan kami tahu bahwa kami benar-benar ingin menerapkannya. Karakter mana yang tidak suka tersenyum atau mengedipkan mata? Apakah mungkin untuk mencapai animasi seperti itu di workstation Silicon Graphics?seperti yang terjadi dalam kartun. Apa yang kita lihat di sana? Tangan membengkak seperti bola, atau diratakan menjadi panekuk, atau sesuatu seperti itu. Kami tidak dapat melakukan semua ini dengan sistem tulang tunggal. Dalam game seperti Virtua Fighter, mesin arcade menggunakan sistem tulang klasik. Itu cukup cocok untuk permainan pertempuran, karena tidak ada banyak deformasi, tetapi karakternya terlihat sedikit terkendala. Menggunakan tulang hampir tidak mungkin atau sangat sulit untuk membuat animasi wajah, dan kami tahu bahwa kami benar-benar ingin menerapkannya. Karakter mana yang tidak suka tersenyum atau mengedipkan mata? Apakah mungkin untuk mencapai animasi seperti itu di workstation Silicon Graphics?seperti yang terjadi dalam kartun. Apa yang kita lihat di sana? Tangan membengkak seperti bola, atau diratakan menjadi panekuk, atau sesuatu seperti itu. Kami tidak dapat melakukan semua ini dengan sistem tulang tunggal. Dalam game seperti Virtua Fighter, mesin arcade menggunakan sistem tulang klasik. Itu cukup cocok untuk permainan pertempuran, karena tidak ada banyak deformasi, tetapi karakternya terlihat sedikit terkendala. Menggunakan tulang hampir tidak mungkin atau sangat sulit untuk membuat animasi wajah, dan kami tahu bahwa kami benar-benar ingin menerapkannya. Karakter mana yang tidak suka tersenyum atau mengedipkan mata? Apakah mungkin untuk mencapai animasi seperti itu di workstation Silicon Graphics?Dalam game seperti Virtua Fighter, mesin arcade menggunakan sistem tulang klasik. Itu cukup cocok untuk permainan pertempuran, karena tidak ada banyak deformasi, tetapi karakternya terlihat sedikit terkendala. Menggunakan tulang hampir tidak mungkin atau sangat sulit untuk membuat animasi wajah, dan kami tahu bahwa kami benar-benar ingin menerapkannya. Karakter mana yang tidak suka tersenyum atau mengedipkan mata? Apakah mungkin untuk mencapai animasi seperti itu di workstation Silicon Graphics?Dalam game seperti Virtua Fighter, mesin arcade menggunakan sistem tulang klasik. Itu cukup cocok untuk permainan pertempuran, karena tidak ada banyak deformasi, tetapi karakternya terlihat sedikit terkendala. Menggunakan tulang hampir tidak mungkin atau sangat sulit untuk membuat animasi wajah, dan kami tahu bahwa kami benar-benar ingin menerapkannya. Karakter mana yang tidak suka tersenyum atau mengedipkan mata? Apakah mungkin untuk mencapai animasi seperti itu di workstation Silicon Graphics?Karakter mana yang tidak suka tersenyum atau mengedipkan mata? Apakah mungkin untuk mencapai animasi seperti itu di workstation Silicon Graphics?Karakter mana yang tidak suka tersenyum atau mengedipkan mata? Apakah mungkin untuk mencapai animasi seperti itu di workstation Silicon Graphics?

Jason menciptakan model Crash ini dan siap membuat animasi kartun keren; dia menemukan bahwa sangat mungkin untuk memaksa PowerAnimator untuk melakukan ini, karena ia memiliki alat yang kuat seperti tulang dan bobot verteks, serta bidang distorsi. Tetapi cara mereka diimplementasikan oleh PowerAnimator tidak dapat dimainkan di PlayStation. Semua hal ini menggunakan peralatan mahal untuk bekerja dengan floating point di stasiun kerja Silicon Graphics, dan bahkan dia tidak dapat melakukannya secara real time. Dia harus membuat animasi, dan permainan video berlangsung secara real time. Kami harus punya waktu untuk melakukan semuanya dalam 1/30 detik. Ini menjadi masalah serius lainnya, karena kami benar-benar ingin menerapkan animasi ini.

Saya menyarankan: well, kita bisa membaca posisi semua simpul. Jika kita tahu di mana posisi semua simpul di setiap frame, maka jenis tulang tidak penting bagi kita. Meskipun SGI menggunakan setidaknya seribu tulang, prinsipnya akan sama. Kami cukup menggambar posisi poligon dan verteks, dan ini bisa dilakukan dengan cukup cepat. Kami tidak harus melakukan perhitungan tulang, jadi sumber daya CPU tidak akan dihabiskan untuk tulang. Tetapi dengan strategi seperti itu, masalahnya adalah jika kita memiliki animasi dengan 30 frame per detik, dan Crash terdiri dari sekitar 500 titik dan sekitar 600 poligon, maka kita perlu menyimpan posisi di setiap bingkai animasi untuk setiap titik. Ini adalah sejumlah besar data. Tetapi pada saat yang sama, kami sudah terbawa oleh strategi gila untuk memori ini dengan peningkatan tiga puluh kali lipat dalam jumlah data, sehingga kami dapat memproses sedikit lebih banyak data daripada yang lain.Jadi kami memutuskan untuk membuat data animasi menggunakan semua efek canggih Jason di PowerAnimator. Jadi saya lakukan, dan itu berhasil, karena kit pengembangan PlayStation memiliki sesuatu seperti 8 atau 32 megabyte memori. Oleh karena itu, dimungkinkan untuk memungkinkan volume yang jauh lebih besar daripada yang tersedia pada mesin nyata. Kami mengerjakan ini selama beberapa bulan, dan saya terus-menerus berpikir bahwa entah bagaimana kami harus menyesuaikan semua yang ada dalam ingatan kami. Volumenya sangat besar. Itu perlu dilakukan lebih sedikit. Tetapi saya merasa bahwa dalam pengertian matematika tidak ada begitu banyak data sehingga Anda dapat menulis algoritma kompresi khusus. Cara memahami ini: dalam teori ilmu komputer, data memiliki tingkat kompleksitas tertentu. Mereka memiliki pola dan batasan, dan dalam kasus kami, animasi ini mungkin akan kehilangan bagian mereka.Menurut teori yang sama, jpeg bekerja, dan itu berkat itu dia benar-benar mengubah internet dan cara gambar disimpan. Dalam kasus jpeg, kami mengonversi gambar ke rentang frekuensi, ini adalah transformasi matematika yang kompleks, dan kemudian kami membuang sampah berfrekuensi tinggi, membalikkannya, dan bergantung pada jumlah sampah yang dibuang, gambar itu mulai terlihat lebih baik atau lebih buruk, tetapi gambar itu masih mengandung bagian paling penting, yang menempati 20 atau 30 kali lebih sedikit ruang, karena kami menyingkirkan informasi yang tidak penting. Saya sangat yakin bahwa dengan data animasi akan ada situasi yang sama yang dapat kita singkirkan dari animasi frekuensi tinggi, misalnya, pada simpul pinggang karakter, karena mereka tidak bergerak terlalu banyak ke atas dan ke bawah.Dalam kasus jpeg, kami mengonversi gambar ke rentang frekuensi, ini adalah transformasi matematika yang kompleks, dan kemudian kami membuang sampah berfrekuensi tinggi, membalikkannya, dan bergantung pada jumlah sampah yang dibuang, gambar itu mulai terlihat lebih baik atau lebih buruk, tetapi gambar itu masih mengandung bagian paling penting, yang menempati 20 atau 30 kali lebih sedikit ruang, karena kami menyingkirkan informasi yang tidak penting. Saya sangat yakin bahwa dengan data animasi akan ada situasi yang sama dengan kita dapat menyingkirkan animasi frekuensi tinggi, misalnya, pada simpul pinggang karakter, karena mereka tidak bergerak terlalu banyak ke atas dan ke bawah.Dalam kasus jpeg, kami mengonversi gambar ke rentang frekuensi, ini adalah transformasi matematika yang kompleks, dan kemudian kami membuang sampah berfrekuensi tinggi, membalikkannya, dan bergantung pada jumlah sampah yang dibuang, gambar itu mulai terlihat lebih baik atau lebih buruk, tetapi gambar itu masih mengandung bagian paling penting, yang menempati 20 atau 30 kali lebih sedikit ruang, karena kami menyingkirkan informasi yang tidak penting. Saya sangat yakin bahwa dengan data animasi akan ada situasi yang sama yang dapat kita singkirkan dari animasi frekuensi tinggi, misalnya, pada simpul pinggang karakter, karena mereka tidak bergerak terlalu banyak ke atas dan ke bawah.tetapi masih berisi bagian yang paling penting, menempati ruang 20 atau 30 kali lebih sedikit, karena kami menyingkirkan informasi yang tidak penting. Saya sangat yakin bahwa dengan data animasi akan ada situasi yang sama dengan kita dapat menyingkirkan animasi frekuensi tinggi, misalnya, pada simpul pinggang karakter, karena mereka tidak bergerak terlalu banyak ke atas dan ke bawah.tetapi masih berisi bagian yang paling penting, menempati ruang 20 atau 30 kali lebih sedikit, karena kami menyingkirkan informasi yang tidak penting. Saya sangat yakin bahwa dengan data animasi akan ada situasi yang sama yang dapat kita singkirkan dari animasi frekuensi tinggi, misalnya, pada simpul pinggang karakter, karena mereka tidak bergerak terlalu banyak ke atas dan ke bawah.


Mark Zerny menulis sebuah program untuk analisis. Dia mengambil satu set animasi dan menganalisis setiap komponen dan setiap titik, menghitung semacam rentang dinamis dan besarnya perubahan yang terjadi antara animasi. Dia menemukan bahwa informasi itu sebenarnya berubah sedikit. Oleh karena itu, ternyata kita dapat menggunakan algoritma yang sangat khusus yang menentukan rentang dan segala sesuatu yang lain, dan juga membuat peta di awal, di mana, misalnya, ada tertulis bahwa koordinat Y dari vertex nomor tujuh berisi sedikit informasi, sehingga hanya membutuhkan dua bit. Bahwa dia bergerak dalam jarak seperti itu dan dia membutuhkan banyak bit. Pada akhirnya, kami mendapat rasio kompresi di suatu tempat di kisaran 50-81, yaitu data menjadi 50 kali lebih kecil.


Jika Anda melihat desain PlayStation 1, meskipun desain dan keseimbangannya benar, mesin tersebut hanya memiliki dua megabita RAM dan satu megabita VRAM. Tapi dia juga punya CD-drive, yang bisa menyimpan hingga 640 megabita data untuk dibaca, dan ini jauh lebih banyak. Rasio ini sangat besar. Artinya, secara teoritis dimungkinkan untuk membuat level lebih dari dua megabyte. Seperti dalam gim biasa, katakanlah di Twisted Metal, Anda bisa mencapai level Menara Eiffel dan gim tersebut memuat level Menara Eiffel ke dalam satu megabyte memori. Mereka memiliki sejumlah grafik dan animasi, menempati sekitar satu megabyte. Sekarang Anda dapat menemukan berbagai metode kompresi data, tetapi tidak ada cara untuk mengatasi batasan ini, dan orang-orang tidak benar-benar mencoba. Jadi, pada prinsipnya, semuanya bekerja. Komputer, mis. CPU dan GPU, hanya bisa mengaksesapa yang ada di memori. Setiap 1/30 detik dalam memori ada apa yang Anda butuhkan untuk membuat frame. Segala sesuatu yang akan Anda gambar sekarang, animasi apa pun dan suara apa pun yang akan digunakan sekarang, harus ada dalam memori, karena Anda dapat mengakses memori dengan cepat. Drive CD membutuhkan sekitar 1/3 detik untuk memindahkan kepala ke titik mana pun pada CD. Butuh beberapa waktu untuk memuat data. Itu dapat mengunduh satu megabyte dalam enam detik atau lebih. Karenanya, Anda tidak bisa hanya menggambar satu bingkai dan mulai mengunduh megabyte baru dari disk, karena itu akan memakan waktu delapan detik untuk mendapatkannya. Dan apa yang akan Anda lakukan - tunggu delapan detik? Ini bisa dilakukan antar level. Oleh karena itu, ketika berpindah antar level dalam game biasa, ada layar pemuatan saat membaca seluruh megabyte, atau seberapa banyak yang diperlukan di sana, dari disk.CD adalah drive yang lebih "jauh". Itu lebih besar, tetapi juga lebih lambat. Gunakan lebih lama, tapi mengapa tidak menggunakannya? Lagipula dia memang benar. Di awal permainan PlayStation, pengembang menciptakan level satu atau dua megabyte, dan 640 megabyte muat pada CD, artinya 300 level dapat direkam di dalamnya. Apakah mereka memiliki 300 level? Tidak, kalau tidak, butuh sepuluh tahun untuk membuat game. Oleh karena itu, CD kebanyakan kosong, atau mereka diisi dengan musik atau video, karena ini adalah data yang banyak. Tetapi sangat sering, disk hanya kosong. Game seperti Twisted Metal hanya membutuhkan ruang disk 50 megabyte. Oleh karena itu, level dari begitu banyak game terlihat seperti mereka menempati sekitar satu megabyte, mungkin setengah megabyte. Sudah cukup. Begitu banyak game yang dibuat untuk PlayStation, tetapi dalam teori saya, kami tidak harus berpegang teguh pada ini.


Ide saya adalah menggunakan teknik memori virtual yang canggih untuk mengganti blok data. Misalkan, jika suatu level membutuhkan 30 megabyte, maka pada saat tertentu kita mungkin hanya membutuhkan satu megabyte, tetapi keseluruhan level sebenarnya 30 megabyte. Saya memutuskan untuk memecah seluruh level menjadi 64 KB halaman, membuat blok data dari mereka. Mereka bisa menjadi sesuatu yang bermakna, misalnya, animasi Crash, kodenya, atau bagian dari latar belakang. Blok harus kurang dari 64 KB, kami memasukkannya ke dalam halaman sampai hampir penuh, tetapi blok tidak dapat dibagi menjadi beberapa halaman, atau Anda harus memecah blok menjadi blok yang lebih kecil. Ketika level terdiri dari 30 megabyte halaman, 16-18 halaman dapat masuk dalam memori. Masalahnya adalah apakah saya bisa mendistribusikan blok level sedemikian rupasehingga pada titik mana pun di tingkat saya tidak akan pernah membutuhkan lebih dari 16 halaman data; itu juga mungkin untuk mengambil satu blok, menduplikatnya pada beberapa halaman, jika ini akan membantu untuk bekerja lebih baik di seluruh sistem. Gim di muka, tetapi terus-menerus menentukan halaman mana yang akan dimuat jika pemain bergerak di salah satu cara, membuang halaman lama yang tidak diperlukan, memuat yang lain di tempatnya. Halaman mana saja dapat menggantikan yang lain, jika kita tidak pernah membutuhkan lebih dari 16 halaman aktif dalam satu waktu. Semua tekstur Crash cukup tajam dan dengan banyak warna, dan tekstur Tomb Raider tampaknya buram dan pixelated, karena ada sedikit memori yang dialokasikan untuk mereka. Para pengembang tidak memiliki tempat untuk menyimpan tekstur tambahan. Dan untuk ini kami memiliki ruang 20-30 kali lebih banyak. Atau ambil jumlah poligon per level.Permainan seperti Tomb Raider terlihat sangat kubik, dengan koridor persegi, dan Crash memiliki bentuk yang gila dan banyak lagi, karena kami memiliki lebih banyak poligon. Ada banyak teknologi lain yang melayani tujuan ini, tetapi memori sangat penting. Berkat ini, saya mendapat sejumlah paten karena saya adalah salah satu orang pertama yang menyadari bagaimana sebenarnya menggunakan ruang pada CD atau disk sebagai bagian dinamis dari permainan untuk memperluasnya. Hari ini hal itu terjadi setiap saat.yang mengerti bagaimana cara benar-benar menggunakan ruang pada CD atau disk sebagai bagian dinamis dari permainan untuk mengembangkannya. Hari ini hal itu terjadi setiap saat.yang mengerti bagaimana cara benar-benar menggunakan ruang pada CD atau disk sebagai bagian dinamis dari permainan untuk mengembangkannya. Hari ini hal itu terjadi setiap saat.


Saya percaya bahwa salah satu pelajaran terpenting Crash Bandicoot adalah bahwa permainan ternyata memiliki kepribadian gaya dan gaya artistik yang unik. Dan ya, sampai batas tertentu, orang lain telah melakukan ini sebelumnya. Pada akhirnya, Mario memiliki gayanya sendiri, yang sangat menentukan gaya permainan video masa lalu. Tapi Crash memiliki dunia holistiknya sendiri dengan pinjaman yang jelas dari gaya kartun Amerika. Dan semua produk Crash (maksud saya empat game pertama) mengikuti gaya ini. Masih menarik untuk bermain dalam versi aslinya dan terlihat cukup bagus bahkan di PlayStation 1, karena gaya seperti itu melampaui batasan piksel. Pada tahap awal pengembangan, kami memiliki setengah harapan yang sepenuhnya arogan, setengah pengertian: faktor penting dalam memilih PlayStation adalah Nintendo memiliki Mario,dan Sega memiliki Sonic. Dan Sony, tampaknya, belum memiliki maskot, jadi jika kita membuat game dengan karakter yang mirip dengan maskot, maka kita tidak akan memiliki pesaing. Dan Sony benar-benar langsung tertarik, mereka menginginkan game ini. Kami harus memastikan bahwa itu hanya muncul di PlayStation. Kami sengaja memutuskan untuk menciptakan situasi seperti itu dan kemudian mengeksplorasi kemungkinan kami. Tetapi fakta bahwa itu berhasil adalah keajaiban. Kami bermimpi Crash akan menjadi maskot. Tetapi bahkan ketika Sony setuju untuk bekerja sama, dia tidak pernah menjadikannya resmi - mereka mengatakan bahwa itu bukan maskot, bahwa mereka tidak memiliki maskot, tetapi semua orang menganggapnya maskot, dan perusahaan sangat mendukungnya sehingga bahkan membeli hak dari Universal.Dan Sony benar-benar langsung tertarik, mereka menginginkan game ini. Kami harus memastikan bahwa itu hanya muncul di PlayStation. Kami sengaja memutuskan untuk menciptakan situasi seperti itu dan kemudian mengeksplorasi kemungkinan kami. Tetapi fakta bahwa itu berhasil adalah keajaiban. Kami bermimpi Crash akan menjadi maskot. Tetapi bahkan ketika Sony setuju untuk bekerja sama, dia tidak pernah menjadikannya resmi - mereka mengatakan bahwa itu bukan maskot, bahwa mereka tidak memiliki maskot, tetapi semua orang menganggapnya maskot, dan perusahaan sangat mendukungnya sehingga bahkan membeli hak dari Universal.Dan Sony benar-benar langsung tertarik, mereka menginginkan game ini. Kami harus memastikan bahwa itu hanya muncul di PlayStation. Kami sengaja memutuskan untuk menciptakan situasi seperti itu dan kemudian mengeksplorasi kemungkinan kami. Tetapi fakta bahwa itu berhasil adalah keajaiban. Kami bermimpi Crash akan menjadi maskot. Tetapi bahkan ketika Sony setuju untuk bekerja sama, dia tidak pernah menjadikannya resmi - mereka mengatakan bahwa itu bukan maskot, bahwa mereka tidak memiliki maskot, tetapi semua orang menganggapnya maskot, dan perusahaan sangat mendukungnya sehingga bahkan membeli hak dari Universal.Tetapi bahkan ketika Sony setuju untuk bekerja sama, dia tidak pernah menjadikannya resmi - mereka mengatakan bahwa itu bukan maskot, bahwa mereka tidak memiliki maskot, tetapi semua orang menganggapnya maskot, dan perusahaan sangat mendukungnya sehingga bahkan membeli hak dari Universal.Tetapi bahkan ketika Sony setuju untuk bekerja sama, dia tidak pernah menjadikannya resmi - mereka mengatakan bahwa itu bukan maskot, bahwa mereka tidak memiliki maskot, tetapi semua orang menganggapnya maskot, dan perusahaan sangat mendukungnya sehingga bahkan membeli hak dari Universal.


Penjualan Crash Bandicoot dimulai dengan baik, tetapi mereka terus berlanjut. Crash Bandicoot adalah game pertama yang terjual lebih baik di tahun kedua penjualan, dan mungkin di tahun ketiga, dan saya yakin bahwa ketika kami merilis Crash Team Racing seminggu sebelum Natal, Crash Bandicoot mengambil alih dan menjual lebih banyak salinan daripada yang dijual untuk semua waktu sebelumnya. Pertama, itu adalah permainan yang menarik bagi audiens yang sangat luas, semua orang, dari anak kecil hingga pemain hardcore, bisa memainkannya. Itu tidak memiliki banyak kekejaman, tetapi karakter terpesona, dia lucu, dan permainannya cukup intens dan pada saat yang sama terjangkau. Anda bisa duduk dan mulai memainkannya, dan bagi kami itu adalah salah satu tujuan terpenting. Saya tidak ingin membuat game yang harus saya pikirkan terlalu banyak. Crash Bandicoot menjadi toko pandai besidi mana filosofi Naughty Dog dipalsukan: setiap elemen yang masuk ke dalam gim harus hebat, karena kami ingin membuat gim yang benar-benar hebat, gim yang akan menjadi hit, klasik, dan untuk mencapai ini, kami memutuskan bahwa ia harus hebat di dalamnya itu saja, tetapi teknologi terbaik diperlukan untuk mewujudkan ini. Semakin baik teknologinya, semakin baik permainan akan terasa dan terlihat. Jika Anda menerapkan semua ini dengan benar, maka Anda dapat melampaui biasa-biasa saja dan membuat karya permainan.semakin baik permainan akan terasa dan terlihat. Jika Anda menerapkan semua ini dengan benar, maka Anda dapat melampaui biasa-biasa saja dan membuat karya permainan.semakin baik permainan akan terasa dan terlihat. Jika Anda menerapkan semua ini dengan benar, maka Anda dapat melampaui biasa-biasa saja dan membuat karya permainan.

All Articles