Anda di halaman 1dari 84

TUGAS AKHIR

IMPLEMENTASI NONDETERMINISTIC FINITE-STATE MACHINE


PADA NPC (NON-PLAYABLE CHARACTER) GAME AKASHA’S
RETALIARE

Disusun untuk Melengkapi dan Memenuhi Syarat Kelulusan


Guna Meraih Gelar Sarjana Komputer
Teknik Informatika Universitas Muhammadiyah Jember

ABDUL RAHMAN
16 1065 1025

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS MUHAMMAIYAH JEMBER
2023

i
HALAMAN PERSETUJUAN TUGAS AKHIR

IMPLEMENTASI NONDETERMINISTIC FINITE-STATE


MACHINE PADA NPC (NON-PLAYABLE CHARACTER) GAME
AKASHA’S RETALIARE

Oleh:
Abdul Rahman
1610651025

Telah disetujui bahwa Laporan Tugas Akhir ini untuk diajukan pada sidang Tugas
Akhir sebagai salah satu syarat kelulusan dan mendapatkan gelar
Sarjana Komputer (S.Kom)
Di Universitas Muhammadiyah Jember

Disetujui Oleh:

Pembimbing I Pembimbing II

Lutfi Ali Muharom, S.Si., M.Si Deni Arifianto, M.Kom


NIDN. 0727108202 NIDN. 0718068103

ii
HALAMAN PENGESAHAN
TUGAS AKHIR

IMPLEMENTASI NONDETERMINISTIC FINITE-STATE MACHINE


PADA NPC (NON-PLAYABLE CHARACTER) GAME AKASHA’S
RETALIARE
Oleh:
Abdul Rahman
1610651025

Disetujui oleh:
Penguji I Pembimbing I

Reni Umilasari, S.Pd., M.Si Lutfi Ali Muharom, S.Si., M.Si


NIDN. 0728079101 NIDN. 0727108202

Penguji II Pembimbing II

Qurrota A’yun, M.Pd Deni Arifianto, M.Kom


NIDN. 0703069002 NIDN. 0718068103

Mengesahkan, Mengetahui,
Dekan Fakultas Teknik Ketua Program Studi Teknik Informatika

Dr. Ir Nanang Saiful Rizal, S.T., M.T., IPM. Ari Eko Wardoyo, S.T., M.Kom
NIDN. 0705047806 NIDN. 0014027501

iii
PERNYATAAN

Yang bertanda tangan di bawah ini:


Nama : Abdul Rahman
NIM : 1610651025
Program Studi : Teknik Informatika
Perguruan Tinggi : Universitas Muhammadiyah Jember

Menyatakan bahwa Tugas Akhir yang berjudul “IMPLEMENTASI


NONDETERMINISTIC FINITE-STATE MACHINE PADA NPC (NON-
PLAYABLE CHARACTER) GAME AKASHA’S RETALIARE” bukan
merupakan Tugas Akhir orang lain baik sebagian maupun keseluruhan kecuali
yang diacu dalam Daftar Pustaka dan kutipan yang telah disebutkan sumbernya
pada Tugas Akhir ini.
Demikian Surat Pernyataan ini dibuat dengan sebenar-benarnya dan
apabila pernyataan ini tidak sesuai, penulis bersedia mendapatkan sanksi dari
akademik.

Jember, 27 Juli 2023

Abdul Rahman
NIM. 1610651025

iv
KATA PENGANTAR

Alhamdulillah segala puji bagi Allah S.W.T. yang telah senantiasa


memberikan rahmat dan karunianya terhadap penulis, sehingga penulis dapat
menyelesaikan tugas akhir ini dan diberikan kemudahan dalam menyelesaikan
studi di kampus Universitas Muhammadiyah Jember.
Tugas akhir ini berjudul “Implementasi Nondeterministic Finite-State
Machine pada NPC (Non-Playable Character) Game Akasha’s Retaliare”
dengan memuat bab1 sampai dengan bab V. Bab I berisikan Pendahuluan, bab II
berisikan tinjauan pustaka, bab III berisikan metode penelitian, bab IV berisikan
hasil penelitian, dan bab V berisikan kesimpulan serta saran.
Dengan penuh kesadaran penulis menyampaikan permohonan maaf atas
kekurangan yang ada pada penelitian skripsi ini. Semoga bisa menjadi koreksi
bersama untuk perbaikan selanjutnya.
.

Jember, 27 Juli 2023

Penulis

v
UNGKAPAN TERIMAKASIH

Tugas Akhir ini merupakan bukti hasil dari terselesaikannya


materi –materi mata kuliah yang telah ditempuh pada jenjang Teknik Informatika
(TI) Universitas Muhhammadityah Jember. Atas segala upaya, bimbingan dan
arahan dari semua pihak, penulis mengucapkan terimakasih yang sebesar-
besarnya kepada:

1. Segala Puji kehadirat Allah S.W.T. yang telah memberikan penulis berupa
Rahmat dan Hidayahnya serta nikmat iman, nikmat islam, nikmat sehat, serta
nikmat lainnya yang tidak dapat penulis jabarkan sepenuhnya.

2. Terima kasih kepada kedua orang tua tersayang, Ibu Montir dan Bapak Yitno
yang tidak pernah lelah mendo’akan, membimbing, menyanyangi, dan juga
tak lupa selalu mendukung baik dalam segi materi juga moral penulis secara
tulus dan ikhlas. Untuk gelar sarjana ini penulis mempersembahkan untuk
anda.

3. Terima kasih kepada istriku tercinta, Anggi Lasmana yang selalu


mendo’akan, mengingatkan, mencintai, dan juga menemani masa-masa sulit
penulis secara tulus dan ikhlas. Untuk gelar sarjana ini penulis juga
persembahkan untuk anda.

4. Terima kasih kepada Bapak Lutfi Ali Muharom, S.Si., M.Si selaku dosen
pembimbing I dan Bapak Deni Arifianto, M.Kom selaku dosen pembimbing
II yang tidak pernah lelah meluangkan waktu didalam kesibukan hari-harinya
untuk memberi arahan dan membimbing penulis dalam menyelesaikan
penelitian dan tugas akhir ini

5. Terima kasih kepada Ibu Reni Umilasari, S.Pd.,M.Si. selaku dosen penguji I
dan Ibu Qurrota A’yun M.Pd, selaku dosen penguji II yang telah memberikan
saran, masukan dan memudahkan proses penyelesaian tugas akhir ini.

vi
6. Terima kasih kepada Bapak Agung Nilogiri, S.T.,M.Kom. selaku dosen
pembimbing akademik yang sabar membantu dan membimbing penulis
menyelesaikan pendidikan di Universitas Muhammadiyah Jember.

7. Terima kasih kepada Bapak Ari Eko Wardoyo, S.T., M.Kom. selaku Ketua
Program Studi Teknik Informatika Universitas Muhammadiyah Jember.

8. Terima kasih kepada Bapak dan Ibu Dosen Program Studi Teknik
Informatika Universitas Muhammadiyah Jember yang telah mengajarkan
ilmunya kepada penulis.

9. Terima kasih kepada Dr. Ir. Nanang Saiful Rizal, M.T.,IPM. selaku Dekan
Fakultas Teknik, dan seluruh staff pengajaran Universitas Muhammadiyah
Jember.

10. Terima kasih juga kepada teman-teman Teknik Informatika yang telah
membantu, mendukung, menemani, mengarahkan untuk memacu penulis
agar menyelesaikan tugas akhir, dan pendidikan di Universitas
Muhammadiyah Jember.

Terakhir, terima kasih kepada semua pihak yang telah membantu penulis
secara langsung maupun tidak langsung menyelesaikan penelitian dan tugas akhir
ini.

Jember, 27 Juli 2023

Penulis

vii
MOTTO

“Allah will always be by your side, no matter what!”


(Penulis)

“ You have to be one of 0.0001%”


(Penulis)

“To Infinity and Beyond!”


(Buzz Lightyear)

“Yang menciptakan mati dan hidup, untuk menguji kamu, siapa di antara kamu
yang lebih baik amalnya. Dan Dia Mahaperkasa, Maha Pengampun”
(QS. Al-Mulk Ayat 2)

“There's no such thing as pure freedom in this world. Even the wind cannot blow
on forever”
(Wanderer, Genshin Impact)

viii
IMPLEMENTASI NONDETERMINISTIC FINITE-STATE MACHINE
PADA NPC (NON-PLAYABLE CHARACTER) GAME AKASHA’S
RETALIARE

Abdul Rahman1, Lutfi Ali Muharom2, Deni Arifianto3


1
Mahasiswa Fakultas Teknik, Universitas Muhammadiyah Jember
e-mail: grafiavisualsense@gmail.com1
Dosen Fakultas Teknik, Universitas Muhammadiyah Jember
2,3

