ARSITEKTUR GAME ENGINE
Perangkat lunak yang dapat
membuat atau mengembangkan sebuah game yang ingin kita buat dapat disebut game
engine. Game ini dapat berbagai genre game yang dapat Anda buat seperti Action,
shooter, adventure dan sejenisnya.
Game engine menyediakan
seperangkat alat pengembangan visual di samping komponen software digunakan
kembali. Alat-alat ini umumnya diberikan dalam suatu lingkungan pengembangan
terpadu untuk mengaktifkan disederhanakan, perkembangan pesat dari permainan
dengan cara data-driven. Mesin pengembang Game upaya untuk “pra-menciptakan
roda” dengan mengembangkan suite perangkat lunak kuat yang mencakup banyak
unsur pengembang game mungkin perlu untuk membangun sebuah permainan.
Kebanyakan mesin permainan suite menyediakan fasilitas yang memudahkan
pengembangan, seperti grafik, suara, fisika dan fungsi AI. Mesin permainan ini
kadang-kadang disebut “middleware” karena, seperti dengan istilah naluri
bisnis, mereka menyediakan sebuah platform perangkat lunak yang fleksibel dan
dapat digunakan kembali yang menyediakan semua fungsionalitas inti yang
dibutuhkan, langsung dari kotak, untuk mengembangkan sebuah aplikasi permainan
sambil mengurangi biaya , kompleksitas, dan waktu-ke-pasar-semua faktor penting
dalam industri video game yang sangat kompetitif. Gamebryo dan RenderWare
adalah seperti program middleware banyak digunakan.
Arsitektur Game
Adalah rancangan atau blueprint
dari sebuah game. Sedangkan arsitektur
mesin game adalah system perangkat lunak yang
dirancang untuk menciptakan dan pengembangan video game. Dapat dikatakan bahwa arsitektur mesin game itu adalah
rancangan dari sistem perangkat lunak
dari game itu sendiri.
Beberapa elemen yang terdapat
dalam game engine, yaitu:
Tools/Data
Pada 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 adalah bagian dari game
engine yang berfungsi untuk melakukan komunikasi dengan hardware yang berada di
dalam mesin. System adalah bagian yang membutuhkan perubahan yang cukup banyak
apabila dilakukan implementasi pada platform yang berbeda. Di dalam system
sendiri terdapat beberapa sub system seperti graphics, input, sound, timer,
configuration. System bertanggung jawab untuk melakukan inisialisasi, update
dan mematikan sub system yang terdapat di dalamnya.
Console
Console dapat merubah setting
game dan setting game engine di dalam game tanpa perlu melakukan restart pada
game tersebut. Console biasa digunakan dalam proses debugging, seperti misalnya
apabila game engine tersebut mengalami error maka kita hanya mengoutputkan
error message tersebut ke dalam console tanpa harus melakukan restart.
Support
Support merupakan bagian yang
sering digunakan pada system di galam game engine. Support berisikan
rumus-rumus matematika yang biasa digunakan, vector, matrix, memory, file
loader. Merupakan dasar dari game engine dan hampir digunakan dalam semua
project game engine.
Renderer/Engine Core
Renderer/engine core 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 merupakan layer
antara game engine dan game itu sendiri. Berfungsi sebagai control yang
bertuuan untuk memberikan interface apabila di dalam game engine tersebut
terdapat fungsi yang bersifat dinamis sehingga memudahkan untuk mengembangkan
game tersebut.
The Game
Game merupakan inti dari
penggunaan game engine sendiri, sehingga ini tergantung bagaimana pengguna
dalam mengembangkannya.
Tipe-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. Terkadang mereka juga membuat semuanya mulai dari nol.
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. Tower Games Studio
membutuhkan satu tahun penuh untuk menyempurnakan game engine-nya, hanya untuk
ditulis ulang semuanya dalam beberapa hari sebelum penggunaannya karena adanya
bug kecil yang sangat mengganggu.
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 Game Engine
Banyak sekali game engine yang
ada sekarang ini mulai dari yang gratis sampai yang berbayar. Berikut contoh 10
game engine yang bagus berdasarkan banyaknya review yang ada pada situs
DevMaster.net tersebut.
Game engine gratis
1. OGRE
2. Concos2d
3. Panda3D. Contoh
game-nya : Pirates of the Caribbean Online.
4. Crystal Space
5. jME
6. Blender Game
Engine
7. Reality Factory
8. The Nebula Device
2
9. RealmForge
10. OpenSceneGraph
11. Irrlicht
Komentar
Posting Komentar