• Tidak ada hasil yang ditemukan

AKSI NON PLAYER CHARACTER PADA GAME REAL TIME FIGHTING MENGGUNAKAN LEARNING VECTOR QUANTIZATION

N/A
N/A
Protected

Academic year: 2021

Membagikan "AKSI NON PLAYER CHARACTER PADA GAME REAL TIME FIGHTING MENGGUNAKAN LEARNING VECTOR QUANTIZATION"

Copied!
5
0
0

Teks penuh

(1)

AKSI NON PLAYER CHARACTER PADA GAME REAL TIME FIGHTING MENGGUNAKAN LEARNING VECTOR

QUANTIZATION

Dimas Erlangga

1)

Esmeralda C Djamal

2)

Agus Komarudin

3)

1) 2) 3)

Jurusan Informatika, Fakultas MIPA Universitas Jenderal Achmad Yani

Jl. Terusan Sudirman, Cimahi

email : [email protected]

1)

, [email protected]

2)

, [email protected]

3)

ABSTRACT

Game-based real-time fighting to have the Non- Player Character (NPC) who need to take action in order to defeat the player. In action, the game needs to learn certain patterns. Several previous studies NPC determines that the action by using several different methods, one using Sugeno Fuzzy Logic and Naïve Bayes classifier (NBC) to determine the action on the turn based strategy game. Pattern recognition that many combinations of factors - factors and criteria on environment NPC can be used to determine the action using Artificial Neural Network (ANN). This study makes game real-time fighting with the NPC to determine the action using Learning Vector Quantization (LVQ). LVQ is one method of classification patterns of each - each unit of output represents an existing class. LVQ is used for grouping the target number or class is predetermined. The number of input vectors that used in this study as many as 18 input vectors that used to classify the target weights into four classes namely class defend, class of melee attacks, long-range attack class, and class dodge. Based on test results, the system can recognize with an accuracy of 97,87% of the training data, and 70,21% of the test data.

Key words

Non player character, Artificial Neural Network, Learning Vector Quantization, Real-time Fighting

1. Pendahuluan

Real-Time Real-Time Fighting game adalah salah satu jenis/genre yang ada pada game komputer, yang dimana pemain maupun NPC tidak harus menunggu satu sama lain untuk mengambil aksi, melainkan dapat secepat mungkin melakukan aksi seperti menyerang, bertahan, dan mengejar lawan. Pada game jenis ini dibutuhkan sebuah NPC yang dapat menentukan aksi yang akan diambil secepat mungkin untuk mengalahkan player. Game jenis ini melibatkan reaksi, dan tindakan yang dilakukan dengan cepat sebagai sebuah bentuk reaksi terhadap perubahan lingkungan

sekitarnya agar game bisa menjadi semenarik mungkin.

Penelitian terdahulu menentukan aksi NPC dengan menggunakan Logika Fuzzy Sugeno dan Naïve Bayes Classifier untuk menentukan aksi pada game turn based strategy berdasarkan pola yang dapat dikenali oleh NBC [1]. Sedangkan penelitian lain menentukan aksi NPC pada game berbasis action RPG dengan menggunakan Logika Fuzzy Sugeno [2]. Dan penentuan aksi pada real-time game Pac-Man dengan menggunakan Logika Fuzzy [3].

Pengenalan pola dari kombinasi yang banyak dari kriteria kriteria pada lingkungan sekitar NPC dapat digunakan untuk menentukan aksi. Beberapa penelitian tentang pengenalan pola telah banyak dilakukan sebelumnya, pengenalan jender berdasarkan pola bentuk wajah [4], deteksi wajah dengan Jaringan Syaraf Tiruan (JST) [5].

Penelitian ini membuat game bergenre real-time fighting dengan NPC yang dapat menentukan aksi menggunakan metode Learning Vector Quantization (LVQ). Kesederhanaan dalam generalisasi pelatihan membuat komputasi LVQ sangat baik untuk mengenali suatu pola tertentu. Metode LVQ ini digunakan untuk pengelompokan dengan jumlah target atau kelas sudah ditentukan sebelumnyaAdapun kelas/aksi yang diambil NPC dibagi menjadi empat kelas target yaitu kelas bertahan, kelas serangan dekat, kelas serangan jauh, dan kelas menghindar.