Abstrak
Game adalah interaksi manusia-komputer yang dapat dimainkan oleh satu orang
atau banyak orang. Game dapat meningkatkan kapasitas memori visuospatial
diantaranya, multiple object tracking, mental rotation, dan change detection.
(Boot, et al. 2008). Player versus environment, adalah jenis permainan dimana
pemain fokus mengalahkan non-playable character (NPC) atau musuh. Dalam
penelitian ini, Nondeterministic finite-state machine digunakan untuk membuat
keputusan terhadap aksi dan reaksi pemain untuk mencegah kemenangan.
NDFSM akan berfungsi dengan optimal untuk masalah-masalah non-linear.
Sehingga dapat mengembangkan NPC yang dapat melakukan aksi-reaksi
kombinasi yang sulit ditebak dari tindakan yang dilakukan oleh pemain. Model
kualitas ISO/IEC 25010 digunakan dalam melakukan pengukuran kualitas game
Akasha’s Retaliare dengan menggunakan karakteristik dan sub karakteristik pada
model kualitas tersebut. Dari hasil pengujian state transition, NPC game Akasha’s
Retaliare berhasil melalui setiap transisi state. Perilaku NPC menjadi dinamis dan
tidak dapat diprediksi yang mengakibatkan gaya bermain akan bervariasi. Dan
dari evaluasi karakteristik kualitas ISO/IEC 25010 dinyatakan bahwa game
Akasha’s Retaliare “Sangat Layak” digunakan. Dengan persentase nilai evaluasi
86,17% dan nilai rata-rata 4,3 dari skala Likert.

Kata kunci: Akasha’s Retaliare, Finite-state machine, Game, Non-deterministic


finite-state machine, ISO/IEC 25010.

ix
NONDETERMINISTIC FINITE-STATE MACHINE IMPLEMENTATION
FOR NPC (NON-PLAYABLE CHARACTER) ON “AKASHA’S RETALIARE”
GAME

Abdul Rahman1, Lutfi Ali Muharom2, Deni Arifianto3


1
Student of Engineering Faculty, University of Muhammadiyah Jember
e-mail: grafiavisualsense@gmail.com1
2,3
Lecturer of Engineering Faculty, Universityof Muhammadiyah Jember

Abstract
Games are human-computer interactions that can be played by one person or
more. Games can improve visuospatial memory capacity including multiple object
tracking, mental rotation, and change detection. (Boot, et al. 2008). Akasha’s
Retaliare, is a type of game where players focus on defeating non-playable
character (NPC) as enemies. In this research, Nondeterministic finite-state
machine is used to make decisions based on player actions and reactions to defeat
them. NDFSM will function optimally for non-linear problems. So as to develop
NPC that can perform combinations of action-reaction that are difficult to guess
based on the player actions. The ISO/IEC 25010 quality model is used in
measuring the quality of the Akasha's Retaliare game by using the characteristics
and sub-characteristics of the quality model. From the state transition test results,
the Akasha's Retaliare game NPC successfully goes through each state transition.
NPC behavior becomes dynamic and unpredictable which results in varied player
play styles. And from the evaluation of ISO / IEC 25010 quality characteristics, it
is stated that the Akasha's Retaliare game is "Very Feasible" to use. With a
percentage evaluation score of 86.17% and an average score of 4.3 on a Likert
scale.

Keywords: Akasha’s Retaliare, Finite-state machine, Game, Non-deterministic


finite-state machine, ISO/IEC 25010.

x
DAFTAR ISI
HALAMAN JUDUL............................................................................................... i
HALAMAN PERSETUJUAN ........................................................................... xiv
HALAMAN PENGESAHAN ............................................................................ xiv
PERNYATAAN .................................................................................................. xiv
KATA PENGANTAR ........................................................................................ xiv
UNGKAPAN TERIMAKASIH ........................................................................xivi
MOTTO ............................................................................................................xiviii
ABSTRAK .........................................................................................................xivx
ABSTRACT ............................................................................................................x
DAFTAR ISI ..................................................................................................... xxiv
DAFTAR GAMBAR .......................................................................................... xiv
DAFTAR TABEL ............................................................................................xxivi
DAFTAR LAMPIRAN .................................................................................... xivii
BAB 1 PENDAHULUAN ..................................................................................... 1
1.1 Latar Belakang ............................................................................................... 1
1.2 Rumusan masalah ...........................................................................................2
1.3 Batasan masalah ............................................................................................. 2
1.4 Tujuan penelitian ............................................................................................3
1.5 Manfaat penelitian ..........................................................................................3
1.6 Metode penelitian .................................................... Error! Bookmark not defined.
BAB 2 TINJAUAN PUSTAKA .......................................................................... 4
2.1 Non-deterministic finite state machine ...........................................................4
2.2 Genre game .....................................................................................................5
2.2.1 Game Side-scrolling ................................................................................6
2.2.2 Game Action-adventure ........................................................................... 6
2.3 Akasha’s Retaliare ................................................... Error! Bookmark not defined.
2.4 Unity 3D ......................................................................................................... 7
2.5 C# ................................................................................................................... 9
2.6 Unsur desain game ......................................................................................... 8
2.6.1 Desain lingkungan ....................................................................................8

xi
2.6.2 Plot ......................................................................................................... 10
2.6.3 Assets ........................................................................................................8
2.6.4 Cinemachine kamera ................................................................................9
2.7 State Transition Test .......................................................................................9
2.8 ISO/IEC 25010 ............................................................................................... 9
1. Functional Suitability ..................................................................................12
2. Performance Efficiency ...............................................................................12
3. Usability ...................................................................................................... 12
4. Reliability .................................................................................................... 13
BAB 3 METODOLOGI .................................................................................... 13
3.1 Tahapan penelitian....................................................................................... 14
3.2 Storyboard.................................................................................................... 15
3.3 Analisis kebutuhan sistem............................................................................ 19
3.4 Use Case Diagram........................................................................................20
3.5 Sequence Diagram........................................................................................21
3.6 Penerapan Nondeterministic Finite State Machine.......................................28
3.7 Evaluasi Akasha's Retaliare berdasarkan ISO/IEC 25010........................... 31
BAB 4 HASIL DAN PEMBAHASAN ..............................................................13
4.1 Hasil penelitian.............................................................................................34
4.2 Pengembangan game Akasha's Retaliare......................................................34
1. Design..........................................................................................................34
2. Prototyping.................................................................................................. 37
3. Implementasi............................................................................................... 38
4. Integrasi....................................................................................................... 41
4.3 State Transition Test..................................................................................... 44
4.4 Hasil Evaluasi berdasarkan ISO/IEC 25010.................................................52
BAB 5 KESIMPULAN ...................................................................................... 55
4.1 Kesimpulan.................................................................................................. 55
4.2 Saran............................................................................................................. 55
DAFTAR PUSTAKA........................................................................................... 57
LAMPIRAN..........................................................................................................59

xii
xiii
DAFTAR GAMBAR

Gambar 2.1 Nondeterministic finite state machine (Champandard, 2003)...........5


Gambar 2.2 Akasha’s Retaliare............................................................................ 8
Gambar 2.3 Delapan karakteristik kualitas ISO/IEC 25010 (iso2500.com).......11
Gambar 3.1 Tahapan penelitian pada NPC game Akasha’s Retaliare ..............15
Gambar 3.2 Loading screen................................................................................15
Gambar 3.3 Main screen.....................................................................................15
Gambar 3.4 Pause screen................................................................................... 16
Gambar 3.5 New or load menu........................................................................... 16
Gambar 3.6 Pemain bertemu dengan NPC......................................................... 17
Gambar 3.7 Pemain berganti level......................................................................17
Gambar 3.8 Boss fight.........................................................................................18
Gambar 3.9 Level clear screen........................................................................... 18
Gambar 3.10 Level fail screen............................................................................ 19
Gambar 3.11 Use Case Diagram game.............................................................. 20
Gambar 3.12 Sequence Diagram pemain dan menu resume.............................. 21
Gambar 3.13 Sequence Diagram pemain dan menu membuat game baru........ 22
Gambar 3.14 Sequence Diagram pemain dan menu load game ....................... 23
Gambar 3.15 Sequence Diagram pemain dan menu setting suara..................... 24
Gambar 3.16 Sequence Diagram pemain dan menu setting grafis.....................25
Gambar 3.17 Sequence Diagram pemain dan menu about................................ 26
Gambar 3.18 Sequence Diagram pemain dan menu keluar dari game............. 27
Gambar 3.19 Sequence Diagram pemain dan NPC............................................27
Gambar 3.20 Finite State Machine Diagram NPC.............................................28
Gambar 4.1 Karakter utama, Akasha..................................................................35
Gambar 4.2 Background dari scene level 1........................................................ 35
Gambar 4.3 Healthbar, stamina bar, energybar, skill cooldown indicator........36
Gambar 4.4 NPC dengan healthbar diatasnya....................................................36
Gambar 4.5 Healthbar dari boss.........................................................................36
Gambar 4.6 UI menu.......................................................................................... 37

xiv
Gambar 4.7 UI death.......................................................................................... 37
Gambar 4.8 Prototype Akasha's Retaliare.......................................................... 38
Gambar 4.9 Fungsi (private) void Update()....................................................... 38
Gambar 4.10 public enum, digunakan untuk mendeklarasikan states................ 39
Gambar 4.11 switch digunakan untuk memeriksa value states.......................... 39
Gambar 4.12 f/else statement untuk memeriksa kondisi perpindahan states..... 40
Gambar 4.13 Range & melee attack, ability script inspector............................. 42
Gambar 4.14 Enemy control script inspector 1.................................................. 43
Gambar 4.15 Enemy control script inspector 2.................................................. 44
Gambar 4.16 Debug.Log pada SetState()........................................................... 44
Gambar 4.17 Debug.Log pada ExitState()..........................................................45
Gambar 4.18 Console panel Debug.Log().......................................................... 45
Gambar 4.19 Console panel Debug.Log() 2....................................................... 46
Gambar 4.20 Game window................................................................................48
Gambar 4.21 Game window 2.............................................................................49
Gambar 4.22 Game window 3.............................................................................49
Gambar 4.23 Game window 4.............................................................................50
Gambar 4.24 Game window 5.............................................................................50
Gambar 4.25 Game window 6.............................................................................50
Gambar 4.26 Game window 7.............................................................................51
Gambar 4.27 Game window 8.............................................................................51
Gambar 4.28 Game window 9.............................................................................52

