Menghibur peretasan: riwayat singkat

Sulit untuk membuat daftar semua kesulitan yang dihadapi oleh pengembang dalam mengimplementasikan ide-ide mereka - mulai dari masalah kompatibilitas besi yang tidak terduga, kehabisan waktu, bug yang tidak dapat diproduksi kembali, hingga cacat teknologi yang tidak memungkinkan Anda untuk menciptakan kembali semua yang Anda inginkan, atau ambisi yang terlalu besar. Setelah membaca serangkaian wahyu post mortem, di mana pengembang mengeluh tentang hambatan tak terduga yang menghalangi mereka, orang hanya bisa bertanya-tanya bagaimana produk akhir itu menarik dan dapat dimainkan, meskipun tidak mengandung bahkan setengah dari apa yang dikandung. Tetapi artikel ini akan berbicara tentang beberapa contoh mencolok dari sejarah pengembangan game terkenal di mana programmer berhasil mengatasi kesulitan dan melakukannya dengan cara yang tidak biasa.

Sebenarnya, minat pada masalah ini disebabkan oleh berita baru-baru ini bahwa kereta di addon untuk Fallout 3 bukanlah kereta sama sekali, tetapi benda di tangan NPC yang dikenakan di suatu tempat di rel. Kami mengetahui hal ini secara tidak sengaja dengan melihat properti objek di editor. Menggunakan peretasan seperti itu, Bethesda menghemat banyak waktu dari memperkenalkan kereta nyata ke dalam permainan (tidak ada alat transportasi setidaknya di dalamnya), tanpa menghilangkan perasaan perendaman dalam dunia maya dari dunia pasca-apokaliptik ... tetapi mari kita mulai dari awal.


Gerobak biru berayun ....

Komputer pribadi awal yang muncul pada paruh kedua tahun 70-an, di satu sisi, memberikan banyak peluang bagi mereka yang tidak memiliki akses ke mainframe, di sisi lain, sudah sangat terbatas pada saat itu. Pada saat itu, Richard Garriott, penakluk ruang dan penguasa Inggris, telah berhasil membuat permainan komputer. Tidak heran kalau Akalabeth-nya, salah satu RPG pertama untuk komputer pribadi, menjadi nomor 28 di rekam jejak. Dan proposal terakhir dari Steve Jobs tidak sepenuhnya memenuhi ambisi bermainnya. Keterbatasan kompiler bawaan Apple Basic dan 64 kilobyte RAM mengakibatkan fakta bahwa program tidak sepenuhnya memenuhi memori. Dia harus menulis subprogram yang akan membongkar data yang tidak perlu (gambar monster atau sesuatu yang lain) dan menempatkan apa yang diperlukan pada saat itu,hanya menyisakan header file, yaitu melakukan algoritma swap. Agar program tidak melihat tangkapan, semuanya disinkronkan secara manual, dan ketika saya mencoba melewatinya, debug hanya memberikan banyak kesalahan.


Dari sini semuanya berjalan.

Jangan kaget - game modern juga menggunakan teknik serupa untuk mengoptimalkan kerja dengan sumber daya. Seri Grand Theft Auto yang terkenal, yang membanggakan koleksi musik yang terus bertambah dari tahun ke tahun dan mobil yang luas dan bukan hanya armada, tidak akan pernah membiarkan Anda menghargainya dalam semua keragamannya. Faktanya adalah bahwa dalam sebagian besar adegan di jalan di bagian keempat (di awal ini juga terjadi) epos hanya dapat hadir sekitar 20 model mobil yang berbeda, meskipun seringkali mereka sebenarnya lebih sedikit. Selain itu, jika karakter pada saat itu juga menyewa beberapa jenis mobil, maka sangat mungkin bahwa mobil yang sama akan tergelincir di sepanjang jalan dengannya. Ini dilakukan untuk menghemat sumber daya. Tentu saja, ada cara untuk menonaktifkan algoritma ini, tetapi pada saat yang sama mendapatkan hit di area bingkai-bingkai.


Reli massa? Tidak - tidak cukup memori.

Klasik lain yang mengeksploitasi peretasan yang tidak biasa adalah Elite, pertama kali dirilis pada tahun 1984 dan diperluas ke sebagian besar sistem yang kemudian tersedia. Permainan ambisius, menggabungkan simulator aksi ruang orang pertama dan bagian perdagangan, kemudian tampaknya bagi penerbit masih bertujuan bersaing dengan pasar mesin arcade, dan pengembang Ian Bell dan David Braben menghabiskan waktu mencari. Tapi Elite ternyata menjadi hit yang pasti dan melahirkan seluruh genre. Tapi yang menarik, itu ditujukan untuk komputer delapan bit yang sama, di mana karakter platformer primitif merangkak melintasi layar. Ruang tanpa batas ukuran delapan galaksi dan 256 planet memikat imajinasi para pemain, sementara hanya memuat 25 kilobyte.


Ruang luar biasa tersembunyi di balik layar ini.

Untuk memungkinkan hal ini, pencipta menggunakan bahasa pemrograman assembler tingkat rendah, serta algoritma mereka sendiri, di mana data diambil secara acak dari tabel, sehingga menghasilkan dunia baru saat membuat game baru. Dengan demikian, nilai tukar sumber daya, jenis planet, dan informasi lainnya dipilih. Di pelabuhan masa depan dan versi yang disempurnakan, banyak pembatasan telah dihapus, tetapi algoritma untuk membuat galaksi tetap ada.

