## RANCANG BANGUN GAME  2D SHOOTER PLATFORMER MENGGUNAKAN METODE FINITE STATE MACHINE

## Guido Mau
Program Studi Teknik Informatika S1, Fakultas Teknologi Industri Institut Teknologi Nasional Malang, Jalan Raya Karanglo km 2 Malang, Indonesia guidomau1418@gmail.com

## ABSTRAK
Game  merupakan  salah  satu  hiburan  yang  sangat  digemari  oleh  semua  kalangan  baik  dari  anak-  anak hingga  orang  dewasa.  Game  ini  di  kembangkan  dalam  berbagai  jenis  salah  satu  yang  paling  populer  adalah permainanan, di mana permainan memiliki jalan cerita yang bermacam macam, dan juga pada permainan selalu membuat permainan penasaran akan akhir cerita game tersebut.game Shooter Platformer merupakan permainan di  mana  permainan  akan  menjalakan  karakter shooter  platformer yang  harus  menyelamatkan  bumi  dari kehancuran yang ingin di kuasai oleh musuh dan pengikutnya.
Dalam  game  ini  menggunakan sofware  Unity  3D ,  dengan  menerapkan  kecerdasan  buatan  FSM  ( Finite State Machine ). FSM  di gunakan pada karakter NPC ( Non playable Character ) yaitu karakter yang digerakan oleh  kecerdasan  buatan  yang  di  gunakan  untuk  mendukung    game  tersebut.  Seperti  karakter  Enemy  dan  Boss yang di gunakan tiga hal yaitu : keadaan, kejadian, dan aksi.
Pada  pengujian  metode Finite  State  Machine yang  di  terapkan  pada  musuh  sebgaian  besar  responden menytakan  bahwa  fungsi  dari  masing-masing  state  telah  berjalan  dengan  baik,  artinya  prosentase  penilaian berkisar  60%  selain  itu  game  ini  juga  dapat  di  gunakan  sebagai  game  edukasi,  hal  tersebut  dapat  di  buktikan dengan  pengujian  terhadap user yang  menyatakan  60%  menyatakan  bahwa  game  ini  sudah  cukup,  30% menyatakan sudah baik, dan 10% menyatakan sangat baik.
Kata kunci : Game Shooter Platformer, Finite State Machine, Unity3D
1. PENDAHULUAN
1.1 Latar Belakang
saat  ini  beberapa  media game sebagian  besar digunakan  hanya  sebagai  media  hiburan , selain digunakan  sebagai  media  hiburan  juga  dapat menghilangkan kejenuhan dan sangat bermanfaat jika digunakan sebagai suatu hal yang positif, dengan cara menggabungkan pembelajaran dengan hiburan, game dimainkan  untuk  mencapai  setiap  level  atau  tujuan yang  ditempuh,  untuk  meningkatkan  pengetahuan khusunya  anak-anak  sebagai  ajaran  untuk  melatih otak  anak di masa kini, karakter game yang menarik juga  sangat  berperan  penting  sebagai  daya  seseorang untuk  memainkannya game ,  aplikasi  ini  juga  sangat berfungsi  untuk  mengembangkan  minat  dan  bakat anak-anak  dan  orang  dewasa  di  zaman  era  modern. komputer  pada  saat  ini  juga  berkembang  dengan pesat  dan  menjadi  salah  satu  hiburan  utama  untuk mengisi  waktu  luang.  Tidak  sedikit  metode pembelajaran  berbasis  game  maupun  aplikasi  lain yang  tertanam  pada  komputer.  (  Arif,  Y.M.  dan Hariadi, M, 2012)

