## PENERAPAN METODE FINITE STATE MACHINE PADA GAME WAR OF ASTRAGHOUL

## Dwi Saputra
Program Studi Teknik Informatika S1, Fakultas Teknologi Industri Institut Teknologi Nasional Malang, Jalan Raya Karanglo km 2 Malang, Indonesia
Dwisaputra204@gmail.com

## ABSTRAK
Game  merupakan produk dari teknologi informasi dan digital  yang cukup diminati oleh semua  kalangan, game  terbagi  dalam  bentuk  2D  dan  3D.  Tujuan  dibuatnya  game    adalah  sebagai  media  hiburan,  seiring perkembangan  teknologi  game  dapat  digunakan  sebagai  media  pembelajaran  atau  edukasi.  Game Real-time strategy merupakan genre game  yang  memadukan strategi pertempuran dan pengumpulan sumber daya,  game dengan  genre  ini  cenderung  menekankan  kemampuan  berfikir  pemain  dalam  mengambil  keputusan  dan menganalisa situasi yang ada pada game.
Game War  of  Astraghoul pada  penelitian  ini  adalah  game  dengan genre real-time  strategy ,  dirancang menggunakan Unity  Engine 2017  dan  menggunakan  metode finite  state  machine (FSM)  sebagai Artificial Inteligence (AI) atau kecerdasan buatan yang diterapkan pada karakter player dan enemy . Finite state machine adalah  metodologi  perancangan  perilaku  sistem  yang  didasari  oleh  tiga  hal  : state (keadaan), event (kejadian), dan action (aksi).  Metode finite  state  machine diterapkan  untuk decision  making atau  pengambilan  keputusan pada Non-playable character pada player dan enemy . Berdasarkan  pengujian  perilaku  AI  pada Non-playable  character (NPC)  dapat  berjalan  dengan  baik berdasarkan  perpindahan  setiap  kondisi  seperti walk (berjalan), attack (serangan  normal), special  attack (serangan spesial) dan die (mati) yang dipengaruhi oleh jarak, darah, serangan dan jumlah serangan pada Non- playable character , dimana Non-playable character dapat mendeteksi keberadaan player atau enemy .
Kata kunci :  Game, FSM, real-time strategy game
1. PENDAHULUAN
1.1 Latar Belakang
Sebagian  orang  memiliki  kendala  dalam pengambilan  keputusan,  menghadirkan  solusi  dan beradaptasi dengan suatu keadaan. Hal ini disebabkan oleh  tingkat  kecerdasan,  pengaruh  lingkungan,  dan pendidikan  yang  berbeda  -  beda.  Sebagian  orang cenderung lebih kesulitan dalam melatih kemampuan berfikir  seperti  pengambilan  keputusan,  melahirkan suatu  ide  dan  menyesuaikan  diri  terhadap  suatu keadaan atau kondisi dengan belajar.
Media  hiburan  yang  saat  ini  banyak  diminati banyak  kalangan  adalah  game  dimana  game  sendiri diminati  dari  kalangan  muda  hingga  dewasa. Game sendiri  merupakan  produk  dari  teknologi  informasi dan  digital,  game  terbagi  dalam  bentuk  2D  dan  3D. Kebutuhan  akan  game  dengan  alur  permainan  yang menarik  dan  cenderung  tidak  membosankan  sangat diminati  bagi  saat  ini. Genre yang  saat  ini  banyak diminati  adalah  game  dengan  genre Real  –  Time Strategy.
Game  memiliki  banyak  manfaat  yang  baik  bagi kesehatan  tubuh  seperti  meningkatkan  fokus  dan ketangkasan,  mengurangi depresi,  melatih kesabaran, kemampuan berfikir, pengambilan keputusan, menghadirkan suatu ide, hiburan, merangsang syaraf, meningkatkan refleks, dan mengurangi stress.
Dikarenakan  game  memiliki  banyak  manfaat dan cenderung lebih menarik dan tidak membosankan
maka  game  dengan  genre Real  –  Time  Strategy merupakan solusi yang baik dalam melatih kemampuan  berfikir  manusia  khususnya  dalam menentukan strategi, pengambilan keputusan, menghadirkan  solusi  atau  ide,  pengelolaan  sumber daya  dan  lain  –  lain. Penelitian  ini  ditujukan  untuk menghadirkan  game  dengan  genre Real  –  Time Strategy dengan  alur  game  lebih  menarik  dan  tidak membosankan  yang  menekankan  pemain  dalam mengatur strategy dan pengelolaan sumber daya yang diharapkan  mampu  menjadi  media  hiburan  dan pelatihan  yang  ditujukan  untuk  melatih  kemampuan pengambilan keputusan, kemampuan dalam menghadirkan  solusi  dan  ide,  dan  penyesuain  diri terhadap suatu keadaan.

