Pages

Sabtu, 12 Desember 2015

Peran Programmer pada Game Development

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 :

  • 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