Pendahuluan
Jika Anda bertanya kepada pengembang game tentang pengalaman pertama mereka dalam membuat game, banyak yang akan berbicara tentang editor game yang mereka mainkan. Lebih sering daripada tidak, mereka menemukannya dengan nama mereka yang menarik perhatian seperti "editor."
Jauh sebelum munculnya Unity 3D, perusahaan seperti id Software, Epic, 3D Realms, Blizzard, dan BioWare merilis alat dengan gim mereka, berharap ini akan memungkinkan orang untuk membuat konten, meningkatkan ukuran komunitas dan kehidupan gim. Banyak orang tidak hanya suka menggunakan alat-alat ini - mereka menjadi pintu bagi industri game. Konten yang mereka buat kemudian menjadi bagian dari resume mereka.
Dalam beberapa tahun terakhir, retrospektif permainan klasik telah mendapatkan popularitas, tetapi hampir tidak ada perhatian diberikan pada alat igrobuilding klasik. Dalam seri artikel ini, kami akan mencoba mengisi kekosongan: kami akan mewawancarai orang-orang penting di industri dan meminta mereka untuk berbicara tentang bagaimana alat permainan klasik ini dikembangkan.
Dalam artikel ini, saya merasa terhormat untuk berbicara dengan
John Romero Romero tentang
TEd , editor ubin yang dibuat oleh id Software, yang membantu merilis 33 game.
Pertemuan pertama dengan editor level
David Lightbone : Halo, John. Terima kasih telah meluangkan waktu untuk mengobrol dengan saya!
John Romero : Tidak masalah!
DL : Sebelum kita membahas TEd, saya ingin mengambil langkah mundur: di awal 80-an, ada sedikit editor level yang datang dengan permainan. Dalam wawancara Anda dengan
Honoring the Code , Anda mengatakan bahwa generator medan dari
Pegasus] [ adalah salah satu editor tingkat pertama yang Anda uji. Bisakah Anda membicarakan pengalaman ini?
JR : Pertama kali saya melihat Pegasus] [di Sierra College, di kantor bersama Apple. Ini adalah salah satu program pertama yang saya lihat di Apple. Ketika saya memainkannya, saya perhatikan bahwa ada opsi untuk menghasilkan medan. Saya pikir: sangat bagus bahwa pengembang telah membangun alat sedemikian untuk menghasilkan gameplay.
Sangat lucu untuk berpikir sekarang bahwa ini adalah salah satu game pertama yang membuat mod. Saya
pertama kali saya melihat sesuatu seperti ini, dan berpikir itu luar biasa. Ini lucu, tapi saya tidak pernah berpikir: "Hei, mengapa ini tidak ada di game lain?", Saya hanya tidak mengharapkan ini dari game!
TEd, Editor Ubin
JL : Oke, mari kita beralih ke pembicaraan tentang TEd.
[Sementara kami berbicara, saya meluncurkan dua DOSBox sehingga saya bisa menonton TEd dan Deluxe Paint]
Hal pertama yang ingin saya bicarakan adalah screensaver TEd. Dikatakan Deluxe Paint untuk Tile Maps. Siapa pun yang tahu sedikit tentang sejarah Perangkat Lunak id menyadari bahwa Adrian Carmack menggunakan ...
JR : Ini digunakan oleh seluruh industri game.
JL : Tepat! Jadi, hal pertama yang menarik perhatian saya adalah bahwa menu teratas dari Deluxe Paint dan TEd sangat mirip, baik dalam penampilan maupun dalam perasaan. Sudahkah Anda mencoba membuat sesuatu yang akrab bagi pengguna Deluxe Paint, atau menggunakan beberapa bagian yang diambil dari Deluxe Paint?
JR : Sebelum id Software, saya menulis beberapa alat untuk PC di SoftDisk. Saya menulis
Pixel Puzzle Maker , alat teka-teki gambar untuk Softdisk yang disebut Pixel Puzzler. Saya menulis menu drop-down untuk pembuat Puzzle Pixel, dan kemudian membuat beberapa perubahan. Sepertinya saya menulis alat lain untuk PC dalam Softdisk, dan ketika saya sedang mengerjakan id, sepertinya saya membuat yang lain, karena sangat mudah membuat sistem ini dengan menu drop-down.
Itu tidak didasarkan pada Deluxe Paint, karena saya belum pernah menggunakan Deluxe Paint, tapi saya pikir itu jauh lebih mudah untuk bekerja dengan menu drop-down daripada dengan sejumlah kunci panas ... meskipun kami juga memiliki banyak kunci panas!
DL : Berbicara tentang pintasan keyboard: Saya perhatikan kesamaan lainnya. Hari ini kita terbiasa dengan fakta bahwa Control-Z adalah pembatalan suatu tindakan, tetapi pada masa itu, setidaknya dalam kasus Deluxe Paint dan TEd, pembatalan itu dilakukan dengan menekan tombol "U".
JR : [tertawa] Wow. Apakah saya datang dengan ini?
JL : Ya! Di sini, lihat, saya mengisi kotak, mengklik "U" dan membatalkan ...
[Saya menggambar beberapa ubin dan kemudian tekan "U" untuk membatalkan tindakan sebelumnya]
JR : [tertawa] Lucu.
Oh, dan omong-omong, Anda meluncurkannya di DOSBox, dan jika Anda menggulir layar, itu akan sangat lambat dibandingkan dengan cara bagaimana semuanya bekerja pada 386 pada masa itu. Program baru saja terbang.
JL : Benarkah? Jangan bercanda?
JR : Untuk beberapa alasan, DOSBox banyak memperlambatnya. Pengguliran EGA menggunakan mode Latch, yang pada waktu itu sangat cepat, Anda hanya perlu menyentuh tombol, jika tidak, Anda akan menggulir semuanya. Jadi sekarang Anda melihat versi aneh yang sangat lambat.
[Catatan penulis: John berbicara tentang bergulir EGA menggunakan mode Latch pada StackExchange:
http://gamedev.stackexchange.com/questions/6488/how-did-they-make-the-screen-move-in-dangerous-dave ]
DL : Oke, jadi Anda bilang TEd punya banyak hotkey. Saat menggunakan TEd, Anda sering harus membaca file bantuan untuk memahami cara menggunakan alat tersebut.
JR : Ya tentu saja. Saya pikir beberapa masih ingat WordStar, yang hanya sekelompok hotkey mimpi buruk.
JL : [tertawa]
JR : Pada masa itu, kami memainkan Ultima, dan Ultima menggunakan setiap huruf keyboard, jadi mudah untuk mengingat hal-hal seperti itu.
[Catatan penulis: Saya menemukan manual untuk Ultima 1, dan John ternyata benar sekali ... suatu tindakan dilampirkan ke hampir setiap tombol pada keyboard!]
JL : Itu pasti! Jadi, pada tahap itu dalam pengembangan industri game, ketika datang ke desain tingkat, Anda harus mengambil kertas lembar grafik dan menempatkan ubin, dan kemudian memasukkannya ke dalam komputer.
JR : Ya.
[Catatan penulis: Setelah wawancara ini, John mengirimi saya grafik pada kertas grafik untuk game
Mach Six yang ia ciptakan. Anda juga dapat membaca artikel Gamasutra tentang bagaimana Nintendo menggunakan kertas grafik untuk mengembangkan level Zelda pertama di NES]
JL : Jadi pada titik apa Perangkat Lunak id memutuskan bahwa TEd perlu dibuat?
JR : Ketika saya bekerja di Dangerous Dave pada tahun 1988, saya perlu membuat level untuknya, dan saya berpikir: "Mengapa tidak menggunakan game itu sendiri dan biarkan itu menciptakan level yang bisa diselamatkan." Itulah tepatnya yang saya lakukan dengan Dangerous Dave.
Ketika John Carmack melihat ini - dan dia bekerja untuk Apple II - dia sangat terkesan karena dia terbiasa menggunakan teks untuk menunjukkan grafik. Ketika kami pertama kali memutuskan untuk membuat sesuatu bersama, saya menulis TEd 1.0, dan beberapa bulan kemudian berevolusi menjadi TEd 5.0, yang digunakan untuk mengembangkan 33 game yang dirilis.
DL : Wow ... Ketika Anda berbicara tentang 33 game yang dirilis, maksud Anda bukan hanya proyek id yang dibuat, misalnya, seri Komandan Keen dan Wolfenstein, tetapi juga yang eksternal, misalnya, Rise of the Triad?
JR : Tentu saja! Lebih banyak Koridor 7, dan game untuk Gamer's Edge: Shadow Knights, Slordax, Dangerous Dave dan Haunted Mansion, Rescue Rover 1 dan 2, BioMenace ... sejumlah game!
DL : Jadi, apakah benar bahwa TEd tidak hanya digunakan dengan tampilan samping untuk membuat pengontrol sisi dua dimensi, tetapi juga dengan tampilan atas untuk membuat penembak orang pertama tiga dimensi?
JR : Tepat. Itu dalam TEd 5.0 bahwa semua game ini dibuat.
JL : Bagus. Saya tertarik pada yang berikut: pada titik tertentu, Anda dan orang-orang dari id Software memutuskan untuk beralih dari game dua dimensi ke tiga dimensi. Apakah Anda bahkan mendiskusikan ide membuat editor baru, bukan TEd?
JR : Ya, kami dengan cepat menyelesaikan masalah ini. Kami berpikir: โMatriks 2D akan digunakan untuk mewakili level. Hebat, kami hanya menerapkan TEd untuk ini. " Ya, itu dia! [tertawa] Itu sangat sederhana.
JL : Saya ingin mengajukan satu pertanyaan lagi: Tom Hall mengutip Anda dalam file bantuan untuk Rise of the Triad: kode programmer lain. Namun, ini tidak berlaku untuk prosedur pengisian TEd. Algoritma yang lambat dan bodoh ini mengisi satu bidang data dengan cara yang sangat lambat. Tekan ESC saat itu membeku. "
JR : [tertawa]
JL : [tertawa] Jadi mengapa Anda menulis seperti itu? Apakah prosedur pengisian ini memiliki riwayat?
JR : Ada beberapa bug dalam prosedur pengisian. Saya tidak menghabiskan banyak waktu untuk menulisnya, dan itu
lebih atau kurang berhasil, tetapi kadang-kadang tidak mengisi sepenuhnya, jadi saya harus mengklik secara manual untuk mengisi semua area. Itu mudah digunakan.
[Sementara kami berbicara, saya memulai prosedur mengisi Flood Fill, dan TEd menabrak DOSBox dengan kesalahan "Divide by zero"]
JR : [tertawa]
JL : [tertawa] Tentu saja! Ini lucu karena saya bermain sedikit dengan editor sebelum wawancara dan berpikir: "Saya tidak mengerti mengapa dia mengatakan itu, semuanya bekerja dengan baik untuk saya!"
JR : [tertawa] Yah, dia juga tidak pernah memberi kami kesalahan pembagian dengan nol ... Saya pikir masalahnya adalah Anda tidak memilih ubin. Program jatuh ketika Anda mencoba mengisi tanpa ubin.
[Saya me-restart TEd, yang menampilkan kotak dialog pengaturan grafis]
Lihat jendela pengaturan grafis ini? TEd memungkinkan pengeditan kartu dalam CGA, EGA dan VGA. Ini memindahkan semua data grafik ke dalam memori XMS sehingga dapat diambil dari XMS saat beralih ke mode grafis. Artinya, jika gim Anda mendukung ketiga mode grafis, gim ini memungkinkan Anda memuat ubin ini. Anda dapat memuat ubin VGA sehingga saat Anda beralih ke mode VGA, semuanya memuat dan berada di memori.
JL : Ya, saya membaca bahwa itu cukup revolusioner untuk saat itu.
JR : Ya. Saya juga menyadari kemungkinan ini: jika kursor berada di suatu tempat pada level tersebut, maka Anda dapat menekan Alt-L, setelah itu game akan dimuat dan Anda akan berada tepat di tempat level tersebut. Mari kita periksa apakah ini berhasil.
[Saya memindahkan kursor ke level dan tekan Alt-L. Pesan kesalahan muncul]
JL : [tertawa] Dan saya juga ingin membicarakan hal ini dengan Anda ...
JR : [tertawa]
DL : Ketika saya bereksperimen dengan TEd, saya mengambil tangkapan layar kesalahan ini karena saya ingin bertanya tentang hal itu. Anda tidak akan melihat pesan seperti itu hari ini di Photoshop atau Maya ... [tertawa]
JR : Tentu saja, tentu saja! Alat ini ditulis hanya untuk saya dan Tom [Hall].
JL : Tentu saja! Saya ingin bertanya tentang hal ini: apakah Anda menulis pesan kesalahan ini khusus untuk Tom?
JR : Tentu saja! Itu hanya untuk Tom. Saya tidak akan pernah melakukan kesalahan seperti itu. [tertawa]
JL : [tertawa] Bayangkan reaksi pertamanya.
JR : Oh ya, dia tertawa terbahak-bahak.
[Lalu John menunjukkan kepada saya bahwa Anda perlu menambahkan nama permainan yang dapat dieksekusi setelah TEd yang dapat dieksekusi sehingga editor tahu apa yang harus dijalankan ketika Alt-L ditekan]
JL : Wow, itu berhasil!
JR : Ya, tapi Anda pindah ke awal permainan. Saya pikir kebetulan bahwa Anda menggunakan versi rilis permainan, yang mengabaikan parameter baris perintah ini. Versi komersial tidak mengizinkan ini, jika tidak para pemain akan menipu!
JL : Ya, itu cukup logis. Namun bagi saya sepertinya kecurangan adalah salah satu aspek yang menarik orang untuk mengembangkan game. Anda tahu, saya ingin dapat mengubah level untuk mengolok-olok teman ...
JR : Ya tentu saja! [tertawa]
Masa depan alat pengembangan
JL : Saya ingin mengakhiri diskusi dengan diskusi tentang masa depan alat pengembangan game.
Di awal tahun 90-an, ketika saya baru saja mulai membuat game menggunakan alat yang ditulis oleh Anda dan pengembang lain, itu tidak selalu mudah: Saya harus membaca file bantuan (jika ada sama sekali). Sejumlah pengetahuan teknis diperlukan, dan sering kali perlu mempelajari scripting atau pemrograman paling sederhana. Namun, pada saat yang sama, dimungkinkan untuk menggambar semacam pixel art 8-bit, dan itu akan terlihat hampir layak. Kami juga dapat secara fleksibel menyesuaikan tampilan level sesuai keinginan.
Saat ini ada alat-alat seperti SnapMap (editor level Doom baru) yang jauh lebih mudah diakses oleh semua orang, tetapi mereka memiliki fleksibilitas yang jauh lebih sedikit. Ada skrip visual, yaitu, pengguna tidak harus belajar skrip atau pemrograman. Pada saat yang sama, menciptakan sumber daya permainan yang tampak layak bagi kebanyakan orang adalah tugas yang tidak mungkin tercapai.
Pertanyaan saya kepada Anda adalah ini: apakah Anda berpikir bahwa beberapa alat modern ini tidak memberikan orang-orang yang masuk ke industri dengan fleksibilitas yang cukup, atau Anda berpikir bahwa ini hanyalah sebuah evolusi pengembangan game - persis sama dengan transisi dari bahasa assembly ke compiler - dan apakah ini hanya industri kita yang bergerak maju?
JR : Ini adalah perkembangan alami. Tim pengembang SnapMap adalah orang-orang yang karirnya dimulai dengan bermain Doom dan menggunakan TEd. Perusahaan yang membangun id Software disebut
Escalation Studios . Dia melakukan Doom Resurrection. Saya sudah mengenal orang-orang ini selama lebih dari dua puluh tahun. Mereka adalah gamer yang sangat hardcore, melewati Doom World, dan kemudian Quake World. Mereka telah bersama perusahaan sejak kami melakukan Doom. Mereka adalah orang-orang yang hidupnya telah dicurahkan untuk menciptakan level selama bertahun-tahun.
Artinya, SnapMap adalah evolusi alami dari alat yang dibutuhkan orang, bukan konsol. Jelas, mereka tidak mengalami malapetaka dengan SnapMap, tetapi SnapMap adalah cara yang bagus bagi orang-orang yang belum pernah melakukan desain level untuk bahkan memahami jika mereka menyukai aktivitas ini dan, jika demikian, mereka dapat menemukan alat yang lebih kuat untuk diri mereka sendiri. Mungkin tidak dalam versi Doom ini, tetapi, misalnya, di mesin Source atau di mesin lain, yang sekarang sudah banyak, seperti Unreal. Jadi SnapMap akan memberi mereka gambaran tentang apa itu.
JL : Ya, itu masuk akal. Artinya, ini bukan pengganti, ini adalah langkah pertama menuju pembangunan.
JR : Tepat, karena bagian tersulit adalah membuat fragmen SnapMap. Oleh karena itu, jika orang dapat melakukan ini di Doom versi PC, maka mereka akan membayangkan apa desain tingkat sebenarnya, setidaknya untuk contoh fragmen modular ini.
Saran John untuk programmer alat
DL : Dalam pertanyaan terakhir saya, saya ingin kembali ke tempat kita mulai: retrospektif game klasik.
Terkadang dalam permainan ada trik dan trik yang seiring waktu berubah menjadi hilang. Saya pikir hal yang paling menarik tentang retrospektif game GDC klasik adalah orang-orang mendapatkan kembali pengetahuan yang hilang. Orang-orang seperti Anda yang telah berkecimpung dalam industri ini sejak lama dapat menyampaikan informasi ini kepada orang-orang yang baru saja memasuki industri.
Jadi, saran apa yang akan Anda berikan kepada pengembang alat modern?
JR : Pertama, Anda perlu menulis alat untuk pengguna alat ini. Sebagai contoh, jika seorang desainer tingkat akan menggunakan alat Anda, itu baginya yang membuat alat ini. Buat sesederhana mungkin dan tambahkan fitur sebanyak mungkin ke dalamnya. Penting juga meluangkan waktu untuk mencoba menggunakan alat ini sendiri dan memahami apa yang mengganggu Anda di dalamnya.
JL : Tentu saja.
JR : Selain itu, sangat sering, ketika desainer meminta untuk menambahkan beberapa fitur, programmer alat tidak mengambil langkah-langkah ke arah mereka dan jangan bertanya kepada mereka: โMengapa Anda membutuhkan kesempatan ini? Apa yang ingin Anda capai dengan itu? " Kita dapat membungkus fungsionalitas dalam pembungkus yang mudah digunakan sehingga mudah digunakan. Terkadang pengembang hanya membuang komponen ... dan hanya itu, selamat tinggal, desainer level, cari tahu sendiri!
JL : Benar! [tertawa]
JR : Ini juga bagus ketika programmer dan pengguna alat berada di ruangan yang sama dan alat dibuat dengan komunikasi sebanyak mungkin antara kedua tim.
JL : Saya setuju.
JR : Akhirnya, Anda tidak perlu menulis apa pun di assembler. [tertawa] Maksud saya, sangat sulit untuk memberikan dukungan untuk alat yang ditulis sepuluh tahun yang lalu menggunakan bahasa atau fungsi yang melekat erat pada platform. Berusaha untuk mengabstraksikan fungsionalitas sehingga Anda dapat menggantinya di masa mendatang. Saya sendiri memiliki masalah dengan TEd ini, ketika pada tahun 2001 saya membutuhkan editor ubin untuk membuat level untuk permainan baru. Saya melihat kode TEd 5.0, yang ditulis pada tahun 1991, dan berpikir, "Yah, saya tidak akan menggunakan kode ini untuk apa pun ..." [tertawa]
JL : [tertawa]
JR : Jangan lupa bahwa alat hidup lebih lama dari game.
JL : Ini saran bagus. Terima kasih banyak, saya sangat menghargai kenyataan bahwa Anda meluangkan waktu untuk berbicara dengan saya.
JR : Terima kasih!