Donkey Kong dan aku

Pada musim gugur 1981, saya memasuki universitas dan menjadi kecanduan game Centipede dan Tempest di mesin arcade Atari. Saya sedikit berpengalaman dalam perangkat keras komputer pribadi Atari 400/800 dan memutuskan untuk melakukan pembelian yang menghancurkan untuk anggaran siswa - Atari 400 dan TV hitam putih (saya tidak mampu membeli warna). Setelah cukup bermain dengan Basic, saya membeli cartridge dengan Assembler / Editor dan mulai meneliti clone Centipede. Saya tidak memiliki kesempatan untuk mengandalkan pengalaman proyek game sebelumnya dan saya harus memahami semuanya sendiri. Sama seperti dengan tugas-tugas sekolah: Anda perlu menemukan solusi hanya menggunakan tips kecil dari buku pelajaran dan kuliah.

Setiap orang yang bekerja dengan Asm / Editor kemungkinan besar membawa bekas luka emosional yang dalam pada dirinya seperti saya! Editor sangat lambat, debugger berjalan kering, dan saya harus menghapus komentar dan menggunakan overlay dalam beberapa kilobyte ( tidak ada banyak RAM dan semua variabel tidak cocok, sehingga teknik overlay digunakan - berbagai kelompok variabel ditempatkan di alamat yang sama. Jelas bahwa pada saat yang sama, variabel dari bagian yang berbeda tidak dapat digunakan, dan tidak hanya variabel dengan alamat yang sama, tetapi umumnya variabel dari bagian tampilan yang berbeda.) agar sesuai dengan seluruh kode. Pembuatan game, yang saya beri nama Myriapede, membutuhkan waktu tiga bulan. Saya masih memiliki sketsa dan sketsa: kertas grafik, bergaris-garis dengan pena warna-warni dan dengan nilai warna heksadesimal, ditulis dengan hati-hati di ladang. Saya mengambil warna secara acak: Saya hanya memiliki layar hitam putih yang murah, dan saya pergi ke teman saya selama beberapa jam untuk berkunjung untuk memeriksa dan menyesuaikan nilai warna di TV-nya.

Program Pertukaran Atari (penerbit saku) telah mengumumkan kompetisi dengan hadiah utama $ 25.000. Sepanjang semester, saya melewatkan kelas-kelas universitas dan hanya belajar Myriapede. Saya menyelesaikan permainan dengan margin satu atau dua minggu dan dikirim ke kompetisi.

Beberapa minggu kemudian, sebuah surat datang dari Atari di mana mereka melaporkan: pertama, mereka sangat terkesan dengan pekerjaan saya, tetapi kedua, itu sangat mirip dengan Centipede (well, ya, itu) dan oleh karena itu mereka terpaksa menolaknya. Subteksnya adalah mereka mungkin akan menuntut saya jika saya mencoba menjual permainan. Saya hancur. Menutup topik ini untuk dirinya sendiri, ia membawa beberapa salinan ke kelompok hobi setempat. Saya pikir permainan menyebar dari sana, dan saya mendengar bahwa orang menyukainya ("program terbaik tahun 1982" atau semacamnya).


Beberapa waktu kemudian, saya menerima telepon dari Atari: mereka mengundang saya untuk wawancara. Saya terguncang oleh kegembiraan. Saya terbang ke mereka, dan menunjukkan kepada masing-masing pewawancara Myriapede. Dan selalu di tempat ini percakapannya membeku. Sebelum dimulainya permainan, mereka seperti baru saja menunjukkan perhatian saya - “oke, kamu yang menulis game” - tetapi setelah awal mereka terlibat dalam proses dan saya mengingatkan mereka bahwa kami sebenarnya sedang wawancara! Salah satu yang diwawancarai adalah penulis Lipan asli dan dia langsung mengatakan di tempat bahwa versi saya lebih baik.

Tawaran pekerjaan datang dalam beberapa minggu. Atari berjanji untuk memindahkan semua barang rongsokan yang memenuhi seluruh ruangan ke California. Dan saya langsung terbang dan menghabiskan dua minggu di hotel, sementara saya sedang menunggu barang-barang saya. Perusahaan benar-benar ingin mendapatkan saya!

Pada saat itu, ada dua permainan mesin arcade populer yang saya tidak tahan - Zaxxon, seorang penembak gulir yang bodoh dan membosankan, dan Donkey Kong - keras, tidak berarti dan menjengkelkan. Dan, tentu saja, alasan mereka membutuhkanku di California adalah memindahkan Donkey Kong! Setelah mengalami serangan keputusasaan (dan berpura-pura antusias kepada bos), saya mengertakkan gigi, mencicit, mengambil tabung perempat dan menghabiskan banyak waktu di depan mesin arcade kecil di hotel, bermain DK untuk mempelajari permainan ini dengan sangat baik.


