## GAME DARK FOREST CODEDENGAN MENGGUNAKAN METODE FSM

## Syarif Hidayatulloh
Teknik Informatika, Institut Teknologi Nasional Malang mcsyarif7@gmail.com

## ABSTRAK
Pentingnya game saat ini menjadi sarana yang digunakan untuk memberikan hiburan serta pembelajaran kepada  masyarakat  umum  secara  cepat.  Melalui  game,  hiburan  yang  akan  disampaikan  akan  lebih  efektif  dan lebih cepat.
Dalam pembuatan game ini penulis menggunakan game engine unity3D, dengan menerapkan Finite State Machine  yaitu  sebuah  metode  dengan  menggunakan  sebua  kondisi  pada  suatu  objeck  tertentu.  Finite  State Machine  digunakan  pada  karakter  musuh  yang  digerakan  oleh  kecerdasan  buatan    untuk  mendukung  game tersebut. Finite State Machine dapat digunakan untuk menentukan gerakan dan aksi dari musuh tanpa melibatkan pengguna game. Salah satu gerakan dan aksinya adalah patrol dan attack.
Target  yang  dicapai  adalah  dapat  dimainkan  oleh  anak-anak  usia  dini  bahkan  hingga  orang  dewasa. Manfaat  yang diperoleh dari  pembuatan  game ini  yaitu dapat  memberikan  hiburan dan  pendidikan pada game strategi.  Pengujian  metode  dan  control  player  mendapatkan  hasil  yang  sesuai  dan  berjalan  100%  seperti  yang harapkan.
Keyword : Game, Finite State Machine, Unity3D
1. PENDAHULUAN
1.1. Latar Belakang Perkembangan  teknologi  sangatlah  pesat Teknologi  berasal  dari  akar  kata  latin  “ textere ” yang  berarti  membangun.  Teknologi  adalah sebuah  desain  untuk  tindakan  instrumental  yang mengurangi  ketidakpastian  sebab  akibat  yang terlibat  untuk  mencapai  hasil  yang  diinginkan. Teknologi  tidak  harus  dibatasi  hanya  untuk penggunaan mesin. Bersamaan dengan
perkembangan   teknologi   dibidang   elektronika munculah      media      baru  salah  satunya  yaitu komputer. Untuk  mengetahui  karakteristik  media baru  seperti  Digitality,  Interaktivitas,  Hypertext, Penyebaran,  dan  Virtual,  kita  dapat  memahami sebuah  kelebihan  dan  juga  kelemahan  yang  ada pada media saat ini.
Dalam    beberapa  waktu  tidak    lebih sepuluh  tahun  istilah‘ virtual  reality’ atau  VR istilah  ini  telah  menjadi  suatu  bahasa sehari-hari. Sebuah  label  dari VR adalah  permainan.
Permainan  atau  game  adalah  sesuatu  yang  harus dikaji  ulang.  Orang  bisa  terhibur  dengan  game, akan membuat sebuah tantangan baru, dsb. Namun kebanyakan  yang  harus  dihindari  adalah  sebuah kencaduan pada game.
Game mempunyai potensi untuk meningkatkan proses  pembelajaran  menjadi  lebih  efektif,  dapat dibilang  game  adalah  sebuah  media  untuk  belajar pada  saat  ini.  Pada  saat  seseorang  bermain  game, seseorang itu akan mengerahkan segala kemampuan  untuk  menyelesaikan  setiap  level dalam  game,  pikiran,  fisik  bahkan  emosional akan  terlibat.  Saat    seperti    ini,    biasanya    unsur yang  terkandung  dalam  game  akan mudah untuk
diserap  dengan  sempurna.  Gamers  jadi  hafal siapa saja tokoh dalam game tersebut, gamers akan mengetahuiu langkah perstep pada game tersebut.
Dengan  ini  penulis  membuat  game  dark forest  code  dengan  guna  mempermudah  para pemain dalam bermain game dan dengan fitur yang  mudah  dipahami  oleh  para  pengguna game.

## 1.2. Rumusan Masalah
Berdasarkan   Latar  Belakang  masalah  diatas, adapun  beberapa  masalah  yang dapat dirumuskan sebagai berikut :
1. Bagaimana   merancang suasana seram pada game Dark Forest Code ?
2. Bagaimana membangun game pada platform personal computer?
3. Bagaimana mengimplementasikan metode Finite State Machine sebagai  kecerdasan buatan pada Game Dark Forest Code ?