## 1.2 Rumusan Masalah
Berdasarkan dari pemaparan pada latar belakang, penulis  dengan  ini  merumuskan  rumusan  masalah yang penulis kaji sebagai berikut :
1. Bagaimana
merancang dan mengimplementasikan  perilaku  agen  cerdas menggunakan Finite  State  Machine (FSM)  pada Non-Playable Character (NPC)?
2. Bagaimana merancang dan membuat game Real- Time
Strategy
“ War of Astraghoul ” menggunakan game engine Unity 2017 ?

## 1.3 Batasan Masalah
Batasan  masalah  dalam  membuat game War  Of Astraghoul menggunakan metode finite state machine (FSM) antara lain:
1. Game “War of astraghoul” bersifat single player dan 2D
2. Metode  yang  digunakan  adalah finite  state machine untuk menentukan perilaku NPC
3. Game  dibuat  menggunakan  game  engine  Unity 2017
4. Bahasa  pemrogramman  yang  digunakan  untuk pengembangan game adalah C#
5. Spesifikasi  minimum  yang  dapat  memainkan game dengan baik adalah PC dengan RAM 2 GB dan Processor Dual Core
6. Target  pengguna  pada  penilitian  ini  ditujukan untuk usia remaja 12 – 17 tahun sampai dewasa
7. Genre game adalah Real-Time Strategy dengan 3 karakter, 9 enemy dan 3 level.
8. Karakter & environment di desain  menggunakan Adobe Ilustrator dan Spriter

## 1.4 Tujuan
Tujuan  dari  pembuatan  game  “ War of Astraghoul ” adalah mampu menerapkan metode FSM sebagai  kecerdasan  buatan non-playable  character (NPC)  pada  game real-time  strategy  ( RTS)  “War  of astraghoul”.

## 2. TINJAUAN PUSTAKA

## 2.1 Penelitian Terkait
Salah  satu  fitur  yang  umum  dan  dapat  ditemui pada  hampir  semua  game  yang  ada  pada  zaman sekarang  adalah  Artificial  Intelligence  atau  AI,  AI adalah  kepintaran  buatan  yang  dipasang  pada  sistem computer  sehingga  memungkinkan  pemain  untuk bermain  melawan  komputer  dengan  keadaan  seolah- olah  ia  melawan  pemain  lain,  membuat  AI  adalah suatu  tantangan  tersendiri  bagi  developer  game, (Billy, Kuswardayan dan Khotimah 2017).
Finite  State  Machine (FSM)  digunakan  untuk menggambarkan  perilaku  agen  cerdas  pada  game yang  mempunyai  tahap  pengerjaan  sebagai  berikut. Tahap  pertama  adalah  mendefinisikan  perilaku  yang ada,  menggambarkan  perilaku  tersebut  sebagai  state, berikutnya adalah menentukan transisi antar state dan kondisinya,  terakhir  adalah  menggabungkan  semua state dan transisi, (Haryanto, Novianto dan Rosyidah, 2014).
Penerapan  FSM  pada  game  berguna  untuk menentukan berbagai macam respon NPC berdasarkan  interaksi  yang  dilakukan  oleh  pemain, hal  ini  disebabkan  karena  FSM  dapat  digunakan untuk  mendesain  dan  menentukan  respon  perilaku yang  dilakukan  terhadap  perubahan  kondisi.  Dari hasil  penelitian  di  atas,  maka  penulis  tertarik  untuk membuat  penelitian  dengan  mengembangkan  sebuah game  dengan  menerapkan  metode  finite  state machine  (FSM)  pada  non-playable  character  (NPC), (Rahadian, Suyatno dan Maharani ,2016).