Di sini perlu dijelaskan bagaimana departemen untuk porting game dari mesin arcade bekerja di Atari. Intinya, orang-orang dari departemen pemasaran menyetujui lisensi untuk mendistribusikan Imenyrek dari Igrodel pada kartrid untuk komputer Atari. Itu saja. Itulah keseluruhan kesepakatannya. Kami tidak mendapat bantuan dari pengembang asli. Tidak ada daftar, tidak ada percakapan dengan insinyur, atau dokumentasi proyek - tidak ada. Bahkan, kami terpaksa membeli mesin arcade kami sendiri dan belajar cara memainkan game ini (ngomong-ngomong, itulah sebabnya saya bermain di hotel - kami bahkan belum membawa salinan permainan kami!).

Jadi saya bermain Donkey Kong sebanyak yang saya bisa dan mulai mengalahkan ide. Saya menulis dokumen desain 25-30 halaman di mana permainan dibagi menjadi beberapa modul dan periode pengembangan diperkirakan 5 bulan (ini pada November 1982), dan, khawatir, membawanya ke bos saya, Ken. Apakah dokumen itu cukup bagus? Atau akankah mereka mengirim saya untuk mengepak barang-barang mereka sebagai perancang awam dan programmer amatir?

"Kami benar-benar senang dengan TK Anda," kata Ken. Dan saya baru saja membuat daftar objek dalam game, menulis sedikit pseudo-code untuk beberapa modul permainan utama dan berasumsi bahwa ini hanya jaminan simpanan untuk TK ini! Tetapi semua orang di sekitar menganggap dokumen ini sudah selesai. Dan sepertinya saya hanya perlu menulis kode sesuai dengan itu. Menakutkan.

"Bagian pemasaran sedang menunggu permainan menjelang Natal," kata Ken. Dan setelah membuat perhitungan yang akurat, saya pergi ke tanda 150 hari kerja. Tidak ada satu kesempatan pun untuk port game dalam beberapa minggu, tapi saya jelas merasakan tekanan. Dari kemalasan (dari semua kekhawatiran, saya hanya perlu mencari apartemen dan menempatkan barang-barang saya pada saat kedatangan), saya menghabiskan hampir seluruh waktu saya di tempat kerja. Pertama kali saya menghabiskan sepanjang malam tanpa tidur, menaikkan standar lebih tinggi dan lebih tinggi, untuk mengimbangi pria di kantor di seberangku, yang juga bekerja sepanjang malam. Ruang makan menyediakan tiga kali sehari.


Yang hebat adalah bahwa jika Anda terlibat dalam proyek begitu banyak, maka pada titik tertentu ia mulai menulis sendiri, dan Anda hanya berenang di sebelahnya. Hidup Anda terbagi menjadi pekerjaan dan semua omong kosong yang membosankan - tidur dan makan. Ya, saya tahu ini kedengarannya seperti neraka, tapi itu benar-benar menyenangkan. Saya berusia sekitar 21, dan bahkan jika saya belum dibayar, saya masih akan melakukan sesuatu yang serupa secara gratis.

Untuk pengembangan silang, kami menggunakan minicomputer MV / 8000 dari Data General. Tentang mesin yang sama persis, Tracy Kidder menulis buku Soul of a New Machine. Terlepas dari kenyataan bahwa itu bukan VAX dengan Unix di papan (yang lebih disukai bagi saya), lingkungan masih cukup nyaman dan berisi beberapa utilitas bagus (meskipun tidak ada Emacs!). Kami menggunakan Atari Macro Assembler versi porting untuk MV / 8000, dan itu jauh lebih baik daripada Assembler / Editor lambat di mana saya menulis Myriapede. Tetapi kami harus mengunggah semua kode ke sistem pengembangan dengan kecepatan 9600 baud, oleh karena itu, lebih dekat dengan penyelesaian proyek, waktu pemrosesan permintaan saya ke sistem menjadi masalah serius, terutama mengingat 40 atau 50 rekan kerja saya yang saya bagikan MV / 8000 siang hari .Saya ingat mainframe yang dimuat di universitas saya. Saya sering begadang, dan sekitar pukul enam sore, mobil-mobil mulai bekerja cukup cepat (5 menit untuk menunggu, bukan sekitar satu jam).


Pada hari pertama kedatangan saya di kantor, setelah bangun dengan kecepatan, saya menemukan Atari 800 yang penuh sesak. Saya segera mengumpulkannya, memeriksa apakah itu berfungsi dan pergi untuk minum kopi.

