Implementasi Behavior Dinamis dalam Skenario Adaptif Menggunakan
Metode FSM pada Platformer Game
Herdian Rizkiansyah
Universitas Trilogi, Jakarta, Indonesia
Jln. Taman Makam Pahlawan No.1 Kalibata, Jakarta Selatan, Indonesia
Abstrak
Dalam platform game atau yang biasa di kategorikan kedalam game genre action, kemampuan untuk melakukan kontrol karakter dengan baik sangatlah dibutuhkan, seperti koordinasi antara mata,otak dan tangan dibutuhkan untuk menyelesaikan beberapa stage di dalam game. Pada platform game tingkat kesulitan menjadi sebuah hal yang sering dipertanyakan oleh kalangan player,seperti tingkat kesulitan yang rendah akan membuat player menjadi mudah untuk memainkan dan rasa bosan terhadap game tersebut akan muncul. Untuk itu sebuah behavior yang dinamis akan mempengaruhi pengalaman bermain dari player, tidak hanya itu dalam behavior yang dinamis beberapa obstacle, item dan action di dalam game juga tidak akan mudah untuk ditebak,behavior dinamis tersebut akan dibentuk kedalam skenario yang telah di rancang kedalam game, sehingga para player akan terus berusaha dengan bermain dan mengatur strategi untuk melewati behavior yang dinamis tersebut. Penggunaan Agen cerdas berbasis FSM (finite state machine) pada penelitian ini untuk mengembangkan behavior dinamis sebagai salah satu dari elemen penting untuk meningkatkan minat bermain dari player. Pembahasan yang diangkat dalam penelitian ini ialah mengenai pengembangan agen cerdas menggunakan metode Finite State Machine (FSM) dalam membentuk behavior dinamis pada skenario adaptif yang diimplementasikan kedalam genre game – Platformer.
Kata Kunci:Game Platform, Behavior Dinamis, Agen Cerdas, Finite State Machine.
Abstract
In game platforms or commonly categorized into action genre games, the ability to control characters well is needed, such as coordination between eyes, brain and hands needed to complete several stages in the game. On the gaming platform the level of difficulty becomes a thing that is often questioned by the players, such as a low difficulty level will make the player becomes easy to play and the boredom of the game will appear. For that a dynamic behavior will affect the playing experience of the player, not only in the dynamic behavior of some obstacles, the items and the action in the game will not be easy to guess, the dynamic behavior will be shaped into scenarios that have been designed into the game, so players will continue to work by playing and setting strategies to bypass the dynamic behavior. The use of an FSM-based intelligent agent (finite state machine) in this study to develop dynamic behavior as one of the important elements to increase the interest in playing from the player. This study discusses the development of intelligent agents using the Finite State Machine method in shaping dynamic behavior in adaptive scenarios implemented in games with Action Genre - Game Platform.
Keywords: Expert System, Water Machine, Dempster Shafer
1. PENDAHULUAN
Game merupakan suatu aplikasi hiburan yang biasa dimainkan oleh semua umur termasuk anak-anak, remaja, dewasa bahkan orang tua pun juga tidak luput dalam memainkan game. Game yang dalam bahasa indonesia yang disebut permainan merupakan sebuah media yang dapat menggali tingkat kelincahan dalam berfikir dari seseorang yang memainkannya. Seperti pada Situasi didalam game dapat ditentukan dari keputusan yang telah diambil oleh player dan juga aksi yang akan dilakukan player tersebut saat memainkan game. oleh karena itu terdapat hal-hal yang pastinya ingin dan harus dicapai oleh player dari game dari setiap kategori game yang dimainkannya.
Terutama pada Kategori platform game, player diharuskan untuk melewati stage dengan hati-hati agar karakter dari game tidak mati,jika karakter mati, maka game akan mulai dari awal. Namun hal tersebut akan membuat player lebih mudah bosan atau bahkan frustasi dengan tingkat kesulitan nya yang tidak sesuai dengan kemampuan player. Seperti yang Digambarkan dalam Gambar 1 dibawah.
Dapat dilihat dari Grafik diatas yaitu jika tingkatan kesulitan dari game yang terlalu tinggi dan tingkat kemampuan dari player tidak dapat mengimbanginya hal itu dapat mengakibatkan player bisa memasuki zona frustasi dan player tidak akan tertarik untuk memainkan game tersebut lagi. Kondisi yang sama juga dapat terjadi ketika tingkat kesulitan dari game yang terlalu rendah atau bisa dikatakan mudah dan dari kemampuan player yang tinggi kondisi tersebut yang tidak seimbang akan berakibat pada terciptanya rasa bosan dari player dalam memainkan game[1].
Biasanya developer game telah menentukan tingkat kesulitan pada game yang cenderung statis dan tidak banyak berubah. Namun permasalahan yang terjadi adalah bervariasi nya kemampuan dari player sehingga sulit untuk dicapainya flow tersebut[1]. Maka dari itu dibutuh kan skenario adaptif yang di tunjukkan agar dapat mempertahankan situasi dari player agar tetap didalam daerah flow sehingga daya tarik player dalam memainkan game akan terus dan tetap terjaga[1]. Dalam perancangan permainan genre platformer game ini hal yang perlu jadi perhatian yaitu pembuatan dari gameplay game yang bukan hanya dapat menjadi sesuatu yang menghibur tetapi juga dapat memberi dan meningkatkan pengalaman bermain dari seorang player dengan menyeimbangkan antara kemampuan player dengan tingkat kesulitan di dalam game.
Berdasarkan permasalahan yang diangkat untuk diteliti, maksud dari dibuatnya penulisan ini yaitu ialah untuk mengimplementasikan behavior atau sifat yang dinamis kedalam obstacle-obstacle di dalam game agar alur dari game tidak mudah untuk ditebak, hal itu dapat memperkecil kemungkinan adanya rasa bosan dari player terhadap game. Sedangkan tujuan yang akan dicapai :
1. Membangun sebuah aplikasi Permainan dengan genre Platformer Game
2. Membangun Permainan yang tidak hanya menghibur tetapi juga memberikan pengalaman bermain dari player dengan menyeimbangkan antara kemampuan player dengan tingkat kesulitan pada game, untuk meminimalisir adanya rasa bosan dan frustasi saat bermain game tersebut.
Behavior dinamis pada obstacle-obstacle yang terdapat di dalam platform game akan membuat game lebih menarik, dan dapat meningkatkan kuantitas bermain dari player. Behavior merupakan sifat yang dapat di sisipkan pada setiap object dan action di dalam game, behavior yang unik pada sebuah object dapat membuat game lebih menarik dimata player, seperti object dari obstacle dapat bergerak keatas atau kebawah ketika player akan mendekati object tersebut, dan bahkan akan terjadi sesuatu yang tidak terkira ketika karakter yang di gunakan oleh player menyentuh suatu object obstacle yang telah di beri behavior unik.
2. TEORITIS
2.1 Platform Game
Meninjau dari silvy margaretha dalam pengenalan platform game. Platform game atau platformer merupakan jenis genre game yang pada gameplay nya terdapat aksi-aksi yang disisipkan pada karakter yang nanti nya dimainkan oleh player seperti meloncat , berayun, memantul. Aksi-aksi klasik pada karakter game ini juga termasuk melompat, berpijak, memanjat, berlari, merangkak, dan menunduk bahkan aksi fight seperti pukul-pukulan dan juga shooting atau menembak yang meminjam dari genre lain juga termasuk kedalam genre platformer game .
2.2 Skenario Adaptif
Maksud dari terapkan nya Skenario Adaptif ialah agar suasana di dalam game dapat lebih semenarik mungkin untuk untuk mempertahankan player tetap dalam ruang lingkup dari flow dengan kondisi player yang akan tetap terus memainkan game tersebut secara berkelanjutan. Skenario ini digunakan untuk menyesuaikan suatu kondisi di dalam game. Seperti saat ketika behavior yang terdapat pada suatu kondisi saat di dalam game dapat menyesuaikan dengan action yang dilakukan oleh karakter game tersebut.
2.3 Artifical Intelligence
Kecerdasan Buatan dalam Game Salah satu unsur yang berperan penting dalam sebuah game adalah kecerdasan buatan. Dengan kecerdasan buatan, elemen-elemen dalam game dapat berperilaku sealami mungkin layaknya manusia[2]. Game AI adalah aplikasi untuk memodelkan karakter yang terlibat dalam permainan baik sebagai lawan, ataupun karakter pendukung yang merupakan bagian dari permainan tetapi tidak ikut bermain (NPC = Non Playable Character). Peranan kecerdasan buatan dalam hal interaksi pemain dengan permainan adalah pada penggunaan interaksi yang bersifat alami yaitu yang biasa digunakan menusia untuk berinteraksi dengan sesama manusia[2].
2.4 Intelligent Agent
2.5 Finite State Machine (FSM)
Finite State Machine (FSM) adalah sebuah metode perancangan sistem kontrol yang menggambarkan tingkah laku atau prinsip kerja sistem dengan menggunakan tiga hal berikut: State (Keadaan), Event (kejadian) dan action (aksi). Pada satu saat dalam periode waktu yang cukup signifikan, sistem akan berada pada salah satu state yang aktif. Sistem dapat beralih atau bertransisi menuju state lain jika mendapatkan masukan atau event tertentu, baik yang berasal dari perangkat luar atau komponen dalam sistemnya itu sendiri. Transisi keadaan ini umumnya juga disertai oleh aksi yang dilakukan oleh sistem ketika menanggapi masukan yang terjadi. Aksi yang dilakukan tersebut dapat berupa aksi yang sederhana atau melibatkan rangkaian proses yang relative kompleks[3].
3. ANALISA DAN PEMBAHASAN
Tahapan yang akan dilakukan dalam penelitian ini terdiri dari lima langkah yang di tunjukan pada Gambar 2 sebagai berikut.
Gambar 2. Tahap Penelitian
1. Pendalaman Literatur
Pada tahap ini peneliti mengambil beberapa literatur dan beberapa penelitian-penelitian terdahulu kemudian mengenai tentang Finite State machine, behaviour unik dan juga beberapa penelitian yang sudah ada mengenai game dengan genre serupa sebagai sumber yang digunakan pada penelitian ini.
2. Perancangan sistem
Pada tahap ini dilakukan rancangan behavior dinamis menggunakan metode Finite State Machine yang akan digunakan dalam menyelesaikan permasalahan penelitian tentang system [1] behavior dinamis pada obstacle.
3. Implementasi
Pada tahap ini, behavior dinamis diimplementasikan dalam npc dan juga obstacle pada game ber-genre platformer berdasarkan rancangan sistem yang sudah dibuat.
4. Pengujian
Tahapan ini yaitu dilakukan sebuah eksperimen dengan menggunakan game yang sudah dibuat.
5. Analisa
Hasil pengujian Pada tahap ini dilakukan uji coba dan evaluasi metode Finite State Machine pada reward dinamis dalam game yang sudah dibuat[1].
3.1 Rancangan Behavior Dinamis dengan FSM Finite State Machine (FSM)
Umum digunakan untuk memodelkan perilaku dari agen cerdas di dalam game. Berikut adalah konsep dan model dari Finite State Machine pada gambar 3 dibawah ini.
Pada Gambar 3 di atas, state / kondisi diilustrasikan dengan gambar kotak yang mewakili perilaku dari agen cerdas. Pada contoh di atas ada empat state (Sa, S1, S2 dan S3). Perpindahan atau transisi antar perilaku diilustrasikan sebagai tanda panah yang dilambangkan dengan (t1, t2, t3, t4 dan t5). Sa adalah state inisial atau state awal. Jika kondisi t1 terjadi, maka state Sa akan berpindah ke state S2. Transisi t2 menyebabkan perpindahan perilaku dari S3 ke S2, t3 adalah kondisi penyebab transisi perilaku S1 ke S3, t4 dari S3 ke S1, dan t5 menyebabkan perpindahan dari S2 ke S1[3]. Rancangan FSM untuk reward dinamis ditunjukkan pada Gambar 4 sebagai berikut.
Gambar 4. Rancangan FSM untuk behavior dinamis
Gambar 4 menunjukkan bahwa setiap langkah dari karakter yang dimainkan player akan menentukan behavior apa yang akan ia dapat dan harus di lewati. Dari Rancangan FSM tersebut menunjukkan Game dimulai dengan kalkulasi nilai awal mati adalah 0, jika karakter mati aktivasi behavior animasi mati kemudian jika dalam 1 stage karakter mati lebih dari sama dengan 20 kali maka tingkat kesulitan behavior dalam stage tersebut akan lebih mudah, maksud behavior disini ialah obstacle, enemy, dll. Lalu jika karakter yang dimainkan player hanya mati selama kurang dari sama dengan 5 maka tingkat behavior dari stage selanjutnya dari permainan akan di persulit. State difficult tersebut akan terus berputar selama permainan. Jika player mendapatkan tingkat yang lebih sulit, pada stage selanjutnya player akan mendapat kesempatan untuk mengambil item bonus
pada wilayah stage tersebut. Item tersebut memiliki bentuk yang sama tetapi berbeda warna dan fungsi nya, jika total mati yang didapatkan player ialah bilangan genap maka karakter akan mendapatkan immune selama 3 detik secara otomatis. Tetapi jika total mati yang didapatkan ialah bilangan ganjil, karakter akan diberikan immune selama 30 detik tetapi setelah 30 detik itu berlalu karakter akan meledak secara otomatis, saat mendapat immune ini player diharuskan menyelesaikan stage sebelum 30 detik berlalu. Saat karakter yang dimainkan oleh player tidak mati atau mati 0 dalam 1 stage, maka di stage berikutnya player akan mendapatkan item immune 3 detik dan dapat di gunakan secara manual di stage manapun. Secret item, jika karakter menemukan item tersembunyi di dalam stage saat sudah memiliki item immune 3 detik, maka behavior akan berubah dan fungsional item akan berubah ke item immune 30 detik. Tabel 1 menunjukkan state machine dalam bentuk Matriks transisi dibawah ini.
Tabel 1. Matriks Transisi Behavior Dinamis
To Karakter Game Game Immune 3 Detik Immune 30 Difficult Difficult
From Mati Over Start Detik Dipermudah Dipersulit
KarakterMati - Aktivasi Stage - Total Mati ≤ 5
Behavior ulang dari Total mati = 0 Total Mati ≥ 20 dalam 1 stage
animasi awal Dalam 1 stage dalam 1 Stage
To Karakter Game Game Immune 3 Detik Immune 30 Difficult Difficult
From Mati Over Start Detik Dipermudah Dipersulit
Game Over - - - -
Dipermudah dalam 1 Stage dalam 1 stage
Difficult Dipersulit - - - Item Item Bonus Total Mati ≥ 20 Total Mati ≤ 5
Aplikasi yang di hasilkan dapat dijalankan melalui perangkat computer dan juga sistem operasi android, untuk perangkat computer dapat digunakan langsung dan juga dapat membuka aplikasi game dengan browser. Berikut merupakan gambaran dari bagaimana game ini dijalankan.
Gambar 5. Tampilan Menu Utama
Pada gambar diatas merupakan menu utama pada game ini yang menampilkan seorang anak sebagai karakter yang akan dimainkan sedang berjalan dengan disekeliling nya terdapat pemandangan, pada tampilan menu utama ini gameplay sudah berjalan yaitu platformer dimana player dapat menggerakkan karakter anak tersebut menuju ke logo start melalui jalan yang telah disediakan untuk memulai stage pertama.
Stage 1 (Langit Berawan).
Gambar 6. Stage 1 Langit Berawan
menggerakkan karakter demi melewati awan awan dimana setiap awan memiliki behavior yang berbeda beda jika salah langkah maka karakter akan mati. Seperti gambar berikut.
Gambar 7. Stage 1 (Tahap Obstacle Awan)
Dari gambar tahapan tersebut jika player melangkah ke awan sebelah kanan dengan awan yang memiliki behavior bullet. maka awan tesebut akan terjatuh dan saat awan dan karakter terjatuh dan menyentuh batas layer keduanya akan hancur menjadi bentuk partikel dan level diulang dari awal. Kemudian jika player melangkah ke awan di sisi kiri dengan bentuk awan yang paling kecil dibanding lainnya dengan behavior non-solid, awan tersebut tidak dapat di jejaki dan karakter akan otomatis terjatuh seperti gambar 8 berikut ini.
Gambar 8. Obstacle Awan Sisi Kiri Stage 1
3. Stage 2 (Hutan Jebakan)
Pada Stage 2 ini merupakan sebuah hutan dimana setiap jalan nya memiliki behavior obstacle yang menarik dengan diterapkan nya metode finite state machine dynamic behavior dalam stage ini.
Gambar 9. Stage 2 (Hutan Jebakan).
Gambar diatas merupakan tampilan dari stage 2 yaitu hutan jebakan, pada stage ini banyak obstacle obstacle yang memiliki beberapa behavior yang berbeda, seperti player akan mati atau hancur jika terkena duri pada setiap jalan tersebut, dan juga terdapat salah satu box yang bisa meledak,jika mengenai box tersebut maka karakter akan mati dan jumlah mati akan bertambah. Seperti gambar berikut.
Gambar 10. Jumlah mati 5 pada stage 2
Pada gambar tersebut jumlah mati dari stage 2 level 1 adalah 5, yang berarti pada level selanjutnya di stage 2 ini akan mendapatkan level yang lebih sulit.
Gambar 11. Level sulit
Pada level ini dibuat lebih sulit dengan beberapa obstacle yang memiliki behavior dinamis ditambah lagi terdapat beberapa musuh yang dapat menyulitkan dari player dalam melewati level ini.
Jumlah mati lebih atau sama dari 20 maka pada level berikutnya, level mudah yang akan muncul, Seperti gambar 13 berikut ini.
Gambar 13. Stage 2 Level Lebih Mudah
Kemudian jika pada stage 2 level awal nilai mati sama dengan 0 maka pada level berikutnya akan membuka level special dimana dilevel tersebut karakter akan mendapatkan immune yang dapat diaktifkan dengan menekan tombol space pada keyboard dan juga di level tersebut terdapat item immune 30 detik untuk dapat diaktifkan, tetapi item ini memiliki efek samping yang dapat mengejutkan player. Bentuk implementasi bisa dilihat seperti gambar berikut ini.
Gambar 14. Stage 2 Level Spesial dan Secret Item.
Pengujian Alpha
Dapat diambil kesimpulan dari pengujian yang telah dilakukan pada pengujian Alpha,bahwa setiap obstacle yang akan dilalui dari karakter saat dimainkan memiliki behavior yang dinamis dimana kondisi permainan akan sangat menarik sesuai dengan skenario yang adaptif.
Pengujian Beta
Pada pengujian ini dilakukan dengan cara objektif yaitu pengujian game dilakukan secara langsung dengan membuat kuisioner yang akan ditanyakan kepada responden mengenai kepuasan pengguna. Respond yang diambil dilihat dari grafik flow yang telah di sesuaikan pada gambar 1 yaitu tingkat kesulitan game dengan kemampuan player agar tujuan dari penulisan ini dapat tercapai
5. KESIMPULAN
menerapkan rancangan Finite State Machine pada permainan ini telah sesuai dengan apa yang diharapkan, seperti behavior dinamis melalui skenario game yang adaptif di dalam game berjalan dengan apa yang telah dirancang dengan metode Finite state machine.
REFERENCES
[1] H. Haryanto, “Reward Dinamis dalam Skenario Adaptif Menggunakan Metode Finite State Machine pada Game Edukasi Dynamic Reward in Adaptive Scenario Using Finite State Machine for Education Game,” J. Appl. Intell. Syst., vol. 1, no. 2, pp. 144–153, 2016.
[2] A. Heryanti and G. Hermawan, “Game Shopping Time,” J. Ilm. Komput. danInform., vol. 2, no. 1, pp. 1–4, 2013.
[3] H. Haryanto, S. Novianto, and U. Rosyidah, “Model Skenario Adaptif Berbasis Finite State Machine Pada Game Pendidikan,”