## 1.3. Batasan Masalah
Batasan  masalah  pada  pembuatan game pengumpulan sampah organik dan anorganik adalah sebagai berikut:
1. Game dibuat dengan  suasana  seram  untuk memberikan suasana baru pada game .
2. Game dirancang  dengan  kemudahan  pada control game.
3. Game Dark Forest Code ini menggunakan platform desktop pada personal computer .

## 1.4. Tujuan
Tujuan  dari  penulisan  skripsi  ini  adalah  untuk membuat    sebuah    game Adventure-Horror berjudul " Dark Forest Code ",  yang menawarkan  suasana  seram dalam permainan melalui environment pada game world dan  jalan  cerita., Game ini  dapat  dioperasikan menggunakan  PC.  Tujuan  lainnya  adalah  agar game dengan genre adventure-horror bisa semakin berkembang  di kemudian  hari, sebagai berikut :
1.   Memberikan    kesempatan   kepada    pemain untuk    merasakan    suasana  seram  dalam bermain game.
2.      Memberikan  pengalaman  pada  grafis  dan kontrol    yang  mudah  dapat  menarik  para pemain untuk memainkan game ini.
3. Mengajak player untuk    lebih  mengetahui kontrol  game    yang  digunakan  pada personal computer sebagai platformnya.
2. TINJAUAN PUSTAKA
2.1. Definisi Game
Pada  bahasa  Indonesia  “Game”  memiliki  arti yaitu “permainan”.  Permainan dapat dimaksudkan juga merujuk  pada  pengertian  sebagai  “kelincahan intelektual”  ( intellectual  playability ).  Sementara  game dapat  diartikan  sebagai  arena  untuk  aksi  pemainnya. Serta ada beberapa target yang ingin dicapai pemainnya. Kelincahan intelektual, pada tingkat tertentu, merupakan ukuran sejauh mana game itu menarik untuk dimainkan secara maksimal.
Berdasarkan jenisnya, salah satu jenis game yang dapat digunakan sebagai metode pendidikan dan hiburan bagi anak-anak dan remaja adalah Game jenis ini dibuat dengan  tujuan  spesifik  sebagai  alat  pendidikan  dan hiburan. Contoh adventure yang pernah ada yaitu Super Mario, Assasin Creed China. (C.Octavian . 2013)

## 2.2. Game Adventure
Game adventure adalah  gabungan  dari  beberapa unsur  game  yaitu  action  dan  juga  adventure,  biasanya menampilkan  rintangan  yang  berjangka  panjang  yang harus  diatasi  menggunakan  alat  atau  dengan  alat  bantu yang  dapat  membantu  mengatasi  rintangan,  serta rintangan yang hampir terus-menerus ada. (Haryanto, H. 2010)
Pada  penelitian  sebelumnya  game  berjenis adventure  memang  banyak  sekali  digunakan  namun untuk  adventure  horror  masih  sangat  minim  dalam pengambilan  temanya.  Dikarenakan  hanya  memiliki beberapa stage saja dan desain yang bisa dibilang kurang menarik  perhatian.  (Abdullah,  D.,  Reza,  B.,  &  Erliana, C. I. 2015)

## 2.3. Kecerdasan Buatan
Dalam pengertian Kecerdasan Buatan merupakan suatu  ilmu  komputer  yang  dapat  memberikan pengetahuan lebih banyak menggunakan bentuk simbol simbol  daripada  bilangan,  dan  memproses  beberapa
informasi  pada  metode heuristic atau  dengan beberapa aturan yang ada.
Ada  beberapa  tujuan  kecerdasan  buatan, yaitu,  membuat  komputer  lebih  cerdas,  mengerti tentang  kecerdasan,  dan  membuat  progres  yang lebih  bagus.  Kecerdasan  merupakan  kemampuan untuk  dapat  belajar  dan  mengerti  dari  pengalaman, memahami  pesan  yang  kontradiktif  dan  ambigu, menanggapi dengan cepat dan baik atas situasi baru, dengan  memakai  penalaran  dalam  memecahkan masalah  serta  menyelesaikannya  secara  efektif.( Rostianingsih, S., Satiabudhi, G. and Wijaya, H.K., 2013)