## 1.2   Rumusan Masalah
Berdasarkan  dari  uraian  latar  belakang  di  atas maka  dapat  dirumuskan  suatu  permasalahan  yang akan di selesaikan berikut ini :
1. Bagaimana  mengimplementasikan Finite  State Machine sebagai  kecerdasan  buatan  pada game 2D Shooter Platformer ?
2. Bagaimana membuat game 2D Shooter Platformer dengan Unity 3D ? 3. Bagaimana
merancang game “ Shooter platformer ”  dengan  menggunakan Unity sebagai game engine ?
4. Bagaimana  mengimplementasikan  metode Finite State  Machine untuk NPC  (Non  Playable Character) biasa pada game “ Shooter Platformer ”?

## 1.3   Batasan Masalah
Tujuan agar pembahasan dalam skripsi ini tidak meluas,  maka  di  tentukan  beberapa  batasan  masalah di antaranya, yaitu :
1. Game di buat menggunakan Unity 3D
2. Grafika dalam game ini adalah 2D
3. Game ini hanya dimainkan oleh 1 player (Single Player).
4. Bahasa  yang  digunakan  untuk  mengembangkan game adalah C#
5. Terdapat 3 level  pada game Shooter Platformer
1.4   Tujuan masalah Ada tujuan dari pembuatan game ini yaitu
1. mengimplemtasikan Finite State Machine sebagai  kecedasan  buatan  pada game 2D Shooter Platformer
2. Merancang game “Shooter Platformer” berbasis Android
3. membuat Game  2D  Shooter  Platformer dengan Unity 3D
4. Merancang game “Shooter Platformer” berbasis Android
5. Mengimplementasikan  Metode Finite  State
Machine untuk NPC (Non Playable Character) biasa pada game “Shooter Platformer”

## 2. TINJAUAN PUSTAKA
2.1   Penelitian Terkait
Dalam  bahasa  indonesia  “ Game ”  berarti “permainan”.  Permainan  yang  di  maksud  juga  game juga  merujuk  pada  pengertian  sebagi  “kelincahan intelektual ”(intellctual  Playablity). Semntara  kata “game”  bisa  di  artikan  sebagai  arena  keputusan  dan aksinya  permainya.  Ada  target  target  yang  ingin  di capai permainya. Kelincahan intelektual, pada tingkat tertentu,  merupakan  ukuran  sejauh  mana  game  ini menarik untuk di maikan secara maksimal.

## 2.2    Game
Game pada  dasarnya  bersifat  hiburan  karena jika  pengguna  memainkan game maka  akan  terasa senang.  Dalam  era  saat  ini, game disajikan  dengan kualitas  visualisasi  yang  cukup  canggih  karena didukung  oleh  teknologi  sehingga  pemain  lebih interkatif sesuai kemaunnya sendiri dan pemain terasa hidup  dalam game tersebut.  Maka  bisa  disebutkan bahwa game berkembang beriringan dengan teknologi.(wijaya,2009)

## 2.3   Kecerdasan Buatan
Kecerdasan  buatan  ( Artifical  Intellingence ) merupakan  salah  satu  bagian  dari  ilmu  komputer yang mempelajari bagimana membuat mesin (komputer)  dapat  melakukan  perkerjaan  seperti  yang sebaiknya yang di lakuakn oleh manusia bahkan lebih baik dari dari pada yang di lakuakn manusia. Menurut Jhon  McCarthy,  1956  AL  :  untuk  mengetahui  dan memodelkan  proses-  proses  berpikir  manusia  dan mendesain  mesin  agar  dapat  menirukan  perilaku manusia.  Cerdas,  berarti  memiliki  pengetahuan    di tambah  pengalaman  penaralan  (bagimana  membuat keputusan  dan  mengambil  tindakan  ),  moral  yang baik (Dahria, 2008).

## 2.4   Finite State Machine
Finite  State  Machine adalah  sebuah  metodologi 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  relatif (Setiawan, 2006).
Gambar 2.1  diagram state sederhana
3. DESAIN DAN PENELITIAN
3.1    perancanangan Struktur Menu Game Perancan struktur menu adalah perancangan tata
urutan menu dari game shooter paltformer
Game shooter platformer Start Game
About
Exit Game
Level 1 Level 2 Level 3 profil keluar