xv
DAFTAR TABEL

Tabel 3.1 State Transition Table.........................................................................29


Tabel 3.2 State yang dapat dicapai dari semua state.......................................... 30
Tabel 3.3 Evaluasi kualitas berdasarkan ISO/IEC 25010...................................32
Tabel 4.1 State transition table result.................................................................47
Tabel 4.2 Any state transition table result.........................................................48
Tabel 4.3 Hasil evaluasi kualitas berdasarkan ISO/IEC 25010.......................... 52
Tabel 4.4 Kategori kelayakan (Mulyawan, Swamardika, dan Saputra, 2021)... 54

xvi
DAFTAR LAMPIRAN

Lampiran 1. Hasil kuesioner...............................................................................59


Lampiran 2. Data kuesioner................................................................................61
Lampiran 3. Biodata penulis...............................................................................61

xvii
BAB 1
PENDAHULUAN

1.1 Latar Belakang


Permainan digital, yang sering dikenal sebagai game, adalah interaksi
manusia-komputer yang dapat dimainkan oleh satu orang atau banyak orang. Di
mana pemain akan terfokus untuk mencapai tujuan mereka sesuai dengan aturan
yang telah ditetapkan untuk permainan tersebut. Sebuah game dapat
meningkatkan kreativitas, meningkatkan kemampuan memecahkan masalah, juga
meningkatkan koordinasi tangan dan mata. Game juga dapat meningkatkan
kapasitas memori visuospatial diantaranya, multiple object tracking atau melacak
beberapa objek sekaligus, mental rotation yang merupakan kemampuan untuk
membayangkan ruang 2 dimensi atau 3 dimensi, change detection atau
pengenalan perubahan. (Boot, et al. 2008). Pemain dalam game petualangan
biasanya merupakan karakter utama. Jika tujuan yang dibutuhkan tidak terpenuhi,
pemain tidak akan dapat melanjutkan ke level berikutnya.
Player versus environment, yang sering dikenal dengan istilah PvE, adalah
jenis permainan dimana pemain atau player fokus melawan non-playable
character (NPC) atau musuh dan menggunakan skill mereka untuk
mengalahkannya. Untuk menciptakan NPC yang responsif, mudah beradaptasi,
dan cerdas, kecerdasan buatan diimplementasikan dalam game ini. Pathfinding,
Decision Trees, dan Finite State Machines merupakan algoritma yang sering
digunakan untuk menciptakan NPC yang berperan sebagai musuh. Namun, jika
permainan dimainkan berulang, aksi dan reaksi NPC akan dapat diprediksi karena
NPC sudah menentukan sebuah pola, akibatnya permainan akan menjadi lebih
cepat membosankan. Jika kecerdasan buatan pada NPC yang bertindak sebagai
pemain utama semakin tidak menentu, permainan akan menjadi lebih menantang.
NDFSM atau Nondeterministic finite-state machine, dipilih karena input
dan outputnya lebih alami dan tidak menentu. Menurut Warawoot Pacharoen et al.
Ketika semua states dapat dicapai dari state awal, maka sebuah NDFSM
dikatakan initially connected. Sebuah NDFSM dikatakan completely specified jika

1
mempunyai transisi state pada semua input. Jika pada setiap states, input dan
output tidak memiliki lebih dari satu transisi yang menyebabkan input dan output
yang identik maka dikatakan sebagai observable NDFSM. Observable NDFSM
mengindikasikan bahwa input yang identik dan output yang identik tidak akan
pergi ke state lain. Akibatnya, output tidak dapat diprediksi.
Game Akasha's Retaliare adalah game petualangan dua dimensi dan side-
scroller, di mana beberapa NPC berfungsi sebagai musuh untuk mengalahkan
pemain. Dalam penelitian ini, NDFSM digunakan untuk membuat keputusan
terhadap aksi dan reaksi pemain untuk mencegah kemenangan pemain. NDFSM
akan berfungsi dengan optimal untuk masalah-masalah non-linear. Sehingga
dapat mengembangkan NPC yang dapat melakukan aksi-reaksi kombinasi yang
sulit ditebak dari tindakan yang dilakukan oleh pemain.
Model kualitas ISO/IEC 25010 merupakan model baru dari ISO/IEC 9126
yang dikenal sebagai persyaratan dan evaluasi kualitas perangkat lunak SQuaRE
model ini dapat digunakan dalam melakukan pengukuran kualitas suatu perangkat
lunak dengan menggunakan karakteristik dan sub karakteristik pada masing-
masing model kualitas tersebut.

1.2 Rumusan masalah


Adapun permasalahan yang akan dibahas dalam penelitian ini adalah:
1. Bagaimana mengembangkan kecerdasan buatan pada NPC sebagai musuh
pemain yang menarik dan sulit ditebak.
2. Bagaimana menerapkan Nondeterministic finite state machine pada NPC di
game Akasha’s Retaliare?
3. Bagaimana hasil pengujian game Akasha’s Retaliare terhadap model
kualitas yang telah dikembangkan dari ISO/IEC 25010?

1.3 Batasan masalah


Batasan masalah dalam penelitian ini sebagai berikut:
1. Implementasi ini hanya difokuskan pada NPC sebagai musuh di game
Akasha’s Retaliare.

2
2. Kecerdasan buatan atau NDFSM pada NPC tidak memiliki tingkat kesulitan.
3. Evaluasi game Akasha’s Retaliare menggunakan empat karakteristik dari
ISO/IEC25010.

1.4 Tujuan penelitian


Penelitian ini memiliki tujuan diantaranya:
1. Membuat game Akasha’s Retaliare yang didalamnya terdapat kecerdasan
buatan pada NPC yang menarik dan sulit ditebak oleh pemain.
2. Penerapan Nondeterministic finite state machine pada NPC di game
Akasha’s Retaliare.
3. Mengetahui hasil evaluasi game Akasha’s Retaliare terhadap model kualitas
yang dikembangkan dari ISO/IEC 25010.

1.5 Manfaat penelitian


Dengan adanya penelitian ini diharapkan dapat diperoleh manfaat sebagai
berikut:
1. Penelitian ini dapat dijadikan sebagai pengetahuan tentang implementasi
Nondeterministic finite state machine pada game untuk penelitian-penelitian
berikutnya.
2. Membuat dan mengembangkan game Akasha’s Retaliare yang terdapat
kecerdasan buatan agar menarik dimainkan dan dapat dipasarkan.

3
BAB 2
TINJAUAN PUSTAKA

Pada bagian ini, teori dasar dari penelitian ini akan dijelaskan. Hal ini
meliputi pembahasan mengenai implementasi kecerdasan buatan Nondeterministic
finite state machine, yang diperoleh dari tinjauan pustaka yang sesuai, serta
informasi mengenai pengembangan dan perancangan game Akasha's Retaliare.

Ketika mengembangkan game yang mengimplementasikan kecerdasan


buatan, perlu menggunakan metode untuk memastikan bahwa reaksi dan aksi
NPC sesuai dengan pemain. Hal ini membuat permainan menjadi lebih tidak
terduga, yang membuatnya lebih menyenangkan. Oleh karena itu, diperlukan
model kecerdasan yang dapat menangani masalah non-linear.

2.1 Non-Deterministic Finite State Machine


Non-deterministic finite state machine, juga dapat disebut NDFSM, adalah
model matematika abstrak yang digunakan sebagai penentu keputusan sebagai
respons terhadap masukan atau perubahan kondisi. Ketika input tertentu terjadi,
posisi state akan berubah ke state selanjutnya. Model mesin abstrak ini hanya
memiliki satu kemungkinan transisi, state yang aktif dapat pergi ke state
setelahnya, tetapi hanya akan ada satu pilihan yang mungkin.

4
Gambar 2.1 Non-deterministic finite state machine (Pacharoen, 2013)
Ketika menggunakan model nondeterministic finite state machine, memiliki
lebih dari satu transisi menjadi mungkin. State “q0” dan “q1” pada gambar 2.1,
memiliki dua pilihan transisi, dari state “q0” dapat menuju ke state “q1” atau
tetap di “q0”, lalu pada state “q1” juga terdapat pilihan transisi ke “q2” atau “q3”.
Karena nondeterminism, dapat memberikan model mesin ini lebih banyak state
pada setiap input. Menurut Pacharoen Warawoot(2013) nondeterminism dapat
muncul dari komunikasi asynchronous atau tidak bersamaan antara berbagai
states yang berbeda, serta aktivitas yang tidak terduga seperti interleaving atau
saling menyisipkan antar states. Penggunaan NDFSM dapat menentukan
input/output dengan lebih netral.

2.2 Genre game


