• Tidak ada hasil yang ditemukan

Pergantian Senjata NPC pada Game FPS Menggunakan Fuzzy Sugeno

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pergantian Senjata NPC pada Game FPS Menggunakan Fuzzy Sugeno"

Copied!
6
0
0

Teks penuh

(1)

Pergantian Senjata NPC pada Game FPS Menggunakan Fuzzy Sugeno

Yunifa Miftachul Arif 1), Ady Wicaksono 2) , Fachrul Kurniawan 3)

1,3)

Jurusan Teknik Informatika, Fakultas Saintek, UIN Maulana Malik Ibrahim Malang 2)

Jurusan Multimedia, SMKN 3 Batu

Abstrak

Pengembangan kecerdasan buatan dalam game bertujuan untuk membuat aksi dan reaksi yang secara otomatis pada NPC (Non-Player Character). Penelitian ini membahas tentang bagaimana sistem perubahan senjata secara otomatis pada NPC berdasarkan perubahan kondisi lingkungan yang dihadapi. Metode yang digunakan untuk menentukan jenis senjata yang digunakan pada penelitian ini adalah fuzzy sugeno. Untuk menghasilkan output fuzzy yang bervariasi, maka digunakan variabel jarak musuh dan jumlah teman. Desain pergantian senjata yang dibuat menggunakan software Matlab selanjutnya diujicobakan dalam game First Person Shooter menggunakan Torque Game Engine. Dalam hasil ujicoba game terjadi respon pergantian senjata pada masing-masing NPC terhadap kondisi yang dihadapi sesuai dengan rule fuzzy yang sudah didesain sebelumnya.

Kata kunci: NPC, pergantian senjata, otomatis, fuzzy sugeno.

1. PENDAHULUAN

Penelitian tentang AI (Artificial Intelligence) pada NPC (Non-Player Character) dalam game, hingga saat ini masih terus di kembangkan. AI tersebut di kembangkan untuk merancang perilaku NPC [1]. Ketika kita mengatakan bahwa game sudah mempunyai AI yang baik, berarti bahwa karakter permainan menunjukkan perilaku yang konsisten dan realistis, bereaksi dengan tepat kepada tindakan pemain dan karakter lain. AI pada game FPS umumnya terdiri dari perencanaan path, mengambil item, menggunakan

item, dan berperang [2]. Khusus untuk berperang NPC juga diharapkan mempunyai strategi-strategi khusus seperti halnya manusia [3].

Model strategi menyerang bisa bermacam-macam, misalnya strategi menyerang maupun strategi dalam hal penggunaan senjata [4]. Seperti halnya didunia nyata, setiap senjata tentu mempunyai karakteristik dan fungsi yang berbeda. Misalnya senapan laras pendek digunakan untuk menyerang musuh jarak dekat, sedangkan meriam digunakan untuk menyerang musuh dari jarak jauh. Apabila suatu NPC dapat menggunakan senjata sesuai dengan fungsinya, atau dengan kata lain orientasi penggunaan senjata dapat menyesuaikan dengan kondisi yang dihadapi oleh NPC, maka sebuah game akan Nampak lebih menarik dan lebih natural. Pada penelitian ini akan dibahas mengenai model strategi penggunaan senjata oleh NPC pada game FPS, dimana untuk menentukan respon jenis senjata yang digunakan terhadap perubahan kondisi yang dihadapi NPC digunakan logika fuzzy.

Implementasi dari penelitian ini adalah untuk game

ber-genre FPS dimana NPC musuh akan berinteraksi langsung dengan karakter pemain. Game engine yang digunakan untuk menguji perilaku NPC adalah Torque

Game Engine 1.4, yang merupakan Game Engine 3D.

Game Engine ini dipasarkan oleh Garege Games,

dengan ciri pemrograman setiap elemen game terdiri dari class-class [5].

2. TEORI PENUNJANG

Penelitian yang dilakukan ini didasarkan pada beberapa penelitian lain yang telah dilakukan sebelumnya. Untuk memberikan gambaran secara umum, pada bab 2 ini akan dibahas secara singkat mengenai game, NPC, artificial intelegence game,

Finite State Machine, logika fuzzy dan teori penunjang lain yang berkaitan dengan penelitian ini.

Non-Player Character

Autonomous character adalah jenis

otonomous agent yang ditujukan untuk penggunaan

