IMPLEMENTASI NON PLAYER CHARACTER PADA GAME

Download 19 Mar 2016 ... Pada penelitian ini logika fuzzy akan menghasilkan nilai yang mempresentasikan prilaku dari NPC ... NPC harus memiliki kece...

0 downloads 605 Views 609KB Size
Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016) Yogyakarta, 18-19 Maret 2016

ISSN: 2089-9815

IMPLEMENTASI NON PLAYER CHARACTER PADA GAME PERTARUNGAN GALAH ASIN MENGGUNAKAN LOGIKA FUZZY Nomo Haga A.G1, Yulison Herry C2, Rezki Yuniarti3 Jurusan Informatika, Fakultas MIPA, UniversitasJenderal Achmad Yani Jl.Terusan Jenderal Achmad Yani, Cimahi, Jawa Barat 40285 Telp.(022)6652069 E-mail: [email protected], [email protected], [email protected]

ABSTRAKS Galah asin adalah permainan tradisional yang berasal dari Indonesia permainan yang memerlukan 2 kelompok pemain dan saling menjaga dan menyerang yang biasa dimainkan di lapangan luas yang telah diberi garis pembatas, akan tetapi permainan ini sudah mulai dilupakan karena perkembangan zaman yang semakin maju dan berkembang. Saat ini sangan banyak permaina yang menggunakan system virtual dengan menggunakan berbagai macam game console dan saat ini permainan yang berbasis smartphone semakin digemari dikalangan masyarakat. Sebuah permainan virtual akan sangat menyenangkan apabila permainan tersebut memiliki NPC yang cerdas yang dapat memberikan perlawan terhadap pemain sehingga permainan akan menjadi cukup sulit untuk dimenangkan oleh player. Untuk memberikan kecerdasan pada NPC dapat diterapkan logika Fuzzy yang merupakan cabang dari ilmu kecerdasan buatan (AI). Telah banyak penelitian yang menggunakan metode tersebut untuk membuat kecerdasan pada NPC dari berbagai macam genre game seperti action, fighting dan lain-lain. Pada penelitian ini logika fuzzy akan menghasilkan nilai yang mempresentasikan prilaku dari NPC yaitu mengejar atau tidak mengejar dari hasil fuzzy akan menetukan perilaku dari karakter dan NPC. dengan menggunakan himpunan fuzzy jarak NPC, stamina karakter, kecepatan NPC dan juga stamina NPC, jarak karakter, status penjagaan NPC.dilakukan percobaan dengan menggunakan contoh data uji yaitu dengan menguji nilai himpunan fuzzy jarak NPC = 76, stamina karakter = 67, kecepatan NPC = 13 dan di peroleh hasil defazzifikasi sebesar 10 dimana prilaku akan melakukan pengejaran oleh NPC. Pada penelitian ini telah di dapat beberapa keberhasil, masih terdapat kekurangan seperti lamanya tindakan yang dilakukan oleh NPC sehingga membuat penjagaan menjadi sedikit lebih longgar. Kata Kunci: Fuzzy, Game, NPC, Galah Asin action, fighting. Salah satu penelitian terdahulu yaitu game gerilya yang menerapkan logika Fuzzy, menerapkan logika Fuzzy untuk menetukan keputusan stategi apa yang digunakan NPC untuk melawan pemain[2]. dan pada penelitian terdahulu yang lain logika Fuzzy diterapkan untuk agar agen atau NPC dalam game dapat melakukan respon terhadap lingkungan sekitarnya[3], pada game bertema RPG fuzzy digunakan untuk menetukan kapan NPC harus maju dan mundur[4], penggunaan logika fuzzy pun dapat digunakan untuk meniru perilaku manusia dalam sebuah permainan seperti keputusan apa yang akan di pilih manusia[5]. Pergerakan otonom yang cerdas dari NPC sangat penting sehingga membuat permainan menjadi lebih menarik. Dalam penelitian ini pergerakan NPC sudah ditetapkan pada jalur-jalur garis yang ada dan dari jalur garis tersebut harus dapat menghalangi pemain yang akan menerobos untuk melewati NPC. Pada penelitian ini akan dibagun sebuah game tradisional Indonesia yaitu permainan galah asin yang memiliki NPC yang dapat bergerak menghalangi musuh secara otonom.

