Memilih Game Engine dalam Pembuatan Game


Pertanyaan yang sering muncul dari programmer yang baru memulai profesinya sebagai indie developer atau sekedar hobi adalah, manakah game engine yang terbaik? Apakah game engine A lebih baik dari B? Apakah game engine bisa digunakan untuk membuat game jenis X atau game engine B lebih cocok digunakan untuk game jenis Y?

Pertanyaan ini wajar muncul karena begitu banyak game engine yang tersedia dan sebagai seorang pemula yang ingin berkecimpung dalam dunia game development, banyaknya game engine ini menimbulkan kebingungan sekaligus berkah.

Saya mencoba sedikit berbagi pengalaman saya dalam memilih game engine; opini saya tentu saja berdasarkan pengalaman pribadi saya dan belum tentu cocok dengan Anda. Ingatlah satu hal penting: mulailah dengan mental dan niat yang baik sebelum memilih. Game engine banyak tersedia gratis dan kebanyakan fitur fitur high end pada game engine yang berbayar tidak akan Anda gunakan sampai Anda benar benar mahir dalam menggunakan program tersebut. Mulailah dengan yang gratis dan jangan sekali kali terpikir untuk mencari versi illegal dari sebuah program komersil. Anda ingin hasil karya Anda dihargai, mulailah hargai hasil karya orang lain.

*. Mulailah dengan hal yang subyektif


Mungkin alasan ini terdengar aneh, tapi akan saya jelaskan sebagai berikut. Jika Anda memiliki rasa senang terhadap motor merk A dibandingkan merk B, seberapa jelek pun motor A, itu adalah motor yang secara tampilan, fitur, fisik dll adalah hal hal yang membuat Anda nyaman dengan motor tersebut. Begitu juga dengan game engine. Percayalah bahwa semua game engine, secara teori, dapat membuat game apapun yang Anda inginkan. Seperti motor merk apapun yang dapat membawa Anda kemanapun Anda suka. Game engine adalah alat kerja Anda; alat kerja bergantung pada Anda sepenuh nya yang mengendalikan alat tersebut. Game engine terbaik sekalipun jika Anda menulis kode secara serampangan dan amburadul, hasilnya bisa jauh lebih buruk dari anak SD yang menulis kode dengan lihai dengan game engine seadanya. Mulailah mendownload sebanyak mungkin game engine yang sekiranya Anda suka dan cobalah 2-3 hari. Atau jika Anda tidak mau repot, lihatlah cara menggunakan game engine di youtube dan pilihlah yang Anda pikir akan membuat pekerjaan Anda nyaman.

*. Fitur tidak penting / Begitu juga performance


Anda mungkin bingung, kalau fitur tidak penting, apa yang bisa saya dapatkan dari sebuah game engine? Lalu apakah performance game saya akan jelek kalau game engine nya tidak bagus? Dari pengalaman saya, fitur yang sedikit membuat kita bisa fokus pada game yang ingin kita buat. Dan performance game engine secara umum semua sama, cukup cepat, selama Anda tidak menuliskan kode kode aneh pada program yang Anda buat. Jangan terlalu terbuai dengan jargon marketing developer game engine. Semakin banyak game engine yang tersedia saat ini, semakin banyak pula fitur fitur “tidak perlu” yang ditambahkan ke dalam game engine agar terasa lebih canggih dan up to date. Sebagai seorang developer game yang bekerja sendiri, mustahil rasanya Anda bisa menguasai semua fitur canggih dari game engine tersebut. Banyak hal hal canggih yang bisa dicapai dengan cara sederhana, selama Anda mau belajar.

*. Lingkungan membantu

Sumber informasi yang sangat membantu dalam mencari game engine yang cocok untuk Anda bisa datang dari lingkungan terdekat Anda; teman yang menguasai game engine tertentu atau dari socmed yang sering Anda kunjungi seperti blog ini. Diskusi mempersingkat waktu yang diperlukan daripada Anda mempelajari semua game engine yang ada. Begitupun, belum tentu yang direkomendasikan ke Anda adalah yang cocok untuk Anda. Paling tidak, Anda sudah mendapatkan gambaran tentang game engine tersebut tanpa Anda perlu mencobanya.

