implementasi metode n-gram pada pembuatan game fighting ...

33 downloads 883 Views 513KB Size Report
Game fighting dibuat dengan mengimplementasikan Metode N-gram. Metode N- gram diterapkan pada pembuatan pergerakan NPC (Non Playable Character) ...
IMPLEMENTASI METODE N-GRAM PADA PEMBUATAN GAME FIGHTING MADURA BERBASIS ANDROID OS MOBILE Farizal Arifin, Arik Kurniawati, Cucun Very Angkoso Program Studi Teknik Informatika, Universitas Trunojoyo Jl. Raya Telang PO. BOX 2 Kamal, Bangkalan, Madura, 691962 Email: [email protected], [email protected], [email protected]

Abstraksi Teknologi mobile game berkembang dengan sangat pesat. mobile game memiliki banyak peminat dari berbagai kalangan karena keragaman variasinya. Hal inilah yang menjadi dasar bagi para pengembang untuk terus mengembangkan mobile game. Pada penelitian ini dibuat sebuah Game Fighting dengan platform Android. Game Fighting adalah salah satu genre video game dimana seorang player mengontrol seorang karakter di layar permainan dan melakukan pertarungan jarak dekat (close combat) dengan seorang lawan. Game fighting dibuat dengan mengimplementasikan Metode N-gram. Metode N-gram diterapkan pada pembuatan pergerakan NPC (Non Playable Character) dalam bertarung. NPC dapat memprediksi gerakan lawan selanjutnya dengan menggunakan metode N-gram. Dari 30 gerakan pertama player NPC dapat memprediksi 9 gerakan dengan tepat. Prediksi akan menjadi semakin akurat dengan semakin banyaknya key yang tercipta. 6 dari 9 prediksi gerakan yang tepat terjadi antara pada gerakan ke-20 sampai gerakan ke-30. Metode ini akan cenderung membuat NPC bertahan jika player bergerak agresif menyerang. Hasil pengujian Game Fighting dapat berjalan dengan baik pada emulator dan smartphone android yang memiliki resolusi screen 320 x 480 pixels. Aplikasi game ini masih dapat berjalan lancar pada tipe smartphone Android yang memiliki resolusi screen lebih besar atau lebih kecil dari 320 x 480 pixels akan tetapi tapilannya tidak sempurna. Kata kunci : Mobile game, Android, Fighting Game, Metode N-gram

Abstract Mobile game technology is growing rapidly. Mobile games have a lot of enthusiasts from various circles because diversity of it variations. It has become foundation for the developers to continue develop a Mobile game. In this research has made a Game Fighting with Android platform. Fighting game is a video game genre where the player controls an on-screen character and engages in close combat with an opponent. Fighting game created with implementing N-gram method The N-gram method applied to the manufacture of the NPC (Non Playable Character) movement in the fighting. with N-gram method, NPC can predict future NPC’s movement. Our test result that NPC can predict 9 movement exactly from 30th player movement. Prediction will be more accurate as more keys created. 6 of 9 correct prediction are occur between of the 20th movement to the 30th movement. This method made NPC more defensif if the player movement is aggressively attacks. Showing the test result, fighting game can work perfectly in android smartphone with screen resolution 320 x 480 pixels. this game can work in bigger or smaller than that resolution but screen of the game not perfect. Keywords: Mobile game, Android, Fighting Game, Metode N-gram

1

2 Jurnal Sarjana Teknik Informatika Vol. 1, No. 1, Februari 2013, hlm 1-10