komputer animasi dan media interaktif seperti games dan virtual reality. Agen ini mewakili tokoh dalam cerita atau permainan dan memiliki kemampuan untuk improvisasi tindakan mereka. Ini adalah kebalikan dari seorang tokoh dalam sebuah film animasi, yang tindakannya ditulis di muka, dan untuk “avatar” dalam sebuah permainan atau virtual reality, tindakan yang diarahkan secara real time oleh pemain. Dalam permainan, karakter otonom biasanya disebut NPC (Non-PlayerCharacter).

Perilaku karakter yang otonom dapat lebih baik dipahami dengan membaginya menjadi beberapa lapisan. Lapisan ini dimaksudkan hanya untuk kejelasan dan kekhususan dalam diskusi yang akan mengikuti. Gambar 1 menunjukkan sebuah divisi gerak perilaku otonom hirarki karakter menjadi tiga lapisan: seleksi tindakan, steering, dan penggerak.

(2)

Action selection : Strategy

Steering : Path determination

Locomotion : Animation, articulation

Gambar 1 Hirarki gerak perilaku

Tiga lapisan hirarki tersebut, adalah motivasi, tugas, dan motor. [6]. Pada penelitian ini lebih di fokuskan pada bagian action selection yang di dalamnya berisi strategi pergerakan NPC.

Finite State Machine (FSM)

Dalam perancangan AI untuk game, state

machine merupakan teknik yang paling banyak

dipergunakan untuk permasalahan “decision making”

dan, sekaligus dengan scriptingnya, dipergunakan secara luas untuk merancang sistem decision making

dalam game . State machine dikenal secara luas sebagai teknik untuk pemodelan fenomena atau kondisi berbasis

event, termasuk penguraiannya, serta desain interface. Finite State Machine (FSM) atau juga disebut sebagai

Finite State Automata, dianggap sebagai teknik yang secara luas dipergunakan dalam merancang AI dalam

game. Teknik ini merupakan metodologi perancangan sistem untuk memodelkan perilaku (behavior) dari sistem atau obyek yang kompleks dengan yang kondisi yang telah didefinisikan dalam set.

FSM merupakan model komputasi, dan sebagai sebagai teknik permodelan AI, FSM terdiri dari 4 komponen: State, merupakan kondisi yang mendefinisikan perilaku sekaligus memungkinkan terjadinya aksi; State transition, yang memicu perpindahan state; Rules, atau kondisi yang harus dipenuhi untuk dapat memicu transisi state; Input events,

yang bisa dipicu secara internal ataupun eksternal yang memicu tercapainya rule dan mengarahkan terjadinya transisi state. Jika kemudian dikelompokkan dalam pembagian set, maka FSM terdiri dari: state set, input set, output set, dan fungsi state transition [7].

Dalam FSM, istilah state merupakan konsep yang sangat fundamental karena menyajikan informasi yang berkaitan dengan keadaan sistem saat sebelumnya. Dalam satu periode yang tetap, sistem berada dalam satu state, yang tiap state-nya mempunyai karakteristik perilaku dan aksi yang spesifik (yang sudah ditentukan).

State-state dihubungkan melalui transisi antar state, selanjutnya masing-masing transisi mengarahkan ke

state (kondisi) selanjutnya sebagai target state. Akan selalu ada initial state yang berfungsi sebagai starting point, lalu kondisi “saat ini’ (current state) yang menyimpan informasi state sebelumnya. Input event

(kejadian), yang bisa dipicu secara eksternal maupun internal sistem, berfungsi sebagai pemicu (trigger), yang mengarahkan pada proses evaluasi dari rule

(aturan). Jika kondisi dan syaratnya terpenuhi, maka

terjadi transisi dari state saat ini ke state selanjutnya sesuai dengan rule yang sudah ada. Transitions

merupakan class dari obyek yang mengatur sistem [8].

Transitions mengontrol aliran dari eksekusi dengan melakukan setting pada state yang sedang aktif dari

state machine melalui penggunaan dari kondisi.

Transitions bisa berlaku one-to-many, dengan kata lain, bisa terjadi ada satu state terhubungkan ke sisi

input dari transitions, dan beberapa state terhubung ke sisi output dari transitions, tergantung dari kondisi yang sedang berlangsung dalam transition tersebut. Prinsip dari komponen-komponen yang terintegrasi dalam FSM ditunjukkan dalam gambar 2.

Gambar 2 Framework Finite State Machine

State machine merupakan bagian logika yang

bertanggung jawab pada perilaku (behavior) sistem. Sedangkan kata “finite” sendiri merujuk pada jumlah yang sudah dibatasi (ditentukan) untuk state yang ditangani oleh sistem. Sejarah dari perubahan input