## Gambar 3.1 Struktur Menu Game
3.2 Perancangan Alur Game
Perancangan alur game berfungsi untuk mengetahui  alur  proses  dari  alur  program  di  mulai dari stard program hinngah end Start
Stard Game LEVEL 1 LEVEL 2 LEVEL 3 MENANG MENANG Apkah ingin bermain lagi YA YA Game over End YA TIDAK

## Gambar 3.2  Game  Shooter Platformer

## 3.3   Peracangan Diagram Finite State Machine
Alur metode Finite State Machine secara umum yang  terdapat  pada  setiap  musuh  yang  berada  di setiap game shooter Platformer
Tabel 3.1 perancangan diagram finite state machine No karakter ket 1 Karakter utama game Player Shooter Platformer karakter ini menggunakan senjata untuk menyerang musuh 2 Merupakan karakter musuh yang ada hanya pada level 1 dan  karakter ini akan terus keluar dari titik letak spawn yang telah ditentukan. mempunyai damage 3 Merupakan karakter musuh yang ada hanya pada level 2 dan   karakter ini akan terus keluar dari titik letak spawn yang telah ditentukan. mempunyai damage 4 Merupakan karakter musuh yang ada hanya pada level 3 dan   karakter ini akan terus keluar dari titik letak spawn yang telah ditentukan. mempunyai damage Patroli (State 0)
Mengejar (State 1)
Menyerang
(State 3) Jarak >4  pixel dari player Mati (State 4) Health 0% Jarak <= 17 pixel dari player Jarak <=11 pixel dari player Jarak >17  pixel dari player Health 0% Menembak (State 2) Jarak <=4 pixel dari player Jarak >11  pixel dari player Jarak >5  pixel dari player Jarak >4  pixel dari player
Gambar 3.3 Game  Finite State Machine level 1
Seperti  yang  terlihat  pada  Gambar  3.3,  ketika sistem  dijalankan  maka  sistem  mula-mula  berada pada state 0 (Bergerak atau patroli), jika player pada jangankauan enemy (jarak  ≤  17 pixel )  maka state 1 (Mengejar) akan dijalankan dan ketika player berada pada  jarak  (>17  pixel)  maka  musuh  akan  kembali pada state 0  atau  kembali  berpatroli.  Jika  berada musuh pada jangkauan player (jarak ≤ 4 pixel ) maka state  2  (Menyerang)  dan  ketika player berada  pada jarak (>4 pixel) maka musuh akan kembali pada state 1 atau kembali mengejar dan ketika health bar enemy mencapai 0 % maka state 3 (Mati) akan dijalankan.
Patroli (State 0) Mengejar (State 1) Menyerang (State 3)
Jarak >4  pixel dari player Mati (State 4) Health 0% Jarak <= 17 pixel dari player Jarak <=11 pixel dari player Jarak >17  pixel dari player Health 0% Menembak (State 2) Jarak <=4 pixel dari player Jarak >11  pixel dari player Jarak >5  pixel dari player Jarak >4  pixel dari player
Gambar 3.4 Game  Finite State Machine level 2 2
Seperti  yang  terlihat  pada  Gambar  3.4,  ketika sistem  dijalankan  maka  sistem  mula-mula  berada pada state 0 (Bergerak atau patroli), jika player pada jangankauan enemy (jarak  ≤  17 pixel )  maka state 1 (Mengejar) akan dijalankan dan ketika player berada pada  jarak  (>17  pixel)  maka  musuh  akan  kembali pada state 0  atau  kembali  berpatroli.  Jika  berada musuh pada jangkauan player (jarak ≤ 4 pixel ) maka state  2  (Menyerang)  dan  ketika player berada  pada jarak (>4 pixel) maka musuh akan kembali pada state 1 atau kembali mengejar dan ketika health bar enemy mencapai 0 % maka state 3 (Mati) akan dijalankan.
Patroli (State 0) Mengejar (State 1)
Menyerang (State 3) Jarak >4  pixel dari player Mati (State 4) Health 0% Jarak <= 17 pixel dari player Jarak <=11 pixel dari player Jarak >17  pixel dari player Health 0% Menembak (State 2) Jarak <=4 pixel dari player Jarak >11  pixel dari player Jarak >5  pixel dari player Jarak >4  pixel dari player
Gambar 3.5 Game  Finite State Machine level 3
Seperti  yang  terlihat  pada  Gambar  3.5,  ketika sistem  dijalankan  maka  sistem  mula-mula  berada pada state 0 (Bergerak atau patroli), jika player pada jangankauan  enemy (jarak  ≤  17 pixel )  maka state 1 (Mengejar) akan dijalankan dan ketika player berada pada  jarak  (>17  pixel)  maka  musuh  akan  kembali pada state 0  atau  kembali  berpatroli.  Jika  berada musuh pada jangkauan player (jarak ≤ 4 pixel ) maka state  2  (menyerang)  dan  ketika player berada  pada jarak (>4 pixel) maka musuh akan kembali pada state 1 atau kembali mengejar dan ketika health bar enemy mencapai 0 % maka state 3 (Mati) akan dijalankan.