PENDAHULUAN Perkembangan teknologi game sangatlah pesat, tidak hanya pada komputer dan perangkatperangkat yang khusus di desain untuk memainkan game seperti Playstation, X-box dan sejenisnya melainkan juga pada handphone. Kebanyakan orang memainkan game untuk menghilangkan stress dan mengisi waktu luang. Karena handphone memiliki kepraktisan untuk dibawa kemana-mana dibandingkan dengan perangkat elektronik lainnya, maka saat ini telah banyak pihak yang berminat untuk mengembangkan fitur-fitur yang ada di handphone termasuk fitur game. Dalam pengembangan teknologi handphone, hal mendasar yang perlu di pertimbangkan adalah masalah operating system yang dipakai, karena sudah tentu suatu aplikasi tidak akan bisa berjalan di operating system yang berbeda, para pengembang pun sudah pasti memilih untuk mengembangkan suatu aplikasi pada handphone yang memiliki operating system yang dianggap terbaik. Operating system Android adalah operating system yang free dan open source, artinya dapat digunakan secara gratis dan kode sumbernya dapat dilihat bagi siapapun yang ingin melihatnya. Hal inilah yang menjadi dasar perkembangan teknologi Android yang begitu pesat dibandingkan dengan teknologi-teknologi handphone yang lainnya. Sementara itu di sisi lain semakin majunya teknologi di indonesia sekarang ini tidak di barengi dengan pengetahuan tentang sejarah nusantara khususnya di pulau Madura ini yang semakin lama semakin dilupakan. Pada penelitian ini, penulis membuat sebuah game yang mengisahkan tentang pahlawan Madura dalam game fighting dengan mengimplementasikan metode N-gram untuk variasi gerakan pada NPC. Sehingga penulis membuat sebuah aplikasi Mobile game tentang game fighting madura dengan mengimplementasikannya pada Android OS mobile.

Penelitian Sebelumnya N-gram dalam game adalah kecerdasan buatan untuk NPC yang digunakan untuk memprediksi perilaku player pada game sehingga dapat memperoleh keputusan yang akan dilakukan [1]. Untuk game fighting kecerdasan buatan pada NPC yang sudah diteliti adalah menggunakan metode Box-Muller untuk variasi gerakan. Dengan menggunakan metode BoxMuller dapat membuat waktu tarung lebih lama dan musuh tidak dapat dengan mudah dikalahkan [2]. Telah banyak penelitian tentang game yang berbasis Android OS Mobile, salah satunya adalah penelitian pembuatan game rubik cube. Penelitian ini bertujuan untuk membantu, menuntun pemain dalam menyelesaikan rubik cube hingga rubik berada pada kelompok warnanya masingmasing [3]. Penelitian lainnya adalah perancangan Aplikasi game shooter berbasis sistem operasi

Farizal Arifin, Implementasi Metode N-gram pada Pembuatan Game Fighting Madura …3

Android menggunakan interaksi touchscreen dan penelitian tentang generator angka acak dalam game Sudoku menggunakan metode Backtracking pada Android OS mobile.

Raden Trunojoyo Raden Trunojoyo, sering pula ditulis Trunajaya adalah seorang bangsawan Madura yang pernah melakukan pemberontakan terhadap pemerintahan Amangkurat I dan Amangkurat II dari Mataram. Pasukannya yang bermarkas di Kediri pernah menyerang dan berhasil menjarah keraton Mataram tahun 1677, yang mengakibatkan Amangkurat I melarikan diri dan meninggal dalam pelariannya. Trunojoyo akhirnya berhasil dikalahkan Mataram dengan bantuan dari VOC pada penghujung tahun 1679 [4]. Game ini menceritakan raden trunojoyo yang memberontak kepada kerajaan mataram yang bersekutu dengan belanda. Cerita dalam game ini diambil ketika kapten speelman menyerbu benteng trunojoyo sampai dibawanya raden trunojoyo ke amangkurat II .

Tujuan Penelitian Tujuan dari penelitian ini adalah dapat membuat game fighting madura yang berbasis Android OS Mobile dengan mengimplementasikan metode N-Gram pada pergerakan NPC dalam bertarung.

Batasan Permasalahan 1. Permainan dimainkan single player. 2. Metode yang digunakan dalam variasi gerakan NPC ini adalah metode N-gram 3. Player dan NPC hanya dapat memukul, menendang, bertahan, berjalan maju, berjalan mundur, dan melompat.

