Pada bulan Oktober 1997, dua karyawan di Angel Studios memposting pesan kepada diri mereka sendiri di dinding: “Kami akan merilis game pada tanggal 1 September 1999, yang disukai banyak orang. Kita akan tahu mereka menyukainya karena pada tanggal 1 Januari 2000, buku itu akan terjual dua juta kopi.”
Tak lama setelah itu, Capcom memilih Angel Studios untuk porting Resident 2 Jahat ke Nintendo 64. Direktur proyek Chris Fodor dan pemrogram utama Jamie Briant ditugaskan untuk melakukan tugas ini, dan mulai meletakkan dasar dan membentuk tim. Meskipun mereka berdua memiliki pengalaman sebelumnya dengan Nintendo 64, proyek ambisius dan menantang ini dengan cepat menggambarkan bahwa mereka tidak benar-benar mengetahui cara kerja N64. Tentu saja, ada CPU dan prosesor geometri, chip grafis, dan pintu keluar api di sana-sini, tapi pada ketinggian berapa masker oksigen akan turun, atau harus dipicu secara manual oleh pilot? Dalam beberapa bulan berikutnya OS dibangun kembali, unit vektor (ya, N64 memiliki unit vektor) dibebaskan, dan N64 terpesona untuk mengungkapkan rahasianya.
Asli Resident 2 Jahat untuk Playstation mencakup dua CD. Kami harus mendapatkannya dalam satu kartrid. Tapi itu hanya sebuah pelabuhan, kan? Di tangan kami, kami memiliki game klasik dengan desain luar biasa, semua karya seni telah selesai, dan AI telah disetel dan siap digunakan. Namun, diperlukan beberapa pemrograman yang cukup pintar untuk menjalankannya di N64. Itu adalah tugas yang diragukan dapat dilakukan oleh grup berita, situs web game, dan bahkan mungkin penerbit.
Apa yang Terjadi dengan Benar?
1. Lingkungan Kerja dan Tim
Mengingat ini akan menjadi proyek yang sangat teknis, penting bagi kami untuk memiliki tim pemrograman yang kuat dan kohesif. Proyek ini dengan cepat meningkat ketika Alex Ehrath bergabung dan kemudian saya bergabung pada bulan Desember 1998. Alex membawa banyak pengalaman, dedikasi, dan kerja keras. Baru saja lulus kuliah, saya diberi tugas untuk membuat video gerak penuh. (Untuk rincian tentang bagaimana prestasi ini dicapai, lihat artikel saya “Misi: Kompresibel - Mencapai Video Gerak Penuh di Nintendo 64” di edisi September 2000 mendatang. Pengembang Permainan.) Chris Fodor dan Jamie Briant berbagi kepemimpinan bersama. Kadang-kadang hal ini menyebabkan “terlalu banyak juru masak di dapur,” namun lebih sering mereka saling melengkapi dan memberikan kepemimpinan yang efektif sepanjang durasi proyek. Ken Kamdar muncul menjelang akhir proyek, membawa rasa tenteram dan tenang (serta keterampilan pemrogramannya) pada waktu yang tepat. Pada tahap ini kami telah diwakili oleh Australia, Jerman, Inggris, Iran, dan Amerika. Anda mungkin tidak akan memilihnya, tetapi perpaduan yang tidak biasa ini memiliki tingkat sinergi yang jarang ditemukan di banyak tim pemrograman.
Tangkapan layar dari Resident 2 Jahat untuk Nintendo 64 |
Kami, para programmer, mengatur meja kami dalam bentuk setengah lingkaran, menghadap ke luar, tetapi awalnya tidak seperti itu. Awalnya, Chris memiliki kantor sendiri, dan Alex serta Jamie duduk berjauhan, mengawasi wilayah mereka sendiri. Namun, setelah satu bulan proyek berjalan, kami terlambat dari jadwal. Kami perlu menjadi yang terdepan, dan lebih banyak berkomunikasi.
Kami memutuskan untuk duduk bersama. Ketika saya, dan kemudian Ken, tiba, mereka hanya memperbesar setengah lingkaran. Banyak yang telah ditulis tentang keadaan otak dan zonanya, dan seperti yang diingat Jamie, “Alex kadang-kadang menyela saya dengan sekuat tenaga untuk menceritakan lelucon yang sangat bodoh, tetapi saya jamin waktu yang hilang tidak ada apa-apanya dibandingkan dengan waktu yang hilang. mendapatkan efisiensi karena semua orang ada di sana”. Di awal proyek ada banyak pertanyaan yang muncul dan keputusan yang harus diambil. Setiap orang dapat mendengarkan, bahkan jika mereka awalnya bukan bagian dari diskusi, dan seringkali seseorang berbalik dan menawarkan mutiara kebijaksanaan atau wawasan baru yang menghasilkan solusi yang lebih baik. Di tengah-tengah proyek, kami bisa lebih baik dalam tidak menyela siapa pun yang sedang berpikir keras. Pada akhirnya, saya pikir kita menghemat waktu berbulan-bulan: “Itu gagal” [poin]. [Memutar kepala] “Oh ya, itu bug penjilatnya — jangan tekan tombol B saat melakukan itu [poin] — dan saya akan memeriksa perbaikannya dalam sepuluh menit.”
Jam-jam yang panjang dan sulit membentuk rasa saling percaya yang kuat di antara kelompok tersebut. Tidak lama kemudian kami semua mengerjakan tugas kami sendiri tanpa pengawasan. Hal ini memungkinkan adanya jam kerja yang fleksibel tanpa membahayakan hasil kerja.
2. Mencapai Tonggak Sejarah Pertama
Jika perusahaan Anda tidak menerbitkan judulnya sendiri, Anda memiliki produser eksternal di penerbit Anda. Saat para produser keluar untuk minum bir, mereka membicarakan betapa terlambatnya pengembang mereka dan mengeluh tentang cara membuat mereka sejalan. Banyak produsen berpikir pengembang tidak mengetahui tenggat waktu pemasaran, anggaran, dan hal-hal lain yang sebenarnya tidak kami ketahui. Kami berbicara dalam bahasa yang berbeda. Namun jika Anda mencapai pencapaian pertama, Anda berbeda.
Pertama, produser Anda mempunyai cerita berbeda untuk diceritakan kepada atasannya dan rekan-rekannya. Kedua, Anda telah menetapkan dasar komunikasi — Anda telah menunjukkan bahwa Anda memahami apa arti kata “tenggat waktu”. Setelah mempelajari kata pertama dalam kosa kata seorang produser, Anda akan menemukan bahwa mereka kemudian terbuka untuk mendiskusikan ide-ide yang lebih rumit, bahkan bersikap fleksibel mengenai tenggat waktu di masa depan. Terakhir, Anda memiliki kredibilitas di mata produser dan penerbit Anda. Jika Anda melewatkan pencapaian pertama Anda tanpa peduli, produser Anda akan secara permanen memasukkan Anda ke dalam keranjang “baby sit/baby talk”.
3. Tidak Ada Keterikatan Keagamaan
Tidak pernah merupakan ide yang baik untuk terlalu terikat pada sesuatu yang telah Anda lakukan, baik itu proses bisnis, algoritme, atau sekadar implementasi. Jika sesuatu tidak berhasil, jangan lakukan itu. Jika sesuatu berhasil, dan tidak lagi, tinggalkan dan temukan sesuatu yang baru.
Kami menerapkan prinsip ini pada komunikasi kelompok kami. Kami memulai dengan menggunakan Microsoft Team Manager 97. Itu bahkan tidak bertahan sebulan. Kemudian kami memindahkan meja kami menjadi setengah lingkaran, dengan semua orang berada dekat dan berada di ruangan yang sama. Itu berhasil dengan sangat baik, dan kami mempertahankannya.
Selanjutnya, Jamie memutuskan untuk melihat apa yang akan terjadi jika semua orang dipaksa menggunakan editor yang sama, dengan pilihan keyboard yang sama. Hasilnya adalah Anda mempelajari editor baru dalam sehari, Anda fasih dalam seminggu, dan semua orang dapat duduk di depan mesin Anda dan menggunakannya seolah-olah itu milik mereka sendiri.
Kami menggunakan sistem tugas Outlook. Daftar tugas Outlook yang tampaknya sederhana dapat menggunakan email untuk menyinkronkan tugas semua orang. Ini bekerja dengan sangat baik selama beberapa bulan, namun setelah beberapa saat kami menggunakannya lebih sedikit. Hal ini karena di akhir proyek, hanya terdapat daftar lengkap hal-hal yang sangat diketahui yang perlu dilakukan. Kami mencoba tampilan yang sangat visual, dengan membuat potongan kertas untuk setiap item tugas dan menempelkannya di dinding di bawah nama setiap orang. Dan mereka tetap di sana, hampir tidak tersentuh, hingga hari kami menerbitkan game tersebut. Mereka digantikan dengan spreadsheet Excel.
Dalam hal pemrograman, sikap ini memberikan hasil yang luar biasa bagi pengembangan sistem FMV kami. Mencoba segalanya tanpa henti, sering kali berkali-kali (karena peningkatan kualitas atau kecepatan membuat pendekatan yang sebelumnya ditolak dapat dilakukan kembali), memberi kami hasil yang luar biasa dan yang pertama di industri — video berkualitas tinggi pada konsol berbasis kartrid.
Kami juga mempelajari pentingnya menulis kode untuk tugas yang ada, bukan tugas apa yang mungkin dilakukan di masa depan. Saya harap sebagian besar pemrogram menganggap hal ini jelas, tetapi banyak dari kita (termasuk saya dulu) tersesat di dunia C++. Ada banyak manfaat dari C++, namun banyak di antaranya yang tidak layak karena alasan kinerja dan ukuran pada konsol yang sudah tua. Sangat mudah ketika menulis kode berorientasi objek untuk jatuh ke dalam perangkap mencoba merancang sistem yang masuk akal sekalipun. Jangan repot-repot. Bersiaplah untuk menulis ulang semuanya. Anda mungkin dapat menulis ulang beberapa bagian kode tiga kali lebih cepat daripada waktu yang Anda perlukan untuk merancang hierarki kelas yang sempurna. Intinya adalah Anda tidak boleh terikat pada apa yang Anda miliki. Bersiaplah untuk membuangnya dan mencoba yang lain.
4. Menggunakan Jadwal dan Rencana Terperinci
Dari awal, RE2 mempunyai rencana yang jelas dan terperinci tentang apa yang sebenarnya diperlukan, dipecah menjadi sangat rinci. Dengan informasi ini, produser kami yang cakap, Stewart Spilkin, dapat menjadwalkan tugas-tugas proyek dan alokasi sumber daya secara akurat (Stewart berperan penting dalam mengatasi kesulitan-kesulitan eksternal, yang memungkinkan kami berkonsentrasi pada pengembangan, selalu mendorong proyek mendekati penyelesaian). Saya tidak bisa melebih-lebihkan pentingnya rencana terperinci. Ini memaksa Anda untuk memeriksa dan sering kali menemukan apa yang sebenarnya perlu dilakukan dan memungkinkan Anda merencanakannya. Anda tidak boleh memiliki terlalu banyak detail. Ini merupakan jadwal yang ambisius, tentu saja, namun dapat dicapai – yang menjadikannya sulit sekaligus bermanfaat.
Kami memprioritaskan fitur. Ketika tenggat waktu semakin dekat, kami dengan kejam mengerjakan fitur-fitur penting dan strategis saja. Kadang-kadang akan ada perdebatan mengenai fitur apa saja yang diperlukan dan tidak, namun sikap ini memastikan bahwa kami tetap berpegang pada rencana dan menyelesaikan proyek. Kami ingin game kami sempurna, tetapi harus dikirimkan. Lakukan apa yang diperlukan untuk mewujudkannya, lalu lakukan semua perbaikan yang Anda punya waktu.
Kami menangani permintaan penerbit untuk menambahkan fitur baru, terutama menjelang akhir proyek, dengan penuh percaya diri. Daripada serangan internal berupa “fitur creep”, serangan ini datang dari luar. Setiap kali fitur baru diusulkan, kami memeriksa apa yang diperlukan untuk mengimplementasikannya dan menyajikan penjelasan jujur tentang apa yang diperlukan, dalam hal sumber daya, untuk mengimplementasikannya. Misalnya, kami memperkirakan bahwa dengan tambahan programmer penuh waktu, kami pasti dapat menyelesaikan tugas A, mungkin tugas B (80 persen) dan mungkin tugas C (20 persen). Klien kemudian memiliki semua informasi yang mereka butuhkan untuk membuat pilihan dan sering kali mereka memilih “tidak.”
Berhadapan dengan tekanan-tekanan tambahan ini bisa membuat Anda stres, dan setiap kali hal itu membuat Anda menjauh dari pekerjaan. Namun, Anda dapat menghemat jadwal dan anggaran proyek Anda dengan memeriksa secara rasional apa yang perlu dilakukan dan apa yang diperlukan untuk mengimplementasikan fitur baru tersebut.
5. Memaksimalkan Penggunaan Kembali
Dengan banyaknya aset yang disediakan oleh versi PSX, lebih masuk akal untuk menganalisis setiap jenis data (sprite 2D, data tabrakan, dan sebagainya) dan menerapkan alur yang kemudian akan mengubah aset khusus PSX menjadi sesuatu yang kami bisa membaca dan menggunakan pada N64. Karena ini adalah sebuah pelabuhan, kami dapat yakin bahwa kami akan mendapatkan semua bagian yang kami perlukan jika kami mengonversinya secara batch secara keseluruhan, daripada mengerjakannya satu per satu dengan tangan, dan menghemat jumlah yang sangat besar. waktu dengan cara ini. Diperlukan waktu beberapa hari untuk menulis kode yang mengubah semua sprite 2D ke dalam format yang kami perlukan, namun akan membutuhkan waktu yang sangat lama bagi seorang seniman untuk memperbaiki ribuan sprite dengan tangan.
Jika memungkinkan, kami meniru rutinitas khusus PSX dan fungsi perangkat keras untuk mencapai hasil serupa pada N64, memaksimalkan penggunaan kembali kode sumber yang ada.
Sumber: https://www.gamasutra.com/view/feature/131556/postmortem_angel_studios_.php?page=1
- "
- Akun
- Tambahan
- AI
- alex
- algoritma
- Semua
- antara
- argumen
- sekitar
- Seni
- artikel
- artis
- Aktiva
- Australia
- Bayi
- bir
- papan
- Bug
- bisnis
- yang
- dibebankan
- memeriksa
- keping
- lebih dekat
- kode
- Perguruan tinggi
- Komunikasi
- komunikasi
- perusahaan
- memusatkan
- data
- hari
- berurusan
- Mendesain
- Meja
- rinci
- Pengembang
- pengembang
- Pengembangan
- MELAKUKAN
- Kepala
- Jangan ketinggalan
- Menjatuhkan
- editor
- Efektif
- efisiensi
- karyawan
- Inggris
- Lingkungan Hidup
- Excel
- menghadapi
- Fitur
- Fitur
- Akhirnya
- akhir
- Kebakaran
- Pertama
- Memperbaiki
- format
- segar
- masa depan
- permainan
- game
- geometri
- Jerman
- baik
- besar
- Kelompok
- Perangkat keras
- kepala
- di sini
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- HTTPS
- ide
- Termasuk
- industri
- informasi
- Iran
- IT
- bahasa
- memimpin
- Kepemimpinan
- BELAJAR
- belajar
- Dipimpin
- Tingkat
- baris
- Daftar
- Panjang
- cinta
- Membuat
- Marketing
- masker
- Microsoft
- juta
- Misi
- bulan
- Fitur baru
- Fitur Baru
- Nintendo
- menawarkan
- Buka
- Lainnya
- Outlook
- Oksigen
- kertas
- Konsultan Ahli
- prestasi
- pilot
- playstation
- pers
- produsen
- Produsen
- Pemrograman
- proyek
- menerbitkan
- kualitas
- RE
- alasan
- sumber
- Sumber
- Hasil
- berjalan
- rasa
- ketenangan
- berbagi
- Sederhana
- Situs
- Ukuran
- keterampilan
- So
- terjual
- kecepatan
- Tahap
- Taruhan
- mulai
- Negara
- Strategis
- sistem
- Teknis
- Masa depan
- waktu
- puncak
- menyentuh
- Kepercayaan
- kami
- us
- nilai
- Video
- Kekayaan
- jaringan
- minggu
- Kerja
- penulisan