Game saat ini hadir dalam berbagai jenis, atau genre, yang memengaruhi
struktur game atau gaya permainan. Sandbox dicirikan oleh gameplay yang
berpusat pada permainan yang bebas, lingkungan yang luas, dan tidak harus
meyelesaikan objektif level, bahkan tanpa memulai cerita, seperti Minecraft dan
serial Grand Theft Auto. Real-time strategy atau disingkat RTS sering kali
mengacu pada permainan yang membutuhkan kombinasi strategi yang adaptif,
berlangsung terus menerus sampai akhir pertandingan, seperti Warcraft atau Dota
2. Genre shooter atau shooting dibagi menjadi dua sub-genre utama yaitu, First-

5
person shooter, yang dapat memberikan perspektif unik dari sudut pandang
manusia, dan Third-person Shooter, yang lebih membenamkan pemain dalam
dunia terbuka seperti yang ditemukan dalam game Half-Life dan Player
Unknown's Battleground. Game role-playing disingkat sebagai RPG dengan
memiliki satu atau lebih karakter, dan pemain dapat bergiliran memainkan
karakter tersebut. Ada berbagai macam sub-genre RPG, seperti Action-RPG,
Gacha-RPG, Multiplayer Massive Online-RPG, Roguelikes, dan lainnya. Game
dengan genre ini yang cukup terkenal, termasuk Fallout, Warcraft, serial Grand
Theft Auto, dan Genshin Impact.

2.2.1 Game Side-scrolling


Game Side-scroller, juga dikenal sebagai "side-scrolling", dimainkan dari
perspektif samping kanan atau kiri dengan kamera yang relatif dengan pemain,
yang biasanya berjalan ke kiri dan ke kanan. Fenomena game side-scrolling
dimulai pada tahun 1980-an yang terdapat pada konsol game, komputer, dan
handphone. Pada beberapa game atau mungkin level, kamera tidak akan
mengikuti pemain, bahkan mungkin melambat juga mungkin bertambah cepat,
yang berarti pemain harus memperhatikan pergerakan kamera agar pemain dapat
melewati tantangan dengan selamat.
Dalam game side-scrolling, yang sering ditemukan dalam genre platformer,
pemain akan menggunakan platform untuk maju ke target atau level berikutnya
dan menyelesaikan permainan. Agar pemain merasa seolah-olah bergerak
melintasi lingkungan yang sangat luas, Parallax menggunakan lapisan lapisan
gambar. Penggunaan efek ini akan membuat game side-scrolling tampak lebih
bagus. Judul yang paling populer dan sukses dalam kategori ini adalah Super
Mario Bros. Genre shooting, adventure, dan role-playing adalah tiga genre yang
sering dijumpai pada game side-scrolling.

2.2.2 Game Action-adventure


Akan ada tantangan dalam genre adventure yang didasarkan pada cerita
yang membutuhkan pemain untuk menyelesaikannya, genre game ini mungkin

6
tidak mengandung aksi atau mungkin hanya terjadi sesekali. Perbedaan genre
action adalah pada hand-eye coordination, mengatasi rintangan, dan bertarung
dengan lawan dan hanya mengandung sedikit narasi.
Namun dalam genre ini, action-adventure merupakan gabungan dari genre
action dan adventure yang menjelajahi wilayah yang tersedia bagi pemain, terlibat
dalam penyelesaian cerita, mengalahkan lawan, dan juga termasuk rintangan.
menyelesaikan tujuan yang berkaitan dengan penyelesaian permainan. Berikut ini
beberapa contoh game dalam genre action-adventure yang terkenal, termasuk Red
Dead Redemption, Cyberpunk 2077, God of War, dan The Legend of Zelda.

2.3 Unity 3D
Unity merupakan game engine yang cukup terkenal oleh pembuat-pembuat
game, bahkan pemain game, terutama mereka yang pengembang game
independen atau indie. Selain banyak digunakan oleh pengembang game, Unity
juga sering digunakan oleh mereka yang membuat film. Tu Thanh Nguyen (2021),
berpendapat bahwa Unity 3D sangat baik untuk pengembangan game 2D, Virtual
Reality, dan Augmented Reality serta game 3D. Setiap tahun, Unity selalu
diperbarui dan ditingkatkan dengan fitur-fitur baru.
Dua game yang paling terkenal yang menggunakan Unity 3D adalah Hollow
Knight dan Ori and the Blind Forest. Kedua game ini memiliki genre yang serupa
dengan Akasha’s Retaliare. Dalam penelitian ini, Unity 3D dipilih karena
menawarkan banyak komponen-komponen yang diperlukan dalam membuat
game. Dan Unity 3D menggunakan bahasa pemrograman C# yang relatif mudah
dipahami.

2.4 C#
Disebut sebagai C Sharp, adalah bahasa pemrograman umum dengan sintaks
berorientasi objek. Bahasa ini dibuat dan dirancang oleh Microsoft bersama
dengan .NET (dot-net). Setiap program C# yang ditulis merupakan sintaks yang
berorientasi objek. Program-program yang dimaksud tersusun dari sekumpulan
definisi dari sebuah kelas yang menekankan pada metode, dan metode tersebut

7
juga berfungsi sebagai logika internal program. Bahasa pemrograman yang cukup
umum dan banyak digunakan software developer diseluruh dunia. Karena Unity
3D menggunakan C#, pengembangan game ini akan menggunakan bahasa
tersebut.

2.5 Unsur desain game


Ada beberapa elemen yang berhubungan yang ikut berperan ketika
mengembangkan sebuah game, termasuk desain lingkungan, narasi, game assets,
NPC, dan karakter utama yang dimainkan oleh pemain itu sendiri.

2.5.1 Desain lingkungan


Desain lingkungan yang dibahas di sini adalah desain game yang
menggabungkan topografi, geografi, arsitektur, dan skenografi. Mengingat
Akasha's Retaliare adalah game fiksi, desain latarnya juga akan bersifat fiksi, dan
tidak merepresentasikan dunia nyata. desain lingkungan juga memengaruhi
bagaimana sesuatu terlihat, juga dapat digunakan sebagai alat untuk menunjukkan
peristiwa tertentu, seperti yang telah terjadi atau kemungkinan akan terjadi di
masa depan.

2.5.2 Plot
Sebuah game action-adventure, plot yang juga dikenal sebagai alur cerita,
merupakan elemen yang cukup penting, dengan komponen penting termasuk
motivasi karakter, ambisi, petualangan, konflik, dan penyelesaian konflik. Untuk
memunculkan rasa ikatan antara pengguna dan tokoh yang dikendalikan serta
karakter lainnya, Cerita dari game ini akan diceritakan dalam bentuk cut-scene
dari awal sampai akhir.

2.5.3 Assets
Aset game biasanya terdiri dari grafis, suara, dan efek visual untuk
mengembangkan game. Unity Asset Store yang merupakan marketplace resmi
dari Unity, namun para developer game dapat memperoleh aset secara gratis

8
maupun berbayar dari marketplace lain seperti Open Game Art, Itch.io, dan
Craftpix.net. Ada beberapa program populer untuk mendesain dan membuat aset
game, termasuk Blender, Maya LT, Auto 3Ds Max, Krita, Adobe Illustrator,
Adobe Photoshop, Wwise, FMOD, dan masih banyak lagi.

2.5.4 Cinemachine kamera


Cinemachine merupakan sekumpulan modul yang digunakan untuk
mengendalikan kamera di Unity. Di dalam cinemachine juga terdapat fitur Virtual
Camera, yang berarti hanya menggunakan satu objek kamera tetapi mengarahkan
kamera tersebut. menggunakan satu kamera tetapi mengarahkan kamera secara
terpisah. Cinemachine juga dapat digunakan untuk merekam peristiwa game
seperti cut-scene. Menurut Jared Halpern (2019) dengan cinemachine kita dapat
digunakan untuk membuat berbagai macam gerakan kamera, berpindah kamera ke
kamera lain secara otomatis dan perintah perintah kompleks lainnya.

2.6 State Transition Test


Untuk menentukan apakah mesin state machine game ini berfungsi atau
tidak, pengujian transisi state dilakukan pada akhir pengembangan game. Menurut
Dhannama Jagli (2015) State transition testing, merupakan teknik black-box
testing yang digunakan untuk sistem yang disebut finite state machine.
Hal ini dilakukan dengan menentukan apakah transisi dari state NPC saat ini ke
state berikutnya sudah tepat atau belum, berdasarkan tindakan atau kondisi apa
saja yang dibutuhkan NPC untuk masuk ke state berikutnya.
Kemudian, jika NDFSM berfungsi dengan baik, tahap pengujian dapat
dilanjutkan dengan menggunakan pengujian Alpha, yang dilakukan sepanjang
permainan dengan tujuan untuk mendeteksi bug dan error. Setelah pengujian
Alpha, pengujian Beta akan dilakukan dengan melibatkan pemain tentang kualitas
game dari setiap sisi, serta dari sudut pandang pemain.

2.7 ISO/IEC 25010

9
Kualitas merupakan cermin dari sistem evaluasi produk. Ketika
mengevaluasi perangkat lunak, beberapa karakteristik akan diperhitungkan oleh
model kualitas. Kualitas dari sistem yang diberikan tergantung pada seberapa baik
sistem tersebut memenuhi kebutuhan yang dinyatakan. Bayu Rezaldi P. (2021)
berpikiran bahwa model kualitas, yang mengkategorikan kualitas produk ke dalam
karakteristik dan sub-karakteristik untuk mengukur dan mengevaluasi kualitas
suatu sistem atau produk. Model kualitas produk yang diterangkan dalam
ISO/IEC 25010 memiliki karakteristik tambahan.