METODE Metode N-gram N-gram banyak digunakan dalam berbagai teknik analisis statistik dan juga analisa pendeteksian bahasa. N-gram di dalam game biasanya digunakan untuk action prediction. Salah satunya dalam game fighting, di mana AI akan memprediksi gerakan selanjutnya dari player [5]. Metode N-gram ini digunakan untuk mengambil rangkaian dari aksi player sejumlah n dari rentetan aksi player yang secara kontinuitas dimana dalam game fighting aksi player adalah seperti memukul, menendang, bertahan, berjalan maju, mundur, dan lain-lain. Di dalam N-gram terdapat window size, sequence length, dan memory concerns.

Window Size Window size adalah banyak data yang digunakan untuk memprediksi gerakan player selanjutnya. Window size sendiri selalu bernilai n-1. Jadi untuk 3-Gram maka window size nya adalah 2, sementara untuk 4-Gram window sizenya 3, dan seterusnya. Memperbesar window size

4 Jurnal Sarjana Teknik Informatika Vol. 1, No. 1, Februari 2013, hlm 1-10

pada awalnya akan memperakurat prediksi yang dilakukan, namun juga jika semakin besar akan menurunkan keakuratan prediksi, Seperti ditunjukkan pada Gambar 1

Gambar 1. Different Window Sizes ( sumber : Ian Millington, Artificial Intelligence For Games) Diagram di atas diambil dari hasil eksperimen yang telah dilakukan, dalam 1000 kali trials pada game Left or Right. Akurasi akan optimal jika nilai N nya antara 2 sampai dengan 9. Selebihnya nilai akurasinya justru malah dibawah jika kita melakukan random [5].

Sequence Length Sequence length adalah panjang urutan yang digunakan dalam N-gram. Pada awalnya prediksi tidak akan pernah akurat, ini karena belum ada data yang masuk sehingga semua kemungkinan masih dapat terbentuk, atau masih mempunyai frekuensi yang masih terlalu kecil dan juga nilainya masih sama satu sama lain. Jika nilai N nya besar, maka pembentukan pattern juga akan menjadi lebih lama karena kombinasi pattern nya lebih banyak, sehingga akhirnya proses untuk menuju prediksi yang optimal juga menjadi lebih lambat [5].

Memory Concerns Memory Concerns adalah banyak data yang disimpan dalam N-gram.prediksi akan menajdi lebih akurat jika AI menyimpan banyak data dari hasil aksi seorang player. Jadi AI yang menyimpan 1000 data aksi player tentu prediksinya akan lebih akurat dibanding yang hanya menyimpan 100 data. Hanya saja, tentu akan berpengaruh kepada performa game itu sendiri, gamenya menjadi lebih lambat, memakan memory lebih besar, hang ketika si AI melakukan prediksi [5].

Algoritma N-gram Berikut adalah algoritma metode N-gram pada game: 1. Memasukkan gerakan dari player ke dalam array sehingga terbentuk sequence 2. Memotong-motong sequence yang terbentuk sebanyak n 3. Menghitung frekuensi kemunculan pattern yang terbentuk (key). 4. Setelah didapat key nya, selanjutnya mencocokkan window terakhir dengan key yang ada 5. Setelah ditemukan yang cocok, selanjutnya mengambil dan mencari frekuensi yang paling tinggi 6. Tercipta prediksi akhirnya.

Farizal Arifin, Implementasi Metode N-gram pada Pembuatan Game Fighting Madura …5

Flowchart Algoritma N-gram dapat ditunjukkan pada Gambar 2 dan Gambar 3.

Gambar 2. Flow Chart Metode N-gram dalam Menentukan Gerakan NPC

Gambar 3. Flow Chart Memasukkan Gerakan Player dalam Array

Rancangan Game Fighting Madura Game ini berbasis sistem operasi android os mobile touchscreen. Sehingga semua tombol unuk pergerakan player dibuat secara virtual. Dalam Game ini ada 6 aksi yaitu memukul (P) dengan menyentuh tombol A, menendang (K) dengan menyentuh tombol B, bertahan (D) dengan menyentuh tombol C, berjalan maju (F) dengan menyentuh arah maju, berjalan mundur (B) dengan

6 Jurnal Sarjana Teknik Informatika Vol. 1, No. 1, Februari 2013, hlm 1-10

menyentuh arah mundur, menunduk (N) dengan menyentuh arah bawah dan melompat (J) dengan menyentuh arah atas. Flowchart inti system dari game fighting di tunjukkan pada gambar 4.