## 4. IMPLEMENTASI DAN PENGUJIAN 4.1.  Tampilan Menu Utama
Tampilan  menu  utama  adalah  tampilan  awal yang  muncul  pada  saat  membuka  game  shooter platformer.  Pada  tampilan  ini  berisi  tombol start game , untuk  mulai game,  tombol About berisi profil, dan exit untuk  keluar  dari game .adapun  desain game menu utama seperti  pada Gambar ini 4.1

## Gambar 4.1 Tampilan Menu utama Shooter Platformer

## 4.2   Tampilan Menu About
Tampilan  menu  About  adalah  tampilan  menu untuk  mengetahui  profil  pembuat game  Shooter Platformer, tampilan  menu  tentang  seperti  pada gambar  4.2

## Gambar 4.2 Tampilan menu About

## 4.3   Tampilan level 1
Tampilan Level 1 adalah tampilan level pertama di  mana player pada awal Game  Shooter  Platforme r, permain akan di arahkan ke permaianan baru yaitu ke level  1.  Adapun  tampilan  level  1  terdapat  pada Gambar 4.3
Gambar 4.3 tampilan game level 1
4.4   Tampilan Game Over
Tampilan game  over akan  di  tampilkan  ketika permaian  kehabisan  lives  dan  dan  akan  kembali  ke menu utama, untuk memulai baru. Ada pun tampilan game over terdapat pada gambar 4.4

## Gambar 4.4 tampilan Game over

## 4.3   Tampilan Level 2
Setelah permain berhasil level 1,  maka permain akan  diarahkan  menuju  level  2  .  pada  level  2  ini jumlah  musuh  lebih  banyak  lebih  kuat  ada  dan rintangan    semakin  lebih  tambah.  Terdapat  pada gambar  4.5

## Gambar 4.5 tampilan Game level 2

## 4.4   Tampilan level 3
Setelah  permainan  berhasil  level  2  ,  permainan akan  di  arahkan  menuju  ke  level  3  .  jumlah  musuh pada  level  3  ini  akan  lebih  banyak  dari  level,  level sebelumnya  untuk  mempersulit  permainan  dan rintangan  lebih  banyak  agar  permainan  sulit  untuk menyelesaikan level ini terdapat pada gambar  4.4

## Gambar 4.6 tampilan Game level 3

