a.
Pengertian
Game Engine (Mesin Game)
Game Engine adalah system perangkat
lunak yang dirancang untuk menciptakan dan pengembangan video game. Ada banyak
mesin permainan yang dirancang untuk bekerja pada konsol permainan video dan
sistem operasi desktop seperti Microsoft Windows, Linux, dan Mac OS X.
fungsionalitas inti biasanya disediakan oleh mesin permainan mencakup mesin
render ( “renderer”) untuk 2D atau 3D grafis, mesin fisika atau tabrakan (dan
tanggapan tabrakan), suara, script, animasi, kecerdasan buatan, jaringan,
streaming, manajemen memori, threading, dukungan lokalisasi, dan adegan grafik.
Proses pengembangan permainan sering dihemat oleh sebagian besar menggunakan
kembali mesin permainan yang sama untuk menciptakan permainan yang berbeda.
Engine bukanlah executable program,
artinya engine tidak bisa dijalankan sebagai program yang berdiri sendiri.
Diperlukan sebuah program utama sebagai entry point atau titik awal jalannya program.
Pada C++, entry point-nya adalah fungsi ‘main().’ Biasanya program utama ini
relatif pendek. Game engine adalah program yang ‘memotori’ jalannya suatu
program game. Kalau game diilustrasikan sebagai ‘musik’ yang keluar dari mp3
player, maka engine adalah ‘mp3 player’ dan program utama adalah ‘data mp3’
yang dimasukkan ke dalam mp3 player tersebut. Dengan adanya engine, waktu,
tenaga dan biaya yang dibutuhkan untuk membuat game software menjadi berkurang
secara signifikan. Beberapa game dengan jenis dan gameplay yang hampir sama
bisa dibuat dengan sedikit usaha bila terlebih dulu dibuat engine-nya. Setelah
engine diselesaikan, programmer hanya perlu menambahkan program utama, memakai
resources (objek 3D, musik, efek suara) yang baru, dan, jika benar-benar
dibutuhkan, sedikit memodifikasi engine sesuai kebutuhan spesifk dari game yang
bersangkutan. Program game engine seluruhnya berorientasi objek. Dia lebih
bersifat reaktif daripada prosedural. Sulit untuk menggambarkan engine secara
keseluruhan dalam flow-chart, karena alur program bisa diatur sesuai dengan
keinginan pemakai engine, yaitu game programmer.
b.
Tujuan
Penggunaan Game Engine
Game
engine menyediakan seperangkat alat pengembangan visual di samping komponen
software digunakan kembali. Alat-alat ini umumnya diberikan dalam suatu
lingkungan pengembangan terpadu untuk mengaktifkan disederhanakan, perkembangan
pesat dari permainan dengan cara data-driven. Mesin pengembang Game upaya untuk
“pra-menciptakan roda” dengan mengembangkan suite perangkat lunak kuat yang
mencakup banyak unsur pengembang game mungkin perlu untuk membangun sebuah
permainan. Kebanyakan mesin permainan suite menyediakan fasilitas yang
memudahkan pengembangan, seperti grafik, suara, fisika dan fungsi AI. Mesin
permainan ini kadang-kadang disebut “middleware” karena, seperti dengan istilah
naluri bisnis, mereka menyediakan sebuah platform perangkat lunak yang
fleksibel dan dapat digunakan kembali yang menyediakan semua fungsionalitas
inti yang dibutuhkan, langsung dari kotak, untuk mengembangkan sebuah aplikasi
permainan sambil mengurangi biaya , kompleksitas, dan waktu-ke-pasar-semua
faktor penting dalam industri video game yang sangat kompetitif. Gamebryo dan
RenderWare adalah seperti program middleware banyak digunakan.
Seperti solusi
middleware lainnya, 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 seperti
RenderWare bahkan dirancang sebagai rangkaian dihubungkan secara longgar
komponen middleware permainan yang bisa selektif dikombinasikan untuk membuat
mesin khusus, bukan pendekatan yang lebih umum dari memperluas atau
menyesuaikan solusi terintegrasi yang fleksibel. Namun diperpanjang tercapai,
hal itu tetap menjadi prioritas tinggi dalam mesin game karena berbagai
kegunaan yang mereka diterapkan. Meskipun kekhususan nama, mesin permainan yang
sering digunakan untuk jenis lain aplikasi interaktif dengan kebutuhan grafis
real-time seperti demo pemasaran, visualisasi arsitektur, simulasi pelatihan,
dan lingkungan pemodelan.
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.
c. 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
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.
Terkadang mereka juga membuat semuanya mulai dari nol. 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. Tower Games Studio membutuhkan satu tahun
penuh untuk menyempurnakan game engine-nya, hanya untuk ditulis ulang semuanya
dalam beberapa hari sebelum penggunaannya karena adanya bug kecil yang sangat
mengganggu.
2. Mostly-ready game engines
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
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.
Beberapa
Contoh Game Engine Open Source :
Ø
3Dgame
Studio
Ø
Delta
3D
Ø
UnrealEngine
Ø
Panda3D
Ø
Torque
Ø
Quake
Engine
Tidak ada komentar:
Posting Komentar