1. PENDAHULUAN 1.1 Latar Belakang Banyak permainan tradisional yang ada di wilayah Indonesia salah satu permainan tradisional yang ada di wilayah nusantara adalah permainan galah asin, permainan ini adalah permainan dua kelompok dimana satu kelompok menjadi penyerang dan kelompok lain menjadi penjaga pertahanan, saat ini permainan tradisional sudah hampir terlupakan dikarenakan mulai tergesernya permainan tradisional dengan teknologi yang lebih modern[1]. Dewasa ini perkembangan game virtual sangat pesat tidak hanya di playstation, komputer, X-box ataupun game console lainnya. Perkembangan game yang berbasis pada smartphone yang memakai sistem operasi android saat ini berkembang dengan sangat pesat. Untuk membuat game yang menarik banyak game yang memiliki NPC (Non Player Character) yang dapat bergerak secara pintar. Untuk membuat permainan yang memiliki NPC yang dapat bergerak secara otonom atau pintar maka NPC harus memiliki kecerdasan buatan (AI). Logika Fuzzy yang merupakan salah satu bagian dari kecerdasan buatan yang dapat di terapkan pada NPC, telah banyak penelititan yang menggunakan logika Fuzzy untuk diterapkan kedalam pergerakan NPC dengan berbagai macam tipe permainan seperti

1.2

Rumusan Masalah Dari latar belakang di atas dapat dirumuskan masalah yaitu banyaknya atribut yang dilibatkan

583

Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016) Yogyakarta, 18-19 Maret 2016

dalam pemainan galah asin yang menyebabkan pengendalian pemainan menjadi lebih kompleks oleh karena itu perlu dikembangkan NPC yang dapat bergerak secara otonom yang dikembangkan berdasarkan logika fuzzy.

ISSN: 2089-9815

digunakan pada penelitian ini mencakup 2 jenis yaitu representasi kurva segitiga dan bentuk bahu. Untuk pemilihan metode pendekatan fungsi tersebut disesuaikan dengan kebutuhan dari sistem yang akan dibangun. Metode pendekatan fungsi yang digunakan pada penelitian ini terdiri dari : a. Representasi kurva segitiga Representasi kurva segitiga merupakan gabungan dari antara 2 garis linear yaitu garis linear naik dan linear turun.

1.3

Tujuan Penelitian Tujuan dari penelitian ini adalah membangun sebuah game galah asin yang memiliki NPC yang dapat bergerak secara otonom agar dapat menghalangi jalur gerak dari pemain yang hendak melewati NPC tersebut dengan menerapkan logika Fuzzy 1.4

Metodologi Pada penelitian ini akan dibangun sebuah game dengan NPC yang akan bergerak secara otonom untuk menghalangi musuh yang yang telah berada dalam jangkauan sesuai dengan hasil yang telah di proses oleh perhitungan logika Fuzzy untuk prediksi pergerakan karakter pemain agar dapat dihalangi oleh NPC.

Gambar 1.2 Representasi kurva segitiga Fungsi keanggotaan :

b.

Representasi kurva bentuk bahu Representasi kurva bentuk bahu digunakan untuk mengakhiri dan mengawali variabel suatu daerah fuzzy yang terbagi menjadi dua bahu yaitu bahu kanan dan kiri. Gambar 1.1 Alur Proses Sistem Game Galah Asin

Gambar 1.3 Representasi kurva bahu

1.5

Tinjauan Pustaka Logika fuzzy merupakan suatu metode yang digunakan untuk memecahkan masalah yang mengandung ketidakpastian atau memiliki ambiguitas. Logika fuzzy mengacu pada teori himpunan fuzzy. Teori ini menyatakan bahwa derajat keanggotaan dari suatu elemen himpunan bukanlah hanya terdiri dari 0 dan 1 (bukan anggota himpunan dan anggota himpunan), namun dalam rentang antara 0 dan 1.Pada teori himpunan fuzzy, peranan derajat keanggotaan sebagai penentu keberadaan elemen dalam suatu himpunan sangatlah penting. Derajat keanggotaan berisi hasil klasifikasi pemecahan masalah yang dicari melalui sistem inferensi fuzzy menggunakan fungsi keanggotaan dimana akan menghasilkan suatu nilai keanggotaan. Terdapat beberapa metode yang digunakan untuk mendapatkan nilai keanggotaan tersebut yaitu dengan menggunakan pendekatan fungsi keanggotaan.Pendekatan fungsi keanggotaan yang

