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. 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.
SEJARAH GAME ENGINE
Istilah “Game Engine” muncul pada
pertengahan 1990-an, terutama dalam kaitannya dengan game 3D seperti orang
pertama shooters (FPS). Begitulah popularitas id Software permainan Doom dan
Quake. Perangkat lunak grafis, karakter, senjata, dan tingkatan permainan
dirancang oleh mereka sendiri. Konsep dari game engine sebenernya cukup
gampang, yaitu bahan dasar yang diperlukan sebuah game untuk menjalankan
tugasnya, merender pixel demi pixel, menghitung physiscs, memperkirakan input
tombol, dan lain hal, yang memungkinkan developer kreatif dapat membuat sebuah
game dengan engine yang sama menjadi unik satu sama lain. Di analogikan sebagai
sebuah mobil, game engine sudah merupakan bagian mobil, sekitar 50% jadi. Mesin
dan rangkaian sistem pengapian, sampai pembuangan. Kurang body dan aksesoris.Sebuah game engine memungkinkan penggunaan kembali komponen komponen yang dapat mempercepat hadirnya game menjadi nyata di layar monitor mu. Beberapa diantara nya yang termasuk dengan itu adalah deteksi tubrukan, tampilan grafis, setting dalam game, artificial intelligence dan lain lain. Semua komponen tadi disatukan dalam satu pake game engine. Artist dan Developer, dapat menambahkan pustaka texture dan model sendiri untuk dijadikan tokoh utama atau setting dunia dalam sebuah engine. Sekali lagi dalam analogi game, model dan texture dalam game engine bisa dibilang sebagai body dan aksesoris mobil.
Sebuah game engine dibagi lagi menjadi dua bagian besar. Yaitu API dan SDK. API ( Applicaiton Programming Interfaces ) adalah bagian operating system, services dan libraries yang diperlukan untuk memanfaatkan beberapa feature yang diperlukan. Dalam hal ini contohnya DirectX. Sementara SDK adalah kumpulan dari libraries dan API yang sudah siap digunakan untuk memodifikasi program yang menggunakan operating system dan services yang sama. Biasanya, game engine menyertakan keduanya.
Contohnya dalam Unreal Engine, menyiapkan antarmuka baku bagi programmer untuk menciptakan game nya dengan mudah, melalui scripting engine, yang disebut UnrealScript, dan juga libraries, yang berisi model standar dan texture standar dan juga world editor yang disebut sebagai UnrealED.
TUJUAN
Mesin permainan menyediakan seperangkat alat
pengembangan visual selain komponen perangkat lunak dapat digunakan kembali.
Alat ini umumnya diberikan dalam lingkungan pengembangan terintegrasi untuk
mengaktifkan disederhanakan, pesatnya perkembangan game dengan cara yang
berbasis data. Pengembang game engine mencoba untuk “pra-invent the wheel”
dengan mengembangkan suite perangkat lunak yang kuat yang meliputi banyak
elemen adalah game developer mungkin perlu membangun sebuah permainan. Suite
permainan yang paling mesin Menyediakan fasilitas yang memudahkan pengembangan,
seperti grafik, suara, fisika dan AI fungsi. Mesin ini permainan kadang-kadang
disebut “middleware” karena, seperti arti dari istilah bisnis, mereka
menyediakan sebuah platform perangkat lunak yang fleksibel dan dapat digunakan
kembali yang menyediakan semua fungsi inti yang dibutuhkan, langsung dari
kotak, untuk mengembangkan aplikasi permainan sambil mengurangi biaya ,
kompleksitas, dan waktu-ke-pasar-semua faktor penting dalam industri video
sangat kompetitif permainan Gamebryo dan RenderWare adalah seperti program
middleware banyak digunakan.
Beberapa mesin permainan hanya menyediakan kemampuan
real-time 3D rendering bukan berbagai fungsi yang dibutuhkan oleh game. Mesin
ini bergantung pada pengembang game untuk melaksanakan seluruh fungsi ini atau
merakit dari komponen middleware permainan lainnya. Jenis mesin biasanya
disebut sebagai “mesin grafis,” “mesin render,” atau “mesin 3D” bukan lebih
menyeluruh istilah “mesin permainan.” Terminologi ini tidak konsisten digunakan
sebagai banyak fitur lengkap mesin permainan 3D yang disebut hanya sebagai
“mesin 3D.” Beberapa contoh mesin grafis adalah: Ruang Crystal, Genesis3D,
Irrlicht, JMonkey Engine, Ogre, RealmForge, Truevision3D, dan Vision Engine.
Permainan modern atau mesin grafis umumnya menyediakan grafik adegan, yang
merupakan representasi berorientasi objek dari permainan dunia 3D yang sering
menyederhanakan desain game dan dapat digunakan untuk rendering yang lebih
efisien dari dunia maya yang luas.
Sumber :