Gambar 2.3 Delapan karakteristik kualitas ISO/IEC 25010


(iso25000.com)

Evaluasi game Akasha’s Retaliare menggunakan empat dari delapan


karakteristik kualitas ISO/IEC25010, yaitu Functional Suitability, Performance
Efficiency, Usability, dan Reliability. Empat karakteristik yang lain tidak
diperlukan, yaitu :
a. Compatibility, karena game Akasha’s Retaliare tidak membutuhkan
pertukaran informasi antar sistem, baik hardware maupun software.
b. Security, karena game Akasha’s Retaliare tidak membutuhkan level
otorisasi, administrator, kerahasiaan dan keamanan.
c. Maintainability, game Akasha’s Retaliare tidak membutuhkan perawatan,
modifikasi, dan analisis.
d. Portability, game Akasha’s Retaliare dibuat untuk OS Windows dan tidak
diperlukan untuk hardware berbeda.

Maka dari itu, berikut adalah empat karakteristik kualitas ISO/IEC 25010
yang akan digunakan untuk mengevaluasi game Akasha's Retaliare.

1. Functional Suitability
Merupakan fungsi sistem atau produk yang memenuhi kebutuhan
yang dinyatakan dan tersirat saat digunakan dalam situasi tertentu.

10
functional completeness adalah sub-karakter yang digunakan di sini untuk
menentukan bagaimana setiap fungsi melayani tujuan dan kebutuhan
pengguna dengan sebaik-baiknya. Functional correctness, yang
memeriksa apakah suatu produk atau sistem memberikan hasil yang akurat
untuk kondisi yang diperlukan. Functional appropriateness adalah sejauh
mana setiap fungsi individu dapat digunakan untuk mencapai tujuan dan
kondisi yang diinginkan.

2. Performance Efficiency
Menggambarkan efektivitas kinerja relatif dengan resource yang
digunakan dalam kondisi tertentu. Dua sub-karakteristik digunakan adalah
time behaviour untuk mengetahui waktu respons dan waktu respons serta
kecepatan sistem ketika fungsinya berjalan. Yang kedua adalah resource
utilization untuk menentukan berapa banyak sumber daya komputasi yang
digunakan oleh sistem saat menjalankan fungsinya.

3. Usability
Ini adalah standar untuk bagaimana suatu sistem dapat digunakan
oleh pengguna untuk mencapai tujuan dengan efektivitas, efisiensi, dan
keandalan dalam konteks penggunaan. Learnability adalah sub-
karakteristik Usability yang digunakan, seperti pertanyaan apakah sistem
mudah digunakan dan dipahami oleh pengguna untuk mencapai tujuan
yang diinginkan untuk menggunakan sistem dengan cara yang efisien,
efektif, dan menghindari risiko, serta persepsi tentang potensi kesulitan
yang mungkin timbul. Operability, Apakah sistem memiliki karakteristik
dan fitur yang membuatnya mudah digunakan dan dioperasikan. User
error protection mengacu pada bagaimana sebuah sistem atau produk
melindungi pengguna agar tidak terjadi kesalahan atau kekeliruan. User
interface aesthetics, apakah pengguna menganggap bahwa produk atau
sistem tersebut menarik dan menyenangkan.

11
4. Reliability
Ini adalah pengukuran seberapa baik sebuah sistem dapat bekerja
di lingkungan tertentu untuk jangka waktu yang telah ditetapkan. sub-
karakteristik digunakan untuk mengukur reliability, yang pertama,
maturity, untuk mengevaluasi apakah suatu sistem dalam memenuhi
keandalan juga kebutuhan selama penggunaan rutin. Yang kedua adalah
Fault tolerance, yang digunakan untuk memastikan bahwa suatu sistem
atau komponen terus berfungsi meskipun ada kesalahan.

12
BAB 3
METODOLOGI

3.1 Tahapan penelitian


Pengembangan Akasha's Retaliare dipengaruhi oleh beberapa video game
terkenal termasuk Super Mario Bros, Hollow Knight, Dota 2, Genshin Impact dan
game lainnya. Dengan menggabungkan elemen-elemen dari Super Mario Bros
dan Hollow Knight dalam bentuk dua dimensi, menggunakan kemampuan
karakter yang unik dari game seperti Dota 2 dan Genshin Impact, serta
menggunakan sistem mekanika permainan yang kuat, game Akasha's Retaliare
akan tampil dengan grafis yang berbeda. Penulis harapkan penelitian ini berguna
untuk penelitian selanjutnya. Akasha's Retaliare juga diharapkan untuk menjadi
hiburan dan kompetisi pada semua pemain game ini. Berikut merupakan tahapan
penelitian dari “implementasi nondeterministic finite-state machine pada NPC
(non-playable character) game Akasha’s Retaliare”.

Gambar 3.1 Tahapan penelitian NDFSM pada NPC game Akasha’s Retaliare.

13
3.2 Akasha’s Retaliare

Gambar 3.2 Akasha’s Retaliare.

Akasha’s Retaliare merupakan game yang saya kembangkan secara indie


atau mandiri, mulai dari game assets, storyline, script game, dan rangkaian
NDFSM itu sendiri. Game ini nantinya memiliki beberapa jenis musuh, boss pada
akhir setiap level, dan terdapat 6 level. Untuk menyelesaikan level, pemain harus
mengalahkan musuh-musuh yang tersebar didalam level tersebut termasuk boss,
dan pemain dapat melanjutkan ke level berikutnya. Plot game ini akan berkisah
tentang perjalanan sang tokoh utama, Akasha, yang telah dikalahkan di sebuah
daerah dan berusaha merebut kembali tanah airnya, termasuk keluarganya. Karena
itu, Akasha bertekad untuk mengalahkan dan menundukkan Yama, tokoh
antagonis yang berambisi untuk menguasai seluruh dunia dalam game. Selama
perjalanan, pemain akan bertemu dengan Yama dan kaki-tangnya, dan mereka
juga akan bertemu dengan banyak karakter untuk menyelesaikan cerita dan
mengatasi beberapa rintangan. Menggunakan NDFSM sebagai model kecerdasan
buatan untuk semua NPC yang ada di dalam game.

3.3 Storyboard

14
Gambar 3.2 Loading screen.

Tampilan Loading screen ketika pemain memuat game.

Gambar 3.3 Main screen.

Setelah game berhasil dimuat pemain akan langsung memainkan game.


Disini ditampilkan Health Point, dash, skill A, skill B, dan juga Ultimate.

15
Gambar 3.4 Pause screen.

UI menu untuk pause screen, yang dapat diakses ketika saat game di jeda.
Menu yang dapat dipilih antara lain new or load game, setting game, about game,
dan opsi untuk keluar dari game.

Gambar 3.5 New or load menu.

Ketika pemain memilih “new or load” maka UI menu seperti ini yang
ditampilkan. Pemain bisa memulai permainan baru dari awal atau melanjutkan
permainan yang telah pemain simpan.

16
Gambar 3.6 Pemain bertemu dengan NPC.

Ketika pemain bertemu dengan NPC, terdapat tampilan baris health point
NPC di atasnya.

Gambar 3.7 Pemain berganti level.

Pergantian tempat, bagian,chapter atau level pada game. Ditampilkan judul


chapter atau nama daerah di layar untuk beberapa detik.

17
Gambar 3.8 Boss fight.

Tampilan pada saat bertarung dengan NPC besar atau boss,dengan sedikit
perubahan pada tampilan health point boss yang ditempatkan pada bagian atas
layar.

Gambar 3.9 Level clear screen.

Ketika pemain berhasil menyelesaikan level maka akan ditampilkan UI


seperti ini. Pemain akan tau berapa lama waktu yang telah digunakan untuk
menyelesaikan level tersebut.

18
Gambar 3.10 Level fail screen.

Apabila pemain tidak bisa melanjutkan level, maka pemain dapat


mengulangi atau keluar.

3.4 Analisis kebutuhan sistem


Merupakan langkah yang digunakan untuk mendukung kinerja sistem dari
sistem dibangun dan dikembangkan.
Perangkat keras yang dibutuhkan dalam pengembangan game Akasha’s Retaliare
antara lain:
1. Processor Intel Core i5 6200U
2. Memory DDR3 4GB 1600
3. Graphic Card NVIDIA GeForce 930M

Selain hardware, ada juga software yang digunakan untuk membuat atau
mengembangkan game Akasha’s Retaliare sebagai berikut:
1. Operating System Windows 10 Pro
2. Unity 2019.4.17f1
3. Microsoft Visual Studio
4. Adobe Photoshop CC 2018
5. Krita 4.4.1
6. FL Studio 12

19
3.5 Use Case Diagram
Use Case Diagram adalah representasi grafis dari kemungkinan pengguna
atau pemain terlibat dengan sistem. Dalam contoh ini, use case diwakili oleh
elipsis, dan pengguna diwakili oleh aktor. Setelah game dimuat, pemain akan
langsung masuk ke area permainan. Selain itu, pemain dapat mengakses menu
dengan menekan tombol escape. Ada pengaturan game yang disertakan dalam tata
letak menu untuk membuat permainan lebih nyaman bagi pemain. Ada pilihan
untuk memainkan game baru atau melanjutkan game yang sudah disimpan. Selain
itu, ada bagian tentang asal-usul pengembangan game serta pilihan untuk keluar
dari permainan.