Fungsi keanggotaan: Bahu kiri

584

Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016) Yogyakarta, 18-19 Maret 2016

ISSN: 2089-9815

digunakan pada sistem untuk dapat menghasilkan keluaran berupa kecepatan NPC dan karakter didapat dari nilai status yang dimiki oleh karakter pemain seperti variabel berat badan dan variabel stamina. Variabel berat badan dibagi dalam tiga himpunan yaitu kurus, sedang dan gemuk sedangkan untuk variabel stamina dibagi dalam tiga himpunan yaitu lemah, sedang dan kuat. Proses menggunakan logika fuzzy model sugeno terdiri dari beberapa proses yaitu:

Bahu kanan

Domain merupakan keseluruhan nilai yang ada didalam suatu himpunan fuzzy pada suatu variabel fuzzy. 2.

PEMBAHASAN Pada penelitian ini, akan dibahas tentang pergerakan NPC berupa penjagaan untuk menghalangi pemain saat hendak melewati garis penjagaan. NPC akan mulai bergerak setelah karakter pemain mulai bergerak untuk melewati NPC, pergerakan NPC akan sesuai dengan keadaan karakter pemain yang masuk dalam jangkauan NPC dimana NPC harus bergerak mengejar atau bergerak untuk bersiaga. Untuk menghasilkan pergerakan pada NPC terdapat dua proses, yaitu proses logika fuzzy sugeno, pada masing – masing proses terdapat alur proses yang saling berkaitan, yaitu seperti gambar dibawah.

1.

Fuzzifikasi

2.

Komposisi Aturan

3.

Defuzzifikasi

Nilai perilaku NPC yang dihasilkan bergantung pada 3 variabel masukkan yaitu stamina NPC, jarak karakter, jarak NPC lain yang setiap variabel dibagi dalam 3 himpunan fuzzy yang dapat menghasilkan 27 aturan fuzzy dan akan menghasilkan perilaku yang akan dilakukan NPC yang terbagi dalam dua himpunan yaitu mengejar dan tidak mengejar. Terdapat juga basis pengetahuan yang mengandung pengetahuan untuk dapat menyelesaikan permasalahan, basis pengetahuan digunakan untuk membuat kesimpulan. Tabel 2.1 Basis pengetahuan Fuzzy NPC Stamina karakter

Gambar 2.1 Proses pergerakan NPC dan Karakter 2.1

Analisis Proses Logika Fuzzy Untuk mendapatkan nilai atribut didapatkan melalui proses logika fuzzy sugeno. Model sugeno yang akan digunakan adalah model sudeno orde 0 dengan keluaran yang konstanta yang mewakili nilai atribut dari NPC dan karakter. Masukkan yang

585

Kecepatan NPC

Jarak NPC

Kuat

Cepat

Jauh

Kuat

Cepat

Sedang

Kuat

Cepat

Dekat

Sedang

Cepat

Jauh

Sedang

Cepat

Sedang

Sedang

Cepat

Dekat

Lemah

Cepat

Jauh

Lemah Lemah

Cepat Cepat

Sedang Dekat

Kuat

Sedang

Jauh

Kuat

Sedang

Sedang

Kuat

Sedang

Dekat

Sedang

Sedang

Jauh

Sedang

Sedang

Sedang

Sedang

Sedang

Dekat

Lemah

Sedang

Jauh

Lemah Lemah

Sedang Sedang

Sedang Dekat

Kuat

Lambat

Jauh

Kuat

Lambat

Sedang

Kuat

Lambat

Dekat

Perilaku Berlari maju Berlari maju Diam Berlari maju Berlari maju Diam Berlari maju Diam Diam Berlari maju Berlari maju Berlari maju Berlari maju Berlari maju Diam Berlari maju Diam Diam Berlari maju Berlari maju Berlari maju

Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016) Yogyakarta, 18-19 Maret 2016

