Game Engine Processing, Path Finding, Fuzzy Logic, Rule Based System Dalam Game
Selamat sore Sobat blogger, kali ini saya akan berbagi materi pelajaran yang tadi saya dapatkan yaitu mengenai Game Engine Processing, Path Finding, Fuzzy Logic, Rule Based System Dalam Game. Bagi sobat yang jurusan IT game theory pasti tidak asing lagi, apalagi sobat yang fokus pada game. materi do bawah jug merupakan gabungan dari beberapa sumber dan ada sebagian pendapat pribadi, sumber utama dari postingna kali ini saya taruh di bawah postingan ini.
1.
Game Engine processing
Game
engine processing 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.
Ada
banyak mesin permainan yang dirancang untuk bekerja pada konsol permainan video
dan sistem operasi desktop seperti Microsoft Windows, Linux, dan Mac OS X.
fungsionalitas inti biasanya disediakan oleh mesin permainan mencakup mesin
render ( “renderer”) untuk 2D atau 3D grafis, mesin fisika atau tabrakan (dan
tanggapan tabrakan), suara, script, animasi, kecerdasan buatan, jaringan, streaming,
manajemen memori, threading, dukungan lokalisasi, dan adegan grafik. Proses
pengembangan permainan sering dihemat oleh sebagian besar menggunakan kembali
mesin permainan yang sama untuk menciptakan permainan yang berbeda.
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.
Ø Game engine mempunyai tipe-tipe
diantaranya:
·
Roll-your-own
game engine
Game
engine tipe ini lebih disukai karena kemungkinan besar dapat digunakan gratis.
selain itu, game engine tipe ini memperbolehkan para developer lebih fleksibel
dalam mengintegrasikan komponen yang diinginkan untuk dibentuk sebagai game
engine mereka sendiri. Kelemahan dari tipe game engine ini banyak engine yang
dibuat dengan cara semacam ini malah menyerang balik developernya
·
Mostly-ready
game engines
Game
engine biasanya sudah memberikan fitur-fitur kepada developer game
seperti GUI, physiscs, libraries model, texture dan lain-lain.
Engine 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.
·
Point-and-click
engines
Engine
ini merupakan engine yang sangat dibatasi, tapi dibuat dengan sangat user
friendly. Developer game bahkan bisa mulai membuat game sendiri menggunakan
engine seperti GameMaker, Torque Game Builder dan Unity3D. Dengan sedikit
memanfaatkan coding, sudah bisa merilis game. 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. Game
engine ini memang ditujukan bagi developer yang ingin menyingkat waktu
pemrogramman dan merilis game-game mereka secepatnya.
Ø
Macam
– macam Game Engine
·
RAGE ENGINE
Seri GTA Menggunakan engine ini. Tetapi pada seri sebelumnya para developer tidak menggunakan engine dari Rockstar sendiri, tetapi menggunakan Renderware Engine milik Criterion. Namun semenjak dunia gaming memasuki era next-gen, developer Rockstar San Diego akhirnya menciptakan RAGE (Rockstar Advanced Game Engine) Engine, dan menggunakan game engine ini dalam produk-produk game next-gen mereka hingga saat ini.
RAGE
Engine mempunyai banyak kelebihan, salah satunya adalah kemampuan menciptakan
dunia open world yang kompleks, penuh detail, dan terintegrasi penuh dengan
dukungan seperti A.I script, weather effects, dan lain sebagainya seperti yang
terlihat pada GTA IV. Engine ini juga mendukung kemampuan middleware seperti
fitur “dynamic-motion” dan “bullet physics”.
·
CryENGINE
Hampir seluruh kalangan PC gamer mengenal developer jerman bernama Crytek yang menciptakan CryEngine ini. Sejak pertama kali mereka menciptakan Far Cry, produk ini langsung mendominasi dunia PC gaming sebagai salah satu game dengan kualitas visual grafik paling memukau. Hanya dalam selang waktu tiga tahun lamanya, Crytek membuat CryEngine 2 dan menggunakan game engine ini pada Crysis. Hasilnya mereka berhasil menciptakan sebuah game next-gen yang mempunyai visual grafik paling top dan paling realistik yang pernah muncul di dunia PC game. Crytek juga akan membuat CryEngine 3 yang untuk pertama kalinya akan mendukung versi konsol seperti Xbox 360 dan PS3.
·
NAUGHTY DOG GAME
ENGINE
Meski
game engine ini di buat untuk PS3, namun game engine ini langsung menjadi
sebuah fenomena ketika pertama kali di tampilkan di even E3 2009 lalu. Sebagai
pendatang baru, Naughty Dog Game Engine mampu menampilkan animasi visual yang
menawan, karakter model yang mendetail, dan efek suara serta pencahayaan yang
luar biasa memukau banyak orang. Game engine ini mampu menampilkan berbagai macam
dynamic object sekaligus, dan lebih hebatnya lagi setiap objek mempunyai
perhitungan physics tersendiri.
·
THE DEAD ENGINE
Ketika Dead Space pertama kali di rilis oleh Electronic Arts, game ini langsung mampu memikat banyak kalangan gamer dengan visual grafik dan gameplaynya yang menarik. Sebenarnya yang menamai “The Dead Engine” berasal daru kalangan media dan Fans. Game engine ini awalnya diciptakan developer untuk membuat The Godfather pada tahun 2006. Mereka merombak total game engine tersebut dan menciptakan The Dead Engine ini. Fitur utama engine ini adalah kemampuan untuk menciptakan efek-efek visual dan suara sedemikian rupa hingga mampu menciptakan game yang menarik.
·
UNREAL ENGINE
Unreal Engine dapat di katakan sebagai salah satu game engine yang paling sering di gunakan dalam generasi sekarang ini. Terutama setelah munculnya Unreal Engine 3, sudah beberapa game yang menggunakan engine ini. Unreal Engine 3 menjadi pilihan yang paling diminati karena kemudahan fitur multiformat-nya. Hingga saat ini engine ini masih di kembangakan oleh developer Epic Games. Unreal engine menjadi solusi game engine yang paling mudah unuk generasi next-gen sekarang ini. Epic Games sedang mengerjakan Unreal Engine 4 yang akan muncul pada tahun 2012.
·
AVALANCHE ENGINE
Developer Avalanche melakukan perubahan besar-besaran dalam membuat game engine Avalanche 2.0 yang digunakan untuk project game Just Cause 2. Hasilnya mereka berhasil menciptakan sebuah game engine yang tidak hanya menampilkan grafik yang menawan, tetapi juga dapat memadukan berbagai macam mekanisme gameplay secara bersamaan. Mulai dari adegan pertarungan, efek ledakan cuaca physics, sampai dengan A.I Scrypt yang pintar. Game engine ini terkenal sebagai salah satu game engine yang mampu menciptakan sebuah dunia open world yang sangat luas, tidak kalah dengan engine serupa lainnya.
·
INFINITY WARD ENGINE
Seri Call of Duty menjadi produk terbesar yang pernah di ciptakan oleh developer Infinity Ward. Meskipun pada awalnya Call of Duty berjalan dala engine id Tech 3, namun sejak seri Call of Duty 2, Infinity Ward menciptakan game engine sendiri yang akhirnya di pakai untuk produk Call of Duty mereka sampai sekarang ini. Berita terakhir dari infinity ward mengatakan bahwa Modern Warfare 2 yang akan rilis menjelang akhir tahun 2009 nanti dan menggunakan Infinity Ward Engine 4.0. Gamer yang pernah bermain Call of Duty tentunya sudah langsung tahu seperti apakah kualitas engine ini. Dengan animasi dan visual efek yang menawan, Infinity Ward Engine menjadi salah satu game engine terbaik untuk generasi sekarang ini.
·
ANVIL ENGINE
Assasin Creed menjadi salah satu game yang langsung populer ketika debut pertama kalinya di perkenalkan pada tahun 2007 yang lalu. Anvil Engine yang sebelumnya bernama Scimintar 2.0 Engine, adalah sebuah game engine yang mampu melakukan proses interaksi antara animasi model dengan lingkungan sekitarnya secara real-time dengan sempurna. Anvil Engine juga mampu memproses A.I Script dalam jumlah banyak yang berada di sebuah ruang lingkup dunia open world. Developer Ubisoft Montreal berusaha untuk meningkatkan lagi kualitas grafik engine ini untuk projek Assasin Creed 2 yang akan datang.
·
EGO ENGINE
Ego Engine sebelumnya bernama Neon Engine. Game engine ini terbukti berhasil menjadikan seri Colin McRally sebagai salah satu game racing terbaik yang pernah di buat. Sebagai sebuah racing game, Ego Engine mampu memberikan simulasi racing yang sempurna, dan mampu menampilkan visual detail berbagai macam jenis kendaraan yang berbeda secara bersamaan. Tidak hanya itu, Ego Engine juga mempu menciptakan pemandangan yang menawan dan sangat mendetail.
·
GEO-MOD ENGINE
Ketika Digital Illusion memperkenalkan efek “dynamic destruction” dalam Battlefield Bad Company, banyak kalangan gamer terkesan dengannya. Dan kalangan gamer juga dibuat terkesan ketika game Star Wars : The Force Unleashed memakainya. Namun akhirnya developer Volition lah yang benar-benar memperlihatkan sebuah “dynamic destruction” sesungguhnya dengan Geo-Mod Engine mereka dalam Red Faction : Guerrilla. Tidak hanya sekedar penghancuran saja, Geo-Mod Engine juga mampu melakukan simulasi interaksi antar bangunan yang hancur dengan lingkunagn sekitarnya, termasuk juga respon A.I terhadap objek yang hancur tersebut.
2.
Path Finding
Pathfinding
merupakan metode yang sangat dibutuhkan pada berbagai game, terutama game 3d.
Path finding digunakan untuk menentukan arah pergerakan suatu objek berdasarkan
keadaan lokasi dan object di sekitarnya dari satu titik ke titik lain.
Pencarian jalur merupakan salah satu implementasi kecerdasan buatan dalam
permainan. Pencarian jalur terpendek merupakan hal yang mempengaruhi pergerakan
dan pengambilan keputusan pada non-player character.
Pathfinding algorithm adalah konsep pencarian dengan menggunakan best-first search. Pada proses ini node didalam map ditempatkan dan diberi id pada setiap node yang ada. Node tersebut akan men-scan setiap node yang satu dengan lain : Node 1 scan node 2,3,4 ..,n dan seterusnya. Dan node 2 scan node 1,3,4, ..., n dan seterusnya. Sewaktu semua node telah discan maka akan dimasukan kedalam variable
Pathfinding algorithm adalah konsep pencarian dengan menggunakan best-first search. Pada proses ini node didalam map ditempatkan dan diberi id pada setiap node yang ada. Node tersebut akan men-scan setiap node yang satu dengan lain : Node 1 scan node 2,3,4 ..,n dan seterusnya. Dan node 2 scan node 1,3,4, ..., n dan seterusnya. Sewaktu semua node telah discan maka akan dimasukan kedalam variable
Ada
banyak jenis implementasi Pathfinding untuk game, semua itu bergantung pada
jenis game yang akan dibuat seperti apa. Dalam permainan berbasis militer,
karakter dituntut untuk bergerak secara taktis dalam menghadapi ancaman. Agen
yang bergerak secara taktis dalam pencarian jalur tidak hanya mencari jalur
terpendek, namun harus mempertimbangkan ancaman karena pertimbangan hit points,
demi meningkatkan kesan nyata pada permainan. Tactical Pathfinding merupakan
salah satu algoritma pencarian jalur yang dapat melakukan pencarian jalur
terpendek dengan perhitungan bobot ancaman. Implementasi algoritma tactical
pathfinding dapat memberikan gerakan taktis pada non-player character.
Algoritma tactical pathfinding dilakukan berdasarkan algoritma pencarian jalur
berdasarkan A* ditambah perhitungan bobot.
3. Fuzzy Logic Dalam Game
Fuzzy
Logic adalah metodologi pemecahan masalah dengan beribu – ribu aplikasi
dalam pengendali yang tersimpan dan pemrosesan informasi.Cocok untuk
diimplementasikan pada sistem yang sederhana, kecil, tertanam pada mikro
controller, PC multi-channel atau workstation berbasis akuisisi data dan control
sistem. Fuzzy logic menyediakan cara sederhana untuk menggambarkan kesimpulan
pasti dari informasi yang ambigu, samar -samar, atau tidak tepat. Sedikit
banyak, fuzzy logic menyerupai pembuatan keputusan pada manusia dengan
kemampuannya untuk bekerja dari data yang ditafsirkan dan mencari solusi yang
tepat. Fuzzy logic pada dasarnya merupakan logika bernilai banyak (multivalued
logic) yang dapat mendefinisikan nilai diantara keadaan konvensional seperti ya
atau tidak, benar atau salah, hitam atau putih, dan sebagainya. Penalaran fuzzy
menyediakan cara untuk memahami kinerja dari system dengan cara menilai input
dan output system dari hasil pengamatan.
Ø
Implementasi Logika Fuzzy Untuk Mengatur Perilaku Musuh dalam Game
Bertipe Action-RPG
Logika fuzzy adalah cabang dari sistem kecerdasan
buatan (artificial intelegent) yang mengemulasi kemampuan manusia dalam
berfikir ke dalam bentuk algoritma yang kemudian dijalankan oleh mesin. Setiap
musuh dan pemain memiliki status kekuatan, terdiri dari attack (Kekuatan
serang), defense (Ketahanan), speed (Kecepatan gerak), agility (Kemampuan
menghindar) dan life (Nyawa). Terdapat 3 jenis musuh, yaitu penyerang, pemanah
dan boss. Musuh penyerang akan menyerang dari jarak dekat dengan pedang. Musuh
ini memiliki parameter input fuzzy yaitu nyawa dan jarak, dia akan mundur
ketika nyawanya lemah atau jaraknya dekat dengan pemain. Musuh pemanah memiliki
parameter input fuzzy yaitu amunisi dan jarak, dia akan mundur ketika didekati
pemain atau ketika amunisinya sedikit. Musuh boss memiliki parameter input
fuzzy yaitu nyawa dan jarak, ia sangat agresif, ia mundur ketika nyawanya
sangat sedikit. Penerapan fuzzy dalam permainan ini telah berjalan dengan baik,
dimana musuh tipe penyerang menjadi cukup agresif (45% perilaku menyerang),
tipe pemanah agresif jika berada pada jarak jauh (49% perilaku menyerang), dan
musuh boss sangat agresif (89% perilaku menyerang).
Ø Algoritma Boids dan
Logika Fuzzy pada pergerakan dan perilaku NON PLAYER Character Permainan Borneo
Misson
Non Player Characters (NPC) merupakan bagian penting di dalam sebuah permainan komputer. Pemilihan aksi yang independen mampu membuat permainan menjadi lebih menarik. Penelitian ini bertujuan membangun game first person shooter3D berjudul “Borneo Mission†dimana pergerakan dan perilaku non player characters dengan menerapkan algoritma boids logika fuzzy pada NPC. Game tersebut dibangun menggunakan Unity 3D. Hasil yang diperoleh, Pergerakan drone tanpa algoritma boids hanya terbang berputar secara sendiri pada pos yang telah ditentukan, adapun dengan algoritma boids drone dapat terbang secara berkelompok dengan mempertimbangan separation, cohesion, dan alignment dengan drone lain. Perilaku drone tanpa logika fuzzy hanya mempertimbangkan jarak pemain dengan drone, jika kurang dari sama dengan 60 maka drone akan menyerang. Adapun dengan logika fuzzy, drone dapat memutuskan menyerang, menghindar, atau menyelamatkan transciever. Penerapan algoritma boids dan logika fuzzy tersebut dapat meningkatkan kompleksitas, daya tarik permainan, dan keinginan untuk bermain kembali.
4. Rule Based System Dalam Game
Sistem
berbasis aturan merupakan model yang relatif sederhana yang dapat disesuaikan
dengan sejumlah masalah. Seperti halnya dengan Artificial Intellegent (AI), sistem
berbasis aturan ini mempunyai keunggulan dan keterbatasan yang perlu
dipertimbangkan sebelum memutuskan apakah itu merupakan tekhnik yang tepat
digunakan dalam pemecahan masalah yang ada.
Sistem berbasis aturan atau rule based system hanya dapat digunakan untuk masalah yang dimana pengetahuan dan aturan-aturan dalam permasalahan tersebut dapat ditulis dalam bentuk aturan IF-THEN saja dan area permasalahan ini tidak terlalu besar. Jika permasalahan yang ada terlalu besar, maka sistem tersebut akan sulit untuk di maintain dan akan mengganggu kinerja sistem tersebut (performance).
Sistem berbasis aturan atau rule based system hanya dapat digunakan untuk masalah yang dimana pengetahuan dan aturan-aturan dalam permasalahan tersebut dapat ditulis dalam bentuk aturan IF-THEN saja dan area permasalahan ini tidak terlalu besar. Jika permasalahan yang ada terlalu besar, maka sistem tersebut akan sulit untuk di maintain dan akan mengganggu kinerja sistem tersebut (performance).
Strategi Rule Based System :
·
First Applicable. Ini adalah strategi yang
paling sederhana tetapi berpotensi menimbulkan masalah besar, yaitu akan
terjadinya looping yang tak terbatas pada kondisi yang sama.
·
Random. Meskipun tidak menggunakan prediksi
atau first applicable control, metode ini cukup memberikan keuntungan, yaitu
dapat diprediksi (seperi game yang membutuhkan strategi). Sebuah strategi acak
akan memilih aturan acak tunggal dari sebuah set konflik. Kemungkinan lain
untuk strategi acak adalah dengan sistem berbasis aturan fuzzy (fuzzy rule
based system) dimana masing-masing aturan memiliki probabilitas sebuah kondisi
akan lebih mungkin terjadi daripada yang lainnya.
·
Most Spesific. Strategi ini berdasarkan pada
jumlah kondisi aturan. Hal ini didasari pada asumsi jika ia memiliki sebagian
besar kondisi maka memiliki relevansi ke data yang ada.
·
Least Recently Used. Menyimpan data yang
terakhir dipakai untuk selanjutnya dipakai kembali ke dalam permasalahan jika
memang problem yang dihadapi sama.
Sumber : https://rickykurn.wordpress.com/2012/03/08/apa-itu-game-engine/