## 4.5   PengujianAI(ArtificialIntelnce)
Pengujian AI adalah pengujian mengenai fungsi yang  berkaitan  dengan  AI  (  Artificial  Intellingence) yang  ada  dalam  game shooter  platformer .  Hasil pengujian dari  AI  finite  State  machine dapat  di  lihat pada tabel  4.1
Tabel 4.1pengujian AI (Artificial Intelligence) No fungsi output hasil 1 AI finite state machine pada musuh Musuh berjalan mendekati player Sesuai 2 AI  finite state machine Musuh akan mulai menyerang Sesuai

## 4.6   Pengujian Control Player
Pengujian control player adalah pengujian setiap fungsi  dari  tombol  yang  sudah  di  terapkan  untuk mengerakan  karakter  utama  pada  game.  Hasil pengujian player pada tabel 4.2
Tabel 4.2 hasil pengujian control player
Tombol Fungsi hasil A Player bergerak ke kiri sesuai D Player bergerak ke kanan sesuai Spasi Player melompat sesuai

## 4.8   Pengujian User
Pengujian  di  lakukan  untuk  mengetahui  apakah sistem  sudah  berjalan  dengan  baik  atau  belum. Pengujian  di  lakukan  terhadap  10  anak  usia  10-15 tahun, 7 dari 10 responden bukan dari pencinta game, dan 3 orang lain seorang pencinta game. Berikut hasil pengujian  game Shooter  Platformer hasil  dari pertayaan  terhadap  responden  dapat  di  lihat  pada tabel 4.3
Tabel 4.3 pengujian user NO Pertanyaan Penilaian Ku rang Cu kup Baik 1 Apakah desain game Shooter Platformer baik ? 0 1 9
2 Apakah menu game sudah berjalan dengan baik ? 0 1 9
3
Apakah Controller Player
dalam game Shooter Platformer sudah dapat digunakan dengan baik ? 0 1 9
4 Apakah button pada game Shooter Platformer dapat digunakan dengan baik ?
0 1 9
5 Apakah enemy sudah mempunyai kecerdasaan buatan dengan baik pada saat player mendekati enemy dalam jarak tertentu ?
0 8 2
6 Apakah suara dalam game
Shooter Platformer s udah terdengar dengan baik pada saat dimainkan ? 0 3 7 Rata Rata 0%  25%  75%
Berdasarkan Tabel 4.3 dapat disimpulkan bahwa sistem cukup mememenuhi keinginan user dinyatakan  dengan  75%  yang  menjawab  baik,  25% menjawab  cukup    maka  itu  hasil  pengujian  terhadap 10 orang responden cende run g  menilai game dengan nilai baik, yaitu dengan nilai prosentase 75%.

## 4.9  Pengujian Fungsional
Pengujian fungsional adalah pengujian mengenai proses fungsional yang terjadi dalam game. hasil dari pengujian dapat di lihat pada tabel  4.4
Tabel 4.4 Pengujian Fungsional No Item UJI Windows 7,8,10 Berhasil Gagal 1 Menu utama √ -- 2 Button start √ -- 3 Button exit √ -- 4 Mute sound √ -- 5 Masuk ke level 1 game √ -- 6 Masuk ke level 2 game √ -- 7 Masuk ke level 3 game √ -- 8 Barhealth point karakter √ -- 9 Barhealth poin musuh √ -- 10 Lari dan animation state lari pada karakter loncat √ -- 11 Loncat dan animation state loncat pada karakter √ -- 12 Attack dan animation state attack pada karakter √ -- 13 Hp musuh berkurang ketiga terkena attack √ -- 14 Collision detection pada player √ -- 15 Collision detection pada musuh √ -- 16  Item tambah hp pada player √ -- 17 Game tamat ketika player menembak  musuh semua √ -- 18  Background sound √ -- 19  Sound effect √ --