Sedang

Lambat

Jauh

Sedang

Lambat

Sedang

Sedang

Lambat

Dekat

Lemah

Lambat

Jauh

Lemah Lemah

Lambat Lambat

Sedang Dekat

Berlari maju Berlari maju Berlari maju Berlari maju Diam Diam

Nilai perilaku karakter yang dihasilkan bergantung pada 3 variabel masukkan yaitu stamina karakter, kecepatan penjaga, jarak NPC yang setiap variabel dibagi dalam 3 himpunan fuzzy yang dapat menghasilkan 27 aturan fuzzy dan akan menghasilkan perilaku yang akan dilakukan karakter yang terbagi dalam dua himpunan yaitu diam dan berlari maju. Terdapat juga basis pengetahuan yang mengandung pengetahuan untuk dapat menyelesaikan permasalahan, basis pengetahuan digunakan untuk membuat kesimpulan.

Gambar 2.2 Kurva fungsi keanggotaan jarak karakter Setelah dihitung nilai dari derajat keanggotaan jarak karakter maka selanjutnya akan dihitung nilai derajat keanggotaan dari himpunan stamina NPC dari kasus uji dengan nilai stamina yaitu 68.

Tabel 2.2 Basis pengetahuan Fuzzy karakter Stamina karakter Kuat Kuat Kuat Sedang Sedang Sedang Lemah Lemah Lemah Kuat Kuat Kuat Sedang Sedang Sedang Lemah Lemah Lemah Kuat Kuat Kuat Sedang Sedang Sedang Lemah Lemah Lemah

Kecepatan NPC Cepat Cepat Cepat Cepat Cepat Cepat Cepat Cepat Cepat Sedang Sedang Sedang Sedang Sedang Sedang Sedang Sedang Sedang Lambat Lambat Lambat Lambat Lambat Lambat Lambat Lambat Lambat

Jarak NPC Jauh Sedang Dekat Jauh Sedang Dekat Jauh Sedang Dekat Jauh Sedang Dekat Jauh Sedang Dekat Jauh Sedang Dekat Jauh Sedang Dekat Jauh Sedang Dekat Jauh Sedang Dekat

ISSN: 2089-9815

Perilaku Berlari maju Berlari maju Diam Berlari maju Berlari maju Diam Berlari maju Diam Diam Berlari maju Berlari maju Berlari maju Berlari maju Berlari maju Diam Berlari maju Diam Diam Berlari maju Berlari maju Berlari maju Berlari maju Berlari maju Berlari maju Berlari maju Diam Diam

Gambar 2.3 Kurva fungsi keanggotaan stamina NPC Setelah didapat nilai dari derajat keanggotaan dari stamina NPC maka selanjutnya adalah mencari nilai keanggotaan dari status penjagaan NPC dari contoh data uji diketahui nilai derajat keanggotaan yaitu 5.

2.2

Proses Logika Fuzzy Terdapat contoh kasus uji untuk fuzzy perilaku NPC terdapat nilai jarak karakter yaitu 73 beririsan dengan dengan himpunan fuzzy dekat dan sedang. untuk itu akan dihitung nilai derajat keanggotaan sesuai himpunan fuzzy dan berdasarkan fungsi keanggotaan.

586

Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016) Yogyakarta, 18-19 Maret 2016

ISSN: 2089-9815

keanggotaan dari jarak NPC dengan nilai crisp set yaitu 76.

0.48

0.52 Gambar 2.4 Kurva fungsi keanggotaan status penjagaan NPC

Terdapat kasus uji untuk fuzzy karakter unyuk menguji dan menghitung nilai derajat keanggotaan dari setiap himpunan fuzzy yang ada pada fuzzy karakter, petama dicari nilai derajat keanggotaan dari stamina karakter yang pada contoh kasus uji mempunyai nilai crisp set yaitu 67.

Gambar 2.7 Kurva fungsi keanggotaan jarak NPC Setelah ditentukan nilai dari derajat keanggotaan dari setiap variabel NPC dan karakter pemain didapatkan nilai yaitu: Tabel 2.3 Nilai derajat keanggotaan dari fuzzy NPC Kriteria

derajat

keanggotaan 0.54