## 2.2 Artificial Interlligence
Kecerdasan  buatan  merupakan  suatu  cara memodelkan    proses  –  proses  berpikir  manusia  dan membuatnya berpikir dan berperilaku seperti manusia.  Tujuan  kecerdasan  buatan  yaitu  membuat computer lebih  cerdas,  mengerti  tentang  kecerdasan, dan  membuat  kemampuan  untuk  belajar  atau mengerti  dari  pengalaman,  memahami  pesan  yang kontradiktif  dan  ambigu,  menanggapai  dengan  cepat dan  baik  atas  situasi  yang  baru,  menggunakan penalaran dalam memecahkan masalah serta menyelesaikannya dengan efektif..
Ada  beberapa  definisi  yang  dapat  digunakan untuk memahami kecerdasan buatan yang dikelompokkan menjadi empat bagian, yaitu :
1. Sebuah sistem yang berpikir secara manusia
2. Sebuah sistem yang dapat berpikir rasional
3. Sebuah sistem yang berperilaku seperti manusia
4. Sebuah  sistem  yang  dapat  berperilaku  secara rasional
2.3 Finite State Machine
Finite  State  Machine adalah  bagian  dari kecerdasan  buatan  dari decision  making yang digunakan  untuk  pemetaan  system  control  atau perilaku  berdasarkan state (keadaan)  , event (kejadian)  dan action (aksi).  Metode  FSM  sendiri banyak  digunakan  untuk  pengembangan  perangkat lunak seperti game
WALK ATTACK DIE ENEMY DALAM JANGKAUAN ENEMY < 5PX ENEMY DILUAR JANGKAUAN ENEMY >= 5PX
Gambar 1 Contoh Diagram FSM Sederhana
Pada  gambar  1,  diagram  tersebut  menunjukan FSM  dengan  tiga state dan  tiga event :  ketika  sistem mulai dijalankan, sistem akan menjalankan state walk dan  akan  berpindah  ke state  attack dengan event enemy dalam  jangkauan enemy dan  akan  berpindah kembali  ke state  walk dengan event  enemy diluar jangkauan. Perpindahan dari state  attack ke state die berdasarkan event player healthpoint = 0.

## 3. METODE PENELITIAN
3.1 Analisis Game
Analisis  masalah  adalah  proses  identifikasi  dan evaluasi  terhadap  game  yang  akan  dibangun.  Dalam game dengan genre real-time strategy , setiap pemain harus  mampu  menyelesaikan  semua stage atau level. Setiap level memiliki  tingkat  kesulitan  yang  tertentu
dan  berbeda.  Game  dengan  genre real-time  strategy terkadang membosankan dikarenakan visual art yang cenderung  sederhana  dan  kemampuan enemy yang mudah ditebak dan kurang beragam. Untuk mengatasi hal  tersebut  maka  dibuatlah  sebuah  AI  yang digunakan  untuk  memberikan  kemampuan  pada enemy agar  dapat  memiliki  perilaku  yang  sudah ditentukan berdasarkan kondisi tertentu.
Pada game “ Wa r of Astraghoul ” merupakan game view  side  scroller,  yaitu  dimana  game  terlihat  dari samping.  Berikut  analisis  game  pada War  of Astraghoul : 1. Game berbasis 2D
2. Interaksi menggunakan mouse
3. Genre game ini adalah real-time strategy
4. Game  ini  ditargetkan  untuk  desktop  dengan operating system windows.