Gambar 4. Flowchart Inti System Game fighting

Berikut adalah penjelasan dari Work Flow di atas, terdapat dua menu dari sistem, yaitu new game dan about. Jika player memilih new game, maka sistem memulai game ini pada level 1. Jika player menang maka player masuk ke level 2. Dan jika kalah maka mengulang pada level 1 begitu pun juga pada level 2, jika kalah akan mengulang ke level 1. Player dinyatakan kalah jika darah player habis. Pada level 2 peraturan tetap sama pada level 1. Jika player dapat mengalahkan semua musuh maka player dinyatakan menang dalam game ini. Menu kedua adalah about, jka player memilih menu ini, maka sistem menampilkan informasi help dan pembuat game.

HASIL DAN PEMBAHASAN Uji Coba Scenario Untuk memastikan bahwa system berjalan sebagaimana mestinya, penulis akan menyusun skenario yang akan diuji coba antara lain : 1. Pengujian metode 2. Pengujian system dengan Android Emulator 3. Pengujian system dengan handphone Android

Farizal Arifin, Implementasi Metode N-gram pada Pembuatan Game Fighting Madura …7

Pengujian Metode Untuk memastikan metode berjalan dengan baik maka akan dilakukan uji coba dengan player melakukan gerakan yang sudah ditentukan sebelumnya. Gerakan yang akan dilakukan player adalah sebanyak 30 gerakan. Gerakan player dibuat sangat agresif menyerang. Berikut ini gerakan player dan aksi yang dilakukan NPC seperti ditunjukkan pada tabel 1. Tabel 1. Hasil Uji Coba Metode N-gram No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Aksi Player K K K K K P P K P K P P P K K

Aksi NPC P K P J J J K P B D D J J D D

No 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Aksi Player P K K P P K K K K P K P P K K

Aksi NPC J D D J J J J J J J D J D J D

Pengujian system dengan android emulator Pada pengujian ini penulis menggunakan 3 emulator yang berbeda resolusi antara lain : 1. Resolusi HVGA (320 x480) pixels 2. Resolusi WVGA (480 x800) pixels 3. Resolusi QVGA (240 x 320) pixels Berikut ini hasil uji coba dengan menggunakan emulator.

(1)

(2)

Gambar 5. (1) Tampilan pada Emulator Resolusi HVGA (2) Tampilan pada Emulator Resolusi WVGA (3) Tampilan pada Emulator Resolusi QVGA

(3)

8 Jurnal Sarjana Teknik Informatika Vol. 1, No. 1, Februari 2013, hlm 1-10

Pengujian System dengan Handphone Pada pengujian ini penulis menggunakan 2 Handphone yang berbeda resolusi antara lain : 1. Sony Ericsson W8 Resolusi HVGA (320 x480) pixels 2. Sony Experia Sola Resolusi WVGA (480 x800) pixels Berikut ini hasil uji coba dengan menggunakan Handphone Android.

(1)

(2)

Gambar 6. (1) Tampilan pada Handphone Sony Ericsson W8 (2) Tampilan pada Handphone Sony Experia Sola

Analisis Hasil Uji Coba Analisa Metode Dari tabel 1 dapat dianalisa bahwa ketika player melakukan pergerakan ke-1 sampai ke-3 NPC melakukan gerakan secara random karena belum tercipta Key KKK. Pada pergerakan player ke 4 baru tercipta Key sehingga ketika player melakukan gerakan K maka NPC dapat memprediksi secara tepat. Ketika pada gerakan ke-6 player dimasukkan gerakan lain NPC masih memprediksi yang sama seperti sebelumnya karena masih blm tercipta KKP. dari percobaan 30 gerakan player pertama NPC dapat memprediksi 9 gerakan dengan tepat. Ini dikarenakan key yang tercipta masih sedikit. Ketika sudah terbentuk banyak Key maka NPC lebih banyak memprediksi dengan tepat gerakan lawan seperti ditunjukkan pada tabel 1 yaitu dari 9 prediksi yang tepat 6 diantaranya terdapat pada antara gerakan ke-20 sampai gerakan ke-30 Dari tabel 1 juga diketahui bahwa dengan metode N-gram ini NPC lebih cenderung bertahan dalam pergerakannya. Dan ketika tercipta Key yang dimasukkan dari gerakan player menyerang semua maka NPC akan bartahan total

