Kita
melanjutkan bagian-bagian yang ada di games development sebelumnya :
3.
Programmer
Apa
cuma programmer?
Tentu tidak, banyak yang berjasa dibalik suksesnya sebuah game, sebut saja
Artist, Composer, Designer, dan Producer. Sebenarnya masih banyak yang menjadi
kunci dari kesuksesan game. Tapi kita akan fokus kepada 5 role itu saja dulu. Pada
kesempatan ini kami akan menjelaskan role dari Game Programmer.
Apa sih hubungannya programmer dengan game? Programming adalah penggabungan matematika dan logika yang membuat sebuah game bisa berjalan. Seorang programmer bertugas untuk menyusun kode-kode agar bisa menyatukan art, sound, dan gameplay. Sering kali programmer menjadi inti dalam sebuah game development, karena programmer harus mampu memasukkan art dari Game Artist, sound dari Game Sound, dan membangun game sesuai rancangan dari Game Designer. Pada industri game skala besar, biasanya dibentuk sebuah tim programmer. Masing-masing programmer tersebut memiliki cakupan pekerjaannya sendiri. Seperti AI programming, Engine Programming, Network Programming, dan lain-lain.
Jadi, apa sih yang biasanya
programmer kerjakan?
Pada tingkat dasar, programmer membuat kode yang membuat segalanya terjadi di
game. Seperti menyambungkan input di keyboard/mouse/keypad dengan sebuah
kejadian di layar. Misalnya kita tekan atas, maka hero kita akan melompat.
Termasuk ketika kita membuat NPC yang berjalan di sekitar hero kita. Programmer
lah yang membuat AI sehingga NPC tersebut tahu kemana akan bergerak. Oh iya, AI
itu adalah Artificial Intellegence yang artinya
kecerdasan buatan sehingga NPC mempunyai “otak” untuk berpikir.
Pada tingkat industri skala besar,
programmer dibagi lagi menjadi sesuai dengan keahliannya, seperti yang sudah
dijelaskan diatas. Bahkan ada programmer yang tidak berhubungan sama sekali
dengan game, seperti programmer yang membuat engine atau tools khusus untuk
mempermudah pekerjaan dari rekan programmer lainnya. Atau programmer yang
membuat arsitektur jaringan, ketika membuat sebuah game online.
Programmer sering berinteraksi
dengan artist, designer, producer, tester, composer, dan semua orang yang
memiliki peranan dalam pembuatan sebuah game, membantu mereka ketika mereka
membutuhkan pengetahuan teknis untuk menyelesaikan tugas mereka.
Tingkatan pekerjaan Game Programmer
apa aja? Untuk
game skala kecil dan menengah, biasanya cukup 1-4 orang programmer untuk
mengerjakan suatu game.
Untuk game skala besar, biasanya dibagi lagi role dari programmer, seperti ini :
Untuk game skala besar, biasanya dibagi lagi role dari programmer, seperti ini :
- Physhics Engine Programmer memiliki kewajiban untuk mengembangkan efek-efek fisika dalam sebuah game. Misalkan dalam Space Game, membutuhkan simulasi gravitasi, kecepatan, dan benturan. Tapi tidak membutuhkan efek arah mata angin, tekanan air, dan lain-lain. Untuk game sederhana seperti pong atau dota, hanya membutuhkan sedikit physics programmer.
- Gameplay Programmer. Dia yang menentukan apakah yang dapat meningkatkan “feel” dalam game ini, misalkan meningkatkan keindahan grafis dan sound effect pada game combat battle. Ataupun meningkatkan alur cerita yang kuat, grafis yang mantap, dan background music yang fenomenal seperti dalam game Final Fantasy.
- Lead Programmer untuk menjadi lead programmer tentu tidak mudah. Mereka harus memiliki pengetahuan dasar dari semua role di dalam tim. Sehingga dia setidaknya dapat mengawasi dan memberi saran kepada rekannya, juga memastikan bahwa apa yang dikerjakan oleh rekannya itu berjalan dengan seharusnya.
- AI Programmer bertanggung jawab dalam pengembangan kecerdasan buatan dari musuh ataupun npc. Seperti membuat AI untuk path finding, strategy, dan taktik musuh. Tapi untuk pembuatan AI setingkat Civilization, dibutuhkan beberapa orang programmer AI untuk membuatnya. Civilization merupakan game strategy, sehingga untuk membuat AInya pun sangat lah rumit.
- Engine Programmer bertugas untuk membuat engine dari game yang akan dibuat, yang sifatnya memudahkan pekerjaan rekan setimnya. Role ini biasanya membuat suatu engine dasar yang re-useable, ketika membuat game dengan genre Racing, maka engine pun disesuaikan dengan kebutuhan.
- Network Engineer or Programmer Role ini digunakan ketika membuat game yang memasukkan aspek multiplayer. Mereka bertugas dalam merancang jaringan, dan memprogram gamenya agar bisa berjalan sempurna. Beberapa hal yang mesti diperhatikan oleh role ini yaitu network latency, kompresi paket data, dan koneksi terputus
- Graphics Programmer sesuai dengan namanya, programmer ini harus memiliki keahlian dalam rendering graphics, juga terbiasa dengan vektor, matrix, dan aljabar linier. Itu dibutuhkan ketika kita akan merender 3D graphics dan menghitung kemungkinan collision detection antar object.
Tidak ada komentar:
Posting Komentar