tutorialswb

TutorialsWB hadir sebagai wadah bagi teman-teman yang ingin "Belajar PHP Dasar". Sehingga kami yakin bahwa TutorialsWB akan menjadi Pusat "Belajar Bahasa Pemrograman PHP" Disamping PHP website ini menyediakan berbagai tips dan trik Blogger. Kami menerima Pemasangan iklan banner atau artikel.

Hubungi Saya

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

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).

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/



Baca Juga

closed