Pengertian Game Engine
Teknologi
game dewasa ini memang sangat populer, bukan hanya dari segi permainan, grafik,
serta efek-efek yang sangat bagus. Untuk menghasilkan game yang layak untuk
dimainkan dan juga 'eye cading', tentunya membutuhkan sebuah perangkat bantu
seperti game engine.
Game
engine merupakan sebuah software yang memang sengaja dibuat untuk keperluan
pembuatan dan pengembangan sebuah game. Dengan adanya game engine ini,
memudahkan seorang pengembang untuk merancang game mulai dari rendering,
visual, arsitektur, AI, dan bahkan sistem jaringan game itu sendiri. Jika game
adalah jiwa para gamer, maka game engine adalah jiwa dari sebuah game.
Dengan
adanya game engine ini, baik proses pembuatan dan pengembangan game menjadi
lebih efisien waktu. Sering kita jumpai game-game yang dirancang untuk konsol
dan desktop, sehingga tanpa game engine proses pembuatannya akan memakan waktu
lebih lama. Dalam game engine sendiri terdapat tools atau alat pendukung yang
berguna untuk rancang bangun sebuah game, antara lain : mesin render 2D dan 3D,
script, collision detection, suara, grafik, animasi, kecerdasan buatan,
menejemen memori, jaringan streaming.
Pada
perkembanganya, game engine ini ada yang berbayar dan ada juga yang gratis
alias open source. Berikut adalah contoh-contoh game engine yang open source
dan berbayar .
Contoh
game engine open source :
·
OGRE
·
Panda 3D
·
crystal space
·
blender game engine
·
jME
·
openSceneGraph, dll.
Contoh
game engine berbayar :
·
c4 Engine
·
torque game engine
·
3DGamestudio
·
DXStudio
·
neoExis engine
·
esenthel engine, dll
Arsitektur Game Engine
Arsitek adalah pelajaran untuk
membuat rancangan dari bangunan. Sedangkan arsitektur mesin game
adalah system perangkat lunak yang dirancang untuk menciptakan dan
pengembangan video game. Dapat dikatakan bahwa arsitektur mesin game
itu adalah rancangan dari sistem perangkat lunak dari game itu
sendiri.
Tahap awal dari merancang suatu game
adalah memilih jenis game yang akan dibuat agar dapat lebih terfokus
dalam mengerjakannya. Selanjutnya adalah mendesaian game yang akan
dibuat. Setelah kita memiliki desain game, langkah berikutnya adalah
mengimplementasikan desain tersebut menjadi source code. Apabila
source telah selesai dirancang, maka game tersebut dapat dimainkan
dan digunakan sesuai yang diinginkan oleh sang pembuat game. Apakah
game tersebut dibuat untuk dikomersilkan atau dikembangkan oleh
orang lain.
Beberapa elemen yang terdapat dalam game engine, yaitu:
a) Tools/Data
Pada pengembangan game paling tidak
dibutuhkan beberapa tools seperti 3d model editor, level editor dan graphics
programs. Bahkan jika diperlukan, seringkali kita mengembangkan game engine
tersebut dengan menambahkan beberapa code dan fitur yang diperlukan.
b) System
System adalah bagian dari game
engine yang berfungsi untuk melakukan komunikasi dengan hardware yang berada di
dalam mesin. System adalah bagian yang membutuhkan perubahan yang cukup banyak
apabila dilakukan implementasi pada platform yang berbeda. Di dalam system
sendiri terdapat beberapa sub system seperti graphics, input, sound, timer,
configuration. System bertanggung jawab untuk melakukan inisialisasi, update
dan mematikan sub system yang terdapat di dalamnya.
c) Console
Console dapat merubah setting game
dan setting game engine di dalam game tanpa perlu melakukan restart pada game
tersebut. Console biasa digunakan dalam proses debugging, seperti misalnya
apabila game engine tersebut mengalami error maka kita hanya mengoutputkan
error message tersebut ke dalam console tanpa harus melakukan restart.
d) Support
Support merupakan bagian yang sering
digunakan pada system di galam game engine. Support berisikan rumus-rumus
matematika yang biasa digunakan, vector, matrix, memory, file loader. Merupakan
dasar dari game engine dan hampir digunakan dalam semua project game engine.
e) Renderer/Engine
Core
Renderer/engine core terdiri dari
beberapa sub yaitu visibility, collision detection dan response, camera, static
geometry, dynamic geometry, particle systems, billboarding, meshes, skybox,
lighting, fogging, vertex shading dan output.
f) Game
Interface
Game interface merupakan layer
antara game engine dan game itu sendiri. Berfungsi sebagai control yang
bertuuan untuk memberikan interface apabila di dalam game engine tersebut
terdapat fungsi yang bersifat dinamis sehingga memudahkan untuk mengembangkan
game tersebut.
g) The
Game
Game merupakan inti dari penggunaan
game engine sendiri, sehingga ini tergantung bagaimana pengguna dalam
mengembangkannya.
Tujuan
Penggunaan Game Engine
Tujuan penggunaan game
engine untuk menyediakan fasilitas yang memudahkan pengembangan, seperti
grafik, suara, fisika dan fungsi AI. Mesin permainan biasanya menyediakan
abstraksi platform, yang memungkinkan permainan yang sama untuk dijalankan pada
berbagai platform termasuk game konsol dan komputer pribadi dengan sedikit,
jika ada, perubahan yang dibuat ke kode sumber permainan. Seringkali, mesin
permainan dirancang dengan arsitektur berbasis komponen yang memungkinkan
sistem tertentu dalam mesin yang akan diganti atau diperpanjang dengan lebih
khusus (dan sering kali lebih mahal) komponen middleware game seperti Havok
untuk fisika, Miles Sound System untuk suara, atau Bink untuk Video.
Beberapa mesin permainan
hanya menyediakan 3D real-time rendering kemampuan bukan berbagai fungsi yang
dibutuhkan oleh game. Mesin ini mengandalkan pengembang game untuk melaksanakan
seluruh fungsi ini atau merakit dari komponen middleware permainan lainnya.
Jenis mesin umumnya disebut sebagai “mesin grafis,” “mesin render,” atau “mesin
3D” bukan meliputi lebih istilah “mesin permainan.” Terminologi ini tidak
konsisten banyak digunakan sebagai fitur lengkap mesin permainan 3D disebut hanya
sebagai “mesin 3D.” Beberapa contoh mesin grafis adalah: Crystal Space,
Genesis3D, Irrlicht, JMonkey Engine, OGRE, RealmForge, Truevision3D, dan Visi
Engine. Modern permainan atau mesin grafis umumnya memberikan grafik adegan,
yang merupakan representasi berorientasi objek dari dunia permainan 3D yang
sering menyederhanakan desain game dan dapat digunakan untuk rendering yang
lebih efisien dari dunia maya yang luas.
Tipe
Game Engine
Game engine biasanya datang dengan berbagai macam jenis dan ditujukan untuk berbagai kemampuan pemrograman. Ada 3 tipe game engine yang ada saat ini, diantaranya :
1. Roll-your-own game engine
Banyak perusahaan game kecil seperti publisher indie biasanya menggunakan engine-nya sendiri. Mereka menggunakan API seperti XNA, DirectX atau OpenGL untuk membuat game engine mereka sendiri. Di sisi lain, mereka kadang menggunakan library komersil atau yang open source. Biasanya game engine tipe ini lebih disukai karena selain kemungkinan besar diberikan secara gratis, juga memperbolehkan mereka (para developer) lebih fleksibel dalam mengintegrasikan komponen yang diinginkan untuk dibentuk sebagai game engine mereka sendiri. Kelemahannya banyak engine yang dibuat dengan cara semacam ini malah menyerang balik developernya.
2. Mostly-ready game
engines
Engine ini biasanya sudah menyediakan semuanya begitu diberikan pada developer/programer. Semuanya termasuk contoh GUI, physiscs, libraries model, texture dan lain-lain. Banyak dari mereka yang sudah benar-benar matang, sehingga dapat langsung digunakan untuk scripting sejak hari pertama. Game engine semacam ini memiliki beberapa batasan, terutama jika dibandingkan dengan game engine sebelumnya yang benar-benar terbuka lebar. Hal ini ditujukan agar tidak terjadi banyak error yang mungkin terjadi setelah sebuah game yang menggunakan engine ini dirilis dan masih memungkinkan game engine-nya tersebut untuk mengoptimalkan kinerja game-nya. Contoh tipe game engine seperti ini adalah Unreal Engine, Source Engine, id Tech Engine dan sebagainya yang sudah sangat optimal dibandingkan jika harus membuat dari awal. Dengan hal ini dapat menyingkat menghemat waktu dan biaya dari para developer game.
3. Point-and-click engines
Engine ini merupakan engine yang sangat dibatasi, tapi dibuat dengan sangat user friendly. Anda bahkan bisa mulai membuat game sendiri menggunakan engine seperti GameMaker, Torque Game Builder dan Unity3D. Dengan sedikit memanfaatkan coding, kamu sudah bisa merilis game point-and-click yang kamu banget. Kekurangannya terletak pada terbatasnya jenis interaksi yang bisa dilakukan dan biasanya hal ini mencakup semuanya, mulai dari grafis hingga tata suara. Tapi bukan berarti game engine jenis ini tidak berguna, bagi developer cerdas dan memiliki kreativitas tinggi, game engine seperti ini bisa dirubah menjadi sebuah game menyenangkan, seperti Flow. Game engine ini memang ditujukan bagi developer yang ingin menyingkat waktu pemrogramman dan merilis game-game mereka secepatnya.
Sumber
http://octianaeni.blogspot.co.id/2013/04/pengenalan-game-engine.html