Sedang

0.46

Sedang

0.28

Kuat

0.72

Status penjagaan

Kosong

0.5

NPC

Longgar

0.5

Stamina NPC

Proses perhitungan selanjutnya yaitu menghitung nilai derajat keanggotaan dari himpunan kecepatan NPC yang memiliki nilai crisp set yaitu 13

Nilai

Dekat

Jarak karakter

Gambar 2.5 Kurva fungsi keanggotaan stamina karakter

Himpunan Fuzzy

Tabel 2.4 nilai derajat keanggotaan dari fuzzy karakter Kriteria

Nilai

Fuzzy

keanggotaan

derajat

Stamina

Sedang

0.32

karakter

Kuat

0.68

Kecepatan NPC

Cepat

1

Dekat

0.48

Sedang

0.52

Jarak NPC

Gambar 2.6 Kurva fungsi keanggotaan kecepatan NPC Setelah menghitung derajat keanggotaan dari himpunan fungsi keanggotaan dari kecepatan NPC selanjutnya akan menghitung nilai derjat

Himpunan

Tahapan selanjutnya dari proses logika fuzzy sugeno yaitu tahapan komposisi aturan yang terbagi dalam dua proses yaitu proses untuk mendapatkan nilai terkecil dengan menggunakan fungsi AND dan proses mencari nilai terbesar dengan menggunakan fungsi OR .

587

Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016) Yogyakarta, 18-19 Maret 2016

ISSN: 2089-9815

Fungsi AND digunakan untuk mengambil nilai MIN dari nilai derajat keanggotaan NPC.

Tabel 2.5 Tabel fungsi OR IF

KONDISI

Tabel 2.5 Tabel fungsi AND IF

KONDISI

THEN

jarak

karakter

(0.54)

AND

dekat

KEPUTUSAN prilaku

stamina

perilkau mengejar

perilaku mengejar

(0.28) OR prilaku

(0.28)

perilaku IF

status penjagaan kosong

mengejar(0.5) OR

(0.46)

(0.54)

AND

peilaku mengejar THEN

(0.5)

perilaku mengejar

(0.5) karakter

KEPUTUSAN

mengejar (0.25)

mengejar (0.28)

NPC sedang (0.28) AND

jarak

THEN

dekat

prilaku

stamina

peilaku

mengejar (0.25)

THEN mengejar

(0.5)

NPC sedang (0.28) AND status penjagaan longgar

Setelah kompisisi aturan selesai maka tahap akhir dari proses logika fuzzy sugeno yaitu tahap defuzzyfikasi, dimana pada tahap ini akan menghasilkan nilai tegas dengan menggunakan metode weighted average pada fungsi keanggotaan singleton sugeno. Hasil yang didapat dari komposisi aturan akan dimasukkan dalam kurva fungsi keanggotaan singleton setelah itu dilakukan perhitungan menggunakan metode weighted average. Nilai perilaku NPC berada pada mengejar (0,28) dan mengejar (0,25), mengejar (0,46) dan mengejar (0,46) selanjutnya dengan nilai tersebut dilakukan perhitungan dengan metode weighted average dengan persamaan seperti dibawah ini.

(0.25) jarak

karakter

(0.54)

AND

dekat

prilaku

stamina

mengejar (0.5)

NPC kuat (0.72) AND status penjagaan kosong (0.5) jarak

karakter

(0.54)

AND

dekat

prilaku

stamina

mengejar (0.25)

NPC sedang (0.72) AND status penjagaan longgar (0.25) jarak

karakter

sedang

(0.46)

AND

stamina

prilaku mengejar (0.25)

NPC sedang (0.28) AND

Z=

status penjagaan kosong

= 10

(0.25) jarak

karakter

sedang

(0.46)

AND

stamina

prilaku

Sedangkan nilai untuk perilaku karakter berada pada himpunan diam (0.48) dan berlari maju (0.52). selanjutnya dengan nilai tersebut dilakukan perhitungan dengan metode weighted average dengan persamaan seperti dibawah ini.

mengejar (0.28)

NPC sedang (0.28) AND IF

status

penjagaan

THEN

longgar(0.5) jarak

karakter

sedang

(0.46)

AND