Ketika saya kembali, gadis dari departemen persediaan sedang berdiri di ambang pintu. "Wow," dia terkesiap, "Anda tahu cara merakit komputer!" Dan saya hanya harus melakukannya. "

Ya, terima kasih, tetapi tidakkah semua orang memiliki keterampilan seperti itu di sini? Menghubungkan dan mengonfigurasi Atari bukanlah tugas yang termudah dan paling jelas, tetapi juga sama sekali tidak sulit.

Bel alarm ... Tetangga kantor pertama tidak tahu cara mengatur komputernya. Bahkan, dia tidak tahu apa-apa, ternyata nanti. Dia disewa untuk bekerja pada Dig Dug dan benar-benar bingung. Saya harus mengajarinya segalanya, termasuk pemrograman bahasa assembly, pekerjaan perangkat keras Atari, cara mengunduh berbagai informasi, dan cara men-debug-nya. Menyedihkan.

Situasi ini melewati benang merah melalui pekerjaan saya di Atari. Para pemula tidak harus tahu bagaimana melakukan pekerjaan mereka, tetapi saya membuang waktu untuk membantu mencari tahu hal-hal yang seharusnya sudah mereka ketahui sebelum mulai bekerja. Taktik perekrutan itu tidak sempurna.

Saya telah menulis dalam C selama beberapa tahun, dan karena itu saya mengembangkan sesuatu seperti dialek C untuk menggambarkan operasi modul. Pada awalnya, saya membuat sketsa beberapa halaman pseudo-C tingkat tinggi ini, kemudian menghabiskan setengah hari "menyusunnya" menjadi assembler 6502. Kadang-kadang ternyata bagian kode yang agak besar bekerja pertama kali! Tapi secara umum, itu adalah pengalaman yang agak menakutkan.

Pengalaman lain yang didapat adalah pengertian bahwa komentar itu penting. Saya melihat potongan kode untuk sistem operasi Atari (termasuk kode sumber untuk 400/800 OS) dan sangat jelas dan indah. Tetapi sebagian besar sumber permainan yang berasal dari departemen perangkat lunak konsumen mengerikan, banyak sampah: hampir tidak ada komentar, tanpa pemahaman apa pun yang terjadi. Hanya daftar yang terdiri dari LDA / STA / ADD, satu set huruf, dan mungkin label acak yang memiliki nama bermakna. Dengan kata lain, kode yang sama sekali tidak didukung! Dalam sebagian besar situasi untuk industri game, ini sangat normal: hampir tidak ada kode yang pernah digunakan kembali atau dibawa ke perpustakaan (dengan pengecualian prosedur debat baik dari unit Atari Coin-Op yang melakukan operasi matematika dan bekerja dengan mekanisme koin di mesin arcade).

Saya pikir DK paling baik dikomentari di antara semua produk konsumen yang dirilis oleh Atari (Super Pacman bahkan lebih keren, tetapi tidak dijual). Pengguna tidak melihat komentar, tidak seperti insinyur lain yang merasa berguna untuk mempelajari apa yang Anda tulis. Misalnya, lompatan Mario dihitung berdasarkan hukum gerak fisik yang sederhana, dan persamaan ditulis dalam kode sumber, diformat dengan baik, dan Anda selalu dapat melacak dari mana ekspresi ajaib ini berasal dari kode. Setelah merilis DK, kolega saya mendapat salinan kode, menghabiskan satu minggu membaca dan mengatakan bahwa ia terkejut ("Saya tidak tahu bagaimana Anda bisa mencetak semuanya. Tidak persis dalam lima bulan! Ketika saya melihat kode terkait dengan gerakan, rahang saya turun ke lantai. "). Itu membuat saya ke dalam cat! Kode sumber harus melayani hiburan dan pendidikan.

Donkey Kong mulai dijual pada pertengahan Maret 1983. Samar-samar saya ingat ada pesta kecil di tempat kerja tentang hal ini, tetapi pada saat itu saya sangat senang bahwa semuanya sudah berakhir.

Detail Teknis Kong menggunakan mode grafis $ E (gambar 192 baris per 160 kolom). Ketika level dimuat, latar belakang ditarik sekali. Barel dan makhluk lain ditampilkan melalui xor (saya punya kode yang bertanggung jawab untuk membuat topeng dan menggambar ulang, tetapi ternyata terlalu lambat). Mario terdiri dari beberapa objek game (saya pikir ada tiga di antaranya). Item hadiah (payung, ...) juga milik objek permainan. Output dari grafis menggunakan xor membuat saya jengkel, tetapi sebagian besar tidak mandi, dan beberapa orang berpikir itu keren untuk melakukan ini! (saat render, warna piksel latar belakang xor dengan warna piksel objek, saat diperlukan untuk menghapus objek dari posisi ini, cukup xor atau mundur, dan warna latar belakang dipulihkan ).