## 2.4. Finite State Machine
Finite  State  Machine merupakan  sebuah metode  yang  digunakan  untuk  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 waktu dalam periode tertentu yang cukup memberikan aksi signifikan, sistem akan berada pada salah satu state yang aktif. Sistem dapat beralih  atau  bertransisi  pada state lain  jika mendapatkan  perintah  atau  sesuatu event tertentu, baik  dari platform luar  atau  komponen  dalam sistemnya itu sendiri. Transisi keadaan ini umumnya juga disertai aksi yang dilakukan pada sistem ketika menanggapi  perintah  yang  terjadi.  Aksi  tersebut dapat  berupa  aksi  yang  sederhana  atau  melibatkan rangkaian  proses  yang  relatif  kompleks.  Contoh diagram state sederhana  ditunjukkan  pada  Gambar 1.
Gambar 1. Contoh Diagram State Sederhana
Diagram  tersebut  memperlihatkan  FSM ( Finite  State  Machine )  dengan  dua  buah state dan dua buah input serta empat buah aksi output berbeda seperti  terlihat  pada  gambar  diatas,  ketika  sistem dihidupkan,  maka  sistem  akan  berpindah  menuju state 0, pada keadaan ini sistem akan  menghasilkan Action 1 jika terjadi masukan Event 0, apabila terjadi Event 1  maka Action 2  akan  diberjalan  kemudian sistemnya  berpindah  ke  keadaan State 1  dan seterusnya.
Salah  satu  alternatif  implementasi  FSM adalah  menggunakan  pemrograman  yang  berbasis objek  ( Object  Oriented  Programming )  atau  yang sering dikenal sebagai OOP  (Rahadian, Suyatno, & Maharani, 2016). Kelebihan penggunaan OOP pada
FSM  adalah  fleksibilitasnya  yang  memiliki  ketinggian dan  pemeliharaannya  yang  mudah  pada  sistem  yang sederhana  atau  biasa,  menengah,  maupun  sistem  yang kompleks.  Selain  itu  juga  mendapatkan  manfaat  dari salah  satu  kelebihan  yang  dimiliki  OOP  yaitu penggunaan  kembali  kode  yang  telah  diketik  ( code reusability ) sehingga membuat pengetikan kode menjadi lebih sedikit  (Rahadian, Suyatno, & Maharani, 2016).

## 2.5. Unity3D
Software  unity  3D  yaitu  sebuah  game  engine yang  berbasis  cross-platform.  Unity  bisa  digunakan untuk membuat sebuah game yang bisa digunakan pada perangkat  komputer,  smartphone,  dan  konsol  game. Unity  merupakan  sebuah  tool  yang  sudah  terintegrasi untuk  membuat  rancangan  game,  dengan  arsitektur bangunan  dan  simulasi.  Unity  tidak  dirancang  untuk proses  desain  atau  pembuatan  model  2D  maupun  3D. Beberapa  fitur  Unity  diantaranya  adalah audio  reverb zone , particle  effect ,  dan skybox untuk  menambahkan langit.
Unity  menggunakan physic  engine dari nvidia physX untuk  menangani  semua  perhitungan  fisika  dan efek-efek yang berhubungan dengan hukum fisika. Fitur scripting yang  disediakan,  mendukung  3  bahasa pemrograman, JavaScript, C#, dan Boo . Variables pada unity  didefinisikan  dengan  scripts  ditampilkan  pada editor.  Unity  juga  mampu  mengani  komunikasi  socket untuk  digunakan  membuat  game  online.  (Creighton, R.H., 2010)

## 2.6. Bahasa Pemrograman C#
C#  merupakan  suatu  bahasa  pemrograman diciptakan  oleh  Microsoft  yang  digunakan  untuk mengembangkan aplikasi dengan platform .NET.
C# telah memenuhi syarat-syarat sebagai sebuah bahasa  pemrograman  yang  bersifat Object  Oriented , yaitu encapsulation , inheritance dan polymorphism . Kode C# ditulis dengan pembagian masing Class- Class (classes) yang terdiri dari beberapa routines yang disebut dengan member methods . Class dan  metode ini dapat  digunakan  berulang-ulang  oleh  program  atau aplikasi lain. Hanya dengan memberikan informasi yang dibutuhkan  oleh  Class  dan  metode  yang  dimaksudkan, maka nantinya kita akan dapat membuat suatu kode yang dapat digunakan oleh satu maupun beberapa aplikasi dan program. (Norton, T., 2013)

