Game
engine adalah perangkat lunak yang dirancang untuk membuat dan
mengembangkan video game. Fungsi utama yang diberikan oleh game engine
meliputi rendering untuk 2D atau 3D graphic, collision detection, sound,
scripting, animasi, artificial intelligence, networking, memory
management, threading dan scene graph. Game engines memberikan perangkat
untuk visual development dengan tambahan komponen perangkat lunak yang
dapat dipakai berulang kali. Perangkat ini pada umumnya memberikan
integrated development environment yang dapat mempermudah, serta
mempercepat pengembangan game.
Game
engine juga sering disebut juga “Game Middleware”. Game Middleware
adalah software yang didalamnya sudah terdapat elemen-elemen yang
dibutuhkan oleh seorang game developer, kebanyakan dari game middleware
memberikan fasilitas guna menunjang pengembangan game dengan mudah
seperti graphics, sound dan Artificial intelligence.
Beberapa elemen yang ada di dalam game engine adalah :
a. Tools/Data
Dalam
pengembangan game, dibutuhkan data yang tidak semudah menuliskan text
files. Dalam 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
sendiri adalah bagian dari game engine yang berfungsi untuk melakukan
komunikasi dengan hardware yang berada di dalam mesin. Jika game engine
sudah dibuat dengan baik maka system ini adalah satu-satunya bagian yang
membutuhkan perubahan yang cukup banyak apabila dilakukan implementasi
pada platform yang berbeda. Di dalam system sendiri terdapat beberapa
sub system yaitu graphics, input, sound, timer, configuration. System
sendiri bertanggung jawab untuk melakukan inisialisasi, update dan
mematikan sub system yang terdapat di dalamnya.
c. Console
Dengan
menambahkan console, kita dapat merubah setting game dan setting game
engine di dalam game tanpa perlu melakukan restart pada game tersebut.
Console sendiri lebih sering digunakan dalam proses debugging. Apabila
game engine tersebut mengalami error kita tinggal mengoutputkan error
message tersebut ke dalam console tanpa harus melakukan restart. Console
sendiri dapat dihidupkan dan dimatikan sesuai keinginan.
d. Support
Support
adalah bagian yang paling sering digunakan oleh system di dalam game
engine. Support sendiri berisi rumus-rumus matematika yang biasa
digunakan, vector, matrix, memory manager, file loader. Merupakan dasar
dari game engine dan hampir digunakan semua projek game engine.
e. Renderer/Engine Core
Pada
game engine, engine core / renderer 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 sendiri merupakan layer diantara game engine dan game itu
sendiri. Berfungsi sebagai control yang bertujuan untuk memberikan
interface apabila di dalam game engine tersebut terdapat fungsi fungsi
yang bersifat dinamis sehingga memudahkan untuk mengembangkan game
tersebut.
g. The Game
Merupakan inti dari penggunaan game engine sendiri, sehingga terserah kita bagaimana mengembangkan game tersebut.
Beberapa contoh game engine :
a. RealmForge
Merupakan
free dan open source game engine untuk Microsoft .Net Framework dan
dikhususkan pada visual3D Game Engine, merupakan cross platform game
engine untuk .NET 2.0 dan Microsoft XNA.RealmForge dibangun diatas AXIOM
3D rendering engine. Di tulis dalam bahasa C# keseluruhan. Dibangun
untuk pembuatan game berbasis .NET.
b. Truevision3D
Merupakan
game engine 3D yang dibangun dengan menggunakan visual basic 6 dan C++
dengan menggunakan Microsoft Directx API. Mulai versi 6.5, engine ini
menggunakan direct 9 dan shader support, serta ditulis ulang menggunakan
C++. Sampai perkembangan terbaru, belum ada wacana untuk
mengembangkannya untuk mendukung penggunaan directx9 serta Microsoft
XNA.
c. OGRE
OGRE (Object-Oriented Graphics Rendering Engine)
merupakan engine yang mendukung 3D Graphic. Merupakan game engine yang
fleksibel dalam melakukan 3D Rendering, ditulis dalam bahasa C++
sehingga memudahkan pengembang untuk membangun game yang mendukung 3D
Graphics.
Beberapa contoh game middleware yang sering digunakan :
a. Gamebryo
Merupakan
game engine yang berawal dari perusahaan Numerical Design Limited (NDL)
akan tetapi pada perkembangannya, perusahaan NDL bergabung dengan
Emergent Game Technologies. Ditulis menggunakan bahasa C++, Gamebryo
merupakan 3D Game engine yang memberikan support kepada beberapa
platform sebagai berikut :
- Windows (baik direct 9 dan 10)
- Nintendo game cube
- Nintendo WII
- PS 2 dan PS 3
- XBOX serta XBOX360
b. Renderware
Merupakan
salah satu saingan dari Gamebryo. Bergerak dalam bidang 3D API dan
graphic rendering engine. Renderware digunakan pada computer games,
Active Worlds serta beberapa VRML Browser. Merupakan game engine yang
sering digunakan di PS2 sehingga sering disebut sebagai “Sony’S
Directx”.
c. Unreal Engine
Merupakan
salah satu game engine yang cukup populer. Dikembangkan oleh Epic Games
dalam bahasa C++, Unreal engine menjadi salah satu game engine yang
mempunyai kemampuan portability yang baik. Dapat berjalan pada beberapa
platform seperti Windows, Linux, MacOS dan beberapa video games console
seperti Dreamcast, XBOX, XBOX360.
EmoticonEmoticon