Gambar 3.11 Use Case Diagram game.


Ketika pemain telah selesai memuat game, maka pemain dapat langsung
memainkan game. Lalu jika pemain ingin membuka menu, pemain dapat menekan
tombol, lalu terdapat serangkaian menu yang tersedia seperti, lanjutkan, tentang,
juga keluar dari permainan. Untuk menu pengaturan dan memulai dan
melanjutkan game, terdapat opsi lain yang terdapat pada gambar diatas.

20
3.6 Sequence Diagram
Sequence Diagram merupakan diagram interaksi antara pengguna dan
sistem yang menunjukkan bagaimana suatu proses dilakukan. Diagram ini
menunjukkan interaksi antar objek dalam konteks kerja sama. Fokus dari diagram
urutan adalah waktu, yang disajikan secara visual dengan menggunakan sumbu
vertikal diagram untuk menampilkan waktu dan informasi yang disajikan. Dan
akan dijabarkan interaksi antara pemain, game, dan NPC.

Gambar 3.12 Sequence Diagram antara pemain dan menu resume.

21
Gambar 3.13 Sequence Diagram pemain dan menu load game baru.

22
Gambar 3.14 Sequence Diagram pemain dan menu load game yang telah
disimpan.

23
Gambar 3.15 Sequence Diagram antara pemain dan menu setting suara.

24
Gambar 3.16 Sequence Diagram antara pemain dan menu setting grafis.

25
Gambar 3.17 Sequence Diagram antara pemain dan menu about.

26
Gambar 3.18 Sequence Diagram antara pemain dan menu keluar dari game.

Gambar 3.19 Sequence Diagram antara pemain dan NPC.

27
3.7 Penerapan Nondeterministic Finite State Machine
State machine diagram di bawah ini dapat digunakan untuk menjelaskan
setiap kemungkinan states, kondisi, transisi, dan accept state untuk NPC dalam
game Akasha's Retaliare saat ini.

Gambar 3.20 Finite State Machine Diagram NPC.

Terdapat 11 states berbeda yang digunakan pada NPC, termasuk Patrol,


rAtk, mAtk, RunTo, dash, skillA, skillB, dan Ult. State unDetect merupakan state
awal, sedangkan state Killd adalah state akhir atau accept state. Dan di bawahnya
terdapat tabel transisi state yang berisi data transisi antara state saat ini, state
berikutnya, dan aksi apa saja yang telah diluncurkan oleh NPC.

28
Tabel 3.2 State transition table.

29
State Patrol, yang dilambangkan dengan (→), merupakan state pertama
dari tahap ini, terdapat tiga state berikutnya, yaitu, rAtk, RunTo, dan SkillA. rAtk
dan RunTo sama-sama membutuhkan kondisi saat pemain memasuki zona deteksi
NPC, tetapi untuk transisi dari state Patrol ke Skill A, kondisinya juga harus ada
saat pemain memasuki zona skill NPC. Ketika kondisi yang diperlukan terpenuhi,
maka NPC akan melakukan aksi, seperti menggunakan rAtk atau ranged attack
(serangan jarak jauh), berlari ke arah pemain, atau bahkan mengaktifkan skill A
sesuai dengan status dan keadaan NPC saat itu.

Tabel 3.3 State yang dapat dicapai dari semua state.

30
Setiap state NPC yang ditunjukkan pada tabel diatas dapat langsung beralih
ke dua state yang ditunjukkan, unDtetect dan accept state Killd, yang keduanya
ditunjukkan dengan tanda bintang (*) ketika kondisinya memadai.

3.8 Evaluasi Akasha’s Retaliare berdasarkan ISO/IEC 25010


Kriteria yang digunakan untuk evaluasi ini adalah empat karakteristik utama
kualitas ISO/IEC 25010, yaitu functional suitability, performance efficiency,
usability, dan reliability. Evaluasi ini akan dirupakan kuesioner, dengan
pertanyaan untuk pemain melalui alat survei. Data dari evaluasi akan dihitung
skor rata-rata serta untuk mengonfirmasi bahwa game Akasha's Retaliare
memenuhi semua persyaratan yang ditetapkan dalam ISO/IEC 25010.

31
Tabel 3.4 Evaluasi kualitas berdasarkan ISO/IEC 25010.

ISO/IEC 25010 Kuesioner


Apakah fitur di game ini berfungsi dengan
semestinya?

Apakah input-output game ini berfungsi


Functional suitability dengan semestinya?

Apakah reaksi NPC berfungsi dengan


semestinya?

Apakah game ini dimuat dengan cepat?

Apakah reaksi NPC diproses dengan cepat?


Performance efficiency

Apakah pergantian scene diproses dengan


cepat?
Apakah game ini mempunyai panduan yang
jelas?
Apakah pemain dapat mempelajari game ini
dengan mudah?

Usability Apakah game ini mempunyai tujuan yang


jelas?

Apakah pemain merasa puas memainkan


game ini?

Apakah tombol dan menu berfungsi


semestinya?

32
Apakah terdapat error dalam game ini?

Apakah game ini terlihat bagus?


Apakah audio game ini terdengar bagus?

Apakah game ini bersifat menantang?


Reliability Apakah semua fitur game ini berfungsi
dengan konsisten?
Jika terdapat error, apakah game iini masih
berfungsi dengan semestinya?

Kuesioner pada tabel 3.4 merupakan kuesioner Wibawa R.C. (2019) yang
telah disesuaikan untuk game Akasha’s Retaliare. Target responden mulai dari
umur 20-32 laki-laki dan perempuan, juga pernah memainkan game. Responden
nantinya akan memainkan demo game lalu diberikan kuesioner. Rangkaian
Nondeterministic Finite State Machine juga akan ditunjukkan kepada responden,
dan diminta untuk menjawab dengan Skala Likert dengan 1 berarti "Sangat
Buruk," 2 berarti "Buruk," 3 berarti "Sedang," 4 berarti "Baik," dan 5 berarti
"Sangat Baik." dan hasilnya akan dihitung menggunakan persamaan dibawah ini.
� = ��
� = nilai evaluasi
� = skor kuesioner
� = nilai maksimal

33
BAB 4
HASIL DAN PEMBAHASAN

4.1 Hasil penelitian


Tujuan penelitian ini bertujuan untuk membangun dan mengembangakan
game Akasha's Retaliare yang NDFSM sebagai model kecerdasan buatan untuk
semua NPC yang ada di dalamnya dan menjamin kualitas berdasarkan
karakteristik ISO/IEC 25010 diantaranya: Functional Suitability, Performance
Efficiency, Usability, Reliability. Berikut merupakan hasil pengembangan game
Akasha’s Retaliare juga hasil pengujian yang telah dilakukan.

4.2 Pengembangan game Akasha’s Retaliare


Tahap pengembangan game ini menggunakan metode Agile Game
Development. Menurut Keith.C (2014) Agile Game Development menggabungkan
beberapa model agile framework yang terbaik kedalam pendekatan agile tunggal.
Hal ini juga memungkinkan Agile Game Development untuk memilih praktik dari
kerangka kerja lain yang cocok untuk pengembangan game. Meskipun Agile
Game Development mungkin tidak mengikuti semua praktik dari agile framework
namun akan tetap mengikuti pola pikir pola pikir dan nilai-nilai agile.
Dalam pengembangan game Akasha’s Retaliare akan dibagi menjadi empat
fase. Yaitu: Design, Prototyping, Implementasi, dan Integrasi. Namun didalam
Agile Game Development biasanya terdapat tahap ke lima yaitu post-launch/ post-
release, tapi kondisi untuk game Akasha’s Retaliare pada saat ini belum
memenuhi kriteria untuk di release. Berikut adalah penjelasan lebih lanjut dari
setiap fase.

1. Design
Secara umum desain game berfokus kepada pemain yang akan merasakan
pengalaman menyenangkan dan menarik melalui gameplay, visual, dan narasi.
Berikut merupakan fase desain yang telah dilakukan pada game Akasha’s
Retaliare:

34
a) Desain karakter
Pada gambar dibawah, Akasha dibuat dengan menggunakan beberapa layer
atau lapisan. Seperti bagian kepala, rambut, armor, bagian tangan, dan kaki.

Gambar 4.1 Karakter utama, Akasha

b) Desain lingkungan
Yang juga disusun dari layer-layer untuk tercapainya efek parallax atau
kedalaman seperti 3D.

Gambar 4.2 Background dari scene pada level 1.

35
c) Desain user interface
Dibawah ini merupakan bagian-bagian UI yang terdapat dalam game ini.

Gambar 4.3 Healthbar, stamina bar, energybar, skill cooldown indicator


.

Gambar 4.4 NPC dengan healthbar diatasnya.

Gambar 4.5 Healthbar dari boss.

36
Gambar 4.6 UI menu.

Gambar 4.7 UI death.

2. Prototyping
Prototyping dalam game salah satunya dapat dengan mengganti sprite atau
grafik dengan grafik 2 dimensi yang paling sederhana, dengan tujuan untuk
memeriksa script atau kode pemrograman berfungsi atau tidak. Seperti script
gerakan pemain, NPC, fungsi bertarung, dan lain-lain.

37
Gambar 4.8 Prototype Akasha’s Retaliare.
Bangun 2 dimensi yang berwarna biru adalah ground atau tempat
berdirinya pemain, NPC, dan objek lain yang dapat berinteraksi dengan
pemain. Sedangkan persegi yang berwarna putih sebagai pemain, dan persegi
merah sebagai NPC.