*. Mulailah dari yang Anda punya, kuasai dan tersedia secara native


Anda pengguna Mac? Mulailah dari Objective C dan Xcode. Memang tidak semua game engine tersedia di Mac, tapi Anda tak perlu berinvestasi kepada sesuatu yang tidak dapat Anda miliki (kecuali Anda kaya, well, wth are you doing here :p). Anda tidak perlu membeli PC agar bisa menggunakan UDK karena teman teman Anda menggunakan UDK. Unity tersedia di Mac jika Anda ingin membuat game 3D atau gunakan SpriteBuilder jika ingin membuat game 2D. Pelajari Objective C karena itu adalah bahasa pemrograman standar di lingkungan Mac. Kita bisa membuat game di Xcode dengan C/C++ namun kecuali Anda sudah expert, tidak banyak dokumentasi, tutorial atau referensi yang tersedia membuat game dalam C/C++ di Mac. Objective C? Berlimpah.

*. Dokumentasi / Tutorial / Dukungan dari Pembuat game engine


Fitur paling penting dari sebuah game engine menurut saya adalah dokumentasi yang lengkap, ketersediaan tutorial dan dukungan penuh sang pencipta game engine. Secanggih apapun game engine jika tanpa hal hal di atas, maka tidak ada artinya. Siapa yang tahu fungsi atau class tertentu tanpa referensi yang tepat? Ke siapa kita harus mengadu jika ada fungsi atau class tertentu yang tak bisa jalan? Hal hal di atas akan menciptakan keterikatan di antara para pengguna dan pembuatnya; tercipta forum (seperti blog ini) dan diskusi positif akan timbul secara aktif. Kita bertanya dan mereka menjawab dan kita merasa puas. Kesinambungan seperti ini adalah fitur paling penting menurut saya yang harus ada dalam setiap produk.

*. Harga: sensitif untuk rakyat Indonesia :p


Hampir semua game engine tersedia gratis. Untuk Mac, Xcode dan framework nya tersedia lengkap built-in. Canggih ga perlu third party lagi. Untuk game engine yang multi-platform juga banyak tersedia gratis. Seperti yang saya sebut di awal, ga perlu repot cari versi illegal dari game engine komersil berbayar; tidak mungkin Anda akan menggunakan semua fitur tersebut di awal Anda akan memulai pengembangan game. Dan sebisa mungkin, hindari game engine berbasis open source; Anda pemula dan tak perlu ikut berkecimpung dalam pengembangan game engine. Sebisa mungkin memilih game engine dari perusahaan yang sudah matang dalam industri pengembangan game.

*. Jadi, yang mana yang harus saya pilih?


Saya memiliki 2 komputer, PC & Mac. 
Saya mencoba Xcode, SpriteKit, SpriteBuilder, dan menyukai tampilan dan kemudahan dalam penggunaan aplikasinya, tutorial dan referensi tersedia sangat lengkap. Namun saya tidak menyukai Objective C. Kabar baiknya, Apple tampaknya juga tidak suka dengan Objective C, karena Apple akan mengganti bahasa pemrograman native ke Swift. Sayangnya, rilis resmi Swift akan tersedia setelah musim panas dan saat ini hanya tersedia (beta) untuk developer yang telah terdaftar dan membayar Apple Developer Program.
Saya mencoba Unity3D dan UDK di PC. Saya menyukai keduanya, namun lebih memilih Unity3D. Kenapa? Karena biaya lisensi yang lebih murah dan tidak ada bagi hasil penjualan seperti UDK.

Jadi untuk saat ini, saya menggunakan Unity3D di PC dan sesekali menggunakan SpriteBuilder di Mac.

Demikian, semoga membantu.

Tidak ada komentar:

Posting Komentar