## 3.2 Storyline
Game  ini  memiliki Gameplay (alur  game)  yang menceritakan  tentang  clan  barbarous  sebagai  clan utama  yang  memiliki  tujuaan  menaklukan  semua clan. Berikut alur cerita game War of Astraghoul : 1. Diawali  dengan  sebuah  clan  bernama  barbarous terdiri dari leader , fighter dan shooter.
2. Leader  adalah  pemimpin  clan  dan  yang  terkuat dalam  clan,  sedangkan  fighter  adalah  petarung dan shooter sebagai penembak atau pemanah
3. Pertempuran  pertama  clan  barbarous  berada  di hutan sunyi yang bernama “Demon Forest” dan di jaga oleh clan demon.
4. Clan demon adalah penjaga “Demon Forest” yang memiliki  ciri  khas  pada  mata  dan  warna  merah pada characternya.
5. Pertempuran  kedua  clan  barbarous  berada  di hutan  yang tenang dan sungai biru  yang bernama “Hallerbos” dan di jaga oleh clan orc.
6. Clan  orc  merupakan  penguasa  “Hallerbos”  yang memiliki  bentuk  karakter  berwarna  hijau  dan kepala yang sedikit pecah.
7. Pertempuran  terakhir  clan  barbarous  berada  di hutan  gersang  yang  terdapat  lahar,  matahari  dan bulan,  tempat  ini  bernama  “Astraghoul”  dan dijaga oleh clan yang bernama astraghoul juga.
8. Clan  Astraghoul  merupakan  musuh  terakhir  clan barbarous, clan ini merupakan penguasa “Astraghoul”,  karakter  berbentuk  tengkorak  dan membawa pedang
9. Untuk  meraih  kemenangan  clan  barbarous  harus mampu  menaklukan  semua  wilayah  yang  mereka lewati
3.3 Diagram Alur Game
Start
Main Menu How to play Play Option credit Instruction Select level Menu Option Menu credit Level 1 Level 2 Level 3 Music volume Effect volume Music volume Effect volume Level 1 Level 2 Level 3 Exit Start T Y Y T T T Y Y T Y Y T T Y Win / lose ? Win / lose ? T Y T Y Y Y T Y Win / lose ? T T T Gambar 2 Flowchart Game
Saat  pertama  kali  game  dijalankan  maka  game akan  menampilkan  menu  utama  yang  berisi button how to play, play, options dan credits. Ketika pemain memilih  menu how  to  play maka  pemain  masuk kedalam  tampilan instruction yang  berisi  aturan permainan.  Jika  pemain  memilih button  play maka pemain  akan  diarahkan  ke  menu select  level dan memilih level . Sedangkan button option berisi tentang tampilan  pengaturan  suara  dan button  credit berisi informasi pengembang game.

## 3.4 Diagram FSM
Finite  state  machine merupakan  sebuah  logika penalaran yang memperlihatkan perilaku pada sistem berdasarkan  tiga  hal  yaitu state (keadaan), event (kejadian)  dan action (aksi).  Sistem  beralih  atau bertransisi  menutu  state  lain  berdasarkan  event tertentu.  Pada  game War  of  astraghoul, FSM diterapkan  pada  semua  karakter player maupun enemy.
Gambar 3 FSM Karakter Fighter
Gambar 4 FSM Karakter Fighter
Gambar 5 FSM Karakter Leader

## 3.5 Desain Karakter
Pada  bagian  ini  memuat  metode  yang  digunakan pada  pemuatan  skripsi.Terdapat  12  karakter  yang terbagi  menjadi  4  clan  dan  setiap  clan  memiliki  3 type karakter yaitu fighter , shooter dan leader.
A. Karakter utama
Karakter  utama  terdiri  dari  clan  barbarous  ,  clan digunakan pemain sampai level terakhir:
Tabel 1. Karakter Utama Karakter Keterangan “Aeroid” Type : Leader Healthpoint : 800
Attack : 20 / hit Special Attack : 120 / hit
Speed : 30
“Agazio”
Type : Fighter Healthpoint : 100
Attack : 20 / hit Speed : 20
“Antares”
Type : Shooter
Healthpoint : 80 Attack : 5 / hit
Speed : 15
B. Karakter enemy level 1
Karakter  enemy  pada  level  1  terdiri  dari  clan demon :
Tabel 2. Karakter Enemy Level 1
Karakter Keterangan “Darkone”
Type : Leader Healthpoint : 800 Attack : 10 / hit
Special Attack : 80 / hit
Speed : 40
“Darkside”
Type : Fighter Healthpoint : 80 Attack : 20 / hit Speed : 30
“Darkskin”
Type : Shooter Healthpoint : 60 Attack : 10 / hit Speed : 20
C. Karakter enemy level 2 Karakter  enemy  pada  level  2  terdiri  dari  clan demon :
Tabel 3. Karakter Enemy Level 2 Karakter Keterangan
“Ogre” Type : Leader Healthpoint : 800 Attack : 30 / hit Special Attack : 150 / hit Speed : 15 “Ozie” Type : Fighter Healthpoint : 100 Attack : 25 / hit Speed : 10 “Olive” Type : Shooter Healthpoint : 100
Attack : 8 / hit Speed : 10
D. Karakter enemy level 3 Karakter  enemy  pada  level  3  terdiri  dari  clan astraghoul :
Tabel 4. Karakter Enemy Level 3
Karakter Keterangan “Velveinza” Type : Leader Healthpoint : 1000
Attack : 30 / hit Special Attack : 150 / hit
Speed : 10 “Volqer” Type : Fighter Healthpoint : 100 Attack : 25 / hit Speed : 8 “Votter” Type : Shooter Healthpoint : 100 Attack : 10 / hit Speed : 5