3. Implementasi
Fase ini adalah dimana pemrograman menggunakan Microsoft Visual
Studio dilakukan, script yang digunakan untuk menerima input dari pemain
lalu diterjemahkan menjadi pergerakan Akasha, sistem cooldown atau batasan
penggunaan berdasarkan waktu untuk skill A, skill B, dash, ultimate skill, dan
range attack. Sistem pengurangan health atau tingkat kesehatan pemain dan
NPC ketika menerima damage dari serangan.
Disini juga merupakan tahap implementasi model NDFSM sebagai
kecerdasan buatan pada NPC, termasuk state-state yang telah dijelaskan pada
bagian metodologi. Sebagian besar method dipanggil dari private void
Update() yang digunakan Unity untuk memeriksa kondisi pada setiap frame
di game tersebut.

Gambar 4.9 fungsi (private) void Update.

38
Gambar 4.10 public enum, digunakan untuk mendeklarasikan states.

Gambar 4.11 switch digunakan untuk memeriksa value states.

Berikut adalah if/else statement yang di enkapsulasi oleh case; break;


statement yang digunakan untuk memeriksa atau membandingkan kondisi pemain,
NPC, jarak, cooldown, dan energy, pada state tersebut. Jika kondisi terpenuhi
maka NPC akan berpindah dari state asal ke state berikutnya.

39
Gambar 4.12 if/else statement untuk memeriksa kondisi perpindahan states.

40
4. Integrasi
Tahap integrasi dalam pengembangan game melibatkan penggabungan
game assets seperti grafik, animasi, efek grafik, efek suara, dan musik,
digabungkan dengan game script, termasuk NDFSM untuk membuat game
yang dapat dimainkan. Tahap ini cukup menantang, karena harus melewati
proses kegagalan berkali-kali, lalu memastikan bahwa semua game assets
terintegrasi dengan benar dan game berjalan dengan lancar. Berikut adalah
Inspector window dari Akasha dan NPC yang menghubungkan script dan
game assets.
Terdapat script-script yang digunakan untuk melakukan tugasnya masing-
masing, range attack, melee attack, dan ability script. Referensi terhadap
game object yang terkait dan dibutuhkan dalam script, begitu juga dengan
value dari variable berikutnya. Pada gambar dibawah juga terdapat prefab,
yang merupakan game object yang sudah terhubung atau di integrasi oleh
script-nya sendiri, lalu diintegrasikan lagi kepada script tersebut.

41
Gambar 4.13 Range & melee attack, ability script inspector.

Berikut adalah inspector pada NPC yang dihubungkan dengan script


Enemy Control, untuk mengendalikan NPC bersama dengan integrasi
NDFSM. Juga terdapat value dari setiap variable, referensi game object,
script, juga prefab.

42
Gambar 4.14 Enemy control script inspector 1.

43
Gambar 4.15 Enemy control script inspector 2.

4.3 State Transition Test


Bagian ini akan menjelaskan tentang hasil pengujian transisi state yang telah
dilakukan pada rancangan NDFSM dengan menggunakan fungsi Debug.Log().
disini akan diperiksa SetState(currentState) dan ExitState(state).

Gambar 4.16 Debug.Log pada SetState().

44
Gambar 4.17 Debug.Log pada ExitState().

Dengan menggunakan Debug.Log() dapat diketahui state awal, dan state


berikutnya melalui console panel di Unity.

Gambar 4.18 console panel Debug.Log().

Pada gambar diatas, bagian yang ditandai dengan warna biru adalah state
Patrol, karena state tersebut merupakan initial state. Berikutnya yang ditandai
dengan warna hijau adalah transisi kepada state Range Attack, dengan exit:Patrol
merupakan tanda bahwa NPC keluar dari state tersebut, dan masuk ke state Range

45
Attack. Pada bagian yang ditandai dengan warna merah menunjukkan bahwa NPC
keluar dari state SkillUlt, namun NPC tidak bisa langsung transisi ke state SkillA,
maka melewati state RunTo. Dibawah ini merupakan lanjutan dari transisi state
yang dilakukan NPC.

Gambar 4.19 console panel Debug.Log() 2

Dari data yang didapat dari console panel pada saat pengujian akan diisi
pada tabel berikut dengan keterangan keberhasilan transisinya. Kedua tabel
dibawah ini merupakan hasil dari state transition testing, pada kolom result
adalah hasil dari pengujian tiap skenario state.

46
Tabel 4.1 State transition table result.

47
Tabel 4.2 Any state transition table result.

Pada NPC game Akasha’s Retaliare, terdapat 10 state dan 31 total transisi
antar state, dan 2 diantaranya transisi any state. Dari pengujian tersebut diketahui
bahwa semua transisi state berhasil.
Berikut ini merupakan transisi state yang merespon input atau kondisi jika
dilihat dari prespektif pemain dalam game. Pada saat game dimulai state awal
NPC adalah state Patrol, state Patrol mempunyai 3 transisi yaitu state
RangeAttack, RunTo, dan SkillA dengan kondisi yang berbeda-beda.

Gambar 4.20 Game Window

Pada gambar diatas pemain tidak berada diluar zona deteksi, yang
ditandai dengan distance (garis hitam), dan zona deteksi NPC ditandai dengan
detectRange (garis kuning), oleh karena itu NPC tetap pada state Patrol.

48
Gambar 4.21 Game Window 2

Pada gambar tersebut pemain telah memasuki detectRange, dan


rangeRange (jarak RangeAttack), dalam skenario ini NPC transisi kepada state
RangeAttack, dan melakukan serangan (kotak biru) dan melakukan transisi lagi
kedalam RunTo untuk mendekat kepada pemain.

Gambar 4.22 Game Window 3

Setelah NPC berada didalam state RunTo, terdapat 6 state yang dapat
dicapai, yaitu RangeAttack, SkillA, MeleeAttack, Dash, SkillUlt, dan kembali ke
Patrol. Dengan kondisi yang tersedia, NPC hanya bisa transisi kedalam state
SkillA, MeleeAttack, dan SkillUlt, tetapi pada skenario ini NPC transisi kedalam
state SkillUlt dan melakukan serangan (kotak hijau).

49
Gambar 4.23 Game Window 4

Pada skenario diatas pemain menjauh, dan NPC memasuki state RunTo,
untuk mencapai state SkillA menyerang pemain(kotak hijau)

Gambar 4.24 Game Window 5

Pada gambar diatas, pemain menjauh dan keluar dari detectRange dan
NPC kembali masuk kedalam state Patrol.

Gambar 4.25 Game Window 6

50
Pemain kembali memasuki detectRange, dengan kondisi tersebut, maka
NPC transisi kedalam state RunTo.

Gambar 4.26 Game Window 7


Dalam skenario gambar 4.28 health pemain kurang dari 50 (kotak biru)
maka kondisi untuk transisi kedalam state Dash telah terpenuhi dan NPC
melakukan aksi Dash yang ditandai dengan NPC berpindah dengan cepat ke
sebelah kiri pemain (posisi sebelumnya ditandai kotak kuning).

Gambar 4.27Game Window 8


Pada gambar diatas pemain mendekat, kondisi untuk transisi kedalam state
MeleeAttack telah terpenuhi, dan NPC menyerang pemain (jarak MeleeAttack
kotak merah)

51
Gambar 4.28 Game Window 9

Gambar 4.30 menunjukkan NPC transisi kedalam state RangeAttack,


diikuti dengan transisi SkillB. Pengujian dengan black box menggunakan state
transition pada NPC game Akasha’s Retaliare menunjukkan bahwa rangkaian
NDFSM telah berhasil di implementasikan dan dapat berfungsi seperti yang
diharapkan.

4.4 Hasil Evaluasi berdasarkan ISO/IEC 25010


Untuk mengetahui kualitas game Akasha’s Retaliare, maka kuesioner yang
dirancang berdasarkan ISO/IEC 25010 telah diajukan kepada 20 pemain.

Tabel 4.3 Hasil evaluasi kualitas berdasarkan ISO/IEC 25010.


ISO/IEC
Kuesioner 1 2 3 4 5 +
25010
Apakah fitur di game ini
7 8 5 78
berfungsi dengan semestinya?
Functional Apakah input-output game ini
1 11 8 87
suitability berfungsi dengan semestinya?
Apakah reaksi NPC berfungsi
5 3 12 87
dengan semestinya?

Performanc Apakah game ini dimuat dengan


4 6 10 86
e efficiency cepat?

52
Apakah reaksi NPC diproses
6 14 94
dengan cepat?

Apakah pergantian scene


5 11 4 79
diproses dengan cepat?
Apakah game ini mempunyai
4 7 9 85
panduan yang jelas?
Apakah pemain dapat
mempelajari game ini dengan 5 5 10 85
mudah?
Apakah game ini mempunyai
8 5 7 79
tujuan yang jelas?

Apakah pemain merasa puas


3 9 9 90
memainkan game ini?
Usability
Apakah tombol dan menu
6 5 9 83
berfungsi semestinya?

Apakah terdapat error dalam


4 8 8 84
game ini?

Apakah game ini terlihat bagus? 2 7 11 89


Apakah audio game ini terdengar
8 12 92
bagus?

Apakah game ini bersifat


