Dalam deskripsi pekerjaan, saya sering melihat posisi yang disebut "Programmer Gameplay." Apa yang dilakukan orang di posisi itu?
terminology
Tucker Morgan
sumber
sumber
Jawaban:
Ketika perusahaan berbicara tentang mempekerjakan seorang programmer gameplay , apa yang mereka bicarakan adalah seorang programmer yang akan bertanggung jawab untuk kode yang secara langsung menyentuh pada pengalaman game. Artinya, programmer akan bertanggung jawab untuk benar-benar membangun game, daripada mesin atau sistem game yang lebih besar. Tetapi di luar itu, banyak hal yang sangat bervariasi:
Beberapa perusahaan mengharapkan pemrogram gameplay untuk mengimplementasikan antarmuka pengguna. Beberapa tidak. Beberapa perusahaan mengharapkan mereka untuk mengimplementasikan kode AI, beberapa tidak. Beberapa mengharapkan mereka untuk mengimplementasikan kode audio, beberapa tidak. Sejujurnya, "gameplay" dalam pemrogram gameplay adalah singkatan industri untuk "segala sesuatu yang belum kami sewa untuk dilakukan seorang spesialis". Jadi programmer ini harus sangat fleksibel, dan harus dapat mempelajari disiplin ilmu baru dengan cepat.
Saya menghabiskan hampir lima belas tahun menjadi programmer gameplay di industri komersial, di lima perusahaan yang berbeda.
Pengalaman saya adalah bahwa di beberapa perusahaan, programmer permainan dianggap sebagai posisi junior atau entry-level; programmer yang hanya mengerjakan permainan individual, bagaimanapun, tidak perlu secanggih mereka yang bekerja pada sistem yang perlu mendukung banyak game yang berbeda secara bersamaan, seperti yang dibutuhkan oleh programmer mesin. Dalam perusahaan semacam ini, jika seorang programmer gameplay bekerja dengan sangat baik, ia mungkin akan dipromosikan ke tim mesin suatu hari nanti, jika ia dapat membuktikan kemampuannya. Atau dia mungkin menjadi spesialis, jika dia menunjukkan bakat untuk bidang tertentu.
Di perusahaan lain, programmer permainan dianggap sebagai posisi tingkat menengah; programmer yang bekerja pada gim individual harus memiliki pengalaman yang bermanfaat dan dapat diandalkan. Pemrogram yang tidak berpengalaman mungkin diberikan pekerjaan yang tidak diinginkan untuk memotong gigi mereka (jalur pipa data, peralatan, dll), dan akhirnya diizinkan untuk naik ke pekerjaan "programmer programmer". Dalam sistem semacam ini, seorang programmer permainan yang terus melakukan cukup baik mungkin naik ke peran kepemimpinan proyek, atau yang lain ke tim mesin.
Di perusahaan lain, programmer permainan dianggap sebagai posisi senior, dan juga posisi setengah desain; programmer ini diharapkan menjadi programmer yang sangat baik, terbukti, dan juga memiliki kepekaan desain dan kualifikasi yang kuat, karena mereka secara langsung menyentuh kode yang paling kuat mempengaruhi pengalaman pemain dengan permainan. Dalam sistem semacam ini, seorang programmer gameplay yang sangat baik kemungkinan akan tetap menjadi programmer gameplay selamanya - ini dianggap sebagai posisi paling berharga yang bisa dia isi.
Sebagai aturan umum, semakin baik permainan perusahaan, semakin senior posisi yang mereka pertimbangkan sebagai programmer gameplay (dan karenanya, semakin sulit untuk benar-benar mendapatkan pekerjaan seperti itu).
sumber
Saya selalu merasa terbantu dengan memberi contoh.
Seorang programmer gameplay akan diberikan tugas di sepanjang garis: menerapkan sistem pertarungan jarak dekat, menerapkan mekanisme regenerasi kesehatan, atau menerapkan kontrol lompat pemain.
Seorang programmer mesin (apa yang Anda sebut seseorang yang bukan khusus programmer gameplay) akan diberikan tugas di sepanjang baris: menerapkan pencahayaan yang ditangguhkan, atau sistem animasi, atau lapisan jaringan.
Perbedaan utama adalah siapa 'pelanggan' itu. Untuk programmer gameplay, ini adalah tim desain - tugas mereka adalah membuat desain menjadi kenyataan. Untuk programmer mesin, umumnya programmer lain . Pemrogram mesin membuat teknologi dan sistem, yang kemudian dapat digunakan programmer pemrogram dan pembuat konten untuk mewujudkan desain.
Pemrogram mesin menulis kode yang sebagian besar adalah gim-agnostik - teknologi yang sama sering dapat digunakan di banyak gim. Pemrogram gameplay cenderung menulis kode yang sangat spesifik untuk game yang sedang dibuat. Dan selalu ada tumpang tindih - terkadang untuk mengimplementasikan gameplay Anda memerlukan beberapa kode mesin baru.
Pengkodean gameplay tidak lebih sulit atau lebih mudah daripada pengkodean mesin. Namun itu jelas merupakan keterampilan yang sedikit berbeda; Anda sering perlu untuk lebih kreatif, dan mampu bodge solusi. Tujuan Anda bukan untuk menciptakan sistem yang dapat digunakan kembali yang sempurna (ideal untuk programmer mesin), tetapi untuk menciptakan implementasi game terbaik. Jadi apa yang bisa menjadi aset dalam pemrograman mesin (perhatian terhadap detail dan struktur yang direkayasa dengan baik) dapat menjadi penghalang dalam pemrograman gameplay (di mana waktu adaptasi dan iterasi lebih penting). Seorang programmer gameplay yang baik tahu kapan melakukannya dengan benar (kapan desainnya solid dan kodenya akan digunakan di banyak tempat), dan kapan melakukannya dengan cepat (ketika desainnya masih dikerjakan, dan kode Anda memiliki peluang bagus dibuang begitu diuji).
Yang terpenting, pemrogram gameplay harus dapat berkolaborasi dengan tim desain pada tingkat yang tidak dimiliki pemrogram mesin. Selain dari keterampilan komunikasi yang jelas, itu berarti Anda harus terbiasa dengan desain game lainnya lebih dari programmer mesin, sehingga ketika seorang desainer mengatakan "membuatnya bekerja seperti Zelda," Anda tahu apa yang mereka bicarakan.
Untuk belajar menjadi pemrogram mesin, Anda harus menelusuri teknologi dan mempelajari cara kerjanya, dan mungkin mengimplementasikan versinya sendiri; game hanya akan menjadi arena untuk menunjukkan teknologi.
Untuk belajar menjadi programmer gameplay, Anda akan mengambil mesin orang lain, dan menggunakannya dengan berbagai cara yang Anda bisa. Dengan kata lain, jika Anda ingin menjadi programmer gameplay, buat game, bukan teknologi .
sumber
Seperti apa persisnya itu, seorang programmer yang mengimplementasikan dan memelihara mekanisme permainan game.
http://en.wikipedia.org/wiki/Game_programmer#Gameplay_programmer
sumber