## 4. HASIL DAN PEMBAHASAN
4.1 Tampilan Menu Game
Dalam game War of astaghoul terdapat beberapa tampilan menu sebagai berikut :
Tabel 5. Pengujian Tampilan Tampilan Keterangan Menu Utama Pada tampilan menu utama pemain dapat memilih tombol how  to  play,  play, options, credit dan exit . Tampilan menu utama dapat dilihat pada How to play Pada  menu  ini akan ditunjukan cara  memainkan game dan keterangan beberapa item . Select Level Menu select  level ditampilkan  saat pemain  menekan tombol play yang menampilkan pilihan  level  yang akan dipilih pemain . Option Pada  menu option pemain dapat mengatur backsound dan effect sound . Credits Pada  menu credit menampilkan informasi  tentang pengembang game.

## 4.2 Pengujian Artificial Intelligence
Pengujian  AI  merupakan  pengujian  mengenai fungsi  yang  berkaitan  dengan  AI  yang  sudah diimplementasikan  ke  dalam  setiap  karakter  pada game war  of  astraghoul. Hasil  pengujian finite  state machine dan collision  detection dapat  dilihat  pada tabel 6.
Tabel 6. Pengujian Finite State Machine Fighter Skenario uji Hasil yang diharapkan kesimpulan Ketika  karakter fighter di munculkan Karakter fighter menjalankan state walk yaitu berjalan menuju tower enemy
[  ] Berhasil
[    ] Tidak Berhasil Ketika  karakter enemy  berada  < 2 pixel Karakter fighter menjalan state attack [  ] Berhasil [    ] Tidak Berhasil Ketika  karakter enemy  berada  > 2 pixel Karakter fighter menjalan state walk [  ] Berhasil
[    ] Tidak Berhasil
Skenario uji Hasil yang diharapkan kesimpulan Ketika item berada < 1 pixel Karakter fighter menjalankan state item [  ] Berhasil [    ] Tidak Berhasil Ketika item berada > 1 pixel Karakter fighter menjalankan state walk [  ] Berhasil [    ] Tidak Berhasil Ketika health karakter  fighter < 0 Karakter fighter menjalankan state die [  ] Berhasil [    ] Tidak Berhasil Tabel 7. Pengujian Finite State Machine Shooter Skenario uji Hasil yang diharapkan kesimpulan Ketika karakter shooter di munculkan Karakter shooter menjalankan state walk yaitu berjalan menuju tower enemy [  ] Berhasil
[    ] Tidak
Berhasil Ketika karakter enemy berada < 25 pixel Karakter shooter menjalan state attack [  ] Berhasil [    ] Tidak Berhasil Ketika karakter enemy berada > 25 pixel Karakter shooter menjalan state walk [  ] Berhasil [    ] Tidak Berhasil Ketika item berada < 1 pixel Karakter shooter menjalankan state item [  ] Berhasil [    ] Tidak Berhasil Ketika item berada > 1 pixel Karakter shooter menjalankan state walk [  ] Berhasil [    ] Tidak Berhasil Ketika health karakter shooter < 0 Karakter shooter menjalankan state die [  ] Berhasil [    ] Tidak
Berhasil
Tabel 8. Pengujian Finite State Machine Leader Skenario uji Hasil yang diharapkan kesimpulan Ketika karakter leader di munculkan Karakter leader menjalankan state walk yaitu berjalan menuju tower enemy [  ] Berhasil [    ] Tidak Berhasil Ketika karakter enemy berada < 2 pixel Karakter leader menjalan state attack [  ] Berhasil [    ] Tidak Berhasil Ketika karakter enemy berada > 2 pixel Karakter leader menjalan state walk [  ] Berhasil [    ] Tidak Berhasil Ketika item berada  <  1 pixel Karakter leader menjalankan state item [  ] Berhasil [    ] Tidak Berhasil Ketika item berada  >  1 pixel Karakter leader menjalankan state walk [  ] Berhasil [    ] Tidak Berhasil Ketika total attack = 20 Karakter leader menjalankan state  special attack [  ] Berhasil [    ] Tidak Berhasil Ketika total attack < 20 Karakter leader menjalankan state attack [  ] Berhasil [    ] Tidak Berhasil Ketika  health karakter leader < 0 Karakter leader menjalankan state die [  ] Berhasil
[    ] Tidak
Berhasil
Berdasarkan table pengujian finite state machine, karakter  menyerang  saat  lawan  berada  dalam jangkauan,  serangan  special  berdasarkan  jumlah serangan, dan die ketika health kurang dari 0. Dengan demikian  disimpulkan  bahwa  semua  AI  pada  game war of astraghoul dapat berjalan dengan baik dengan tingkat keberhasilan 100 %.
5. KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan  hasil  pengujian  game  yang  telah dilakukan maka dapat disimpulkan sebagai berikut :
1. Berdasarkan  pengujian  fungsional  game  dapat berjalan  dengan  baik  tanpa  kendala  sesuai dengan perancangan.
2. Pengujian Finite  State  Machine pada  setiap karakter berjalan dengan baik berdasarkan  yang telah ditentukan.
3. Berdasarkan  hasil  kuisioner pengujian  user dapat disimpulkan bahwa game dapat memenuhi keinginan  user  dengan  46  %  menyatakan  baik, 50  %  menyatakan  cukup  dan  4  %  menyatakan kurang.
4. Berdasarkan  hasil  pengujian  spesifikasi  dapat disimpulkan bahwa game dapat berjalan dengan baik  dengan  minimal  spesifikasi  AMD  E1 dengan RAM 2 GB.
5. Berdasarkan  hasil  pengujian  resolusi    layar dapat  disimpulkan  bahwa  game  dapat  berjalan dengan baik dengan 1280 x 720 sampai 1360 x 768.