Penelitian terdahulu menggunakan LVQ diterapkan pada klasifikasi status gizi anak [6], pengujian kualitas citra sidik jari kotor [7]. Dan perbandingan LVQ dengan Backpropagation pada pengenalan pola wajah [8].

Beberapa penelitian terdahulu lainnya juga

menggunakan komputasi LVQ di dalam sebuah game,

LVQ digunakan untuk mengawasi kemampuan kognitif

player berdasarkan klasifikasi pola masukan dari player

pada game [9]. Penelitian lain menggunakan LVQ

dengan tujuan mengamati tingkat motivasi player untuk

keberhasilan proses pembelajaran berdasarkan

klasifikasi pola masukan dari player di dalam sebuah

game [10].

(2)

2. Metode

A. Learning Vactor Quantization (LVQ)

Learning Vector Quantization (LVQ) merupakan suatu metode klasifikasi pola yang masing-masing unit keluaran mewakili kategori atau kelas tertentu. Metode LVQ digunakan untuk pengelompokkan dengan jumlah target atau kelas sudah ditentukan sebelumnya. Suatu lapisan kompetitif secara otomatis belajar untuk mengklasifikasikan vektor-vektor masukan. Kelas- kelas yang didapatkan sebagai hasil dari lapisan kompetitif ini hanya tergantung pada jarak antara vektor-vektor masukan. Jika dua vektor masukan mendekati sama, maka lapisan kompetitif akan meletakkan kedua vektor masukan tersebut ke dalam kelas yang sama.

Prinsip kerja dari algoritma LVQ adalah pengurangan node-node yang pada akhirnya hanya ada satu node output yang terpilih. Pertama kali yang dilakukan adalah melakukan inisialisasi bobot untuk tiap-tiap node dengan nilai random. Setelah diberikan bobot random, maka jaringan diberi masukan sejumlah dimensi node/neuron masukan. Setelah masukan diterima jaringan, maka jaringan mulai melakukan perhitungan jarak vektor yang didapatkan dengan menjumlah selisih/jarak antara vektor masukan dengan vektor bobot. Seperti pada Gambar 1 menunjukkan arsitektur LVQ [8].

Gambar 1 Arsitektur LVQ

Setelah dilakukan pelatihan, diperoleh bobot akhir (W). Bobot-bobot ini nantinya akan digunakan untuk melakukan simulasi atau pengujian data yang lain.

Penelitian terdahulu, Metode LVQ digunakan untuk proses pembelajaran setiap matriks gambar learning akan dipelajari dan menghasilkan 1 matriks nilai bobot dengan banyaknya pengujian 25 kali untuk setiap parameter [8].

Algoritma LVQ:

1. Tetapkan:

Bobot (W) , Maksimum Epoh

(MaxEpoh) , Error Minimum yang diharapkan (Eps) , Learning Rate (α).

2. Masukkan:

Input : x(m,n);

Targetm : T(1,n).

3. Tetapkan Kondisi Awal:

epoh = 0;

err = 1.

4. Kerjakan jika: (epoh < MaxEpoh) atau (α > eps) a. epoh = epoh+1;

b. Kerjakan untuk i=1 sampai n

i. Tentukan J sedemikian sehingga ǁ x - w

j

ǁ

minimum (sebut sebagai C

j

)

ii. Perbaiki w

j

dengan ketentuan:

1. Jika T = C

j

maka:

w

j

(baru) = w

j

(lama) + α(x-w

j

(lama)) 2. Jika T ≠ C

j

maka:

w

j

(baru) = w

j

(lama) - α(x-w

j

(lama)) Kurangi nilai α

B. Tahapan Proses Penelitian

Adapun tahapan pada penelitian ini yang digunakan untuk menentukan aksi NPC game adalah seperti pada Gambar 2.

INPUT 1- HEALTH POINT PLAYER (HPP)

100 DATA LATIH DENGAN 18 ATRIBUT

DATA UJI

PROSES

PEMBELAJARAN LVQ

KLASIFIKASI DENGAN LVQ BOBOT

KLASIFIKASI

AKSI NPC OUTPUT

2- SKILL POINT PLAYER (SPP) 3- STAMINA POINT PLAYER (STP)