diperlukan untuk dapat menentukan secara jelas perilaku, dan komponen ini disimpan dalam variabel internal yang disebut sebagai state. Selanjutnya, kondisi transisi state dan output merupakan fungsi dari input dan state. Gambar 3 menjelaskan contoh dari pengertian dasar mengenai statemachines [9].

Gambar 3 Dasar pengertian State Machine

Modeling AI Game

Arsitektur model AI digambarkan dalam Gambar 4. Pada level pertama mengandung komponen yang mewakili sensor yang memungkinkan karakter untuk mengamati lingkungan serta state sendiri. Sensors menyaring informasi dan peristiwa

(3)

serta mengirimnya ke tingkat berikutnya. Tingkat kedua berisi komponen analyzers yang menganalisis atau menghubungkan kejadian dari individu sensor, yang mungkin mengarah pada peristiwa generasi selanjutnya. Komponen memorizer bertugas menyimpan peristiwa yang telah terjadi.

Strategic deciders adalah komponen yang

secara konseptual di tingkat tertinggi abstraksi. Mereka harus memutuskan strategi NPC yang didasarkan pada kondisi saat ini dan memori. Pada tingkat berikutnya,

tactic deciders merencanakan bagaimana membuat

strategi yang dipakai sekarang dapat berjalan dengan baik. Executors atau pelaksana kemudian menerjemahkan keputusan dari tactical deciders untuk perintah tingkat rendah (low-level commands) sesuai dengan batasan yang digunakan oleh permainan atau simulasi. Komponen coordinators memahami hubungan antar-actuators dan mungkin kembali memberikan perintah tingkat rendah lebih lanjut. Akhirnya, actuators melakukan tindakan yang diinginkan [10]. Bahasan penelitian ini lebih berada pada tingkat komponen strategic deciders dan tactical deciders.

Gambar 4 AI model Architecture Logika Fuzzy

Logika Fuzzy adalah sebuah metode untuk menangani masalah ketidakpastian. Yang dimaksud dengan ketidakpastian yaitu suatu masalah yang mengandung keraguan, ketidaktepatan, kurang lengkapnya informasi, dan nilai kebenarannya bersifat sebagian. Ide tentang logika Fuzzy sebenarnya telah lama dipikirkan, yaitu semenjak jaman filsuf Yunani kuno. Dalam hal ini Plato adalah filsuf pertama yang meletakkan pondasi dasar dari logika Fuzzy. Plato menyatakan bahwa ada area ketiga selain benar dan salah. Terdapat banyak model aturan Fuzzy yang bisa digunakan dalam proses inference akan tetapi ada dua model aturan yang paling sering digunakan yaitu : 1. Model Mamdani

Bentuk aturan yang digunakan pada model Mamdani adalah sebagai berikut :

IF x1 is A1 AND … AND xn is An THEN y is B

………(2.4)

Dimana A1,…, An, B adalah nilai-nilai linguistik,

sedangkan “ x1 is A1 “ menyatakan bahwa nilai

dari variabel x1 adalah anggota himpunan fuzzy

A.

2. Model Sugeno

Model Sugeno merupakan varian dari model Mamdani dan memiliki bentuk aturan sebagai berikut :

IF x1 is A1 AND … AND xn is An THEN y =

f(x1 , …. , xn) …………(2.5)

Dimana f bisa berupa sembarang fungsi dari variabel-variabel masukan yang nilainya berada dalam interval variabel keluaran.

Dari penjelasan tentang logika Fuzzy dapat diketahui bahawa suatu sistem yang menggunakan logika Fuzzy mampu menangani suatu masalah ketidakpastian dimana masukan yang diperoleh merupakan suatu nilai yang kebenarannya bersifat sebagian [11]. Atas dasar itulah pada penelitian ini, logika fuzzy digunakan dengan tujuan untuk mendapatkan respon perubahan senjata NPC berdasarkan variabel input yang dimiliki. Selanjutnya dalam menentukan perubahannya digunakan model

Fuzzy Sugeno, dimana setiap output senjata NPC

diwakili oleh konstanta tetap yang sudah ditentukan sebelumnya.

3. METODE PENELITIAN

Penelitian ini menggunakan FSM sebagai metode yang digunakan dalam mendesain perilaku NPC,

sedangkan untuk menentukan perilaku dalam melakukan perubahan senjata NPC berdasarkan variable yang dimilikinya digunakan logika fuzzy. Gambar 5 menunjukkan tahapan-tahapan dalam penelitian yang meliputi perancangan FSM, perancangan logika fuzzy hingga terjadi perubahan senjata NPC berdasarkan kondisi lingkungan yang dihadapi .

(4)

FSM Perilaku NPC