## 5.2 Saran
Berdasarkan  kesimpulan  dari  penelitian  yang sudah  dilakukan  ,  adapun  saran  yang  didapat  untuk mengembangkan game ini.
1. Game  dapat  dikembangkan  menjadi  game berbasis  mobile  agar  dapat  dimainkan  pada smartphone android maupun IOS
2. Pengembangan selanjutnya dapat dikembangkan dengan menerapakan fitur multiplayer .

## DAFTAR PUSTAKA
[1] Billy, B., Kuswardayan, I. and Khotimah, W.N., 2017.  Implementasi  Artificial  Intelligence  pada game Defender of Metal City dengan menggunakan  Finite  State  Machine. Jurnal Teknik  ITS , 6 (2),  pp.A701-706.Ding,  K.  and Jiang,  P.,  2017.  RFID-based  production  data analysis in an IoT-enabled smart job- shop. IEEE/CAA Journal of Automatica Sinica]
[2] Haryanto,  H.,  Novianto,  S.  and  Rosyidah,  U., 2014. MODEL SKENARIO ADAPTIF BERBASIS FINITE STATE MACHINE PADA GAME  PENDIDIKAN. Techno.  Com , 13 (2), pp.91-98
[3] Rahadian,  M.F.,  Suyatno,  A.  and  Maharani,  S., 2017.  Penerapan  Metode  Finite  State  Machine Pada Game “The Relationship