A: “Yess..! Sekarang aku bisa mulai membuat game yang terkenal seperti [isi dengan nama game terkenal yang super laris]..!”
B: “Waah.. Kamu sekarang sudah tahu ya mulainya darimana.”
A: “Ya.. Setelah aku baca posting ini dan ini, aku mulai memikirkan ide mekanik dan cerita. Dan aku punya teman yang bisa membantu untuk menggambarkan ideku itu jadi game.”
B: “Cuma gambar? Lalu cara mainnya gimana?”
A: “???”
Haii… Ketemu lagi di bagian 3 dari seri posting “Bagaimana Cara Membuat Game?” ini. Pada bagian 1, saya telah membahas tentang elemen mekanik dan cerita serta peran game designer dalam proses pembuatan game. Lalu pada bagian 2, saya membahas tentang elemen estetika serta peran game artist.
Bagi kalian yang sudah membaca dua artikel sebelumnya itu, mungkin ada juga yang mengalami kebingungan seperti yang dialami oleh A. Nah, pada artikel kali ini saya akan membahas elemen keempat yang melengkapi ketiga elemen sebelumnya.
Media interaktif
Pada artikel sebelumnya, saya pernah menyebutkan kalau game adalah suatu media yang memberikan sensasi fun terhadap suatu pengalaman tertentu. Sebetulnya masih ada tambahan terhadap definisi tadi, yaitu unsur interaktif. Jadi game adalah suatu media yang berinteraksi langsung dengan penggunanya. Unsur interaktif inilah yang membedakan game dengan media hiburan lain seperti buku, komik atau film.
Unsur interaktif ini tercipta dari respon sang pemain terhadap mekanik yang dibuat oleh game designer. Nah.., Elemen yang berperan untuk mewujudkan unsur interaktif di dalam game ini adalah elemen teknologi. Dengan kata lain elemen teknologi ini adalah alat yang digunakan untuk menciptakan interaksi antara game dengan pemain. Hmm.. Mungkin kalian langsung membayangkan stick PS ya.. (^^,)
Secara umum, yang dimaksud dengan alat tadi tidak selalu mengacu kepada teknologi yang ‘high-tech’. Bisa saja teknologi/alat yang digunakan untuk bermain berupa pensil dan kertas (seperti pen and paper RPG misalnya), atau bermain dengan menggunakan papan dan bidak (seperti catur misalnya). Tapi, kali ini saya akan memfokuskan pembahasan hanya pada teknologi yang digunakan untuk membuat game digital saja.
Ngobrol bersama mesin
Eh..? Seperti di film Terminator? (^^,)
Apa hubungannya ngobrol bersama mesin dengan elemen teknologi dalam pembuatan game?
Well, begini… Dalam proses pembuatan game digital, dibutuhkan bantuan komputer. Jadi komputer adalah elemen teknologi yang digunakan untuk mengubah ide game menjadi suatu game yang dimainkan secara interaktif.
Lalu, apa maksudnya ngobrol bersama komputer?
Begini… Komputer hanyalah alat yang mengerjakan instruksi yang diberikan oleh manusia. Instruksi tersebut harus dibuat dengan menggunakan bahasa yang dimengerti oleh komputer, yaitu dengan menggunakan bahasa pemrograman. Jadi dalam proses pembuatan game digital, ide game yang akan dibuat harus diterjemahkan dengan menggunakan bahasa pemrograman menjadi sekumpulan instruksi yang kemudian diolah oleh komputer hingga menjadi game yang dapat dimainkan.
Nah… Dalam proses pembuatan game, siapakah yang berperan dalam kegiatan ‘ngobrol’ dengan komputer itu? Tugas ini diserahkan kepada game programmer. Game programmer berperan untuk menerjemahkan ide mekanik dari game designer menjadi instruksi-instruksi yang akan dikerjakan oleh komputer.
Jadi secara umum tugas game programmer adalah membuat program (game) berdasarkan ide mekanik dari game designer. Walaupun kalau dipelajari lebih dalam lagi ternyata topik pemrograman game itu cukup luas, karena bisa dibagi lagi menjadi beberapa bidang, seperti:
- Pemrograman gameplay
- Pemrograman game engine
- Pemrograman graphics
- Pemrograman physics
- Pemrograman audio
- Pemrograman user-interface
dan masih ada beberapa bidang lain… Nanti saya akan bahas di artikel yang lain ya.. (^^,)
Lalu mulai darimana untuk bisa jadi game programmer?
Hmm… Tentunya mulainya ya dari belajar tentang pemrograman. (^^,)
Kalian bisa mulai dari mempelajari cara membuat program dengan menggunakan salah satu dari banyak bahasa pemrograman yang ada. Pelajari bagaimana mengimplementasikan logika untuk menyelesaikan masalah, lalu menerjemahkan logika tadi menjadi instruksi yang dimengerti oleh komputer dengan menggunakan bahasa pemrograman sampai menjadi suatu program komputer.
Ada banyak bahasa pemrograman yang bisa kalian pelajari, tapi sepengetahuan saya beberapa bahasa yang banyak digunakan dalam pemrograman game adalah C, C++, C#, Objective C, Java, Actionscript, Python, Javascript. Well… Kalian bisa googling untuk mencari informasi lebih lanjut tentang bahasa pemrograman yang digunakan dalam pembuatan game. (^^,)
Kalau kalian merasa bingung untuk memilih bahasa pemrograman mana yang akan dipelajari, kalian bisa mulai dari memilih ingin membuat game untuk platform apa terlebih dulu. Misalnya kalian ingin membuat:
- PC game; kalian bisa mempelajari:
– C/C++, walaupun saya tidak menyarankan bahasa ini bagi kalian yang benar-benar awam mengenai pemrograman. Karena bahasa pemrograman yang satu ini cukup kompleks untuk dipelajari pemula.
– C#
– Java
– Actionscript (Flash). - Web-browser game; kalian bisa mempelajari:
– Actionscript (Flash).
– HTML5 dan Javascript. - Mobile game; kalian bisa mempelajari:
– C/C++ atau Objective C untuk membuat game di iOS (IPhone, Ipad, dan IPod Touch).
– Java untuk membuat game di Android.
– Java ME untuk membuat game di handphone dan BlackBerry.
Untuk awalnya, saya sarankan untuk mulai dengan membuat game yang sederhana terlebih dulu. Boleh sih kalau kalian bercita-cita ingin membuat game [isi dengan nama game terkenal yang super laris] seperti yang dikatakan oleh A di atas tadi. Tapi game-game seperti itu dibuat oleh sekelompok orang programmer yang sudah berpengalaman dalam pemrograman game.
Jadi, mulailah perjalanan belajar pemrograman game kalian dari langkah kecil dulu. Coba buat satu game sederhana sampai dengan selesai hingga bisa dimainkan. Pelajari apa saja yang harus dibuat dalam pemrograman game, misalnya:
- Bagaimana cara menampilkan gambar ke layar lalu menganimasikannya.
- Bagaimana cara membaca input dari pemain lalu mengaplikasikan responnya di dalam game.
- Bagaimana cara menambahkan suara ke dalam game.
- Bagaimana cara menyimpan skor pemain.
Dan masih ada aspek-aspek pemrograman lain yang bisa kalian pelajari dalam proses pembuatan game. Bahkan di dalam game yang sekilas terlihat sederhana seperti Pong, terdapat banyak aspek pemrograman game yang bisa kalian pelajari.
Penutup
Nah… Bagi kalian yang ingin membuat game kalian sendiri dan tertarik dengan dunia pemrograman, bisa mulai dari peran game programmer ini. Bila kalian belum punya ide mekanik sendiri, kalian bisa mempelajari ide mekanik dari game-game lain yang sudah ada. Atau, kalian bisa berkolaborasi dengan orang lain yang berperan sebagai game designer. Dengan bertambahnya pengalaman kalian dalam membuat game, bisa saja nanti kalian juga bisa berperan sebagai game developer yang menciptakan ide mekanik dan membuat programnya sampai menjadi satu game yang fun. (^^,)
Sebagai penutup, saya ingin berbagi tentang beberapa programmer legendaris yang mungkin bisa menjadi inspirasi bagi kalian yang tertarik dalam dunia pemrograman:
- John Carmack, beliau adalah game programmer legendaris dibalik terciptanya game Doom yang melegenda.
- Steve “Woz” Wozniak, mungkin beliau bukanlah seorang game programmer tapi kejeniusannya dalam bidang pemrograman menjadi titik awal bagi Apple yang saat ini telah berkembang menjadi salah satu platform untuk pengembangan game yang diminati banyak developer. Beliau juga senang memainkan game, bahkan sebelum Apple berdiri, beliau turut serta mengerjakan desain awal game Breakout milik Atari.
- Dennis Ritchie, beliau adalah bapak dari bahasa pemrograman C, bahasa yang menjadi cikal bakal dari bahasa-bahasa lain yang digunakan dalam pembuatan game seperti C++, Java, C#, Objective C.
- Sid Meier, beliau adalah seorang game programmer sekaligus game designer legendaris yang menciptakan game-game terkenal seperti Civilization, Railroad Tycoon, Magic the Gathering.
- Richard Garriott, beliau merupakan game programmer dan game designer legendaris yang ada dibalik terciptanya seri game Ultima yang terkenal.
Well… Sekian dulu artikel saya kali ini. See you in another post..!
Happy making game for you all..! (^^,)
* artikel ini merupakan hasil edit dan publish ulang dari artikel di blog TheStudioIndependent dengan seizin dari Studio Independent