Arsitektur Game Engine
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, jadi 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.
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.
Di dalam game engine, terdapat
fungsi-fungsi atau modul-modul, antara lain :
ü Rendering engine
ü Physical engine (collision detection)
ü Sound script
ü Animation
ü Artificial intelegenct
ü Network
ü Streaming
ü Memory management
ü Scene graph
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.
Contoh-contoh
Game Engine
1. Freeware
game engine/open source game engine:
§ Blender
§ Golden T Game Engine (GTGE)
§ DXFramework
§ Ogre
§ Aleph One
§ Axiom Engine
§ Allegro Library
§ Box2D
§ Build Engine
§ Cube
§ Cube 2
§ DarkPlaces
§ jMonkeyEngine (jME)
§ Panda3D
§ Sphere
§ Unreal Engine
2. Commercial
engines/game engine berbayar (komersial):
§ Alamo
§ A.L.I.V.E
§ BigWorld
§ DXStudio
§ Dunia Engine
§ Euphoria
§ GameStudio
§ Jade Engine
§ Jedi
§ Medusa
§ RPG Maker VX
§ RPG Maker XP
§ RPG Maker 2003
§ RPG Maker 95
§ Vision Engine
Contoh aplikasi
dari game engine
Berikut ini merupakan contoh open source game
engine :
Cafu merupakan software yang tidak hanya open source
tetapi juga 100% free software, dengan lisensi GNU General Public License
(GPLv3). Ditulis dalam bahasa C++, Cafu tidak hanya bisa digunakan untuk
membuat game 3D, tetapi juga bisa digunakan untuk membuat aplikasi 3D lainnya.
Delta3D merupakan
suatu game engine yang bersifat open source, yang tidak hanya cocok untuk
membuat game 3D tetapi juga cocok untuk pembuatan training 3D, simulasi,
visualisasi, edukasi, entertainment dan sebagainya. Hal ini dikarenakan Delta3D
memiliki fitur-fitur yang bisa digunakan untuk pemodelan dan juga simulasi,
seperti After Action Review (AAR), High Level Architecture (HLA), dan SCORM
Learning Management System.
Panda3D
merupakan game engine yang open source, dan bebas digunakan untuk tujuan apa
saja, termasuk untuk proyek komersial. Dipelopori oleh kerjasama Universitas
Carnegie Mellon dan Disney, game engine ini ditulis menggunakan bahasa
pemrograman Python dan C++.
jMonkeyEngine merupakan open source game engine berlisensi BSD license, yang bisa
digunakan untuk membuat game 3D. Game engine ini dibuat menggunakan bahasa
pemrograman Java. Sudah mendukung OpenGL versi 2.0 ke atas, game engine ini
sudah mencapai versi stabil jMonkeyEngine 3.0 saat ini.
Sauerbraten itu sendiri merupakan game First Person Shooter (FPS). Dan Cube 2
merupakan game enginenya. Game engine ini digunakan untuk membuat peta/geometri
sendiri untuk digunakan dalam games. Bahkan, ada fitur untuk menambahkan bagian
peta atau bentuk geometri secara dinamis saat masih di dalam games. Tentu saja,
game engine ini berbasis open source.
Sumber Referensi:
Tidak ada komentar:
Posting Komentar