Definisi
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 :
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- The Game
Merupakan inti dari penggunaan game engine sendiri, sehingga
terserah kita bagaimana mengembangkan game tersebut.
Saat sekarang ini sudah sangat banyak game engine yang hadir,
dan sangat maju. Para pembuat game engine kini berlomba-lomba untuk menciptakan
game engine dengan tampilan yang menarik agar menciptakan suasana permainan
yang nyaman atau enak untuk dilihat dan dimainkan dalam PC ataupun Console.
Dengan tampilan atau graphic yang menarik yang kini semakin mendekati realitas
dalam segi fisik para tokoh serta gameplay-nya, akan membuat para gamers
semakin antusias untuk memainkan game tersebut.
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.
Jenis-jenis Game Engine
Roll-your-own game engine.
Banyak perusahaan game kecil seperti publisher indie biasanya
menggunakan engine nya sendiri. Ini berarti mereka menggunakan API seperti XNA,
DirectX atau OpenGL untuk membuat game engine mereka sendiri. Disisi lain,
mereka kadang menggunakan libraries komersil atau malah open source. Terkadang
mereka malah membuat semuanya dari nol.
Biasanya, game engine tipe ini lebih disukai karena selain
kemungkinan besar tersedia 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. Menara Games Studio
membutuhkan satu tahun penuh untuk menyempurnakan game engine nya, hanya untuk
di tulis ulang semuanya dalam beberapa hari penggunaan karena adanya bug kecil
yang sangat mengganggu.
Mostly-ready game engines.
Engine engine ini biasanya sudah menyediakan semuanya begitu
diberikan pada developer / programmer. Semuanya termasuk contoh GUI, physiscs,
libraries model dan texture, dan segalanya. Banyak dari mereka yang sudah benar
benar matang, sehingga dapat langsung digunakan untuk scripting sejak hari
pertama.
Biasanya
game engine semacam ini memiliki batasan batasan, terutama jika dibandingkan
dengan game engine sebelumnya yang benar benar terbuka lebar. Hal ini ditujukan
agar tidak terjadi terlalu banyak error yang mungkin terjadi setelah sebuah
game yang menggunakan engine ini dirilis, dan masih memungkinkan game engine
nya itu sendiri untuk mengoptimalkan kinerja game nya. Banyak dari game engine
seperti ini, Unreal Engine, Source Engine, id Tech Engine dan sebagainya, yang
sudah sangat optimal dibandingkan jika harus membuat dari awal. Hal ini dengan
serta merta menyingkat sangat banyak waktu dan jelas, biaya dari para Developer
game.
Point-and-click engines.
Engine untuk point-and-click merupakan engine yang sangat amat
dibatasi, tapi dibuat sangat user friendly. Kamu bahkan bisa mulai membuat game
mu 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 nggak berguna, bagi
developer cerdas dan berdaya kreativitas tinggi, game engine bapuk seperti ini
bisa dirubah menjadi sebuah game menyenangkan, seperti Flow. Game
engine seperti ini memang ditujukan bagi developer yang ingin menyingkat waktu
pemrogramman, dan secepatnya merilis game game mereka.
Beberapa
contoh game engine
- 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.
- 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.
- 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.
Sumber :
Posting Komentar