Analisa System Setelah dilakukan uji coba dengan beberapa perangkat dapat dijelaskan pada Tabel 2.

Farizal Arifin, Implementasi Metode N-gram pada Pembuatan Game Fighting Madura …9

Tabel 2. Perbedaan Resolusi Screen Tipe Smartphone

Resolusi Screen

Tampilan

Metode N-gram (Pergerakan NPC)

Emulator

320 x 480

sesuai

sesuai

Emulator

480 x 800

Tidak sesuai

sesuai

Emulator

240 x 320

Tidak sesuai

sesuai

Sony Ericsson W8

320 x 480

sesuai

sesuai

Sony Experia Sola

480 x 800

Tidak sesuai

sesuai

Setelah dicoba smartphone android dan emulator yang berresolusi HVGA dapat berjalan dengan normal dan sesuai yang diharapkan. Metode N-gram untuk pergerakan NPC jg dapat berjalan dengan normal. Sedangkan pada Smartphone dan emulator yang berresolusi QVGA dan WVGA dapat menjalakan game dengan normal. Metode N-gram untuk pergerakan NPC juga berjalan normal akan tetapi tidak dapat maksimal dalam tampilannya. Karena dalam pembuatannya sangat ditentukan resolusi game yang akan dibuat. Perubahan ukuran layar dapat membuat tampilan game tidak berjalan dengan semestinya. Berdasarkan hasil pengujian, “Game Fighting Madura” membutuhkan standart spesifikasi untuk dapat berjalan dengan baik. Untuk lebih jelas melihat spesifikasi tersebut dapat dilihat pada tabel 3. Tabel 3. Spesifikasi untuk Game Fighting Type Processor RAM Type Resolusi Screen OS Aplikasi tambahan

Requirements 600 MHz 175MB Requirment 320 x 480 pixels Android 2.3 Gingerbread Adobe Air

KESIMPULAN Dari hasil pengujian dan analisa pada bab sebelumnya maka dapat diambil kesimpulan 1. Hasil pengujian Game Fighting dapat berjalan dengan baik pada smartphone android yang memiliki resolusi screen 320 x 480 pixels. Aplikasi game ini masih dapat berjalan lancar pada tipe smartphone Android yang memiliki resolusi screen lebih besar atau lebih kecil dari 320 x 480 pixels akan tetapi tapilannya tidak sempurna. 2. Metode N-gram dapat diterapkan pada pergerakan NPC dalam game fighting madura

10 Jurnal Sarjana Teknik Informatika Vol. 1, No. 1, Februari 2013, hlm 1-10

3. Metode N-gram NPC dapat memprediksi pergerakan player selanjutnya, prediksi semakin akurat dengan semakin banyaknya key yang tercipta akan tetapi metode ini cenderung membuat NPC bertahan

DAFTAR PUSTAKA [1]. Francois D.L., Using N-gram Statistical Models to Predict Player Behaviour. AI Programing Wisdom. 1 : 596-601. 2002. [2]. Majid N.K., Hariadi M., Nugroho S.M.S., Distribusi Gaussian Perilaku Tarung NPC Prajurit pada Game Peperangan Menggunakan Metode Box-Muller, Kursor, 1 : 1-2. 2010. [3]. Rachmad Z.E., Fariza A. dan Setyowati Y. Creating Rubik’s Cube Game Learning in Android Platform. Teknik Informatika., Politeknik Elektronika Negeri Surabaya. [4]. Ariwibowo B., Pemberontakan Trunojoyo (Madura) 1676-1679. http://sosbud.kompasiana.com/2009/11/12/pemberontakan-trunojoyo-madura-1676-1679/, Diakses tanggal 2 Juni 2012. [5]. Millington I., Artificial Intelligence For Games. New York: Morgan Kaufmann Publishers. 2009.