## 3. METODE PENELITIAN
Pada bagian ini memuat metode yang digunakan  pada penelitian yang dilakukan.
3.1. Deskripsi Sistem
Game adventure horor ini merupakan suatu game yang mengandung unsur hiburan yang berbasis desktop . Tujuan dibuatnya game ini, untuk menarik minat anak- anak dan umum mengetahui berbagai macam permainan strategi dalam game.
Game ini akan memberikan user kesempatan untuk  merasakan  suasana  berbeda  dalam  setiap levelnya.  Cara  permainan  pada level pertama, user harus  menyelesaikan  tahapan  atau  misi  pertama, dimana  misi  pertama user harus  keluar  dari  htan bayangan untuk dapat menuju ke level selanjutnya. Setelah  menyelesaikan  misi  pertama, user akan melanjutkan  permainan  pada level kedua,  dimana user akan  melakukan  hal  yang  sama  yaitu menyelamatkan diri dari planet BW untuk pergi ke gerbang kebebasan. Apabila user berhasil menyelesaikan  semua level dalam  permainan tersebut  dengan  baik,  maka user akan  berhasil membawa player kembali ke planet bumi.

## 3.1.1 Cerita Game
Berikut  adalah  cerita  dari  game  dark  forest code :
1. Terdapat sebuah planet  yang  dihuni oleh para makhluk hidup dimana planet itu sangat indah.
2. Namun  suatu  hari  planet  itu  didatangin  oleh sekumpulan  alien  dan  mengambil  para penghuni planet itu.
3. Alien  itu  membawa  para  makhluk  planet  lain itu ke planetnya yaitu planet BW.
4. Tetapi  para  Penghuni  planet  lain  itu  tidak menyerah  untuk  bebas  dan  menyelamat  diri dari  hutan  bayangan  yang  ada  dalam  planet alien tersebut.
5. Jika para penghuni tersebut berhasil keluar dari hutan  bayangan  maka  akan  semakin  dekat untuk kembali ke planet asal mereka.

## 3.1.2 Desain Stage
Game  ini  terbagi  menjadi  dua stage utama. Masing  masing stage memiliki  latar,  musuh  dan tingkat  kesulitan  yang  berbeda-beda.  Beberapa aturan dari game ini yaitu :
a. Player memiliki health . b. Player tidak  memiliki  batas  waktu  untuk menyelesaikan masing-masing stage.
c. Player mempunyai    aksi  utama  yaitu run , jump , dan attack . d. Player mati jika darah (health point) habis.
e. Jika player mati,  maka  permainan  kebali pada titik awal permainan.
f. Terdapat  ranjau  yang  harus  dilewati player agar tidak mati.
g. Setelah  berhasil  melewati  rintangan  maka semakin  dekat  dengan  gerbang stage selanjutnya.
h. Untuk  menyelesaikan  permainan  ini, player harus melewati semua stage .
3.2 Kontrol Dalam Game
Game ini dapat dimainkan dengan menggunakan keyboard dengan control  mapping seperti Gambar 2.
Gambar 2. Gamepad Mapping

## 3.3 Diagram Finite State Machine
Pada  Gambar  3  adalah  diagram  pada player menunjukkan berapa state yang digunakan pada player.
start Diam 0 Berjalan 1 Melompat 2 Dead 3 Menuju stage Berpindah ke tempat lain Mengambil nafas Menghindari musuh dan jebakan Player dead Player dead Gambar 3. Diagram Pada Player
Gambar  3  menunjukkan  bahwa player memiliki  empat state yaitu diam, berlari, melompat, dan dead . Sedangkan pada Gambar 4 adalah diagram finite state machine pada musuh. Idle Mengejar Patrol Attack Kondisi aktif mencari target Jika target tidak ditemukan Jika terlihat target Jika jarak jauh dari target Jika terlihat target Jika jauh dari target Jika jauh dari area musuh Jika tidak mengenai target Jika masuk area musuh Jika tidak mengenai target Gambar 4. Diagram FSM Pada Musuh
Gambar  4  menunjukkan  bahwa  musuh  memiliki  tiga state yaitu diam, patrol , dan demage .