## 4.10 Pengujian Device Lapto
Pada  fungsionalitas  game  ini  di  coba  di jalankan pada windows. Hasil dari pengujian dapat di lihat pada tabel 4.5
Pada tabel 4.5 pengujian device Laptop No Tipe laptop Lanscape Potrait 1 Acer E1140  x 3 Lenovo  x 4 Asus A46CB  x 5 Lenovo G-40  x 6 HP OPPO A11W  x
Pada  hasil  pengujian  beberapa  model  tipe  lapto di  atas  didapatkan  kesimpulan  sesuai  dan  tidak  ada kendala  saat  di  maikan  di  berbagai  lapto  dengan spesifikasi  lapto  yang  sesuai  dengan minimum requirement yang sudah di tetapkan.

## 5. KESIMPULAN DAN SARAN
5.1    Kesimpulan Berdasarkan hasil dari perancangan dan implementasi  pada Game  shooter  platformer maka diambil beberapa kesimpulan sebagai berikut:
1. Hasil  pengujian  fungsional  berjalan  dengan tingkat  keberhasilan  100%  sesuai  dengan  yang diharapkan
2. Aplikasi  game  ini  mengimplementasi  FSM ( Finite  State  Manchine )  yang  di  terapkan  pada game  2  di  mensi  bergenre  dengan  indikasi musuh  dapat  mengejar  dan  menyerang  player dengan kondisi tertentu
3. Implementasi  metode finite state  machine dapat di  terapkan  pada  Game 2D  shooter  platformer yaitu musuh dapat mengejar dan meyerang pada posisi tertentu
4. Hasil  penngujian  AI Finite  State  Machine yang ada  pada  game  adventure shooter  platformer berjalan  dengan  tingkat  keberhasilan  100  % sesuai dengan yang diharapkan.

## 5.2    Saran
Adapun saran sebagai acuan terhadap penelitian atau pengembangan selanjutnya, diantaranya :
1. Dapat  dikembangkan  dalam  bentuk  multiplayer game.
2. Dapat  dikembangkan  menjadi  game  berbasis mobile sehingga  dapat  dimainkan  pada  sistem operasi android . 3. Penambah  level  pada  game  karena  hanya  3  level pada game shooter platformer

## DAFTAR PUSTAKA
[1] Utari,  D  (2012).  Analisis  dan  Impementasi Algoritma Bacrakcking pada permainan Hangman .  Medan:  Universitas  Sumatera  Utara,
1-3
[2] Rahadian,  M.F.,  Suyatno,  A.  dan  Maharani,  S., 2016.  Penerapan  Metode  Finite  State  Machine Pada Game“The Relationship”.
[3] Setiawan,  I.,  2006. Perancangan  Software Embedded  System  Berbasis  FSM. Semarang: Universitas Diponegoro .
[4] Arif,  Y.M.  dan  Hariadi,  M,  2012      berjudul Hierarchy Finite State Machine
[5] Wijaya,  Surya  Adi.  2009 . State  Machine Untuk
Menghasilkan  Variasi Respon Npc  (Non- Playable Character) Pada Game . Tesis. Surabaya:  Institut  Teknologi  SurabayaPratama, W.,  2014.  Game  Adventure  Misteri  Kotak Pandora. Telematika , 7 (2).
[6] Rahadian,  M.F.,  Suyatno,  A.  and  Maharani,  S., 2016. Penerapan  Metode  Finite  State  Machine Pada Game “The Relationship” . vol , 1 , pp.1-9.
[7] Rahadian,  M.F.,  Suyatno,  A.  dan  Maharani,  S., 2016.  Penerapan  Metode  Finite  State  Machine Pada Game“The
Relationship”. Jurnal informatika Mularman, vol,14-22
[8] . Nendya,  M.B.,  Gunanto,  S.G.  and  Santosa, R.G.,  2015.  Pemetaan  Perilaku  Non-Playable Character  Pada  Permainan  Berbasis  Role Playing  Game  Menggunakan  Metode  Finite State  Machine. Journal  of  Animation    Games Studies , 1 (2),  pp.185-202.Rais,A.2012.  Peluang Bisnis Game Online. Skrips Teknik Informatika. STMIK AMIKOM Yogyakarta.
Setiawan, I.,