NONDETERMINISTIC FINITE MACHINE PADA NPC 30 Jul
NONDETERMINISTIC FINITE MACHINE PADA NPC 30 Jul
ABDUL RAHMAN
16 1065 1025
i
HALAMAN PERSETUJUAN TUGAS AKHIR
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
ii
HALAMAN PENGESAHAN
TUGAS AKHIR
Disetujui oleh:
Penguji I Pembimbing I
Penguji II Pembimbing II
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
Abdul Rahman
NIM. 1610651025
iv
KATA PENGANTAR
Penulis
v
UNGKAPAN TERIMAKASIH
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.
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.
Penulis
vii
MOTTO
“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
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.
ix
NONDETERMINISTIC FINITE-STATE MACHINE IMPLEMENTATION
FOR NPC (NON-PLAYABLE CHARACTER) ON “AKASHA’S RETALIARE”
GAME
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.
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
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
xvi
DAFTAR LAMPIRAN
xvii
BAB 1
PENDAHULUAN
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.
2
2. Kecerdasan buatan atau NDFSM pada NPC tidak memiliki tingkat kesulitan.
3. Evaluasi game Akasha’s Retaliare menggunakan empat karakteristik dari
ISO/IEC25010.
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.
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.
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.
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.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.
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.
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
Gambar 3.1 Tahapan penelitian NDFSM pada NPC game Akasha’s Retaliare.
13
3.2 Akasha’s Retaliare
3.3 Storyboard
14
Gambar 3.2 Loading screen.
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.
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.
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.
18
Gambar 3.10 Level fail screen.
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.
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.
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.
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.
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.
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.
31
Tabel 3.4 Evaluasi kualitas berdasarkan ISO/IEC 25010.
32
Apakah terdapat error dalam game ini?
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
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.
b) Desain lingkungan
Yang juga disusun dari layer-layer untuk tercapainya efek parallax atau
kedalaman seperti 3D.
35
c) Desain user interface
Dibawah ini merupakan bagian-bagian UI yang terdapat dalam game ini.
36
Gambar 4.6 UI menu.
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.
38
Gambar 4.10 public enum, digunakan untuk mendeklarasikan states.
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.
42
Gambar 4.14 Enemy control script inspector 1.
43
Gambar 4.15 Enemy control script inspector 2.
44
Gambar 4.17 Debug.Log pada ExitState().
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.
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.
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
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)
Pada gambar diatas, pemain menjauh dan keluar dari detectRange dan
NPC kembali masuk kedalam state Patrol.
50
Pemain kembali memasuki detectRange, dengan kondisi tersebut, maka
NPC transisi kedalam state RunTo.
51
Gambar 4.28 Game Window 9
52
Apakah reaksi NPC diproses
6 14 94
dengan cepat?
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%
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:
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
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
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
67