Secara garis besar desain FSM pada penelitian ini ditunjukkan pada Gambar 6. Ada beberapa state dasar yang dijelaskan pada gambar tersebut, dimana masing-masing state mewakili perilaku yang dimiliki oleh NPC. Diantaranya adalah update posisi pada awal permainan, mencari musuh, berkelana, menghindari tambakan jika terjadi serangan oleh musuh, dan respon perubahan senjata yang didesain dengan menggunakan fuzzy sugeno. Tiga output senjata yang digunakan antara lain adalah Senapan mesin, Blaster, dan juga Rocket Louncher.

Gambar 6 FSM (Finite state machine) NPC

Logika Fuzzy

Variasi perubahan senjata yang digunakan oleh NPC, didesain dengan menggunakan logika fuzzy. Model fuzzy yang digunakan adalah Sugeno, dengan pertimbangan bahwa output yang dihasilkan model

fuzzy Sugeno adalah berupa konstanta tegas, sehingga dapat mewakili nilai perilaku yang sudah didesain sebelumnya.

Desain Fuzzy NPC

Dua variabel yang mempengaruhi perubahan senjata NPC, adalah tingkat kesehatan (sangat lemah, lemah, sedang, kuat, sangat kuat) dan jarak musuh (sangat dekat, dekat, sedang, jauh). Dengan adanya 2 variabel tersebut diharapkan perubahan perilaku NPC dalam hal perubahan senjata lebih bervariasi. Selanjutnya untuk menjadi otonom maka digunakan aturan sebab akibat antara perilaku dengan atribut variabel yang menempel pada NPC. Misalnya ketika kesehatan sangat lemah dan jarak musuh sangat dekat maka NPC cenderung menggunakan senjata laras pendek paling ringan diantara senjata yang lain (senapan mesin) sesuai dengan hasil defuzzyfikasi.

Gambar 7 Logika fuzzy perilaku NPC Scout

Gambar 7 menunjukkan bahwa dalam penelitian ini, ada dua atribut yang diberikan terhadap NPC, yaitu Jarak musuh dan kesehatan. Dimana dalam logika fuzzy masing-masing digunakan gabungan gabungan fungsi keanggotaan segitiga dan trapezium.

Desain fuzzy untuk menghasilkan perilaku NPC

Scout dapat dilihat pada Gambar 8.

Gambar 8 Desain fuzzy perubahan senjata NPC

4. HASIL DAN PEMBAHASAN

Pengujian Sistem

Pengujian system yang pertama dilakukan dalam penelitian ini adalah pengujian terhadap desain logika

fuzzy yang dilakukan dengan menggunakan software Mathlab. Dari hasil system fuzzy yang diperoleh, selanjutnya diujicobakan pada FPS game

menggunakan Torque Game Engine.

Dalam pengujian perubahan perilaku NPC terhadap senjata yang digunakan, beberapa parameter diujikan untuk mengetahui variasi perilaku yang

(5)

dihasilkan. Parameter yang diuji diantaranya adalah beberapa nilai variable kesehatan mulai dari minimum hingga maksimum dan juga beberapa nilai variable jarak musuh mulai dari minimum hingga maksimum.

Tabel 1 Hasil pengujian perilaku NPC dengan menggunakan variable parameter masukan yang

berbeda.

Dari variasi variable masukan yang digambarkan pada Tabel 1 dapat diperoleh keluaran perilaku yang variatif, dimana selanjutnya dikelompokkan menjadi 3 model perilaku NPC dalam hal perubahan senjata yaitu menggunakan senapan mesin, blaster dan rocket louncher. Nilai output untuk senapan mesin ditunjukkan pada blok warna hijau (nilai<=0.5), blaster ditunjukkan pada blok warna merah muda (nilai>0.5 dan nilai<=1.5), sedangkan untuk rocket launcher ditunjukkan pada blok warna biru (nilai>1.5). Selanjutnya respon keluaran

fuzzy perilaku NPC terhadap senjata yang digunakan direpresentasikan oleh grafik tiga dimensi pada Gambar 9.

Gambar 9 Respon fuzzy perubahan senjata NPC dalam grafik permukaan

Game Simulasi

Dari hasil desain fuzzy yang sudah didapatkan, selanjutnya disimulasikan dalam game FPS yang dibangun dengan menggunakan Torque Game Engine.

Hasil tampilan user interface game ditunjukkan pada gambar 10. Sedangkan hasil perubahan senjata yang digunakan oleh NPC ditunjukkan pada gambar 11.

Gambar 10a Tampilan user interface game

Gambar 10b Tampilan user interface game (kondisi berperang)

(6)

5. PENUTUP