.., 18- KOORDINAT X NPC (KXN)

1- SERANGAN JAUH 2- SERANGAN DEKAT 3- BERTAHAN 4- MENGHINDAR

Gambar 2 Sistem Aksi NPC Menggunakan LVQ

Proses penelitian diawali dengan memasukan data

latih ke dalam pembelajaran metode LVQ, kemudian

hasil pembelajaran akan menghasilkan bobot

klasifikasi kelas aksi dari NPC. Bobot klasifikasi

kemudian digunakan untuk mengklasifikasikan data

uji, kemudian hasil klasifikasi divisualisasi menjadi

aksi.

(3)

C. Variabel Masukan dan Kelas

Variabel–variabel yang digunakan pada penelitian ini dapat dilihat pada Tabel 1.

Tabel 1 Variabel Masukan

No Nama Variabel

Rentang (Bilangan

Bulat)

Keterangan

1 Health Point

Player (HPP) 1-346 Jumlah darah yang dimiliki player

2 Skill Point

Player (SPP) 1-346

Jumlah skill yang dimiliki player untuk serangan jarak jauh

3 Stamina Player

(STP) 1-346

Jumlah stamina yang dimiliki player untuk serangan jarak dekat

4

Regenerasi Skill Point Player (RSP)

0-1

Jumlah

regenerasi/pengisian ulang skill point player 5

Regenerasi Stamina Player (RTP)

0-1

Jumlah

regenerasi/pengisian ulang stamina point player

6

Kekuatan Serangan Jauh Player (KJP)

{0,2,4}

Tingginya kekuatan serangan jauh player pada NPC

7

Kekuatan Serangan Dekat Player (KDP)

0-3

Tingginya kekuatan serangan dekat player pada NPC

8

Kekuatan Bertahan Player (KBP)

{0,2}

Tingginya kekuatan bertahan player dari serangan NPC 9 Koordinat X

Player (KXP) 1-1000 Titik koordinat X player pada stage

10 Health Point

NPC (HPN) 1-346 Jumlah darah yang dimiliki NPC

11 Skill Point NPC

(SPN) 1-346

Jumlah skill yang dimiliki NPC untuk serangan jarak jauh

12 Stamina NPC

(STN) 1-346

Jumlah stamina yang dimiliki NPC untuk serangan jarak dekat

13

Regenerasi Skill Point NPC (RSN)

0-1

Jumlah

regenerasi/pengisian ulang skill point NPC

14

Regenerasi Stamina NPC (RTN)

0-1

Jumlah

regenerasi/pengisian ulang stamina point NPC

15

Kekuatan Serangan Jauh NPC (KJN)

{0,2,4}

Tingginya kekuatan serangan jauh NPC terhadap player

16

Kekuatan Serangan Dekat NPC (KDN)

0-3

Tingginya kekuatan serangan dekat NPC terhadap player

17

Kekuatan Bertahan NPC (KBN)

{0,2}

Tingginya kekuatan bertahan NPC dari serangan player 18 Koordinat X

NPC (KXN) 1-1000 Titik koordinat X NPC pada stage

Kelas–kelas aksi NPC yang digunakan pada penelitian ini dapat dilihat pada Tabel 2.

Tabel 2 Kelas Aksi NPC

No. Kelas

1 Serangan Jauh

2 Serangan Dekat

3 Bertahan

4 Menghindar

3. Hasil

Hasil analisa terhadap aksi NPC pada game LVQ Fighting berdasarkan proses pelatihan dan pengujian menggunakan LVQ dari variabel – variabel input di dalam game.

1. Pengujian Terhadap Data Latih

Pada tahap ini dilakukan pengujian terhadap data latih menggunakan bobot hasil pelatihan LVQ pada sistem. Data yang diujikan berjumlah 94 data dan data diuji berdasarkan jumlah kelas yang dikenali. Adapun parameter – parameter yang digunakan pada pengujian akurasi dengan LVQ terhadap data latih yaitu menggunakan learning rate 0.05, minimum learning rate sebesar 0.0001 dan pengurangan learning rate sebesar 0.1. Hasil pengujian data latih dapat dilihat seperti pada Tabel 3.

Tabel 3 Pengujian Akurasi Data Latih