3 8 9 86
menantang?
Reliability Apakah semua fitur game ini
1 8 11 90
berfungsi dengan konsisten?
Jika terdapat error, apakah game
iini masih berfungsi dengan 9 11 91
semestinya?
290 620 795 1465

53
Tabel diatas adalah hasil kuesioner yang diberikan kepada 20 pemain dan
telah memillih dari skala 1 sampai 5 pada pertanyaan-pertanyaan terkait. Dan
terdapat total skor kuesioner sebesar 1465 dengan nilai skor maksimal adalah
1700. Nilai evaluasi dapat dihitung dengan persamaan N = 1465/1700, dengan
persamaan tersebut persentase yang diperoleh adalah 0,8617 * 100% = 86.17%

Tabel 4.4 Kategori kelayakan (Mulyawan, Swamardika, dan Saputra, 2021).

Berdasarkan tabel kategori kelayakan diatas game Akasha’s Retaliare dapat


dinyatakan “Sangat Layak” untuk digunakan.

54
BAB 5
KESIMPULAN

5.1 Kesimpulan
Dari hasil pengujian state transition test, dan hasil evaluasi berdasarkan
ISO/IEC 25010 diperoleh kesimpulan sebai berikut:
1. Implementasi Nondeterministic finite-state machine pada NPC game
Akasha’s Retaliare sebagai model kecerdasan buatan dinyatakan berhasil
melalui setiap transisi state. Dengan menggunakan method Update(),
pemrosesan state dan transisi state dapat dilakukan pada saat pergantian
setiap frame untuk memeriksa kondisi pemain, musuh, cooldown, energy,
dan health pemain lalu transisi kepada state selanjutnya.
2. Pada saat pengujian transisi state, NPC dapat menggunakan sebuah state
sebagai perantara, jika state asal dan state yang dituju tidak dapat dicapai
seperti pada gambar 4.25. Dimana NPC berada pada state SkillUlt dan
tidak dapat mencapai state SkillA, namun NPC masuk kedalam state
RunTo, dan masuk lagi kedalam state SkillA.
3. Dengan implementasi Nondeterministic finite-state machine pada NPC,
perilaku NPC menjadi dinamis dan tidak dapat diprediksi yang
mengakibatkan gaya bermain setiap kali pemain bertemu dengan NPC
akan bervariasi.
4. Hasil evaluasi dari karakteristik kualitas ISO/IEC 25010 dari 20 pemain
dinyatakan bahwa game Akasha’s Retaliare “Sangat Layak” digunakan.
Dengan persentase nilai evaluasi 86,17% dan nilai rata-rata 4,3 dari skala
Likert (1 sampai 5).

5.2 Saran
Berdasarkan implementasi dan hasil pengujian pada game Akasha’s
Retaliare, terdapat beberapa celah untuk perbaikan diantaranya:

1. Penggunaan Nondeterministic finite-state machine pada NPC dapat


dioptimasi agar dapat lebih terkendali.

55
2. Pengembang atau peneliti lain dapat menambahkan algoritma lain(seperti
Fuzzy dan Hierarchical FSM) agar model NDFSM menjadi lebih
maksimal dalam transisi dan pemilihan state.
3. Pada penelitian selanjutnya dapat menggunakan kuesioner yang lebih
sesuai pada game atau aplikasi terkait.

56
DAFTAR PUSTAKA

Chaarani, B. Ortigara, J. Yuan, D. Loso, H. Potter, A. Garavan, H.P. (2022).


Association of Video Gaming With Cognitive Performance Among Children.
https://jamanetwork.com/journals/jamanetworkopen/fullarticle/2797596
Halpern, J. (2018) Developing 2D Games with Unity: Independent Game
Programming with C#. New York:Apress.
Hosch, W. L. (2018) Electronic adventure game. Diakses pada 16 Oktober 2022,
dari https://www.britannica.com/topic/electronic-adventure-game
Jagli, D. Mahajan, S. Gupta, A. Waghmar, S. (2015) A New Innovation Technique
of State Transition Testing Used For DBT, 3-6.
https://www.researchgate.net/publication/281146979
Keith, C. (2014,). Agile Game Development with Scrum. Addison-Wesley.
Khan, M. E. Khan, F. (2012) A Comparative Study of White Box, Black Box and
Grey Box Testing Techniques, 3(6), 14. International Journal of Advanced
Computer Science and Applications.
Kristus, A. E. (2019) Aplikasi Pengenalan Wayang dengan Side Scroller Game
Berbasis Android. http://dx.doi.org/10.32832/kreatif.v7i1.2045
Lamada, M. S. Miru, A. S. Amalia, R. (2020) Pengujian Aplikasi Sistem
Monitoring Perkuliahan Menggunakan Standar ISO 25010.
https://doi.org/10.26858/jmtik.v3i3.15172
Lurgin, J. Cavazza, M. Charles, F. Renard, M. L. Freeman, J. Lessiter, J. (2013)
Immersive FPS Games: User Experience and Performance.
https://www.researchgate.net/publication/266654659
Mulyawan, M. D. Swamardika, I. B. A. Saputra, K. O. (2021) Analisis
Kesesuaian Fungsional dan Usability pada Sistem Informasi Karma Simanis
Berdasarkan ISO/IEC 25010. JURTEKSI (Jurnal Teknologi dan Sistem
Informasi). https://doi.org/10.33330/jurteksi.v7i3.1139
Mulyawan, M. D. Kumara N. S. Swamardika, I. B. A. Saputra, K. O. (2021)
Kualitas Sistem Informasi Berdasarkan ISO/IEC 25010: Literature Review,
20(1), 15-17. https://doi.org/10.24843/MITE

57
Muyassir, A. A. (2022) Penerapan Metode Finite State Machine dan Fuzzy Logic
Sebagai Kecerdasan Buatan pada Non Playable Character (NPC).
Pacharoen, W. Aoki, T. Bhattarakosol, P. Surrakerks, A. (2013) Active Learning
of Nondeterministic Finite State Machines.
http://dx.doi.org/10.1155/2013/373265
Pranselga, A. Setiawan, I. R. Apriandari, W. (2021) Implementasi Finite State
Machine Pada Karakter NPC Musuh Dalam Game Adventure In Java, 10(3),
402-404. Jutisi: Jurnal Ilmiah Teknik Informatika dan Sistem Informasi.
Putra, B.R. (2021) Pengaplikasian ISO/IEC 25010 untuk mengevaluasi website
SMKN 1 Palangkaraya.
Rizky, M. Agustin, A. Hendriyani, T. C. Waluyo, A. Riyanto, J. (2021) Pengujian
Black Box menggunakan Teknik State Transition Testing pada Aplikasi BMI
Calculator Berbasis Android, 207-213. Scientia Sacra: Jurnal Sains, Teknologi
dan Masyarakat.
Thorn, A. (2016) Unity 5.x By Example. Birmingham:PACKT Publishing.
Wibawa, R. C. Rochimah, S. Anggoro, R. (2019) A Development of Quality
Model for Online Games Based on ISO/IEC 25010, 215-217. l2th International
Conference on Information & Communication Technology and System.

58
LAMPIRAN
Lampiran 1. Hasil kuesioner

ISO/IEC 25010 Kuesioner 1 2 3 4 5 SUM AVG

Apakah fitur di game


ini berfungsi dengan 7 8 5 78 3,9
semestinya?
Apakah input-output
Functional
game ini berfungsi 1 11 8 87 4,35
suitability
dengan semestinya?
Apakah reaksi NPC
berfungsi dengan 5 3 12 87 4,35
semestinya?
Apakah game ini
dimuat dengan 4 6 10 86 4,3
cepat?
Apakah reaksi NPC
Performance
diproses dengan 6 14 94 4,7
efficiency
cepat?
Apakah pergantian
scene diproses 5 11 4 79 3,95
dengan cepat?
Apakah game ini
mempunyai panduan 4 7 9 85 4,25
yang jelas?
Apakah pemain
dapat mempelajari
5 5 10 85 4,25
game ini dengan
mudah?
Apakah game ini
mempunyai tujuan 8 5 7 79 3,95
yang jelas?
Usability
Apakah pemain
merasa puas
3 9 9 90 4,5
memainkan game
ini?
Apakah tombol dan
menu berfungsi 6 5 9 83 4,15
semestinya?
Apakah terdapat
error dalam game 4 8 8 84 4,2
ini?

59
Apakah game ini
2 7 11 89 4,45
terlihat bagus?
Apakah audio game
8 12 92 4,6
ini terdengar bagus?
Apakah game ini
3 8 9 86 4,3
bersifat menantang?
Apakah semua fitur
game ini berfungsi 1 8 11 90 4,5
dengan konsisten?
Reliability Jika terdapat error,
apakah game iini
9 11 91 4,55
masih berfungsi
dengan semestinya?
4,308
max 1700 290 620 795 1465 8235
29
86,1
7647
059

60
Lampiran 2. Data kuesioner

61
62
63
64
65
66
BIODATA PENULIS

NIM : 1610651025
Nama : Abdul Rahman

Jenis Kelamin : Laki-laki


Alamat : Desa Tempeh Tengah, Kecamatan Tempeh, Kabupaten
Lumajang
Angkatan : 2016
Fakultas : Teknik
Jurusan : S1- Teknik Informatika
No.HP : 085171693108
Email : grafiavisualsense@gmail.com

67

Anda mungkin juga menyukai