## 3.4 Penerapan Finite State Machine
Pada Gambar 5 merupakan penerapan finite state machine pada game Dark Forest Code .
Gambar 5 menunjukkan bahwa tanda yang berwarna merah  adalah  jarak  pengelihatan  musuh  terhadap player.  Jarak  pengelihatan  musuh  terhadap  player yaitu  7,6  meter  skala  unity.  Jika  player  berlari  dan terdeteksi  oleh  penglihatan  musuh,  maka  musuh akan  mengejar  dan  memberikan  damage  pada player.  Dan  jika  player  berlari  keluar  dari  zona pengelihatan  musuh,  maka  musuh  akan  berpatroli kembali dan melihat sekelilingnya.

## 3.5 Struktur Menu
Struktur  menu  pada game ini  didalamnya mempunyai  empat  menu  yang  terdiri  dari  menu Play , Setting , Help , dan Exit . Diagram struktur menu dapat dilihat pada Gambar 6.
GAME DARK FOREST CODE PLAY SETTING EXIT MISI 1 MISI 2 SOUND SCREEN

## Gambar 6. Struktur Menu
3.6 Flowchart
Flowchart atau alur pada game Dark Forest Code menggambarkan  sistem  dari  awal  permainan hingga akhir permainan ditunjukkan pada Gambar 7.
START MENU AWAL PLAY ? STAGE 1 MENANG STAGE 2 MENANG END Y T Y T Y T

## Gambar 7. Flowchart Game
3.7 Desain Karakter
Berikut  ini  adalah  tampilan  dari  desain karakter  pemain  dari game drak  forest  code. Terdapat beberapa posisi dari karakter pemain yaitu posisi  diam,  berlari,.  Masing-masing  posisi  pada pemain tersebut ditunjukkan pada Gambar 8.
G
AME CO NTRO L A D SPACE Kontrol Arah Kiri Kontrol Arah Kanan Jump/Lompat Kontrol Arah Kiri Kontrol Arah Kanan
Gambar 8. Desain Karakter Pemain
Gambar  9  merupakan  karakter  musuh  dalam game yang menjadi penghalan player .
Gambar 9. Desain Karakter Musuh

## 4. HASIL DAN PEMBAHASAN
Pada  bagian  ini  memuat  hasil  dan  pembahasan tentang penelitian yang dilakukan.

## 4.1 Tampilan Menu Utama
Pada  bagian  ini  merupakan  menu  utama  ketika game  dibuka,  terdapat  menu start , setting ,  dan exit seperti terlihat pada Gambar 10.

## Gambar 10. Menu Utama

## 4.2 Tampilan Stage Pertama
Pada  bagian  ini  merupakan stage pertama  dari game dengan  mengambil  latar  hutan  bayangan helloween  night. Player diwajibkan untuk  menghindari setiap  rintangan  yang  berupa  enemy  dan  ranjau disepanjang  jalan.  Tampilan stage pertama  pada game ditunjukkan pada Gambar 11.
Gambar 11. Stage Pertama Pada Game

## 4.3 Tampilan Stage Kedua
Pada  bagian  ini  merupakan stage pertama  dari game dengan  mengambil  latar  hutan  bayangan  triangle tree. Player diwajibkan  untuk  menghindari  setiap rintangan  yang  berupa  enemy,  duri  dan  ranjau
disepanjang jalan. Tampilan stage kedua pada game ditunjukkan pada Gambar 12.
Gambar 12. Stage Kedua Pada Game

## 4.4 Tampilan FSM Enemy
Pada  bagian  ini  merupakan  cara  kerja  FSM Enemy untuk  dapat  mengejar  player.  Dimana nanti jika enemy mengenai player maka health playerakan berkurang ditunjukkan pada Gambar 13.

## Gambar 13. FSM Enemy