No Kelas Jumlah

Data

Jumlah Tepat Dikenali

1 Serangan Jauh 17 17

2 Serangan Dekat 27 27

3 Bertahan 32 30

4 Menghindar 18 18

Total 94 92

Berdasarkan hasil pengujian seperti pada Tabel 3,

sistem dapat mengenali data latih berdasarkan jumlah

kelas yang dikenali sebanyak 92 dari 94 data yang

diujikan dengan menggunakan bobot hasil pelatihan

menggunakan LVQ, yaitu sebesar 97,87%.

(4)

2. Pengujian Terhadap Data Uji

Pada tahap ini dilakukan pengujian terhadap data uji menggunakan bobot pelatihan LVQ. Data yang diujikan berjumlah 94 data, dan diuji berdasarkan jumlah kelas yang dikenali. Adapun parameter – parameter yang digunakan pada pengujian akurasi dengan LVQ terhadap data uji yaitu dengan menggunakan learning rate 0.05, minimum learning rate sebesar 0.0001 dan pengurangan learning rate sebesar 0.1. Hasil pengujian data latih dapat dilihat seperti pada Tabel 4.

Tabel 4 Pengujian Akurasi Data Uji

No Kelas Jumlah

Data

Jumlah Tepat Dikenali

1 Serangan Jauh 17 11

2 Serangan Dekat 50 43

3 Bertahan 9 8

4 Menghindar 18 4

Total 94 66

Berdasarkan hasil pengujian seperti pada Tabel 4, sistem dapat mengenali data uji berdasarkan jumlah kelas yang dikenali sebanyak 66 dari 94 data yang diujikan dengan menggunakan bobot hasil pelatihan menggunakan LVQ, yaitu sebesar 70,21%.

Adapun grafik yang dihasilkan dari proses pengujian akurasi terhadap data latih dan terhadap data uji dapat dilihat pada Gambar 3.

Gambar 3 Grafik Pengujian Akurasi

4. Kesimpulan

Penelitian ini telah menghasilkan sebuah game dengan aksi Non Player Character (NPC) berdasarkan variabel – variabel di dalam game menggunakan Learning Vector Quantization (LVQ). Atribut yang

Point (HP), Skill Point (SP), Stamina Point (ST), Kekuatan Serangan Jauh (KJ), Kekuatan Serangan Dekat (KD), Kekuatan Bertahan (KB), Regenerasi Skill Point (RS), Regenerasi Stamina Point (RT), dan Koordinat X (KX) baik dari NPC maupun player yang membentuk banyak pola dan dapat diklasifikasikan menggunakan Learning Vector Quantization (LVQ).

NPC dapat merespon player dengan aksi – aksi yang telah ditentukan sebelumnya seperti Serangan Jauh, Serangan Dekat, Bertahan, dan Menghindar.

Hasil pengujian terhadap data uji dengan parameter learning rate 0.05, minimum learning rate sebesar 0.0001 dan pengurangan learning rate sebesar 0.1. diperoleh akurasi sebesar 72% dan waktu respon rata-rata 0.024 detik. Kelemahan sistem terletak pada klasifikasi kelas 4 yaitu aksi menghindar dimana hanya memiliki akurasi 30% sehingga masih membutuhkan perbaikan akurasi. Sistem dilatih dengan 100 data latih dengan 4 data latih awal digunakan sebagai inisialisai bobot. Hasil pengujian akurasi terhadap data latih sebesar 98 %.

Adapun saran apabila penelitian ini dikembangkan yaitu dengan cara menambah maupun mengubah jenis variabel–variabel masukan yang ada di dalam game, dan menambahkan jumlah aksi yang dapat diambil baik oleh NPC maupun oleh player sehingga game akan menjadi lebih menarik untuk dimainkan. Kemudian merubah proses pembuatan data latih dari cara manual menjadi sebuah proses perekaman langsung pada saat pertarungan NPC dan player.

REFERENSI

[1] D. Fathurochman, W. Witanti and R. Yuniarti,

"Perancangan Game Turn Based Strategy Menggunakan Logika Fuzzy dan Naive Bayes Classifier," in Seminar Nasional informatika, Yogyakarta, 2014.

[2] K. R. Purba, R. N. Hasanah and M. A. Muslim,