Dari hasil uji coba penelitian ini dapat diperoleh beberapa kesimpulan antara lain:

1. Aturan fuzzy dapat diterapkan untuk menghasilkan perubahan senjata NPC yang bervariasi sesuai dengan nilai variable yang dimiliki.

2. Diperlukan tambahan variasi input untuk mendapatkan hasil output yang lebih natural, misalnya dengan menambahkan variable jumlah musuh atau jumlah amunisi.

Daftar Referensi

[1] JinHyuk Hong dan Sung-Bae Cho. Evolving Reactive NPCs for the Real-Time Simulation Game. CIG, 2005.

[2] Yunifa Miftachul Arif, Fachrul Kurniawan dan Fresy Nugroho. Desain Perubahan Perilaku pada NPC Game Menggunakan Logika Fuzzy.

National Seminar on Electrical, Informatics, and Its Education, 2011.

[3] Michelle McPartland and Marcus Gallagher.

Creating a Multi-Purpose First Person

Shooter Bot with Reinforcement Learning.

IEEE, 2008.

[4] Yunifa Miftachul Arif. Strategi Menyerang pada Game FPS menggunakan Hierarchichal Finite

State Machine dan Logika Fuzzy. Master

Thesis, 2010.

[5] Edward F. maurina. The Game Programmer's

Guide to Torque. A Garage Games Book

2006.

[6] Craig W. Reynolds. Steering Behaviors For

Autonomous Characters. Sony Computer

Entertainment America.

[7] Arif, Yunifa Miftachul and Ririen Kusumawati.

Attack Strategy For NPC In FPS Game

Using Fuzzy Sugeno. Basic Science

International Conference, 2012.

[8] Bilung Lee and Edward A. Lee. Interaction of Finite State Machines and Concurrency

Models. Proceeding of Thirty Second Annual

Asilomar Conference on Signals, Systems, and Computers, Pacific Grove, California, 1998.

[9] Alex Mclean. Hunting Down the Player in a Convincing Manner. Pivotal Games, 2002. [10] Jörg Kienzle, Alexandre Denault, Hans

Vangheluwe. Model-based Design of Computer-Controlled Game Character

Behavior. McGill University, Montreal, QC

H3A 2A7, Canada, 2007.

[11] Sri Kusumadewi. Artificial intelligence (teknik dan aplikasinya). Yogyakarta : Graha Ilmu, 2003.

Gambar

Gambar 3 Dasar pengertian State Machine
Gambar 4  AI model Architecture
Gambar 7 Logika fuzzy perilaku NPC Scout  Gambar 7 menunjukkan bahwa dalam penelitian  ini,  ada  dua  atribut  yang  diberikan  terhadap  NPC,  yaitu  Jarak  musuh  dan  kesehatan
Gambar 9 Respon fuzzy perubahan senjata NPC dalam  grafik permukaan

Referensi

Dokumen terkait

pedesaan bobot sapih kambing Peranakan Etawah adalah 10,1 kg (S UBANDRIYO et al ., 1987). Peningkatan Mutu Genetik Ternak Kambing. Peningkatan mutu genetik pada umumnya dapat

Berdasarkan hasil waveform cross correlation dapat diketahui bahwa perbedaan kelompok tremor yang terjadi di Gunungapi Bromo ini dipengaruhi oleh bentuk sinyal

Hasil analisis menunjukkan bahwa jaringan sosial antar pedangan usaha mikro dan kecil di Pasar Inpres Matawai-Waingapu cukup baik, yang ditandai dengan adanya relasi yang

Pengalasan ini akhirnya menyatakan bahwa Veda seharusnya dalam dirinya mengandung segala pengetahuan yang diperlukan oleh umat manusia, yang tidak hanya berhubungan

Media Lempeng Faktor Konsep-konsep yang sangat sulit dapat diajarkan kepada beberapa siswa yang cerdas, dengan syarat, mereka belajar dengan sungguh-sungguh dan diajari

sehingga penyusunan skripsi yang berjudul “Analisis Stilistika dalam Kumpulan Puisi Hujan Bulan Juni Karya Sapardi Djoko Damono dan Relevansi Sebagai Pembelajaran Sastra

Mutta mä luulen, että omaishoitajat ovat kuitenkin sellaista väkeä, että joka sitä vuosikausia tekee, etteivät varmaan kukaan pahastu jos jollakin tavalla, ihan sehän ei

merupakan pencegahan kehamilan dengan cara alami dan sederhana. Di zaman seperti saat ini, kata Cholil, sudah ada bebera- pa alat kontrasepsi yang dapat dipastikan kemaslahatannya dan