## 4.5 Pengujian Fungsional Stage 1
Pengujian  fungsional  Stage  1  adalah pengujian  mengenai  proses  fungsional  yang  terjadi dalam game pada stage 1. Hasil dari pengujian dapat dilihat pada tabel 1. Tabel 1 Stage 1 NO Fungsi Hasil 1 Pengujian pada start menu pada game dark forest code sesuai dengan fungsinya Sesuai 2 Metode pada musuh dapat menyerang player Sesuai 3 Indikator darah untuk player berjalan dengan fungsinya Sesuai
Berdasarkan  Tabel  1.  disimpulkan  bahwa  semua fungsi  berjalan  dengan  tingkat  keberhasilan  100% sesuai dengan yang diharapkan.

## 4.6 Pengujian Fungsional Stage 2
Pengujian  fungsional  Stage  2  adalah pengujian  mengenai  proses  fungsional  yang  terjadi dalam game pada stage 2. Hasil dari pengujian dapat dilihat pada tabel 2.
Tabel 2 Stage 2 NO Fungsi Hasil 1 Pengujian pada game dark forest code stage 2 sesuai dengan fungsinya Sesuai 2 Metode pada musuh dapat menyerang player Sesuai 3 Indikator darah untuk player berjalan dengan fungsinya Sesuai
Berdasarkan Tabel 2. disimpulkan bahwa semua fungsi pada stage 2 berjalan dengan tingkat keberhasilan 100% sesuai dengan yang diharapkan.
4.7 Pengujian Control Player
Pengujian control player adalah  pengujian  fungsi dari  setiap  tombol  yang  sudah  diterapkan  untuk menggerakkan player. Hasil pengujian dapat dilihat pada Tabel 3.
Tabel 3 Tombol Fungsi Hasil Menggerakkan ke kiri Sesuai Menggerakkan ke kanan Sesuai Spasi Player meloncat Sesuai A Menggerakkan ke kiri Sesuai D Menggerakkan ke kanan Sesuai Berdasarkan Tabel 4.2. dapat disimpulkan bahwa pengujian control player berjalan dengan tingkat keberhasilan 100% sesuai dengan apa yang diharapkan.
5. Penutup
5.1 Kesimpulan
Berikut adalah kesimpulan dari proses pembuatan game Dark Forest Code :
1. Hasil  pengujian  metode  menunjukan  bahwa implementasi finite  state  machine pada game berjalan dengan baik.
2. Setelah  diujikan  dengan  metode  FSM  didapatkan hasil  yang  sesuai  100%  seperti  yang  diharapkan penulis.
3. Pada pengujian control player didapatkan hasil yang  sesuai  100%  seperti  yang  diharapkan penulis.

## 5.2 Saran
Adapun  saran  sebagai  acuan  terhadap penelitian atau pengembangan selanjutnya, diantaranya :
1. Game Dark  Forest  Code hanya  memiliki  2 stage.
2. Finite state machine hanya dimplementasikan pada karakter musuh.

## DAFTAR PUSTAKA
[1] Abdullah, D., Reza, B., & Erliana, C. I. (2015). Game  Edukasi  Berbasis  Role  Playing  Game Dengan  Metode  Finite  State  Machine. Universitas Malikussaleh , 1-11.
[2] C.  Oktavian.    K.    2013. Rancang    Bangun game Petualangan Mat  Cungkring Berbasis Unity3D . Skripsi. STMIK AMIKOM Purwokerto.
[3] Creighton,  R.H.,  2010. Unity  3D  game development by example: A seat-of-your-pants manual  for  building  fun,  groovy  little  games quickly . Packt Publishing Ltd, 6-7.
[4] Haryanto, H. (2010). Agen Cerdas Kompetitif Berbasis  Finite  State  Machine  Dalam  Game Pembelajaran Untuk Anak. Techno.Com, Vol.9 No.2 , 53-61.
[5] Norton, T., 2013. Learning C# by Developing Games  with  Unity  3D .  Packt  Publishing  Ltd, 123-128.
[6] Rahadian, M. F., Suyatno, A., & Maharani, S. (2016).  Penerapan  Metode  Finite  State Machine  Pada  Game  “The  Relationship”. Jurnal Informatika Mulawarman , 14-22.
[7] Rostianingsih,  S.,  Satiabudhi,  G.  and  Wijaya, H.K.,  2013. Game  Simulasi  Finite  State Machine  Untuk  Pertanian  dan  Peternakan (Doctoral dissertation, Petra Christian University), 1-6.