Definisi Game Engine
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
:
http://www.gamexeon.com
0 komentar:
Posting Komentar