Jurnal Infomedia Vol.1 No.2 Desember 2016 | ISSN: 2527-9858
PERANCANGAN GAME TURN BASED STARATEGY MENGGUNAKAN LOGIKA FUZZY UNTUK MENGATUR PERILAKU MUSUH Andi Fitrawan Dwi Pratama1, Husaini2 Jurusan Teknologi Informasi dan Komputer, Program Studi Teknik Multimedia dan Jaringan Politeknik Negeri Lhokseumawe E-Mail :
[email protected],
[email protected] Abstrak Game strategi adalah game dimana kita sebagai pemain menjalaknkan berbagai unit-unit yang unik untuk memenangkan permainan tersebut. Gameplaynya untuk mengatur unit atau pasukan untuk bertahan, menahan, bahkan mengalahkan musuh yang ada digame tersebut. Penelitian ini, akan dibahas tentang perilaku NPC (Non Player Character) berupa aksi penyerangan pada game. NPC akan melakukan pergerakan ketika character yang dimainkan oleh pemain sebagai karaktek, mulai melakukan serangan ke area NPC. Penentu status kekuatan serangan atau perilaku NPC dari, Attack,Defense , dan Life . Untuk menghasilkan suatu game yang menggunakan sistem turn based strategy, maka digunakan algoritma logika fuzzy.hasil yang ditampilkan untuk mengetahui nilai-nilai variabel yang tinggi hingga terendah pada character NPC atau enemy melalui Atk,Def,dan Life. Kata kunci : perilaku NPC (Non Player Character), Attack, Defense, dan Life , algoritma logika fuzzy. sugeno untuk mengatur perilaku musuh, pada game (permainan) bertipe Action-RPG.[2] Kecerdasan suatu game bergantung pada perlikaku dan kemampuan dari Non Player Character tanpa campur tangan manusia (autonomus) demgan tujuan untuk mewujudkan permainan (game) lebih menarik dan realistis.[3] Berdasarkan latar belakang tersebut yang dijadikan masalah dalam penelitian ini adalah bagaimana menerapkan metode Logika Fuzzy pada perancangan game Turn Based Strategy.
1. Pendahuluan Game strategi adalah game dimana kita sebagai pemain menjalankan berbagai unit-unit yang unik untuk memenangkan permainan tersebut. Game strategy ada yang berbasis Real Time Strategy dan ada yang Turn Based Strategy. Di Real time Strategy kita mengendalikan unit yang kita mainkan secara langsung tanpa menunggu giliran. Di Turn Based Strategy kita mengendalikan unit secara bergiliran, saat kita mengambil keputusan dan pergerakan musuh, saat itu pihak lawan harus menunggu, begitu pula sebaliknya, layaknya catur. Perkembangan pembuatan game yang menerapkan sistem kecerdasan buatan menigkat dengan pesat, dengan tujuan agar game yang dimaikan agar terlihat lebih realistis dan menarik saat dimainkan. Logika fuzzy sebagai cabang dari sistem kecerdasan buatan dapat diterapkan pada NPC. Logika fuzzy sugeno memiliki keungulan dalam perhitungan komputasi yang efisien dan dapat menghasilkan keluaran berupa konstanta tegas hasil dari perhitungan matematis sederhana. Perancangan game turn based strategy menggunakan logika fuzzy dan naive bayes classsifier. Logika fuzzy sugeno memiliki keunggulan dalam perhitungan komputasi yang efisien dan dapat menghasilkan keluaran berupa konstanta tegas hasil dari perhitungan matematis sederhana.[1] Penelitian mengenai implementasi logika fuzzy untuk mengatur perilaku musuh dalam game bertipe Action-RPG. Dirancang penerapan logika fuzzy
2. Metode Penelitian Proses pengumpulan data yang diperlukan dalam pembuatan game turn based strategy menggunakan metode logika fuzzy sugeno dengan mengumpulkan Berbagai referensi yang menunjang penulis dalam pembuatan. A. Block Diagram. Pada penelitian ini, akan dibahas tentang perilaku NPC (Non Player Character) berupa aksi penyerangan pada game. NPC akan melakukan pergerakan ketika karakter yang dimainkan oleh pemain perilaku NPC akan bereaksi jika jarak sudah sesuai jangkauan serang. a. Proses Perilaku Menyerang. Bagian ini akan menunjukkan tahap proses dari penentu perilaku menyerang NPC dapat dilihat pada gambar berikut ini.
41
Jurnal Infomedia Vol.1 No.2 Desember 2016 | ISSN: 2527-9858
Perancangan strategy penyerang
Gambar 2 menunjukkan tahap pengklasifikasian NPC sebelum NPC menunjukkan perilaku menyerang dapat dilihat pada gambar 2 berikut ini. Dimana pada saat character mengambil quest maka character akan melakukan update posisi untuk mencari posisi character enemy. Jika character belum menemukan musuh maka akan dilakukan proses pencarian ulang sehingga dapat ditemukan character enemy. Ketika character menemukan musuh, maka terjadi proses battle dimana akan dilakukan klasifikasi meyerang. Pada saat battle terjadi terdapat beberapa bagian yaitu Atk, Def, Special, dan Escape atau lari. Jika pada saat battle character masih memiliki hp (nyawa) yang tersisa dan enemy hp kosong, maka dinyatakan berhasil.
Proses logika fuzzy
Keluaran aksi penyerangan NPC Gambar 1. Alur Proses Menyerang. Dimana proses input perancangan strategy penyerang, character akan mencari monster enemy untuk melakukan battle. Pada proses logika fuzzynya akan dilakukan pencarian damage yang ditimbulkan pada saat battle. Pada keluaran aksi penyerangan NPC, kita bisa menhetahui nilai-nilai yang akan diterima pada character.
B. Proses Logika Sugeno. Logika fuzzy yang pertama kali diperkenalkan oleh Lotfi A. Zadeh, memiliki derajat keanggotaan dalam rentan 0 hingga 1, berbeda dengan logika digital yang memiliki dua nilai yaitu 1 atau 0. Proses fuzzy inference dapat dibagi dalam 5 bagian yaitu : a) Fuzzyfikasi Input : FIS mengambil masukan-masukan dan menentukan derajat keanggotaan dalam semua fuzzy set. b) Operasi logika fuzzy : Hasil akhir dari operasi ini adalah derajat kebenaran antecedent yang berupa bilangan tunggal. c) Implikasi : Merupakan proses mendapatkan consequent atau keluaran sebuah IF-THEN rule berdasarkan derajat kebenaran antacedent. d) Agregasi : Yaitu proses mengkombinasikan keluaran semua IF-THEN rule menjadi sebuah fuzzy set tunggal. Pada dasarnya agregasi adalah operasi fuzzy logic OR dengan masukannya adalah semua fuzzy set. e) Defuzzyfikasi : Keluaran dari defuzzyfikasi adalah sebuah bilangan tunggal, cara mendapatkannya ada beberapa versi yaitu centroid, bisector, middle of maximum, largest of maximum dan smallest of maximum.
b. Diagram Alir Strategi Menyerang.
Start
Update Posisi dan mengambil quest Tidak ada musuh
Dan mengambil quest Cari Character NPC/Enemy Ada musuh Serang Klasifikasi sistem menyerang
Charakter Kalah
Fuzzy Model Sugeno merupakan varian dari model mamdani dan memiliki bentuk aturan seperti : IF x1 is A1 AND... xn is An THEN y=f(x1,x2...xn)
Menyerang /atk
Bertahan /def
Spesial Serangan /Skill
Lari /run
Dimana x merupakan parameter input, A merupakan nilai dari parameter, f merupakan sembarang fungsi dari variabel-variabel masukan yang nilainya berada dalam interval variabel keluaran. C. State Diagram. Diagram State ini digunakan untuk mengetahui alur cerita game dari yang penulis buat. Awal dari game kita mencari NPC Serah, untuk menerima quest atau misi. Setelah menerima quest maka kita akan mengetahui point-point apa saja yang kita perlukan
GOAL Gambar 2. Diagram Strategi.
42
Jurnal Infomedia Vol.1 No.2 Desember 2016 | ISSN: 2527-9858
untuk melewati quest atau misi pertama didalam game. Setelah mengetahui point-point quest atau misi maka kita bisa melakukan pencarian monster di Dungeon, untuk melewati point yang dibutuhkan ternasuk membunuh monster yang telah ditentukan pada quest atau misi. Setelah point-point itu selesai maka kita bisa melapor kembali ke NPC Serah untuk menerima reward yang telah ditentukan dalam misi atau quest.
Berikut ini adalah hasil gambar yang akan digunakan dalam permainan pada bagian tampilan permainan. a) Tampilan Layar Utama. Pada gambar dibawah ini adalah hasil akhir gambar tampilan layar utama saat permainan pada saat akan dijalankan.
[Mencari NPC Serah] Menerima Quest dari NPC Serah [Mengecek Quest] Gambar 3. Layar Utama. Pada tampilan layar utama terlihat ada berapa bagian pada awal game yaitu, New Game, Countinue, dan Shutdown.
Quest + Pergi ke Maze Entrance + Bunuh 10 Monster + Lapor ke NPC Serah
[Menuju Maze Entrance]
b) Tampilan Layar Permainan. Pada gambar dibawah ini adalah hasil gambar tampilan layar character utama saat permainan dijalankan.
Membunuh Monster
Membunuh 10 Monster [Quest Selesai]
Kembali ke NPC Serah [Melapor Quest yang telah selesai]
Gambar 4. Tampilan Permainan. Pada tampilan ini adalah tempat awal terjadinya game dimulai. Terlihat beberapa karakter yang bisa kita jumpai, termasuk karakter NPC Serah yang tugasnya sebagai pemberi quest. c) Tampilan Layar Menu. Pada gambar dibawah ini adalah hasil gambar tampilan menu dengan menekan tombol Esc pada keyboard maka menu tampilan akan tertampil dipermainan. Dalam menu tampilan terdapat bagian-bagian menu yaitu, Item, Skill, Equipment, Status, Quest, Formation, Save dan Game End.
Gambar 3. State Diagram.
3. Hasil dan Pembahasan A. Implementasi Game. Implementasi merupakan sutu tahapan dalam perancangan. Tahapan implemntasi dilakukan setelah proses analisa dan perancangan selesai dilakukan.
43
Jurnal Infomedia Vol.1 No.2 Desember 2016 | ISSN: 2527-9858
Gambar 5.Tampilan Layar Menu.
Gambar 7. Area Maze Entrance Dungeon. Area Goblin Cave 1F Dungeon. Pada area ini adalah Area Dungeon yang harus kita taklukan. Pada daerah ini didominasi oleh monster bat dan slime.
Pada tampilan ini terdapat beberapa menu yang dapat digunakan ketika didalam game, termasuk quest menu sangat berguna untuk menampilkan point-point quest yang dijalankan. d) Tampilan Layar Battle Permainan. Pada gambar dibawah ini adalah gambar saat sistem pertarugan dalam permainan.
Gambar 8. Area Goblin Gambar 6. Tampilan sistem Battle.
Cave 1F.
B. Pengujian Sistem Logika Fuzzy Sugeno. Pada bagian pengujian penulis akan melakukan penganalisa perilaku character musuh Slime. Penganalisaan yang dilakukan melalui Life, Atk, dan Def.
Pada sistem battle terlihat monster yang akan dikalahkan. Terdapat beberapa menu yang terlihat seperti attack, special, guard, dan item. e) Tampilan Gambar Area Dungeon. Berikut ini adalah gambar Area Dungeon dalam permainan yang penulis gunakan.
1) Variabel Penentu Perilaku. Terdapat 3 variabel sebagai penentu perilaku musuh, yaitu Atk, Def , dan Life. Atk adalah daya nilai serang yang akan memunculkan kerusakan pada character pemain, def adalah daya nilai pertahanan untuk mengurangi kerusakan dari character pemain, dan life adalah nilai nyawa untuk status musuh. Berikut 3 variabel penentu tersebut dan fungsi keanggotaannya :
Area Maze Entrance Dungeon. Pada area ini adalah Area Dungeon yang harus kita taklukan. Pada daerah ini monster yang sangat mendominasi adalah monster kelilawar. Dengan level monster awal yaitu level 1.
44
Variabel Atk. Pada variabel atk Slime memiliki angka bulat dengan nilai antara 0-16. Jumlah variabel daya serang terendah adalah 4 dan daya serang kuat adalah 16. Berikut ini fungsi keanggotaan untuk variabel Atk :
Jurnal Infomedia Vol.1 No.2 Desember 2016 | ISSN: 2527-9858
c) If (Atk is Lemah) and (Def is Kuat) and (Life is Normal) then (Damage is Normal) d) If (Atk is Normal) and (Def is Normal) and (Life is Normal) then (Damage is Normal) e) If (Atk is Normal) and (Def is Kuat) and (Life is Normal) then (Damage is Kuat) f) If (Atk is Normal) and (Def is Kuat) and (Life is Kuat) then (Damage is Kuat) Gambar 9. Fungsi Keanggotaan Atk. g) If (Atk is Kuat) and (Def is Kuat) and (Life is Kuat) then (Damage is Kuat)
Variabel Def. Pada variabel def Slime memiliki angka bulat dengan nilai antara 0-4. Jumlah variabel pertahanan terendah 0 dan daya pertahanan kuat 4. Berikut ini fungsi keanggotaan untuk variabel Def :
h) If (Atk is Kuat) and (Def is Normal) and (Life is Kuat) then (Damage is Kuat) i) If (Atk is Kuat) and (Def is Lemah) and (Life is Normal) then (Damage is Normal) j) If (Atk is Kuat) and (Def is Lemah) and (Life is Lemah) then (Damage is Normal) 3)
Proses Fuzzy untuk Nilai Perilaku. Jika penulis mengambil tipe musuh slime dengan variabel, Atk 14, Def 3, dengan Life 80, maka rule yang digunakan adalah : a) If (Atk is Kuat) and (Def is Kuat) and (Life is Kuat) then (Damage is Kuat)
Gambar 10. Fungsi Keanggotaan Def. b) If (Atk is Kuat) and (Def is Normal) and (Life is Kuat) then (Damage is Kuat)
Variabel Life. Pada variabel Life Slime memiliki angka bulat. Dengan jumlah nilai variabel life terendah adalah 0 dan yang tertinggi adalah 100. Berikut ini fungsi keanggotaan untuk variabel Life :
c) If (Atk is Kuat) and (Def is Lemah) and (Life is Normal) then (Damage is Normal) d) If (Atk is Kuat) and (Def is Lemah) and (Life is Lemah) then (Damage is Normal) Berdasarkan rule yang tertulis diatas, diagram variabel hasil dapat digambarkan pada gambar berikut :
Gambar 11. Fungsi Keanggotaan Life.
2) Fuzzy untuk rule NPC Slime. Berikut ini adalah fuzzy rule untuk monster Slime : a) If (Atk is Lemah) and (Def is Lemah) and (Life is Lemah) then (Damage is Lemah) b) If (Atk is Lemah) and (Def is Normal) and (Life is Normal) then (Damage is Lemah)
Gambar 12. Proses Fuzzy.
45
Jurnal Infomedia Vol.1 No.2 Desember 2016 | ISSN: 2527-9858
Dari variabel diagram proses fuzzy terlihat bahwa hasil fuzzy adalah 20, berarti enemy slime akan meyerang dengan nilai variabel atk 14, def 3, dan life 80 yang akan mengakibatkan damage ke character pemain bernilai 20.
4. Simpulan Berdasarkan perangcangan yang dilakukan bahwa setiap NPC akan memiliki perbedaan Atk, Def dan Life, tergantung dari level moster yang akan kita hadapi. Dari logika fuzzy bahwa kita dapat mengetahui nilai-nilai pada variabel NPC Enemy dari yang terkuat hingga yang terlemah. Dengan melakukan beberapa rule yang telah ditentukan pada logika fuzzy Sugeno yang penulis gunakan.
5. Daftar Acuan [1] Fathurochman, Dery., Wina Witanti, dan Rezki Yuniarti.“Perancangan Game Turn based Strategy Menggunakan Logika Fuzzy Dan Naive Bayes Classifier”.Seminar Nasional Informatika 2014 (SemnasIF 2014) ISSN: 1979-2328. [2] Purba, Kristo Radion., Rini Nur Hasanah, dan M. Azis Muslim. “Implementasi Logika Fuzzy Untuk Mengatur Perilaku Musuh dalam Game Bertipe Action - RPG”.Jurnal EECCCIS Vol. 7, No. 1, Juni 2013. [3] Daryatni, Tri., Siti Asmiatun, Latius Hermawan, “Strategi Menyerang Jarak Dekat Menggunakan Klasifikasi Bayesian Pada NPC (Non Player Character)”.Seminar Nasional Teknologi Informasi & Komunikasi Terapan 2013 (Semantik 2013) ISBN: 979-26-0266-6, Semarang, 16 November 2013.
46