Brad Fuller menciptakan semua suara. Mona Lundstrom mengerjakan sebagian besar desain grafis (tapi saya menggambar ulang sebagian besar). Insinyur lain bertanggung jawab atas "cutscene", yang kodenya harus saya tulis ulang sepenuhnya (ia awalnya ingin menggunakan Fort dan tidak mengerti bahwa permainan tidak dapat mengizinkan pemberian setengah dari ruang pada kartrid kepada juru bahasa benteng hanya untuk membuat hidupnya lebih mudah).

Pada puncaknya, DK menghabiskan 20 kilobyte, tetapi harus melakukan diet, karena kartunya mengandung 16Kb. Banyak gambar telah dikompresi (perhatikan, misalnya, bahwa Kong simetris). Pada akhirnya, saya menggerogoti hanya beberapa byte per hari, dan permainan keluar dengan margin mungkin hanya selusin byte gratis.

Saya meninggalkan Pascalha, tetapi dia tidak sepadan dengan upaya untuk menemukannya. Selain itu, saya tidak ingat bagaimana cara mencapainya dengan tepat (sesuatu seperti sekarat di level "tumpukan pasir" dengan tiga nyawa dan poin yang diperoleh lebih dari 7000).

Menyesuaikan kompleksitas, saya memperlambat permainan dan hanya memastikan itu bisa dilewati. Beberapa lintasan objek adalah acak, tetapi terbatas sedemikian rupa sehingga Anda masih bisa melewatinya jika Anda cukup cepat.

Saya pergi ke pertemuan pertama di departemen dengan keyakinan akan masa depan Atari. Meskipun saya tidak mengerti banyak, ide utama manajemen adalah bahwa penjualan melambat, laba berkurang tajam, dan perusahaan harus melalui restrukturisasi agar tetap menguntungkan.

Bangunan di seberangnya adalah pertanda pertama: Atari menggunakannya untuk memproduksi 2600 konsol permainan, mereka memindahkan produksinya ke luar negeri dan memecat kebanyakan orang dari pabrik setempat.

Pengurangan kecil di departemen pemasaran. Sekelompok kecil pemrogram yang terdiri dari 8 pemrogram bersama saya, di antara mereka, dipindahkan ke sebuah bangunan kecil, agak jauh dari semua gedung Atari utama, dan kami benar-benar terisolasi dari apa yang terjadi. Tetapi bahkan dari jarak sejauh itu, kami melihat bahwa segala sesuatunya tidak berjalan dengan baik. Industri game sangat mengejutkan, dan Atari memuat jutaan kartrid yang tidak terjual ke tempat pembuangan sampah. Semua kesalahan itu, yang untuk sementara waktu ditutupi oleh kesuksesan liar, tiba-tiba berkobar dan menghantam perusahaan.

Rekan saya akhirnya lulus dari Robotron. Atas permintaan, ia membuat tiga versi gambar ROM, berbeda dalam mengalamatkan dalam ROM. Sayangnya, departemen Q / A hanya dapat memeriksa 2 dari mereka. Tebak versi Atari mana yang dikirim ke produksi dan versi mana yang memiliki bug kritis? Saya melihat bagaimana insinyur besi menderita ketika mereka menyadari bahwa gerbang logika yang murah dapat memperbaiki permainan. Dalam hal ini, hanya beberapa byte yang salah. Akibatnya, Atari melemparkan $ 200.000 dalam kartrid ke tempat sampah.

Saya merasa bahwa kesalahan serupa terjadi terus-menerus. Selain itu, semua ini dilengkapi dengan fakta bahwa permainan tidak dijual. Berfokus pada metrik waktu-ke-pasar, pemasaran Atari memaksa para insinyur untuk menulis game membosankan yang tidak dipoles. Dan latihan ini berbalik melawan mereka! Orang-orang bosan bermain game yang sama karena alasan lama.

PHK massal dan reorganisasi dilakukan setiap beberapa bulan sekali. Grup kami dipindahkan ke sudut gedung untuk Coin-Op: konsolidasi demi penghematan biaya. Saya sedang mengerjakan Super Pacman pada waktu itu, tetapi tidak ada yang peduli, jadi saya langsung pergi ke proses dan melakukan pekerjaan dengan baik di permainan.

Pada akhirnya, Jack Tramiel membeli bagian-bagian Atari yang dia butuhkan, dan saya ditarik ke dalam Atari ST, tetapi itu cerita lain.

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


All Articles