1 Perilaku Smart NPC Berbasis Koordinasi Multi Agent Menggunakan Fuzzy Coordinator Tri Daryatni SMP Negeri 3 Batealit E-Mail: tranidy2001@yahoo.com Abstrak Game komputer saat ini sangat digemari, tidak hanya anak-anak tapi orang dewasa juga sangat suka bermain game. Permainan komputer yang baik adalah jenis permainan yang mempunyai NPC (Non Player Character) mirip dengan manusia, dan terlihat alami. Untuk membuat permainan lebih menarik maka membutuhkan koordinasi yang tepat antara non player character yang cerdas dan multi agent. Multi agent yang berbasis Artificial intelligent akan menampilkan permainan yang menantang dan mengasyikan, sehingga orang yang bermain game tidak hanya mendapat pelajaran dan hiburan namun juga tidak akan merasa cepat bosan dengan permainan komputer yang dimainkannya. Dengan menggunakan Fuzzy Coordinator maka akan membuat koordinasi antara smart non player character dan Agents kuat. Kerjasama multi agent akan mengontrol kesehatan masing-masing non player character. Agen akan mengkoordinir non player character mana yang kuat dan non player character yang lemah, mana non player character yang harus mundur atau tetap bertahan, sehingga permainan akan banyak tantangan dan tidak membosankan. Dengan menggunakan fuzzy coordinator permainan menggunakan 5 kategori fuzzy dengan fuzzy sugeno membuat koordinasi mencapai kemenangan seimbang. Perbandingan hasil permainan antara player dan enemy adalah 52% : 48%. Kata kunci: Games, Smart NPC, Multi- Agent, Fuzzy Coordinator 1. PENDAHULUAN Game komputer dapat dibuat realistis (nyata) jika didukung dengan mengimplementasikan human like behavior pada player, smart non-player character (smart NPC) dan juga enemy.[1] Game komputer yang sulit dikalahkan dapat membuat pengguna merasa stress atau frustasi, sedangkan game komputer yang mudah akan membuat pengguna cepat bosan dan meninggalkan permainan tersebut. Untuk mengatasi hal itu biasanya dibuat fasilitas bertingkat atau level pada game komputer, akan tetapi cara ini dinilai terlalu statis karena selama permainan berlangsung kemampuannya tidak berubah seiring dengan perkembangan kemampuan pengguna[2]. Pada penelitian-penelitian sebelumnya telah diteliti penggunaan kontrol fuzzy untuk merancang system control kecepatan motor diteliti oleh Dedid.et.al.[3] Koordinator fuzzy untuk koordinasi robot manipulator seperti yang diusulkan oleh Pham, et al[4]. Penelitian Fuzzy koordinator untuk koordinasi intelligent agents pada permainan pertempuran jarak dekat dengan menjaga parameter kesehatan NPC sampai 76% oleh Supeno et al[5]. Ternyata Fuzzy koordinator dapat digunakan untuk pengontrolan atau koordinasi. Smart NPC agar kelihatan lebih natural maka NPC harus memiliki gerakan yang smooth. Untuk itu pada permainan komputer dibutuhkan koordinasi antar agen (Multi Agent Coordination). Dari alasan diatas maka peneliti akan membahas mengenai penggunaan fuzzy coordinator yang berbasis multi agent untuk mendapatkan perilaku NPC enemy yang smart.
2 Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 2015 2. NPC, MULTI AGENT, dan FUZZY Perilaku Smart NPC dengan menggunakan koordinasi yang bagus akan menghasilkan permainan yang lebih hidup. 2.1 Non-player character (NPC) Autonomous character adalah jenis otonomous agent untuk penggunaan komputer animasi dan media interaktif seperti games dan virtual reality. Dalam permainan, karakter otonom biasanya disebut NPC (Non-Player Character)[6]. 2.2 Agent Agent merupakan rekayasa software, dimana agent memiliki kemampuan atau sifat otonom, personal, mobile dan mampu bekerja sama secara terus-menerus sehingga membuat para pengembang software memanfaatkan teknologi ini untuk aplikasi yang mempunyai lingkungan yang memiliki jenis informasi yang beragam dan tersebar di banyak lokasi.[7] 2.3 Fuzzy Sugeno Fuzzy metode sugeno untuk koordinasi fuzzy sebab output (konsekuen) berupa konstanta atau persamaan linear. Model Sugeno menggunakan fungsi keanggotaan Singleton yaitu fungsi keanggotaan yang memiliki derajat keanggotaan 1 pada suatu nilai crisp tunggal dan 0 pada nilai crisp yang lain[8]. Secara umum bentuk model Fuzzy Sugeno adalah : a. Model Fuzzy Sugeno Orde-Nol IF (x1 is A1) o (x2 is A2) o... o (xn is AN) THEN z=k (1) A i adalah fuzzy ke-i sebagai anteseden, dan k adalah suatu konstanta (tegas) sebagai konsekuen. b. Model Fuzzy Sugeno Orde-Satu IF (x1 is A1) o... o (xn is AN) THEN z = p1*x1 + + pn*xn + q (2) A i adalah fuzzy ke-i sebagai anteseden, dan p i adalah suatu konstanta (tegas) ke-i dan q juga merupakan konstanta dalam konsekuen. 3.2 Design Pada game yang digunakan untuk menunjukkan strategi yang dibangun menggunakan smart NPC dengan multi agents yang menggunakan fuzzy coordinator dapat menghasilkan parameter aksi yang tepat untuk setiap NPC. Untuk mengontrol NPC enemy dilakukan dengan membandingkan Enemy Distance (ED) dan Player Distance(PD yang dihargai dikisaran 0-. a. Fuzzy coordinator : 5 kategori distance Untuk percobaan dengan menggunakan lima kategori distance adalah: Very Near (VN), fungsinya : µ EN,VN = (5 d) (10 d) + d 5 + d + d 1 d 5 Untuk Near (N), fungsinya : µ EN,N = (15 d) + d 5 (20 d) 0 d 5 5 d 10 2.2 + (d 10) 10 d 15 Input yang digunakan adalah ED dan PD dengan lima kategori yaitu: (3) (4) + d 3.2 (d 10 ) 15 d 20 5 Untuk Medium (M), fungsinya : µ EN,M = (25 d) + d 5 (30 d) 4.4 + (d 20) 20 d 25 + d 5.4 (d 20 ) 25 d 30 5 Untuk Long (L), fungsinya : µ EN,L = (35 d) + d 5 (40 d) 6.6 + (d 30) 30 d 35 (6) + d 7.6 (d 30 ) 35 d 40 5 Fuzzy Very Long (VL), fungsinya : µ EN,VC = (45 d) + d 5 ( d) 8.8 + (d 40) 40 d 45 (7) + d 9.8 (d 40 ) 45 d 5 3. METODE PENELITIAN 3.1 Concept Pada tahapan ini dilakukan analisis dari Smart NPC dan pemain utama untuk mendapatkan data karakteristik dari action yang dilakuakan enemy. Gambar 1 Input data-1 membership function
3 Untuk kontroler fuzzy menghasilkan output salah satu dari lima parameter tindakan yang mungkin, yaitu: Attack (AT) atau menyerang, Quick Run (QR) atau lari cepat, Run (R) atau lari, Walk (W) atau jalan,dan Slow Walk (SW) atau jalan pelan. Dengan menggunakan Fuzzy Sugeno, output dari kontroler fuzzy (Z) didefinisikan oleh: IF (ED is X) AND (PD is Y) THEN Z = A (8) Untuk X, Y (VN, N, M, L,VL) dan A (AT, QR, R, W, SW). Fuzzy Rules dari control fuzzy dengan lima kategori adalah : R1 = Jika ED adalah very near dan PD adalah very near maka action ialah attack. R2 = Jika ED adalah near dan PD adalah near maka action adalah quick run. R3 = Jika ED adalah medium dan PD adalah medium maka action adalah run. R4 = Jika ED adalah long dan PD adalah long maka action adalah walk. R5 = Jika ED adalah very long dan PD adalah very long maka action slow walk. b. Fuzzy dengan 4 kategori distance. Untuk percobaan dengan menggunakan empat kategori distance adalah : Untuk Near (N), fungsinya : (10 d) µ EN,N = + d (10) 10 d Untuk Medium (M), fungsinya : µ EN,M = (1 d) () (25 d) () + ( d + d 0 d 10 (9) 1.58) + (d 10) 10 d 1 2.58 (d 10) 1 d 25 (10) Untuk Long (L), fungsinya : µ EN,L = (32.5 d) () (40 d) () (11) + ( d + d 3.83) + (d 20) 25 d 32.5 4.83 (d 20) 32.5 d 40 Fuzzy Very Long (VL), fungsinya : µ EN,VC = ( d) (12) (10) + ( d 10 4.75) + (d 30) 40 d Gambar 2 Input data-2 membership function Sedangkan untuk kontroler fuzzy menghasilkan output salah satu dari empat parameter tindakan yang mungkin, yaitu: Attack (AT) atau menyerang, Quick Run (QR) atau lari cepat, Run (R) atau lari, dan Walk (W) atau jalan. Dengan menggunakan Fuzzy Sugeno, output dari kontroler fuzzy (Z) didefinisikan oleh: IF (ED is X) AND (PD is Y) THEN Z = A (12) Untuk X, Y ( N, M, L,VL)dan A (AT, QR, R, W). Fuzzy Rules dari control fuzzy dengan empat kategori adalah : R1 = Jika ED adalah very near dan PD adalah very near maka action adalah attack. R2 = Jika ED adalah near dan PD adalah near maka action adalah quick run. R3 = Jika ED adalah medium dan PD adalah medium maka action adalah run. R4 = Jika ED adalah long dan PD adalah long maka action adalah walk. 3.3 Material Collecting Pada tahapan ini game dibuat dengan menggunakan Unity3D. 3.4 Assembly Script program untuk game zombie attach pada penelitian ini menggunakan C# dan Java Script. 3.5 Testing Testing yang dilakukan adalah : a. Pengujian melalui sisa healthy point setelah permainan dilakukan b. Pengujian finishing time game simulasi. c. Pengujian interface dari game simulasi. d. Pengujian scenario dari game simulasi. 3.6 Distribution Tahap ini aplikasi disimpan dalam suatu media penyimpanan. Input yang digunakan adalah Distance Enemy dan Distance Player untuk empat kategori yaitu :
4 Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 2015 4. HASIL DAN PEMBAHASAN NPC Enemy terdiri dari 30 zombie yaitu dua puluh Sembilan zombie biasa dan satu boss zombie. Zombie yang ada pada game ini adalah zombie yang memiliki AI, seperti yang terlihat pada FSM berikut ini : Gambar 3. FSM NPC enemy dengan AI 4.1. Pengujian hasil penelitian kecepatan gerak zombie dilihat dari sisa healthy point. Tanpa ada pengaturan maka dengan nilai kecepatan minimal maka player dan follower akan mencapai kemenangan 96% dari 25 kali permainan yang peneliti uji pada game simulasi zombieattack.exe. Artinya permainan sangat mudah dimainkan maka user cepat bosan. Untuk permainan dengan nilai kecepatan maximal yaitu kecepatan konstan dengan nilai tinggi maka hasil pengujian menunjuk kemenangan player dan follower adalah 8% dari 25 kali permainan. Untuk pengujian dengan nilai kecepatan menggunakan kontrol fuzzy dan memakai rumus no 3.1 s.d no 3.6 dengan 25 kali permainan, hasilnya pengujian yaitu kemenangan player dan follower adalah 52% dan enemy (zombie) 48%, artinya meskipun permainan dimenangkan player tetapi terlihat bahwa permainan seimbang, sehingga game jadi mengasikkan dan tidak membosankan. Untuk pengujian terakhir dilakukan peneliti dengan menggunakan fuzzy dengan menggunakan 4 kategori distance sebagai kendalinya. Hasil pengujian adalah untuk player dan follower 32% menang dan 68% kalah, artinya permainan agak sulit. Gambar. 4. Grafik kemenangan healthy point 4.2. Pengujian hasil penelitian kecepatan gerak zombie dari sisa finishing time. Kecepatan gerak zombie juga dapat dilihat dari hasil finishing time. Untuk hasil finishing time dalam bentuk grafiknya sebagai berikut ini : 3.00 2.00 1.00 0.00 1 5 9 13 17 21 25 Min(0.2) Max(1) Fuzzy1 Fuzzy2 Gambar 5. Grafik Finishing Time Dari Tabel finishing time diatas dapat disimpulkan : - kecepatan minimal maka game diselesaikan dalam waktu yang agak lama yaitu rata-rata dari 25 kali percobaan adalah 1,28 menit. - Untuk pengujian dengan kecepatan maksimal maka hasilnya adalah permainan sangat cepat selesai dengan dimenangkan oleh zombie, yaitu rata-rata dari 25 kali percobaan adalah 0,93 menit. - Untuk pengujian dengan menggunakan kontrol fuzzy 1, yaitu dengan rumus fuzzy no.3.1 s.d. no 3.6. Hasilnya waktu permainan lebih lama, yaitu yaitu rata-rata dari 25 kali percobaan adalah1,63 menit. - Untuk pengujian dengan menggunakan kontrol fuzzy 2, yaitu dengan rumus fuzzy no.3.7 s.d. no 3.11. Hasilnya menunjukkan waktu permainan agak cepat, yaitu rata-rata dari 25 kali percobaan adalah 1,21 menit.
5 5. KESIMPULAN 1. Berdasarkan hasil testing, terlihat bahwa dengan menggunakan kontrol fuzzy permainan seimbang antara player dengan enemy yaitu 52%:48%. Untuk 4katagori fuzzy kemenangan mencapai 32% 2. Berdasarkan hasil finishing time pada game komputer dengan menggunakan kontrol fuzzy hasilnya adalah permainan akan lebih lama yaitu ratarata waktu yang dibutuhkan adalah 1,63 menit. 6. DAFTAR PUSTAKA [1] Endah Damayanti, Supeno Mardi S. N., dan Moch.Hariadi, Pencarian Jalur Terpendek Pada Pemodelan Pergerakan Agen Cerdas Dengan Algoritma Ant Colony System, URL: digilib.its.ac.id/public/its-master- 10476 (ITS), Surabaya, 2010. [2] Dwi Kurniawan Saputro., Agen Cerdas Remi Berbasis Minimax, ITS-Master- 3100011042921/16668, Surabaya, 2011. [3] Dedid Cahya Happyanto, Soebagio, dan Mauridhi Hery Purnomo, Hybrid Controller Base On Intelligent Speed Synchronization Induction Motor for The Four Wheel Drive of Electric Car, Journal of Theoretical and Applied Information Technology (JATIT), Vol. 41 No.2, pp 158-165, July, 2012. [4] Pham, Duc Truong, Fhmy, Ashraf, Eldukhri, and Eldaw Elzaki, Fuzzy hysteresis Coordinator for Neuro- FuzzyPosition Controlled Manipulators, In: Chung, Myung Jin and Misra, Pradeep eds. Proceedings of the 17 th IFAC World Congress Seoul, Korea, International Federation of Automatic Control (IFAC), July 6-11, pp.9168-9173, 2008. [5] Supeno Mardi S. N., Ika Widiastuti, Moch. Hariadi, and Mauridhi H Purnomo, Fuzzy Coordinator Based Intelligent Agents For Team Coordination Behavior in Close Combat Games, Journal of Theoretical and Applied Information Technology (JATIT), Vol. 51 No.2, pp 317-323., May 2013. [6] Yunifa Miftahul Arif, Arif, Ady Wicaksono, dan Fachrul Kurniawan, Pengertian Senjata NPC Pada Game FPS Menggunakan Fuzzy Sugeno, Journal Prosiding Seminar Compotitive Advantage, Vol 1. No.2, Unipdu, Jombang. 2012. [7] Stuart J. Russell and Peter Norvig, Artificial Intelligence A Modern Approach Third Edition, Pearson Education, Inc., Upper Saddle River, New Jersey, 2013. [8] T.Sutoyo, Edi Mulyanto, dan Vincent Suhartono, Kecerdasan Buatan, C.V. Andi Offset,Yogyakarta, 2011.