stamina

prilaku mengejar (0.46)

Z=

= 7,6

NPC kuat (0.72) AND status

penjagaan

longgar(0.5)

2.3

jarak karakter sedang

prilaku

(0.46)

mengejar (0.46)

AND

stamina

Algoritma atau Program Tahap perancangan algoritma adalah tahapan terakhir untuk pembangunan perangkat lunak. Berikut perancagan yang akan di implementasikan pada system game

NPC kuat (0.72) AND status

penjagaan

longgar(0.5)

588

Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016) Yogyakarta, 18-19 Maret 2016

ISSN: 2089-9815

[2]Alansura R, Nasrun M, Azmi F.”Penerapan System Inferensi Fuzzy Logic Untuk Menentukan Pengambilan Keputusan AI Pada Game TurnBased Strategy ” Gerilya” ”.

Procedure defazzifikasi() {I.S : Nilai setiap himpunan terdefinisi tidak kosong} {F.S : mengeubah nilai fuzzy menjadi nilai tegas} {Kamus} Z,temp1,temp2 : Real Output_rule : array[] of integer u_output : array[] of integer

[3]Widiastuti N.I. “Model Perilaku Berjalan AgenAgen Menggunakan Fuzzy Logic”. Jurnal Komputer dan Informatika (KOMPUTA)2012.

{Algoritma} for (i:int = 0 to i < 27)do temp1 <- temp1 + output_rule[i] * u_output[i] temp2 <- temp2 + output_rule[i] endfor

[4]Purba K.R, Hasanah R.N, Muslim M.A. “Implementasi Logika Fuzzy Untuk Mengatur Perilaku Musuh dalam Game Bertipe ActionRPG”. Jurnal EECCIS Vol. 7, No. 1, Juni 2013

z <- temp1 / temp2 hasil <- z

Gambar 1.8. Algoritma defuzzifikasi

[5]Nugroho S.M.S, Arif Y.M, Hariadi M, Purnomo M,H.”Perilaku Taktis NPC di Game Peperangan Meniru Strategi Manusia Menggunakan Fuzzy Logic Dan Hierarchical Finite State Machine” jurnal ilmiah kursos vol.6 No.1,januari 2011 ISSN 0216 -0544 [6]Putra F.P, Fanani A.Z , Hariadi M, “Perilaku Otonomi dan Adaptif Non Player Character Musuh pada Game 3 Dimensi Menggunakan Fuzzy State Machine dan Rule Based System”Seminar Nasional Teknologi Informasi & Komunikasi Terapan 2014(Semantik 2014) Isbn: 979-26-0276-3

Gambar 2.9. Tampilan program Galah Asin 3.

KESIMPULAN Pada penelitian ini menghasilkan aplikasi permainan galah asin dengan menggunakan metode logika fuzzy untuk dapat membangun NPC yang dapat bergerak secara otonom untuk dapat menghalangi pergerakan karakter musuh yang hendak melewati daerah pertahanan. Berdasarkan hasil uji secara fungsional sistem game ini telah dapat bekerja dengan baik dan sesuai dengan harapan seperti dapat mengendalikan karakter dan menrubah karakter yang akan digerakan. Dan juga penggunaan logika fuzzy untuk mendapatkan prilaku NPC, dengan menggunakan himpunan fuzzy jarak NPC, stamina karakter, kecepatan NPC dan juga stamina NPC, jarak karakter, status penjagaan NPC.dilakukan percobaan dengan menggunakan contoh data uji yaitu dengan menguji nilai himpunan fuzzy jarak NPC = 76, stamina karakter = 67, kecepatan NPC = 13 dan di peroleh hasil defuzzifikasi sebesar 10 dimana prilaku akan melakukan pengejaran oleh NPC. Pada penelitian ini telah didapat beberapa keberhasil, masih terdapat kekurangan seperti lamanya tindakan yang dilakukan oleh NPC sehingga membuat penjagaan menjadi agak sedikit longgar. PUSTAKA [1]Hidayat D. “Permainan tradisional dan kearifan lokalkampung Dukuh Garut selatan Jawa Barat” Jurnal Academica Fisip Untad vol.05 no. 02 oktober 2013 ISSN 1411- 3341

589