Game Engine Itu Apa Sih?

gameengine

Pernah dengar istilah game engine dalam proses pembuatan game? Apa yang terbayang di benak kamu ketika mendengar istilah itu?

Apakah yang terbayang adalah mesin pembuat game lengkap dengan tombol warna-warni seperti mesin di pabrik? Atau semacam mesin dengan berbagai macam komponen seperti halnya mesin mobil?

Menurut Wikipedia game engine adalah seperangkat software yang didesain untuk pengembangan game. Waah.. Kok baku sekali ya? Apakah definisi tadi sudah cukup memberi kamu gambaran tentang apa itu game engine?

Fokus ke gameplay

Agar lebih mudah memahami tentang game engine, saya mau ngobrol lebih dulu tentang apa sih fungsi game engine dalam proses pembuatan game?

Fungsi utama dari sebuah game engine adalah membantu programmer game untuk fokus membuat kode yang berhubungan dengan gameplay. Untuk itu, game engine bertugas untuk menangani pemrograman low-level dalam proses pembuatan game.

Contohnya seperti pada posting saya tentang membuat animasi karakter di iOS yang lalu, untuk menampilkan elemen grafis (sprite karakter) hanya dibutuhkan kode seperti ini:

// membuat objek sprite
CCSprite *pSprite = [CCSprite spriteWithFile:@"person_green_1.png"];

// mengatur letak sprite di layar
pSprite.position = ccp(winSize.width / 2, winSize.height / 2);

// menambahkan objek sprite ke layer GameLayer,
// untuk ditampilkan ke layar device
[self addChild:pSprite];

Jika tanpa bantuan game engine, maka saya perlu menangani aspek low level yang berhubungan dengan hardware iOS untuk sekedar menampilkan grafis sprite saja. Bayangkan berapa banyak waktu yang dibutuhkan untuk menangani aspek low level itu, padahal dengan bantuan game engine saya bisa fokus membuat kode untuk logic gameplay yang akan dijalankan oleh sprite tadi.

Fungsi untuk menampilkan grafis (rendering) tersebut merupakan salah satu komponen utama dalam suatu game engine.

Sudah mulai terbayang kan kegunaan game engine itu?

Game engine != Rendering engine

Mungkin dari obrolan tadi, ada yang menyimpulkan kalau fungsi game engine hanyalah untuk menampilkan elemen grafis ke dalam game.

Bukan.

Walaupun ada beberapa engine seperti Irrlicht atau Ogre3D yang bisa dipakai untuk membuat game namun engine-engine tersebut sebenarnya merupakan rendering engine, yang tugasnya hanya untuk menangani proses rendering saja.

Beda dengan game engine yang memiliki kemampuan lain selain menangani proses rendering saja. Biasanya suatu game engine memiliki komponen (sub-engine) lain yang membantu programmer untuk menangani aspek-aspek lain dalam pembuatan game, seperti:

  • Physics engine. Digunakan untuk memasukkan elemen physics ke dalam game.
  • Sound engine. Digunakan untuk menangani aspek pemrograman musik atau sound effect dalam game.
  • AI engine. Digunakan untuk implementasi kecerdasan buatan di dalam game.

Dengan kumpulan komponen engine itulah suatu game engine bisa membantu dalam proses pembuatan game.

Nah.. Setelah membahas tentang contoh tadi, mungkin kamu bisa lebih jelas memahami arti dari definisi game engine versi Wikipedia yang tadi disebutkan di atas.

Jadi game engine itu hanya untuk programmer ya?

start-page-01

Tidak juga sih. Saat ini ada banyak pilihan game engine yang bisa dipakai untuk membuat game. Ada game engine yang bisa membantu membuat game untuk kamu yang belum pernah ngoding sama sekali, seperti GameMaker:Studio atau Construct2. Dengan menggunakan game engine tadi kamu cukup melakukan drag ‘n drop saja untuk membuat game. Hebat kan..

Lalu adakah game engine yang punya fitur drag ‘n drop tapi tetap bisa ngoding juga?

Ada. Salah satunya pernah saya bahas di posting tentang game engine populer bernama Unity beberapa waktu lalu. Selain itu ada beberapa game engine lain yang serupa seperti Torque 3D, UDK dari Epic Games.

scene_view_unity

Untuk bikin game perlu pakai game engine ya?

Berarti untuk membuat game itu harus pakai game engine ya..

Tidak juga sih..

Sebenarnya kamu bisa saja membuat game tanpa menggunakan game engine. Atau hanya menggunakan salah satu komponen engine (misal: hanya rendering engine atau physic engine saja). Fungsi dari game engine adalah untuk membantu kamu membuat game dan bukanlah satu komponen wajib yang harus dipakai untuk membuat game.

Jadi game engine itu adalah..

Nah.. Dari obrolan pada posting kali ini, saya harap kamu sudah bisa memiliki gambaran yang lebih jelas tentang game engine dan fungsinya dalam proses pembuatan game.

Jadi kalau mau ditambahkan sedikit dari definisi Wikipedia tadi, game engine merupakan seperangkat software (bisa dalam bentuk library, framework, atau IDE) yang didesain untuk (membantu) membuat game.

Pilihan untuk menggunakan game engine atau tidak ada di tangan kamu sendiri. Kalau kamu ingin belajar dasar-dasar pemrograman game saya sarankan untuk mencoba membuat game tanpa menggunakan game engine. Tapi kalau kamu ingin mencoba ide game yang kamu punya ke dalam bentuk prototype atau kamu ingin membuat game dalam waktu yang (relatif) lebih cepat, maka game engine bisa membantu kamu dalam proses pembuatan game.

Kalau masih bingung game engine mana yang cocok untuk konsep game yang mau kamu bikin, di posting ini saya membahas tentang beberapa game engine populer dan tips-tips untuk memilih engine mana yang cocok.

Sampai ketemu lagi di posting yang lain ya, selamat bereksperimen dan membuat game..

Cheers!

Posted from WordPress for Windows Phone [Lumia]

Iklan

6 thoughts on “Game Engine Itu Apa Sih?

  1. tokek berkata:

    wah info tentang pengertian game engine nya bagus banget (ga kayak situs lain, isinya samaaa semua antara site). lha trus kalo game2 jenis action rpg itu pake jenis engine apa ya..

    • Hehehe.. Thank you bwat pujiannya.. (^^,)

      Setahu saya, untuk bikin game jenis action rpg itu bisa pakai engine RPG Maker. Walaupun bisa juga sih pakai engine seperti Unity atau Cocos2DX atau yang lainnya.. Tergantung kebutuhan juga sih..

Komentar ditutup.