ARSITEKTUR GAME ENGINE
1. Arsitektur
Arsitektur yaitu
seni yang dilakukan oleh setiap individual untuk berimajinasi dan ilmu dalam
merancang bangunan. Namun dalam arsitektur game
engine ini, ilmu arsitektur yang kita imajinasikan bukanlah untuk merancang
bangunan, melainkan merancang suatu perangkat lunak.
2. Game Engine
Game engine adalah salah satu perangkat lunak yang
bisa mempresentasikan keadaan dunia nyata kedalam dunia virtual dan dapat
digunakan untuk mengembangkan aplikasi 3 dimensi. Game engine
merupakan 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 dibuat. Tujuan dari game engine
yaitu untuk mempermudah pembuatan bagian-bagian tertentu dalam game, membagi-bagi pengembangan game menjadi modul-modul tertentu, dan
memudahkan kolaborasi antar pihak.
Saat ini game engine tidak hanya digunakan untuk
pembuatan game saja, tetapi dapat digunakan untuk mengembangkan sebuah
augmented reality untuk berbagai macam aplikasi baik peta atau pembelajaran.
Sebuah mesin
permainan adalah sebuah sistem perangkat lunak yang dirancang untuk penciptaan
dan pengembangan video game. Ada banyak mesin permainan yang dirancang untuk
bekerja pada konsol video games dan sistem operasi desktop seperti Microsoft
windows, linux, dan Mac OS X. Fungsional inti biasanya disediakan oleh mesin
permainan yang mencakup mesin render (“renderer”)
untuk 2D atau 3D grafis, physics engine
dan collision detection (dan collision response), suara, script, animasi,
kecerdasan buatan, jaringan, streaming, manajemen memori, threading, dan scene
graph. Proses pengembangan permainan sering dihemat karena sebagian besar
permainan menggunakan kembali mesin permainan yang sama untuk menciptakan
permainan yang berbeda.
Permainan-permainan
yang dibuat dengan game engine umumnya perpaduan antara 3 dimensi, sound,
animasi, dan penempatan kamera untuk menambah suasana yang kelihatan seperti
nyata.
3. Abstraksi Hardware
Kebanyakan dari
suatu permainan, 3D rendering mesin atau sistem dalam mesin permainan dibangun
di atas sebuah API grafis, seperti Direct 3D atau OpenGL yang menyediakan
abstraksi perangkat lunak dari GPU atau video card. Sebelum hardware-accelerated
3D grafis, renderers perangkat lunak telah digunakan. Software rendering masih
digunakan dibeberapa model tools untuk memberikan gambar bila akurasi visual
dinilai lebih real-time performance (frame per-detik), seperti pada kasus Windows
Vista, dukungan untuk Direct3D 10.
Threading adalah
mengambil sesuatu yang lebih penting karena modern sistem multi-core dan
meningkatnya tuntutan dalam realisme.
Meskipun istilah
yang digunakan pertama kali pada 1990-an, ada beberapa sistem sebelumnya pada
tahun 1980 yang juga dianggap sebagai mesin game, seperti Sierra’s AGI dan
sistem SCI, LucasArts sistem dan insentif SCUMM Software’s Freescape mesin. Namun,
tidak seperti mesin permainan modern, mesin permainan ini tidak pernah
digunakan dalam produk-produk pihak ketiga.
4. Trend Terakhir
Sebagai teknologi
mesin permainan yang sudah canggih dan menjadi lebih user-friendly, aplikasi
mesin permainan telah diperluas dalam ruang lingkup. Dan kini digunakan untuk
permainan seperti visualisasi, pelatihan, kesehatan, dan aplikasi simulasi
militer. Untuk memfasilitasi aksesibilitas, platform perangkat keras baru kini
sedang ditargetkan oleh mesin permainan, termasuk telepon selular dan web
browser. Selain itu, kini mesin permainan lebih banyak dibangun atas bahasa tingkat
tinggi seperti Java dan C# atau Python.
5. Middleware
Sebagian besar
program middleware menyediakan fasilitas yang mempermudah pembangunan, seperti
grafik, suara, fisika dan fungsi AI. Beberapa middleware hanya melakaukan satu
hal, tetapi mereka melakukannya dengan lebih efisien daripada mesin tujuan
umum.
6. Game Tools
Suatu alat
pengembang permainan adalah aplikasi perangkat lunak khusus yang membantu atau
memfasilitasi pembuatan komputer atau video game. Hamper semua alat-alat
pengembang permainan dikembangkan oleh pengembang kostum untuk suatu permainan.
Meskipun alat pengembang permainan dapat digunakan kembali, mereka hamper selalu
mulai sebagai sumber daya untuk satu permainan.
Berikut
contoh pembuatan Game menggunakan algoritma Minimax
Permainan Tic Tac Pocoyo merupakan permain tic tac toe yang bertemakan kartun Pocoyo
dan mempunyai dimensi
6x6. Permainan ini adalah
salah satu dari permainan yang menerapkan
konsep kecerdasan buatan. Karena dalam permainan ini, seorang pemain akan
berusaha mengalahkan komputer yang dirancang memiliki kecerdasan yang sama
dengan manusia
(Artificial Intelligence).
Algoritma yang digunakan pada game ini yaitu
algoritma Minimax.
Keuntungan yang didapat dengan menggunakan algoritma minimax ini yaitu algoritma minimax mampu menganalisis segala kemungkinan posisi
permainan untuk menghasilkan keputusan yang terbaik karena algoritma minimax
ini bekerja secara rekursif dengan mencari langkah yang akan membuat lawan
mengalami kerugian minimum.
Gambar 1. Story Board
Rules permainan ini yaitu :
-
User memulai permainannya terlebih dahulu dan dapat menentukan tanda berkarakter Pocoyo di awal mula permainanya dimana pun selama berada di dalam papan permainan
-
Setelah itu komputer (AI) akan bekerja menempatkan tanda berkarakter
Gajah untuk jalan melawan user
-
Yang berhasil membuat 6 tanda secara berturut-turut secara horizontal / vertikal / diagonal akan memenangkan permainan ini
Jadi algoritma minimax disini sangatlah
berpengaruh untuk berjalannya permainan “Tic Tac Pocoyo” ini. Karena pengecekan
akan akan dilakukan untuk seluruh kemungkinan yang ada sampai akhir permainan
dilakukan. Pengecekan tersebut akan menghasilkan pohon permainan yang berisi
semua kemungkinan tersebut.
Keuntungan yang didapat
dengan menggunakan algoritma minimax yaitu algoritma minimax mampu menganalisis
segala kemungkinan posisi permainan untuk menghasilkan keputusan yang terbaik
karena algoritma minimax ini bekerja secara rekursif dengan mencari langkah
yang akan membuat lawan mengalami kerugian minimum. Semua strategi lawan akan
dihitung dengan algoritma yang sama dan seterusnya. Ini berarti, pada langkah
pertama komputer akan menganalisis seluruh pohon permainan. Dan untuk setiap
langkahnya, komputer akan memilih langkah yang paling membuat lawan mendapatkan
keuntungan minimum, dan yang paling membuat komputer itu sendiri mendapatkan keuntungan
maksimum. Dalam penentuan keputusan tersebut dibutuhkan suatu nilai yang
merepresentasikan kerugian atau keuntungan yang akan diperoleh jika langkah
tersebut dipilih. Untuk itulah disini digunakan sebuah fungsi heurisitic untuk
mengevaluasi nilai sebagai nilai yang merepresentasikan hasil permainan yang
akan terjadi jika langkah tersebut dipilih. Dari nilai-nilai heuristic
inilah komputer akan menentukan simpul mana dari pohon permainan yang akan
dipilih, tentunya simpul yang akan dipilih tersebut adalah simpul dengan nilai
heuristic yang akan menuntun permainan ke hasil akhir yang menguntungkan bagi
komputer.
https://id.wikipedia.org/wiki/Arsitektur
http://sergeantfai.blogspot.co.id/2012/04/arsitektur-game-engine.html
No comments:
Post a Comment