Lebih jauh, Space Invaders adalah game yang semua orang pernah dengar, jika tidak semua, maka semuanya pasti. Idenya cukup sederhana - intervensionis bintang perlahan-lahan tenggelam ke bagian bawah layar, yang pemain bertahan pada menara bergerak. Dan semakin sedikit mereka di layar, semakin cepat mereka terbang dan turun. Ide penulis? Tentu saja. Tapi bagaimana itu diterapkan! Mesin game adalah Intel 8080 - mikroprosesor pertama yang banyak digunakan dengan kapasitas 300.000 operasi per detik. Dan perbedaan dalam kecepatan muncul karena fakta bahwa dia tidak bisa mengatasi tugas yang diberikan kepadanya - permainan itu secara perlahan melambat ketika layar penuh. Tetapi pencipta Space Invaders, Tomohiro Nishikado, memutuskan untuk meninggalkan ini sebagai kesulitan tambahan, dan karena itu menghabiskan banyak waktu mengembangkan perangkat keras.Tak perlu dikatakan, animasi penerbangan yang mulus atau grafis berwarna - mereka harus ditunda untuk versi yang lebih baru. By the way, di port berikut untuk komputer dan set-top box, mekanik seperti itu tetap, tetapi diimplementasikan tanpa menggunakan prosesor "pengereman".


, .

Dan setelah lebih dari 30 tahun, masalah kinerja yang lancar dalam game lebih relevan dari sebelumnya. Untuk mempertahankan kecepatan game yang konstan, berbagai teknologi digunakan, salah satunya adalah framebuffer dinamis, terlihat di sejumlah game konsol dan di konsol baru. Inti dari pendekatan ini adalah, tergantung pada beban, ukuran gambar berubah untuk mempertahankan 30 atau 60 frame yang dijanjikan per detik. Dan itu mengubah bingkai demi bingkai, tepat dengan cepat dan diregangkan oleh scaler perangkat keras konsol. Tetapi pada saat yang sama, hanya resolusi horisontal yang disesuaikan, sedangkan yang vertikal tetap sama - 720 atau 1080 piksel. Dan, dilihat dari contoh-contoh yang tersedia, dalam versi pertama dapat berubah dari 1.280 poin menjadi 640 (!) Poin, dalam versi kedua - dapat turun di suatu tempat menjadi 1.200 poin. Terlebih lagi, dalam gim yang dijalankan pada konsol yang berbeda, teknologinya menghasilkan resolusi yang berbeda.



Satu dan bingkai yang sama, satu ukuran layar, tetapi resolusi horisontal yang sama sekali berbeda.

Ini pertama kali terlihat di Wipeout HD, tetapi kemudian digunakan dalam penembak Kemarahan perangkat lunak id, Tekken Tag Tournament 2 game fighting dan lainnya.

Terkadang keputusan yang menarik muncul sebagai hasil dari studi jangka panjang tentang kemampuan sistem tertentu. Commodore 64 adalah, selain menjadi model komputer pribadi yang paling sukses, salah satu yang paling berumur panjang, membentang dalam konfigurasi yang sama dari tahun ke-82 hingga ke-94. Salah satu game yang muncul di bawah matahari terbenam platform adalah platformer Mayhem yang dikenal di Monsterland. Namun, dibandingkan dengan gim yang dibuat dengan perangkat keras yang persis sama di tahun 80-an, tampilannya cukup menakjubkan: pengguliran layar yang cepat, banyak sprite, warna-warna cerah. Pengembang Perangkat Lunak Apex menggunakan semua retasan dalam gudang mereka.


Sulit membayangkan bahwa ini adalah tangkapan layar sebuah game dari platform yang muncul 3 tahun sebelum NES.

Bagaimanapun, untuk mencapai pengguliran yang begitu cepat, gim ini adalah campuran Mario dan Sonic, dan yang terakhir hampir tidak terbatas pada pengguliran pada 7 piksel pada suatu waktu, yang ditawarkan C64, bug yang tidak terdokumentasi dalam chip grafis digunakan, yang memungkinkan pengguliran ke 320 piksel mis. lebar satu layar. Tapi itu belum semuanya. Terlepas dari kenyataan bahwa nama komputer menyiratkan keberadaan hanya 64 kilobyte ruang alamat, file yang dapat dieksekusi mengambil 68. RAM tambahan diambil dari ROM, di mana karena alasan tertentu ruang kosong ditinggalkan, mode grafis juga merupakan campuran dari dua - HIRES (tinggi oleh standar ke-82) dan MULTICOLOR, dan untuk mengatasi batas jumlah sprite dalam bingkai (diletakkan di tingkat perangkat keras), gambar komposit digunakan, di mana gambar terdiri dari beberapa bagian bingkai,untuk mengelabui besi.

Tentu saja, kisah penggunaan peretasan tidak berakhir di sana, tetapi bagi mereka yang ingin melihat permainan yang disajikan dan mendengarkan tentang ini dan contoh-contoh menghibur lainnya, kami dipersilakan: video kami.



// Virgil & Dimouse

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


All Articles