"Implementasi Logika Fuzzy untuk Mengatur Perilaku Musuh dalam Game Bertipe Action-RPG," Jurnal EECCIS, vol. VII, no. 1, pp. 15-20, 2013.

[3] A. Shaout, B. King and L. Reisner, "Real-Time Game Design of Pac-Man Using Fuzzy Logic," The International Arab Journal of Information Technologi, vol. III, no. 4, pp. 315-325, 2006.

[4] A. A. Ridwa, I. Setyawan and I. K. Timotius,

"Performance Comparison between Principal Component Analysis and Discriminant Analysis in a Gender Recognition System," in IEEE Conference on Control, Systems and industrial Informatics (ICCSII), Bandung, 2013.

[5] O. AL-Allaf, "REVIEW OF FACE DETECTION

SYSTEMS BASED ARTIFICIAL NEURAL

NETWORKS ALGORITHMS," The International Journal of Multimedia & Its Applications (IJMA), vol.

6, no. 1, 2014.

[6] E. Budianita and W. Prijodiprodjo, "Penerapan

Learning Vector Quantization (LVQ) untuk Klasifikasi

Status Gizi Anak," IJCCS, vol. VII, no. 2, pp. 155-166,

(5)

[7] M. Nasir and M. Syahroni, "Pengujian Kualitas Citra Sidik Jari Kotor Menggunakan Learning Vector Quantization (LVQ)," Jurnal Litek, vol. IX, no. 1, pp.

65-69, 2012.

[8] M. D. Wuryandari and I. Afrianto, "Perbandingan Metode Jaringan Syaraf Tiruan Backpropagation dan Learning Vector Quantization Pada Pengenalan Wajah,"

Jurnal Komputer dan Informatika (KOMPUTA), vol. I, no. 1, pp. 45-51, 2012.

[9] M. A. Syufagi, M. Hariadi and M. H. Purnomo, "A Cognitive Skill Classification Based on Multi Objective Optimization Using Learning Vector Quantization for Serious Games," ITB J. ICT, vol. V, no. 3, pp. 185-202, 2011.

[10 ]

M. A. Syufagi, M. Hariadi and M. H. Purnomo, "A

Motivation Behavior Classification Base on Multi

Objective Optimization using Learning Vector

Quantization for Serious Game," International Journal

of Computer Applications, vol. LVII, no. 14, pp. 23-30,

2012.

Gambar

Gambar 1 Arsitektur LVQ
Tabel 2 Kelas Aksi NPC
Tabel 4 Pengujian Akurasi Data Uji

Referensi

Dokumen terkait

aplikasi VROYSE berfungsi sebagai media informasi yang ditampilkan secara menarik dengan tampilan 3D yang membantu calon mahasiswa baru untuk mendapatkan informasi

Krajan Desa Plalangan TK PGRI 2 SUMBERMALANG; Jl.Pakisan No.07 Rt.02 Rw 01 Dusun Krajan Desa Taman TK PGRI 3 SUMBERMALANG; Jl.. Jambaran

Salah satu produk penyaluran dana yang ada pada Baitul Qiradh Baiturrahman Cabang Ulee Kareng adalah pembiayaan murābahah, suatu pembiayaan untuk penambahan pembelian barang

• Hukum Dagang merupakan keseluruhan aturan dalam lalu lintas perdagangan yang dilakukan antara orang/badan hukum dengan orang/badan hukum lainnya sebagaimana diatur

Setidaknya dari dua definisi di atas, secara umum crowdfunding dapat diartikan sebagai mekanisme penggalangan dana untuk mendukung sebuah program atau proyek

Pada Material Aluminium-Magnesium Terhadap Beban Impak Dengan Variasi Sudut Kampuh V 60 o dan 90 o ” ini dimaksudkan sebagai salah satu syarat untuk

Upaya pengelolaan domain domain itu dilakukan dengan mengubah semua sumber daya batas (manusia, bahan, mesin, metode) untuk melaksanakan daerahnya. Namun canggihnya teknologi

Jika NEW adalah suatu variabel pointer, maka GETNODE(NEW) akan menyebabkan node yang ditunjuk oleh variabel pointer NEW disisipkan ke dalam linked list..