![]() | |||||||||
Selamat sore menjelang malam nih para
teman-teman blogger, dalam bahasan kali ini saya akan melanjutkan dari tulisan
sebelumnya yang tentu bahasannya tentang game juga yaitu tentang arsitektur
game engine,sebelumnya apakah teman-teman sekalian sudah tahu apakah game
engine ? serta bagaimana arsitektur berserta tipe-tipe game engine ? untuk itu
berikut penjelasannya...
Game engine adalah
sebuah sistem perangkat lunak (software) yang dirancang untuk pembuatan
dan pengembangan suatu video game. Game engine memberikan kemudahan
dalam menciptakan konsep sebuah game yang akan di buat. Mulai dari sistem
rendering, physics, arsitektur suara scripting, A.I, dan bahkan sistem networking.
Game engine dapat dikatakan sebagai jiwa dari seluruh aspek sebuah game.
Tujuan digunakannya game
engine adalah untuk mempermudah pembuatan bagian‐bagian tertentu dalam game,
membagi‐bagi
pengembangan game menjadi modul‐modul tertentu, dan memudahkan kolaborasi antar pihak.
Game engine biasanya datang dengan
berbagai macam jenis dan ditujukan untuk berbagai kemampuan pemrogramman.
Berikut ini beberapa tipe dari game engine.
- Roll Your‐Game
Engine
Game engine tipe lebih
disukai karena selain kemungkinan besar gratis, tipe game engine ini
juga memperbolehkan para developer lebih fleksibel dalam mengitegrasikan
komponen yang diinginkan untuk dibentuk sebagai game engine mereka
sendiri. Namun kelemahan dari tipe game engine ini banyak engine yang dibuat
dengan cara semacam ini malah menyerang balik developernya.
- Mostly‐Ready‐Game
Engine
Engine ini biasanya
sudah menyediakan semuanya begitu diberikan pada developer/programmer. Semuanya
termasuk conth GUI, phisycs, libraries models, 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 banyak terjadi error yang mungkin terjadi
setelah sebuah game yang menggunakan engine ini dirilis dan masih memungkinkan
game engine‐nya tersebut untuk mengoptimalkan
kinerja game‐nya. Dengan hal ini dapat menghemat
waktu dan biaya dari para developer game.
- Point‐and‐Click
Engine
Engine ini merupakan engine
yang sangat dibatasi, tetapi 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.
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.
Seperti halnya perangkat lunak lainnya,
pada geme engine juga terdapat beberapa elemen diantaranya :
* 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 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 seperti : 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 user dapat mengembangkan game
tersebut sesuai dengan yang diinginkan.
1. Freeware-Blender
- Ogre - Axiom Engine - Build Engine - Cube - Cube 2 - Panda3D - Unity 2. Berbayar/ Commercial - Alamo - A.L.I.V.E - BigWorld - DXStudio - Dunia Engine - Euphoria - GameStudio
Demikianlah tulisan saya tentang arsitektur
game engine, semoga bermanfaat dan dapat menambah wawasan teman-teman, apabila
ada kesalahan mohon maaf, sekian dan terima kasih.
Referensi :
|
Jumat, 22 April 2016
Arsitektur Game Engine
Langganan:
Postingan (Atom)