## 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
Intelligent Agent atau biasa disebut Agen cerdas. Okamoto dan Takaoka (1997) menyatakan bahwa agen yang bias di kategorikan ke dalan sebuah objek atau NPC yang bertujuan memberdayakan sumber atau resource nya sendiri  hal  ini  disebut  (autonomous)  untuk  memecahkan  suatu  permasalahan  yang  terjadi  melalui  interaksi didalam alur game[2].

## 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 mati
To Karakter Game Game Immune 3 Detik Immune 30 Difficult Difficult From Mati Over Start Detik Dipermudah Dipersulit Game Over - - - - - - - Game Stage ulang - - Start dari awal - - - - Immune - - - - Secret item - - 3 Detik Immune 30 Detik Karakter - - -
- - - mati,  Saat 30 detik berlalu Difficult - - - - - Total Mati ≥ 20  Total Mati ≤ 5 Dipermudah dalam 1 Stage dalam 1 stage Difficult Dipersulit - - - Item Item Bonus Total Mati ≥ 20  Total Mati ≤ 5 Bonus Total Total dalam 1 Stage dalam 1 stage Mati=bil.Ganjil Mati=bil.G enap

## 4. IMPLEMENTASI
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
Pada  stage  1  langit  berawan  ini  player  diharuskan  memainkan  karakter  untuk  mencapai  bendera  yang  telah terdapat  di dalam  stage untuk melanjutkan ke level berikutnya. Untuk mencapai  bendera tersebut  player harus
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
Setelah  dilakukan  pengujian  pada  penelitian  dapat  ditarik  kesimpulan  dari  perancangan  sistem,  implementasi, pengujian aplikasi dan juga Analisa pengujian aplikasi maka dpaat diambil kesimpulan sebagai berikut. Dengan
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. dan Inform. , 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,” Techno.COM , vol. 13, no. 2, pp. 91–98, 2014.