• Tidak ada hasil yang ditemukan

Implementasi Pathfinding Algoritma A* (Astar) Pada Game Petualangan Labirin Rahasia

N/A
N/A
Protected

Academic year: 2022

Membagikan "Implementasi Pathfinding Algoritma A* (Astar) Pada Game Petualangan Labirin Rahasia"

Copied!
71
0
0

Teks penuh

(1)

Implementasi Pathfinding Algoritma A* (Astar) Pada Game Petualangan Labirin Rahasia

TUGAS AKHIR

Oleh :

Rozalia Deviana 4311101045

Disusun untuk memenuhi syarat kelulusan Program Diploma IV

PROGRAM STUDI TEKNIK MULTIMEDIA DAN JARINGAN JURUSAN TEKNIK INFORMATIKA

POLITEKNIK NEGERI BATAM BATAM

2015

(2)

ii

LEMBAR PENGESAHAN

IMPLEMENTASI PATHFINDING ALGORITMA A* (ASTAR) PADA GAME PETUALANGAN LABIRIN RAHASIA

Oleh :

Rozalia Deviana 4311101045

Tugas Akhir ini telah diterima dan disahkan sebagai syarat kelulusan

DIPLOMA IV PROGRAM STUDI TEKNIK MULTIMEDIA DAN JARINGAN POLITEKNIK NEGERI BATAM

Batam, 30 Maret 2015 Disetujui oleh :

Pembimbing,

Riwinoto, ST. M. Kom NIP. 197908062012121001

(3)

iii

LEMBAR PERNYATAAN

Dengan ini, saya :

NIM : Rozalia Deviana Nama : 4311101045

adalah mahasiswa Teknik Multimedia dan Jaringan Politeknik Negeri Batam yang menyatakan bahwa Tugas Akhir dengan judul :

Implementasi Pathfinding algoritma A* (Astar) Pada Game Petualangan Labirin Rahasia

disusun dengan :

1. Tidak melakukan plagiat terhadap naskah karya orang lain 2. Tidak melakukan pemalsuan data

3. Tidak menggunakan karya orang lain tanpa menyebut sumber asli atau tanpa izin pemilik

Jika kemudian terbukti terjadi pelanggaran terhadap pernyataan di atas, maka saya bersedia menerima sanksi apapun termasuk pencabutan gelar akademik.

Lembar pernyataan ini juga memberikan hak kepada Politeknik Negeri Batam untuk mempergunakan, mendistribusikan ataupun memproduksi ulang seluruh hasil Tugas Akhir ini.

Batam, 30 Maret 2015

Rozalia Deviana 4311101045

(4)

iv

KATA PENGANTAR

Puji dan syukur kepada Allah SWT, berkat rahmat serta hidayah-Nya Penulis dapat membuat Tugas Akhir ini dengan judul Implementasi Pathfinding algoritma A* (Astar) Pada Game Petualangan Labirin Rahasia. Adapun tujuan penulisan laporan Tugas Akhir ini adalah sebagai salah satu syarat untuk kelulusan. Laporan Tugas Akhir ini disusun berdasarkan data yang diperoleh dari tempat penulis melakukan Tugas Akhir, penjelasan dari para dosen, dan buku – buku yang berhubungan dengan tugas yang penulis buat.

Laporan Tugas Akhir ini tidak akan tercapai tanpa bantuan, dorongan, dukungan, dan motivasi dari berbagai pihak, untuk itu penulis ingin mengucapkan terima kasih terutama kepada :

1. Ibu dan Ayah yang telah memberikan dukungan penuh serta do’a.

2. Bapak Dr. Priyono Eko Sanyoto selaku Direktur Politeknik Negeri Batam.

3. Ari Wibowo, MT selaku Koordinator Tugas Akhir.

4. Riwinoto, ST, M.KOM selaku Dosen Pembimbing Tugas Akhir.

5. Bapak / Ibu Dosen Teknik Multimedia dan Jaringan atas kritik dan saran yang sangat bermanfaat.

6. Cahya Miranto dan Ardiman Firmanda yang telah memberikan masukan.

7. Teman – teman Teknik Multimedia dan Jaringan Angkatan 2011 yang telah memberikan semangat.

Dalam penyusunan Laporan ini penulis menyadari masih terdapat banyak kekurangan di dalamnya, sehingga penulis mengharapkan kritik dan saran yang membangun dari pembaca dan sebagai acuan untuk masa yang akan datang.

Semoga laporan ini dapat bermanfaat bagi pembaca yang ingin mengembangkan game yang serupa.

Batam, 30 Maret 2015

Penulis

(5)

v

ABSTRAK

Labirin adalah jaringan jalan yang rumit dan berliku – liku. Sejak zaman dahulu, labirin telah digunakan dalam berbagai kepentingan, mulai dari proteksi keamanan hingga hiburan. Pada umumnya, labirin dibuat untuk tujuan hiburan.

Sangat sulit bila seseorang yang asing dengan daerah tersebut untuk mencari jalan keluar. Ini adalah latar tempat yang tepat untuk game yang bertemakan petualangan. Memiliki efek positif berupa peningkatan kecepatan berpikir anak dan dengan bentuk visual 3D menjadi alasan kuat dibangunnya game Petualangan Labirin Rahasia. Game lebih menarik dengan kecanggihan kecerdasan buatan.

Salah satu metode kecerdasan buatan yang sering digunakan dalam game adalah pathfinding. Penulis mengembangkan pathfinding A* (Astar) pada game Petualangan Labirin Rahasia. Dengan adanya NPC yang dapat menyerang player menjadikan game Petualangan Labirin Rahasia semakin menantang. Berdasarkan pengujian pergerakan animasi NPC, seluruh gerakan animasi NPC telah berhasil dilakukan. Sedangkan berdasarkan pengujian pencarian rute pathfinding A*, seluruh path yang ditemukan sesuai dengan yang diharapkan. Hasil pengujian terhadap responden target kisaran usia 10 s/d 18 tahun menunjukkan bahwa game Petualangan Labirin Rahasia dapat diterima dan layak dimainkan berdasarkan aspek visual, intelektual dan tingkat kesulitannya.

Kata kunci : Petualangan, Labirin, 3D, Kecerdasan Buatan, Pathfinding A*

(Astar), NPC (Non Playable Character)

(6)

vi

ABSTRACT

The labyrinth is a complex network of roads and winding. Since ancient times, the labyrinth has been used in a variety of interests, ranging from security protection to entertainment. In general, the maze was made for entertainment purposes. Very difficult when someone unfamiliar with the area to find a way out. It is against the right place for adventure-themed games. Have a positive effect by increasing the speed of the child's thinking and the shape of the 3D visuals are strong reasons game The Adventure Secret Maze built. More interesting game with the sophistication of artificial intelligence. One of the methods of artificial intelligence that is often used in the game is pathfinding. The author developed a pathfinding A * (Astar) on game The Adventure Secret Maze. With the NPC that can attack the player makes the game more challenging Secret Adventure Maze.

Based on the animated movement testing the NPC, the NPC animations whole movement has been successfully carried out. While based testing A * pathfinding route search, the entire path is found as expected. Results of testing against a target respondents age range 9 s / d 13 years shows that the game Adventure Maze Secret acceptable and feasible played by the visual aspect, the intellectual and the degree of difficulty.

Keywords : Adventure, Maze, 3D, Artificial Intelligent, Pathfinding A*

(Astar), NPC (Non Playable Character)

(7)

vii

DAFTAR ISI

LEMBAR PENGESAHAN ... ii

LEMBAR PERNYATAAN ... iii

KATA PENGANTAR ... iv

ABSTRAK ... v

ABSTRACT ... vi

DAFTAR ISI ... vii

DAFTAR GAMBAR ... ix

DAFTAR TABEL ... xi

DAFTAR DIAGRAM ... xii

BAB I PENDAHULUAN ... 1

I.1 Latar Belakang ... 1

I.2 Rumusan Masalah ... 4

I.3 Batasan Masalah ... 4

I.4 Tujuan Penelitian ... 4

I.5 Sistematika Penulisan ... 4

BAB II TINJAUAN PUSTAKA ... 6

II.1 Personal Computer Game ... 6

II.2 Game ... 6

II.2.1 Macam – macam Game ... 6

II.3 Labirin ... 8

II.4 Perancangan Game Menggunakan UML, Scriptwriting dan Storyboard ... 8

II.4.1 UML ... 8

II.4.2 Scriptwriting ... 15

II.4.3 Storyboard ... 15

II.5 Unity 3D ... 16

II.6 Autodesk Maya 3D ... 19

II.7 AI (Artificial Intellegence) ... 19

II.8 Metode – metode Pathfinding ... 20

II.8.1 Breadth-First Search ... 21

II.8.2 Depth-First Search ... 21

(8)

viii

II.8.3 Algoritma Dijkstra ... 22

II.8.4 Algoritma A* (Astar) ... 22

BAB IIIANALISIS DAN PERANCANGAN ... 26

III.1 Sinopsis Game ... 26

III.2 Deskripsi Umum Sistem ... 26

III.2.1 Lingkungan Pengembangan ... 27

III.2.2 Lingkungan Operasional ... 28

III.3 Karakteristik Pengguna ... 28

III.4 Fitur Utama Perangkat Lunak ... 28

III.5 Kebutuhan Fungsional ... 28

III.6 Kebutuhan Non Fungsional ... 29

III.7 UML ... 29

III.7.1 Use Case Diagram ... 29

III.7.2 Robustness Diagram ... 30

III.7.3 Sequence Diagram ... 32

III.7.4 Class Diagram ... 35

III.8 Scriptwriting ... 35

III.9 Storyboard ... 36

BAB IVIMPLEMENTASI ... 37

IV.1 Implementasi Objek NPC ... 37

BAB V PENGUJIAN... 39

V.1 Pengujian Animasi NPC ... 39

V.2 Pengujian Pencarian Rute ... 41

V.3 Pengujian Animasi NPC ketika Mencari Rute ... 46

V.4 Form Kuisioner Pengujian ... 49

V.5 Hasil Data Kuisioner ... 50

BAB VIPENUTUP... 56

VI.1 Kesimpulan ... 56

VI.2 Saran ... 56

DAFTAR PUSTAKA ... 57 LAMPIRAN

(9)

ix

DAFTAR GAMBAR

Gambar II. 1 Labirin ... 8

Gambar II. 2 Actor ... 10

Gambar II. 3 Use Case ... 10

Gambar II. 4 Connector ... 11

Gambar II. 5 Connector ... 11

Gambar II. 6 Include ... 11

Gambar II. 7 Extends... 12

Gambar II. 8 Generalisasi ... 12

Gambar II. 9 Robustness Diagram ... 13

Gambar II. 10 Simbol object dan action ... 13

Gambar II. 11 Sequence Diagram ... 14

Gambar II. 12 Class dalam notasi UML ... 15

Gambar II. 13 Contoh Scriptwriting ... 15

Gambar II. 14 Contoh Storyboard ... 16

Gambar II. 15 Logo Unity 3D ... 16

Gambar II. 16 Tampilan Standar Unity 3D ... 17

Gambar II. 17 Logo Autodesk Maya 3D ... 19

Gambar II. 18 Metode Pencarian ... 20

Gambar II. 19 Breadth-First Search ... 201

Gambar II. 20 Depth-first Search... 202

Gambar II. 21 Ilustrasi Contoh Soal untuk Algoritma A* ... 244

Gambar II. 22 Ilustrasi Langkah Pertama dengan Algoritma A* ... 244

Gambar II. 23 Ilustrasi setelah beberapa kali proses dengan Algoritma A* ... 255

Gambar II. 24 Ilustrasi Kondisi Solusi Algoritma A* ... 255

Gambar III. 1 Desain Umum Sistem ... 26

Gambar III. 2 Use Case Diagram Game ... 29

Gambar III. 3 Robustness Diagram Game ... 30

Gambar III. 4 Sequence Diagram Layar Utama ... 32

Gambar III. 5 Sequence Diagram Bermain ... 33

Gambar III. 6 Sequence Diagram Cara Bermain ... 34

(10)

x

Gambar III. 7 Sequence Diagram Tentang Kami ... 34 Gambar III. 8 Class Diagram... 35

(11)

xi

DAFTAR TABEL

Tabel III. 1 Spesifikasi Notebook Lingkungan Pengembangan ... 27

Tabel III. 2 Spesifikasi Minimum Sistem ... 28

Tabel III. 3 Scriptwriting Game ... 35

Tabel III. 4 Storyboard Game ... 36

Tabel IV. 1 Implementasi Objek NPC ... 37

Tabel IV. 2 Rancangan dan Implementasi Animasi NPC ... 38

Tabel V. 1 Pengujian Animasi NPC ... 39

Tabel V. 2 Pengujian Pencarian Rute ... 41

Tabel V. 3 Pengujian Animasi NPC ketika Mencari Rute ... 46

Tabel V. 4 Kuisioner Pengujian ... 49

(12)

xii

DAFTAR DIAGRAM

Diagram V. 1 Hasil Pengujian Ketertarikan Gerakan Animasi NPC... 50

Diagram V. 2 Hasil Pengujian Pola Pikir Mencari Jalan Keluar ... 51

Diagram V. 3 Hasil Pengujian Interaksi NPC dengan Player ... 52

Diagram V. 4 Hasil Pengujian Tingkat Kesulitan ... 53

Diagram V. 5 Hasil Pengujian Darah Player ... 54

Diagram V. 6 Perbandingan antara Aspek ... 55

(13)

1

BAB I

PENDAHULUAN

I.1 Latar Belakang

Saat ini komputer telah menjadi kebutuhan bagi masyarakat dalam kehidupan sehari – hari untuk mempermudah menyelesaikan pekerjaan maupun sebagai media hiburan. Perkembangan teknologi saat ini sangat berpengaruh terhadap perkembangan game, tidak terkecuali di Indonesia. Game menjadi alternatif untuk sarana hiburan bagi orang tua, muda, maupun anak – anak. Pengembangan game juga menjadi suatu hal yang menjanjikan di kalangan industri bisnis, terbukti dengan banyaknya perusahaan pengembang game di Amerika, Eropa, dan Asia[1].

Jenis game pun bermacam – macam mulai dari edukasi, petualangan, balapan, teka – teki strategi dan masih banyak jenis game lainnya. Sering kali kita melihat banyak orang yang bermain game salah satu jenisnya adalah game komputer atau sering disebut PC (Personal Computer) game[2].

Game yang dapat digunakan untuk media hiburan salah satunya adalah game petualangan. Game dipilih karena saat ini game menjadi media yang sering digunakan oleh orang – orang untuk menghilangkan kejenuhan setelah seharian beraktivitas. Mereka lebih memilih bermain game dibandingkan harus keluar rumah, terutama game – game yang ada di komputer. Sehingga pengguna game dapat lebih terhibur dan sejenak melupakan aktivitasnya dengan bermain game.

Menurut[3], game petualangan memiliki efek positif berupa peningkatan kecepatan berpikir anak. Oleh karena itu penulis menilai bahwa game petualangan layak untuk dikembangkan.

Salah satu tempat yang cocok untuk latar tempat dari game petualangan adalah labirin. Labirin (maze) adalah permainan yang sudah tidak asing di telinga kita.

Labirin adalah jaringan jalan yang rumit dan berliku – liku. Sejak zaman dahulu,

(14)

2 labirin telah digunakan dalam berbagai kepentingan, mulai dari proteksi keamanan hingga hiburan. Pada umumnya, labirin dibuat untuk tujuan hiburan.

Dalam kehidupan nyata, labirin dapat ditemukan pada susunan jalan kecil atau gang – gang di kawasan perumahan. Sangat sulit bila seseorang yang asing dengan daerah tersebut untuk mencari jalan. Bila seseorang mengetahui metode untuk keluar dari sebuah labirin, maka mereka dapat dengan mudah mengatasi kesulitan yang dirasakan[4].

Pada beberapa literatur terdapat beberapa jenis game petualangan dengan latar tempat labirin. Seperti game “Labirin Hantu”[5], game “Ball in a Labyrinth”[6], dan game “Scariest Maze Game 2”[7].

Game “Labirin Hantu” memiliki tampilan grafis 2D ini dikembangkan oleh pengembang game lokal Cupcorn yang merupakan game dengan tema horor.

Dalam game ini pemain harus mencari jalan keluar dan pemain harus menghadapi sejumlah hantu untuk memecahkan misteri labirin dengan menggunakan beberapa peralatan berupa jaket dan alat lain yang telah disediakan.

Game “Ball in a Labyrinth” yaitu permainan labirin dengan sebuah obyek bola yang cara memainkannya dengan menggunakan mouse untuk menggiring bola supaya tidak jatuh ke dalam lubang. Pemain harus menggiring bola tersebut hingga mencapai titik finish sehingga akan melanjutkan ke level berikutnya.

Game ini memiliki tampilan grafis 2D.

Game “Scariest Maze Game 2” yaitu permainan labirin 2D yang menggunakan satu area untuk memandu sebuah obyek lingkaran berwarna biru menuju titik finish berwarna merah. Game ini akan melanjutkan ke level selanjutnya apabila pemain berhasil menuju titik finish.

Oleh karena itu, berdasarkan masalah diatas penulis mempertimbangkan untuk mengembangkan game labirin dengan tampilan grafis 3D serta mengambil latar tempat dengan tema horor. Game petualangan ini menargetkan pemain dengan

(15)

3 kisaran usia 10 s/d 18 tahun sebagai media hiburan yang mudah dimainkan serta menantang pemain untuk memainkannya. Pemain akan memainkan sebuah karakter yang dapat mengekplorasi suatu tempat. Game petualangan ini dinamakan ”Petualangan Labirin Rahasia” dalam game ini pemain harus memacu pola pikir bagaimana cara menghindari musuh dan rintangan, mengumpulkan harta karun, serta mencari pintu finish agar dapat mengakhiri permainan.

Petualangan dimulai dari home base, pemain harus berjalan menyusuri hutan dan mencari lubang rahasia untuk menuju pintu labirin. Dilabirin inilah pemain akan memulai petualangannya mencari harta karun dan mencari jalan keluar dari labirin yang penuh akan rintangan dan musuh.

Untuk membuat game lebih menarik, dibutuhkan NPC (Non Playable Character).

NPC adalah karakter yang mampu berinteraksi dengan object di dalam dunia game dan tindakkannya tidak dapat dikendalikan oleh pemain. Dengan adanya penerapan AI (Artificial Intelligence) pada NPC di dalam game, diharapkan dapat membuat game lebih menarik.

Beberapa metode Pathfinding yang diterapkan dalam game yaitu Breadth-first Search, Depth-first Search, Algoritma Dijkstra dan Algoritma A* (Astar). Metode Breadth-first search dan Depth-first Search adalah metode pencarian rute tanpa menghitung jarak yang harus ditempuh. Sedangkan Algoritma Dijkstra dan Algoritma A* sudah memperhitungkan jarak yang harus ditempuh dalam mencapai tujuan. Saat ini banyak game modern menggunakan Algoritma A*

karena A* mampu menjamin akan menemukan rute terpendek[12]. Algoritma A*

diperkenalkan oleh Peter Hart, Nils Nilsson dan Bertram Raphael pertama kali pada tahun 1968[28].

(16)

4 I.2 Rumusan Masalah

Rumusan masalah dari Tugas Akhir ini :

1. Bagaimana mengimplementasikan metode Pathfinding dalam game Petualangan Labirin Rahasia ?

2. Bagaimana mengimplementasikan metode Pathfinding dengan Algoritma A* (Astar) pada NPC menggunakan Unity 3D dalam game Petualangan Labirin Rahasia ?

I.3 Batasan Masalah

Tugas Akhir ini hanya menangani :

1. Implementasi dilakukan menggunakan metode Pathfinding dengan Algoritma A* (Astar).

2. Game ini berbasis Third Person Shooter.

3. Game ini tidak menangani pemilihan karakter.

4. Game ini berbasis desktop.

I.4 Tujuan Penelitian

Tujuan dari Tugas Akhir ini adalah :

1. Membuat NPC yang dapat menuju lokasi tertentu sendiri dengan Pathfinding algoritma A* (Astar).

2. Membuat game berbasis 3D menggunakan metode Pathfinding algoritma A* (Astar) pada NPC.

I.5 Sistematika Penulisan

Penulisan laporan Tugas Akhir ini dibagi menjadi beberapa bab, yaitu :

BAB I : PENDAHULUAN

Berisi latar belakang, tujuan Tugas Akhir, perumusan masalah, batasan masalah, gambaran pelaksanaan Tugas Akhir dan sistematika penulisan.

BAB II : TINJAUAN PUSTAKA

(17)

5 Berisi teori yang diambil dari kutipan buku yang berupa pengertian dan definisi.

BAB III : ANALISIS DAN PERANCANGAN

Berisi penjelasan perancangan game, model yang dibutuhkan, pembuatan model.

BAB IV : IMPLEMENTASI

Berisi hasil dan pembahasan dari rancangan game yang dibuat.

BAB V : PENGUJIAN

Berisi pengujian dari game yang telah dibuat.

BAB VI : PENUTUP

Berisi kesimpulan terhadap game yang telah dibuat.

Kesimpulan diambil berdasarkan hasil pengujian yang dilakukan. Selain itu juga berisi saran – saran yang berguna bagi pengembangan game ini selanjutnya.

(18)

6

BAB II

TINJAUAN PUSTAKA

II.1 Personal Computer Game

Personal Computer Game (PC Game) adalah permainan yang dimainkan pada komputer pribadi, bukan pada console video game atau mesin arcade. PC Game telah berevolusi dari grafis dan gameplay sederhana ke visual yang lebih canggih.

PC Game yang dibuat oleh satu atau lebih pengembang game, biasanya bersama dengan spesialis lainnya (seperti seniman game) dan baik dipublikasikan secara mandiri atau melalui penerbit pihak ketiga. Mereka kemudian dapat didistribusikan pada media fisik seperti DVD dan CD, seperti Internet-download, mungkin disebarkan kembali dengan bebas, perangkat lunak, atau melalui jasa pengiriman online seperti Direct2Drive dan Uap. PC Game sering membutuhkan hardware khusus di komputer pengguna untuk bermain, seperti generasi spesifik graphics processing unit atau koneksi internet untuk bermain online, meskipun persyaratan sistem bervariasi dari permainan ke permainan[8].

II.2 Game

Game atau lebih dikenal dengan video game adalah salah satu bentuk hiburan elektronik yang memungkinkan pemain berinteraksi dan mendapat feedback di media visual pada tampilan layar video melalui input device. Perangkat elektronik tersebut dapat berupa PC, mesin arcade atau console game. Permainan tersebut juga dapat dimainkan pada super komputer hingga perangkat genggam[11].

II.2.1 Macam – macam Game

1. Fun Games : permainannya seperti skate board, bilyard, catur, puzzle, tetris, golf, Windows Entertainment Pack Games dan semua permainan yang animasinya sedikit dan pembuatannya relatif mudah.

Permainan semacam ini terlihat mudah dari segi grafiknya tetapi biasanya sulit dalam algoritma.

(19)

7 2. Arcade Games : semua permainan yang mudah dimengerti,

menyenangkan dan grafiknya bagus walau biasanya sederhana. Pengertian mudah dimengerti dan menyenangkan dikarenakan permainan ini hanyalah berkisar pada hal-hal yang disenangi umum seperti pukul memukul, tembak menembak, tusuk menusuk, kejar mengejar dan semua yang mudah dan menyenangkan. Yang termasuk kedalam permainan jenis ini adalah Prince of Persia, Street Fighter, Golden Axe, Grand Prix, Robocop.

3. Strategic Games : biasanya permainan strategi perang atau bisa juga permainan lain tetapi tetap saja memerlukan strategi untuk memenangkannya seperti startegi bisnis dan strategi politik.

4. Simulation Games : dari semua jenis permainan yang ada, masing – masing memiliki tingkat kesulitan dan kemudahannya, jika bukan algoritmanya maka akan mudah dalam hal animasinya, akan tetapi game simulasi bisa disebut sebagai jenis permainan yang paling sulit, baik algoritma pembuatannya maupun animasinya. Permainan jenis ini juga yang paling membuat pusing dibandingkan dengan permainan jenis lainnya. Algoritmanya sangat sulit sebab harus memperhitungkan semua kejadian dalam kondisi sebenarnya. Berbagai efek animasi yang dibuat tidak cukup bermodalkan ahli grafik dan algoritma saja, tetapi sedikitnya harus mengerti persoalan matematika, teknik dan fisika. Contoh permainan jenis ini adalah Stellar7, F-15 Strike Eagle, Flight Simulator 98, F-14 Tomcat, F-16 Falcon, Jet Fighter.

5. Adventure Games : terbagi atas tiga macam yaitu petualangan biasa (Multi Layered Adventure), Dungeon-Underworld Adventure (3D Adventure) dan Roll Playing Game Adventure. Biasanya algoritma untuk membuat game ini adalah sedang – sedang saja sampai sulit. Tapi grafik jenis permainan ini benar-benar sulit. Contoh beberapa permainan jenis ini adalah Space Quest IV, Labyrinth of Word, War II dan Diablo.

Secara umum game petualangan tidak berjalan dengan real time tetapi dengan game ber-genre action-adventure pemain menggunakan waktu

(20)

8 sebanyak mungkin pada waktu giliran bermain dan tidak ada yang terjadi pada dunia game sebelum pemain memberikan sebuah perintah[9].

II.3 Labirin

Gambar II. 1 Labirin

Labirin (maze) adalah permainan yang sudah tidak asing di telinga kita. Labirin adalah jaringan jalan yang rumit dan berliku-liku. Sejak zaman dahulu, labirin telah digunakan dalam berbagai kepentingan, mulai dari proteksi keamanan hingga hiburan. Pada umumnya, labirin dibuat untuk tujuan hiburan. Dalam kehidupan nyata, labirin dapat ditemukan pada susunan jalan kecil atau gang-gang di kawasan perumahan. Sangat sulit bila seseorang yang asing dengan daerah tersebut untuk mencari jalan. Bila seseorang mengetahui metode untuk keluar dari sebuah labirin, maka mereka dapat dengan mudah mengatasi kesulitan yang dirasakan[12].

II.4 Perancangan Game Menggunakan UML, Scriptwriting dan Storyboard Berdasarkan [13], proses pengembangan suatu software berbasis object menggunakan UML. Sedangkan jalan cerita game sendiri dapat dijabarkan pada Scriptwriting dan Storyboard.

II.4.1 UML

Unified Modelling Language (UML) adalah sebuah bahasa yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem.

(21)

9 Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa – bahasa berorientasi object seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modelling aplikasi prosedural dalam VB atau C[14].

Terdapat banyak diagram dalam UML yang dapat digunakan untuk mendesain suatu sistem, tidak harus semua diagram dibuat, tetapi sangat membantu karena diagram yang dibuat dapat membantu analisis yang sangat cermat. Berikut ini beberapa diagram yang umumnya dibuat antara lain :

II.4.1.1 Use Case Diagram

Menurut [14], Use Case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua fitur yang ada pada sistem.

Menurut[15], elemen – elemen dalam Use Case diagram terdiri dari : 1. Actor

Actor adalah sebuah Player eksternal yang langsung berhubungan dengan sistem, yaitu object atau sekumpulan dari object yang berkomunikasi secara langsung dengan sistem tetapi Actor bukan bagian dari sistem. Setiap Actor mewakili sebuah object yang bereaksi dengan berbagai cara terhadap sistem.

Sebuah Actor memiliki sebuah tujuan khusus yang pasti yang digambarkan melalui interaksi yang dilakukannya terhadap sistem.

Actor yang sama dapat merepresentasikan object dari class yang berbeda, yang berinteraksi terhadap sistem dengan cara yang sama.

Lambang dari Actor dapat dilihat pada Gambar berikut :

(22)

10

Gambar II. 2 Actor

2. Use Case

Use Case merupakan serangkaian transaksi yang dilakukan oleh sistem dengan berinteraksi dengan Actor. Setiap Use Case melibatkan satu atau lebih Actor sebagaimana sistem itu sendiri. Setiap Use Case menyangkut rangkaian pesan antara sistem dan Actor-nya.

Kondisi error juga merupakan bagian dari use case. Pada dasarnya, Use Case membawa semua hal yang bersangkutan dengan fungsionalitas sistem, yang terdiri dari tindakan normal yang dilakukan sistem, variasi dalam tindakan normal sistem, tanpa kecuali kondisi, kondisi error, dan pembatalan permintaan. Dalam sebuah model yang lengkap, Use Case membagi – bagi fungsionalitas dari sistem[15]. Gambar II.3 memperlihatkan lambang dari sebuah Use Case.

Gambar II. 3 Use Case

3. Connector

Connector menunjukkan hubungan antara suatu Use Case dengan Actor maupun dengan Use Case lainnya. Connector dibagi menjadi tiga jenis, yaitu :

a. Asosiasi, menggambarkan hubungan antara Actor dan Use Case yang digambarkan dengan garis anak panah yang menyentuh Use Case yang mengindikasikan bahwa Use Case diimitasi oleh pelaku di ujung lain dari garis. Simbol connector asosiasi dengan anak panah dapat dilihat pada Gambar 6, garis lurus tanpa anak

(23)

11 panah yang mengindikasikan antara Use Case dan Actor.

Simbol connector asosiasi tanpa anak panah ditunjukkan pada Gambar II.5.

b. Dependensi, menggambarkan hubungan antara Use Case dengan Use Case, dimana ada ketergantungan antara Use Case satu dengan yang lain dan digambarkan dengan garis anak panah putus – putus. Ada 2 jenis dependensi, yaitu :

− Include, digunakan jika satu atau lebih Use Case melakukan berbagai langkah fungsionalitas yang sama.

Langkah – langkah yang umum tersebut sebaiknya digabungkan ke dalam Use Case-nya masing-masing.

Lambang dari konektor dependensi include dapat dilihat pada Gambar II.6.

Gambar II. 6 Include Gambar II. 4 Connector

Gambar II. 5 Connector

(24)

12

− Extend, digunakan jika suatu Use Case dapat terdiri dari fungsionalitas yang kompleks yang terdiri dari beberapa langkah, yang membuat logika Use Case sulit dipahami.

Untuk menyederhanakannya, langkah – langkah tersebut diekstrak menjadi Use Case itu sendiri. Lambang dari konektor dependensi extend dapat dilihat pada Gambar II.7.

Gambar II. 7 Extends

c. Generalisasi, bisa disebut juga dengan inherit (inheritance), yang menggambarkan hubungan antar Actor atau antar Use Case, sehingga dapat terlihat Actor atau Use Case yang berlaku sebagai anak yang merupakan bagian dari Actor atau Use Case induk. Simbol dari generalisasi dapat dilihat pada Gambar II.8.

Gambar II. 8 Generalisasi

II.4.1.2 Robustness Diagram

Robustness diagram adalah membantu untuk menjembatani adanya ruang kosong dari analisis desain yang sebenarnya terhadap implementasi koding. Menganalisa teks Use Case dan mengidentifikasi anggapan awal dari object untuk setiap Use Case. Robustness Diagram ini diklasifikasikan ke dalam : boundary object, entity object, dan Controller. Analisis dilakukan dengan cara membuat robustness diagram yang menghubungkan antara analisis dan desain. Pada robustnesss diagram, dikenal 3 jenis istilah yaitu, boundary object merupakan interface antara sistem dan dunia luar. Entity object merupakan class dari model domain.

Controlers aladah perekat antara boundary object dan entity object. Robustness Diagram pada dasarnya adalah UML disederhanakan komunikasi atau kolaborasi diagram yang menggunakan simbol grafis[15].

(25)

13

Gambar II. 9 Robustness Diagram

Model domain merupakan daftar class sementara yang hanya mempunyai atribut yang terbatas. Berikut adalah simbol pada robustness diagram.

Gambar II. 10 Simbol object dan action

Boundary Object bersifat nouns dan controller bersifat verbs. Beberapa aturan ketika membuat diagram robustness adalah noun dapat berkomunikasi dengan verbs , noun tidak dapat berkomunikasi dengan noun lain dan verbs dapat berkomunikasi dengan verbs lain. Robustness diagram bukanlah diagram standar UML namun sebagai diagram alat bantu dalam mengidentifikasi class diagram dan sequence diagram[15].

II.4.1.3 Sequence Diagram

Sequence diagram digunakan untuk menggambarkan perilaku pada sebuah skenario. Diagram ini menunjukkan sejumlah contoh object dan pesan yang diletakkan di antara objects ini di dalam Use Case. Komponen utama sequence diagram terdiri atas object yang dituliskan dengan kotak segiempat bernama.

(26)

14 Pesan diwakili oleh garis dengan tanda panah dan waktu yang ditunjukkan dengan progress vertical[15].

Gambar II. 11 Sequence Diagram

II.4.1.4 Class Diagram

Class dalam notasi UML digambarkan dengan kotak. Nama class menggunakan huruf besar di awal kalimatnya dan di letakkan di atas kotak. Bila class mempunyai nama yang terdiri dari 2 (dua) suku kata atau lebih, maka semua suku kata digabungkan tanpa spasi dengan huruf awal tiap suku kata menggunakan huruf besar. Atribute adalah properti dari sebuah class. Attribute ini melukiskan batas nilai yang mungkin ada pada object dari class. Sebuah class mungkin mempunyai nol atau lebih attribute. Operation adalah sesuatu yang bisa dilakukan oleh sebuah class atau yang anda (atau class yang lain) dapat lakukan untuk sebuah class. Responsibility adalah keterangan tentang apa yang akan dilakukan class yaitu apa yang akan di capai oleh attribute dan operation[15].

(27)

15

Gambar II. 12 Class dalam notasi UML

II.4.2 Scriptwriting

Scriptwriting atau skenario merupakan urutan proses yang akan dibuat dalam game dari awal hingga akhir dalam proses pengembangan game. Scriptwriting berisi pergerakan dasar karakter, lingkungan, waktu, tindakan dan dialog. Segala sesuatu yang dibuat di dalam Scriptwriting bertujuan menjelaskan apa yang akan dilihat dan didengar oleh orang yang menontonnya[16]. Contohnya[10] dapat dilihat pada gamba dibawah ini.

Gambar II. 13 Contoh Scriptwriting

II.4.3 Storyboard

Storyboard merupakan Scriptwriting dalam bentuk gambar yang nantinya akan digunakan dalam proses pengembangan. Storyboard merupakan bentuk visual dari script. Bentuknya terlihat seperti komik, namun bisa dikatakan bahwa Storyboard adalah gambaran awal dari hasil yang akan dibuat. Dalam Storyboard ada beberapa hal yang perlu dibahas, antara lain : perencanaan penampakan kamera, menampilkan visual effect (VFX) dan sound effect (SFX) yang mungkin saja

(28)

16 terjadi, pose karakter, durasi, serta scene apa saja yang akan ditampilkan dalam pembuatan game[27]. Berikut adalah contoh[10] dari Storyboard.

Gambar II. 14 Contoh Storyboard

II.5 Unity 3D

Gambar II. 15 Logo Unity 3D

Unity 3D adalah software penyusun yang terintegrasi untuk membuat Game 3D atau konten interaktif lain seperti visualisasi arsitektur atau konten 3D interaktif lainnya. Unity 3D berjalan di Microsoft Windows dan Mac OS dan dapat mengembangakan game yang berjalan di Windows, Mac, Xbox 360, PlayStation3, Web, Wii, iOS, AnDrone dan baru – baru ini Flash. Untuk versi Web diperlukan Unity web player plugin, yang berjalan pada Mac dan Windows.

Web player plugin bisa dijalankan di Mac sebagai widgets[26]. Berikut merupakan tampilan standar pada Unity 3D.

(29)

17

Gambar II. 16 Tampilan Standar Unity 3D

1. Workspace, tempat untuk membuat game, kalau untuk game 3D dapat memasukkan benda, memutar benda, mengatur lokasi dengan melihat workspace ini.

2. Inspector, merupakan tempat untuk mengatur property dari resources yang ada, seperti misalnya ukuran gambar, tekstur.

3. Hirearchy, merupakan tempat untuk setiap object yang ada di unity seperti : karakter, object pohon, air, awan dan object yang akan dipakai.

4.

Resources, tempat menyimpan resource, misalkan gambar untuk tekstur, suara, font, Scene.

Unity memiliki beberapa komponen yang harus diketahui oleh perancang dan pengembang game, yaitu :

- Scenes

Scene adalah level. Atau area didalam 3D Space yang menampung banyak object games. Jika membuat beberapa level didalam games, maka didalam project Unity akan dibagi menjadi beberapa Scenes.

- Package

(30)

18 Package diibaratkan seperti compress file seperti Zip atau Rar, di dalam Unity packages bisa menggabungkan semua materi games baik itu berupa file ataupun folder-nya dan digabungkan menjadi satu.

- Prefabs

Prefabs merupakan fitur pada unity yang menyimpan asset yang sudah di- import menjadi suatu bentuk object yang dapat digunakan sebagai template pada scene. Asset yang dibuat menjadi prefabs dapat digunakan secara langsung didalam scene tanpa harus melakukan pengaturan ulang pada asset tersebut.

- Game Object

Game Object adalah segala keperluan dalam membangun sebuah level games.

- Component

Component adalah grup dari suatu fungsi yang berisikan parameter - parameter yang mendefinisikan seperti apa bentuk ataupun sifat dari game object. dengan kata lain component mendefinisikan game object.

- Asset

Asset adalah aspek dari permainan yang akan direferensikan oleh beberapa component atau asset itu sendiri , atau kelengkapan penunjang pembuatan game. Asset dibagi 2, yaitu external dan internal. Untuk external, import semua kebutuhan untuk pembuatan games yang mencakup, 3D Models, Textures, Sound effects, Script sedangkan internal sudah ada didalam Unity seperti, Materials, Shaders, Cube Maps, Physics Materials, Prefabs.

- Coding

Coding merupakan bagian yang paling penting dalam perancangan sebuah game. Seperti yang telah dijelaskan diatas, bahasa pemrograman yang dapat digunakan di dalam unity adalah C#, Javascript dan Boo. Penulisan coding dapat menggunakan editor yang sudah disediakan oleh unity yaitu Uniscite.

(31)

19 II.6 Autodesk Maya 3D

Gambar II. 17 Logo Autodesk Maya 3D

Autodesk Maya 3D adalah software komputer pengelola grafis 3D, yang berjalan pada operating system windows dan OS X, Autodesk Maya 3D awalnya dikembangkan oleh Alias System Corporation sebelum hak miliknya di beli oleh Autodesk, Inc. Maya 3D banyak di gunakan untuk membuat model 3D, animation object serta pengembang film animasi.

II.7 AI (Artificial Intellegence)

Kecerdasan buatan atau artificial intelligence merupakan salah satu bagian ilmu komputer yang membuat agar mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia. Pada awal diciptakannya, komputer hanya difungsikan sebagai alat hitung saja. Namun seiring dengan perkembangan jaman, maka peran komputer semakin mendominasi kehidupan umat manusia. Komputer tidak lagi digunakan sebagai alat hitung, lebih dari itu, komputer diharapkan untuk dapat diberdayakan untuk mengerjakan segala sesuatu yang bisa dikerjakan oleh manusia[27].

AI dapat dibagi menjadi 2, yang pertama adalah agent, yang berarti karakter virtual dalam dunia game. Biasanya adalah musuh, tapi bisa juga NPC, karakter bantuan, atau bisa juga digunakan untuk suatu animasi[18].

Menurut[25] permasalahan pencarian merupakan yang sering dijumpai oleh peneliti dibidang kecerdasan buatan. Permasalahan ini merupakan hal penting dalam menentukan keberhasilan sistem kecerdasan buatan. Metode pencarian yang pertama adalah metode yang sederhana yang hanya berusaha mencari kemungkinan penyelesaian. Metode yang termasuk pada bagian ini adalah depth- first search, hill climbing, breadth-first search, beam search dan best-first search.

(32)

20 Yang kedua, adalah metode yang lebih kompleks yang akan mencari jarak terpendek. Metode ini adalah British Museum Procedure, Branchand Bound, Dynamic Programming dan A* (Astar). Metode – metode ini digunakan pada saat harga perjalanan untuk mencari kemungkinan menjadi perhitungan.

Yang ketiga, adalah beberapa metode yang diterapkan saat berhadapan dengan musuh. Prosedur ini adalah minimax search, alpha – beta prunning. Metode ini banyak digunakan pada program – program permainan seperti catur dan sebagainya. Pada gambar II.18 terdapat bagan untuk Metode Pencarian.

Gambar II. 18 Metode Pencarian

Dilihat dari cara algoritma mengembangkan node dalam proses pencarian, gambar bagan metode penulusuran dibagi menjadi dua golongan, yaitu pencarian buta (blind search) dan pencarian terbimbing (heuristic search).

II.8 Metode – metode Pathfinding

- Undirected (Tidak Terarah) atau blind search, adalah pencarian rute namun tidak mempertimbangkan cost yang dibutuhkan untuk mencapai tujuan. Contohnya adalah: Breadth-first search dan Depth-first search.

- Directed (Terarah) search, yaitu pencarian terarah dengan mempertimbangkan cost yang dibutuhkan untuk mencapai tujuan.

(33)

21 Pathfinding yang menggunakan algoritma ini contohnya yaitu : Algoritma Dijkstra dan Algoritma A* (AStar).

II.8.1 Breadth-First Search

Breadth-first search adalah metode pencarian yang melakukan pencarian secara melebar yang mengunjungi simpul secara preorder yaitu mengunjungi suatu simpul kemudian mengunjungi semua simpul yang bertetangga dengan simpul tersebut terlebih dahulu. Selanjutnya, simpul yang belum dikunjungi dan bertetangga dengan simpul-simpul yang tadi dikunjungi, demikian seterusnya.

Berikut contoh gambar yang mejelaskan pencarian Breadth-first search secara urutan dari nomer terkecil hingga terbesar.

Gambar II. 19 Breadth-First Search

II.8.2 Depth-First Search

Depth-first search (DFS) adalah metode yang melakukan pencarian secara preorder yang mengunjungi anak suatu simpul hingga dasar sebelum simpul tetangganya. Selanjutnya melanjutkan pencarian simpul yang belum dikunjungi dan bertetangga dengan simpul – simpul yang tadi dikunjungi, demikian seterusnya. Berikut contoh gambar yang mejelaskan algoritma depth-first search secara urutan, dari nomer terkecil hingga terbesar :

(34)

22

Gambar II. 20 Depth-first Search

II.8.3 Algoritma Dijkstra

Algoritma Dijkstra adalah algoritma pencarian graf yang digunakan untuk menyelesaikan masalah lintasan terpendek dengan satu sumber pada sebuah graf yang tidak memiliki cost sisi negatif, dan menghasilkan sebuah pohon lintasan terpendek. Algoritma Dijkstra bekerja dengan mengunjungi titik didalam peta dimulai dari titik awal. Kemudian berulang kali menguji titik yang terdekat namun belum diuji, dan menyimpan dalam daftar titik yang telah diuji. Pencarian akan melebar dari titik awal hingga berhasil mencapai titik tujuan.

II.8.4 Algoritma A* (Astar)

Salah satu pathfinding algoritma yang terkenal adalah algoritma A* (Astar) dimana algoritma tersebut mempunyai waktu komputasi yang cepat. Algoritma ini bekerja dengan penentuan terlebih dahulu dua buah titik misalnya titik A dan B dimana titik A merupakan titik asal sedangkan titik B merupakan titik tujuan.

Biasanya antara titik A dan B tersebut terdapat penghalang yang akan menentukan jumlah belokan dan jalur terpendek atau terpanjang dari A ke B. Jalur terpendek dari seluruh variasi path yang ada, A* akan menghitung jumlah cost sdari node awal ke node current ditambah perkiraan cost dari node current ke node akhir. A*

akan bekerja dengan baik jika jumlah nodenya tidak terlalu besar.

Berikut adalah pseudo code untuk algoritma A* (Astar)[17].

(35)

23 function A*(start,goal)

closedset := the empty set openset := {start}

came_from := the empty map g[start] := 0

h[start] := heuristic_cost(start, goal) f[start] := g[start] + h[start]

while openset is not empty

x := the node in openset having the lowest f[] value

if x = goal

return reconstruct_path(came_from, came_from[goal])

remove x from openset add x to closedset

foreach y in neighbor_nodes(x) if y in closedset

continue

tentative_g_score := g[x] + dist_between(x,y) if y not in openset

add y to openset

tentative_is_better := true else if tentative_g_score < g_score[y]

tentative_is_better := true else

tentative_is_better := false if tentative_is_better = true

came_from[y] := x g[y] := tentative_g_score h[y] := heuristic_cost(y, goal) f[y] := g_score[y] + h_score[y]

return failure

function reconstruct_path(came_from, current_node) if came_from[current_node] is set

p := reconstruct_path(came_from, came_from[current_node]) return (p + current_node)

else

return current_node

(36)

24 Closedset merupakan tabel node yang telah ditelusuri. Openset merupakan tabel prioritas node came_from path terbaik untuk mencapai suatu node g[] merupakan nilai dari fungsi g(x). h[] merupakan nilai dari fungsi h(x). f[] merupakan jumlah dari g(x) dan h(x). dist_between merupakan fungsi yang menghasilkan jarak antara 2 node yang bersebelahan. heuristic_cost merupakan fungsi yang menghasilkan suatu nilai cost perkiraan berdasarkan kriteria tertentu.

Untuk dapat lebih mengerti mari kita lihat contoh berikut :

Gambar II. 21 Ilustrasi Contoh Soal untuk Algoritma A*

Gambar diatas memperlihatkan soal awal. Titik merah merupakan titik awal, titik hijau merupakan titik akhir yang ingin dituju. Bangun berwarna abu – abu menggambarkan penghalang yang tidak dapat dilewati. Algoritma A* dimulai dengan mengecek tiap node yang bersebelahan dengan titik yang sedang ditelusuri, dalam hal ini titik awal. Kemudian prioritas tiap titik tersebut dimasukkan ke dalam sebuah tabel dan node dengan prioritas tertinggi pada tabel dihapus dari tabel dan dijadikan node yang ditelusuri.

Gambar II. 22 Ilustrasi Langkah Pertama dengan Algoritma A*

(37)

25 Gambar di atas memperlihatkan tahap pertama. Titik merah kedua merupakan node dengan prioritas tertinggi, titik putih merupakan node yang ada dalam tabel prioritas.

Setelah proses diulang beberapa kali akan terlihat seperti gambar dibawah ini.

Gambar II. 2319 Ilustrasi setelah beberapa kali proses dengan Algoritma A*

Titik biru merupakan node yang bertabrakan dengan penghalang dan tidak akan dimasukkan ke tabel.

Gambar II. 2420 Ilustrasi Kondisi Solusi Algoritma A*

Setelah proses mencapai titik akhir, maka akan terlihat seperti gambar di atas.

Garis hijau merupakan solusi yang didapat, Sedangkan tiap titik yang berwarna merupakan node yang sudah ditelusuri.

(38)

26

BAB III

ANALISIS DAN PERANCANGAN

III.1 Sinopsis Game

Game Petualangan Labirin Rahasia merupakan game yang membuat pemain memacu pola pikir bagaimana cara menghindari musuh dan rintangan, mengumpulkan harta karun, serta mencari pintu finish agar dapat mengakhiri permainan.

Petualangan dimulai dari home base, pemain harus berjalan menyusuri hutan dan mencari lubang rahasia untuk menuju pintu labirin. Dilabirin inilah pemain akan memulai petualangannya mencari harta karun dan mencari jalan keluar dari labirin yang penuh akan rintangan dan musuh.

Langkah selanjutnya, setelah harta karun terkumpul, maka pemain harus mencari pintu finish untuk mengakhiri permainan. Dengan persediaan darah 100 poin maka pemain harus bergerak cepat agar tidak kehabisan darah sebelum mencapai pintu finish. Karena darah akan berkurang apabila pemain diserang musuh atau terkena rintangan yang ada.

III.2 Deskripsi Umum Sistem

Game ini dikembangkan dikomputer dan diimplementasikan sebagai aplikasi desktop.

Gambar III. 1 Desain Umum Sistem

(39)

27 Pada lingkungan pengembang menunjukkan proses pengembangan game yang menggunakan 2 aplikasi yaitu Unity 3D sebagai pembentukan karakter serta game engine dengan menggunakan bahasa pemrograman Java dan Autodesk Maya 3D sebagai pemberian texture dan membuat object yang diperlukan pada game.

Setelah dikembangkan, maka akan di export dengan ekstensi .exe sehingga pengguna dapat mencoba bermain game Petualangan Labirin Rahasia.

III.2.1 Lingkungan Pengembangan

1. Install aplikasi Unity 3D pada komputer yang merupakan aplikasi modelling dan game engine dan juga aplikasi Autodesk Maya 3D dalam membantu perancangan karakter, lingkungan beserta teksture yang diperlukan untuk pembuatan game ini.

2. IDE java sudah ada pada Unity 3D.

3. Perancangan awal game menggunakan coretan tangan dan diperbagus melalui Autodesk Maya 3D, kemudian rancangan tersebut di model ulang menggunakan aplikasi Unity 3D dalam bentuk 3 dimensi

4. Setelah model dibentuk, model tersebut akan diberi fitur rigging (penulangan) untuk mempermudah proses animasi.

5. Setelah model di animasikan, model akan masuk ke dalam Unity 3D untuk memproses pembuatan game ini.

Berikut spesifikasi komputer di lingkungan pengembang game

Tabel III. 1 Spesifikasi Notebook Lingkungan Pengembangan

Processor Intel core i5 2.64 GHz

RAM Memory 4GB

Graphic card VGA card Ati Radeon 6470M 1GB

OS Windows 7 home premium

Direct X direct X 11

(40)

28 III.2.2 Lingkungan Operasional

Perancangan game Petualangan Labirin Rahasia ini bisa dimainkan di komputer desktop ataupun notebook dan membutuhkan perangkat speaker sebagai output device.

Tabel III. 2 Spesifikasi Minimum Sistem

Processor Core i3 2,5 Ghz

RAM Memory 4 GB

Graphic Card Intel HD Graphic Operating System Windows XP

Direct X Direct x 9

Output Device Speaker / Earphone

III.3 Karakteristik Pengguna

Game Petualangan Labirin Rahasia diperuntukkan untuk semua kalangan.

III.4 Fitur Utama Perangkat Lunak

Game ini memiliki fitur utama yaitu menampilkan object, character, sound effect, visual effect yang sesuai dengan sudut pandang orang ketiga (third person) dan NPC menggunakan AI pathfinding algoritma A*.

III.5 Kebutuhan Fungsional

Kebutuhan fungsional merupakan proses dan informasi yang harus ada dan dihasilkan oleh game. Berikut kebutuhan fungsional pada game yang akan dibangun :

- F-001 : Game harus menampilkan Layar Utama

- F-002 : Game harus dilengkapi dengan Layar Tentang Kami - F-003 : Game harus dilengkapi dengan Layar Cara Bermain - F-004 : Game harus menampilkan Layar Permainan

- F-005 : Game harus dilengkapi dengan fungsi kontrol karakter utama menggunakan Mouse dan Keyboard

- F-006 : Game harus dilengkapi dengan animasi object NPC

(41)

29 - F-007 : Game harus dilengkapi interaksi karakter object game

- F-008 : Game harus dilengkapi interaksi karakter dengan Musuh Zombie (NPC) dan Monster (NPC)

- F-009 : Game harus dilengkapi interaksi karakter dengan rintangan.

III.6 Kebutuhan Non Fungsional

Kebutuhan non fungsional merupakan sarana untuk mengetahui kelayakan sistem dalam mengetahui spesifikasi kebutuhan. Berikut kebutuhan non fungsional pada game yang akan dibangun ialah sebagai berikut :

- NF-001 : Game harus bisa dijalankan minimal pada windows XP.

- NF-002 : Game harus memiliki tampilan yang menarik.

- NF-003 : Game harus memiliki musuh dan rintangan.

III.7 UML

III.7.1 Use Case Diagram

Use Case diagram merupakan rangkaian struktur yang akan dibangun pada game Petualangan Labirin Rahasia.

Gambar III. 2 Use Case Diagram Game

Player dapat menampilkan layar utama, layar permainan, layar tentang kami dan layar cara bermain. Jika Player telah sampai di akhir game, maka akan ditampilkan layar penutup.

(42)

30 III.7.2 Robustness Diagram

Gambar III. 3 Robustness Diagram Game

(43)

31 Pada saat game dijalankan untuk pertama kali, game akan memberikan tampilan layar utama. Pada Layar Utama game akan memproses object yang terdapat di game Petualangan Labirin Rahasia yaitu Menu, yang akan menampilkan menu cara bermain, menu tentang kami dan menu layar permainan. Jika Player mengklik menu cara bermain maka game akan menampilkan object yang ada pada layar cara bermain. Jika player mengklik menu tentang kami maka game akan menampilkan object yang ada pada layar tentang kami. Jika player mengklik menu layar permainan maka system akan menampilkan object seperti object penunjang game, karakter, dan NPC. Player dapat menggerakkan karakter. Jika karakter terkena NPC, maka karakter harus lari dan darahnya berkurang. NPC dimunculkan dengan Pathfinding algoritma A* (Astar) yang difungsikan sebagai mengejar player. Player juga harus menemukan harta karun untuk mendapatkan skor dan menemukan pintu finish untuk mengakhiri permainan. Apabila Player menyentuh trigger scene, maka akan menuju ke dalam layar penutup.

(44)

32 III.7.3 Sequence Diagram

III.7.3.1 Sequence Diagram Layar Utama

Gambar III. 4 Sequence Diagram Layar Utama

Ketika layar utama ditampilkan, sistem akan memanggil menu yang telah disediakan. Terdapat 3 menu pada layar utama, yaitu main menu, menu cara bermain dan menu tentang kami. Ketika salah satu menu diklik, maka sistem akan menampilkan layar yang dipilih.

(45)

33 III.7.3.2 Sequence Diagram Bermain

Gambar III. 5 Sequence Diagram Bermain

(46)

34 Ketika layar permainan ditampilkan, sistem akan menampilkan objects seperti object penunjang game, karakter, dan NPC. Player dapat menggerakkan karakter.

Jika karakter terkena NPC, maka karakter harus lari dan darahnya berkurang. NPC dimunculkan dengan Pathfinding algoritma A* (Astar) yang difungsikan untuk mengejar Player. Player juga harus menemukan harta karun untuk mendapatkan skor dan menemukan pintu finish untuk mengakhiri permainan. Apabila Player menyentuh trigger scene, maka akan menuju ke dalam layar penutup.

III.7.3.3 Sequence Diagram Cara Bermain

Gambar III. 6 Sequence Diagram Cara Bermain

III.7.3.4 Sequence Diagram Tentang Kami

Gambar III. 7 Sequence Diagram Tentang Kami

(47)

35 III.7.4 Class Diagram

Gambar III. 8 Class Diagram

III.8 Scriptwriting

Scriptwriting yang digunakan untuk pencarian rute karakter Zombie dan Monster NPC pada game ini adalah :

Tabel III. 3 Scriptwriting Game

INT. Karakter Zombie dan Monster NPC (NPC AI)

Karakter Zombie dan Monster (NPC) akan menuju suatu titik tujuan dengan mencari rute terdekat kemudian NPC bergerak menuju titik tujuan dengan memainkan animasi ‘move’. Ketika NPC tiba dititik tujuan kemudian NPC memainkan aminasi ‘idle’. Setelah beberapa detik, karakter NPC mencari titik tujuan yang baru.

(48)

36 III.9 Storyboard

Storyboard dari game Petualangan Labirin Rahasia adalah sebagai berikut :

Tabel III. 4 Storyboard Game

Scene Name : Layar Permainan Scene No : 01 Page No : 1

Audio : Backsound

Frame Size : 1280 x 720 pixel / 800 x 600 pixel

Text : -

Animation / video description :

1. Animasi karakter utama saat digerakkan 2. Animasi NPC bergerak

Layout description :

Pada scene Layar Permainan terdapat karakter utama, NPC dam labirin dalam bentuk 3D. terdapat 2 contoh karakter NPC yang akan menuju titik (yang tidak terlihat oleh pengguna) dimana karakter utama berada. Karakter NPC akan mencari jalan terdekat menuju karakter utama menggunakan pathfinding algoritma A* (Astar).

(49)

37

BAB IV IMPLEMENTASI

IV.1 Implementasi Objek NPC

Implementasi objek berdasarkan perancangan objek. Objek rancangan yang diimplementasi pada tugas akhir ini dapat dilihat pada tabel dibawah.

Tabel IV. 1 Implementasi Objek NPC

No Perancangan Implementasi Gambar

1 NPC_1 flower_monster_idle.fbx

2 NPC_2 zombie anime.fbx

3 NPC_3 spider_myOldOne.fbx

4 NPC_4 SPIDER.fbx

(50)

38 Animasi sudah menyatu dalam karakter. Animasi NPC yang dirancang dan diimplementasikan pada tugas akhir ini dapat dilihat pada tabel berikut.

Tabel IV. 2 Rancangan dan Implementasi Animasi NPC

No Perancangan Implementasi Keterangan

1 Idle_NPC_1 flower_monster_idle.anim File berekstensi.anim sudah termasuk dalam FBX (format standar untuk 3D modelling) 2 Idle_NPC_2 zombie anime.anim

3 Idle_NPC_3 spider_myOldOne. anim

4 Idle_NPC_4 SPIDER. anim

5 Move_NPC_1 flower_monster_idle. anim

6 Move_NPC_2 zombie anime. anim

7 Move_NPC_3 spider_myOldOne. anim

8 Move_NPC_4 SPIDER. anim

9 Attack_NPC_1 flower_monster_idle. anim

10 Attack_NPC_2 zombie anime. anim

11 Attack_NPC_3 spider_myOldOne. anim

12 Attack_NPC_4 SPIDER. Anim

(51)

39

BAB V PENGUJIAN

V.1 Pengujian Animasi NPC

Pengujian ini bertujuan untuk mengetahui apakah karakter NPC memainkan animasi idle saat diam ditempat, move saat target mendekati NPC dan attack disaat NPC menyerang target. Pengujian dilakukan dengan melihat perubahan posisi anggota tubuh NPC per sekian frame. Hasil pengujian dapat dilihat pada tabel berikut.

Tabel V. 1 Pengujian Animasi NPC

No Animasi Gerakan 1 Gerakan 2 Gerakan 3 Gerakan 4

1 flower_monster_idl e.anim

(52)

40 2 zombie anime.anim

3 spider_myOldOne.

anim

4 SPIDER.anim

(53)

41 V.2 Pengujian Pencarian Rute

Pengujian pencarian rute dilakukan untuk mengetahui apakah rute yang diambil oleh NPC merupakan rute yang benar. Pengujian dilakukan dengan membandingkan rute yang secara logika harus ditempuh agar mendapat hasil optimal, dengan rute yang didapat NPC melalui algoritma yang diaplikasikan pada objek NPC. Hasil pengujian dapat dilihat pada tabel berikut.

Tabel V. 2 Pengujian Pencarian Rute

No Posisi Awal NPC Rute Optimal Logis Rute oleh NPC Hasil

Pengujian 1

NPC Target

NPC Target

(54)

42 2

3

NPC

Target

Target NPC

NPC Target

Target NPC

(55)

43 4

5

Target NPC

NPC

Target Target NPC

NPC

Target

(56)

44 6

7

NPC

Target

NPC

Target NPC

Target

NPC

Target

(57)

45 8

9

Keterangan :

O dan tulisan NPC = Posisi awal NPC O dan tulisan Target = Posisi Target

_____ __ ___ = rute optimal sesuai logika manusia _______ ___ = rute yang diambil oleh NPC

NPC

Target

NPC

Target NPC

Target

NPC

Target

(58)

46 V.3 Pengujian Animasi NPC ketika Mencari Rute

Pengujian ini dilakukan untuk mengetahui apakah NPC memainkan animasi move ketika mencari rute dan animasi attack saat menyerang karakter utama. Pengujian dilakukan dengan mengambil beberapa contoh pencarian rute oleh masing – masing NPC dan melihat perubahan posisi anggota tubuh NPC per sekian frame.

Tabel V. 3 Pengujian Animasi NPC ketika Mencari Rute

No Posisi Awal NPC Rute Optimal Logis Rute oleh NPC Hasil

Pengujian 1

2

(59)

47 3

4

5

(60)

48 6

(61)

49 V.4 Form Kuisioner Pengujian

Untuk mengetahui tingkat pemahaman aspek – aspek yang berhubungan dengan NPC (Non Playable Character) pada game Petualangan Labirin Rahasia, dilakukan pengumpulan data survei terhadap 90 responden yang ditujukan kepada siswa/i SD Negeri 04 Tiban dan SMK Negeri 2 Batam dengan target usia berkisar 10 s/d 18 tahun. Survey berlangsung pada bulan Januari 2015. Dimana responden menyatakan bahwa telah terbiasa memainkan game berbasis desktop. Pengujian menggunakan media kertas berupa kuisioner yang diisi oleh tiap siswa/i. Berikut kuisioner pengujian tersebut.

Tabel V. 4 Kuisioner Pengujian

Keterangan : A. Baik Sekali C. Cukup B. Baik D. Tidak Setuju A. ASPEK VISUAL

No Kriteria Pilihan

1 Apakah gerakan animasi musuh terlihat

menarik ? A B C D

B. ASPEK INTELEKTUAL

No Kriteria Pilihan

1

Apakah game membuat berfikir lebih teliti untuk menemukan jalan keluar secara efisien ?

A B C D

2 Apakah musuh dapat berinteraksi

dengan player ? A B C D

C. ASPEK KESULITAN

No Kriteria Pilihan

1 Apakah game mudah untuk dimainkan ? A B C D 2 Apakah darah player yang tersedia

cukup untuk memainkan game ? A B C D

(62)

50 V.5 Hasil Data Kuisioner

Dari hasil data kuisioner yang di dapat, penulis menjabarkan data tersebut ke dalam bentuk diagram untuk mengetahui tingkat pemahaman setiap responden terhadap game yang diujikan.

1. Aspek Visual

Keterangan : A. Baik Sekali C. Cukup

B. Baik D. Tidak Baik

Diagram V. 1 Hasil Pengujian Ketertarikan Gerakan Animasi NPC

Dari hasil persentase responden, penulis mendapatkan nilai setidaknya baik dengan persentase 97% (66% “baik sekali” dan 31% “baik”), dari jumlah keseluruhan data yang diterima untuk pendapat tentang gerakan animasi NPC yang terdapat pada game. Berdasarkan data tersebut, penulis merasa bahwa gerakan animasi yang terdapat pada game sudah baik dan dapat diterima oleh pemain.

(63)

51 2. Aspek Intelektual

a. Pola Pikir Mencari Jalan Keluar

Keterangan : A. Baik Sekali C. Cukup

B. Baik D. Tidak Baik

Diagram V. 2 Hasil Pengujian Pola Pikir Mencari Jalan Keluar

Dari hasil persentase responden, penulis mendapatkan nilai setidaknya baik dengan hasil 99% (77% “baik sekali” dan 22% “baik”) dari jumlah keseluruhan data yang diterima untuk pendapat tentang pola pikir mencari jalan keluar yang terdapat pada game. Berdasarkan data tersebut, penulis merasa bahwa responden setuju game ini membantu pola pikir pemain untuk mencari jalan keluar yang terdapat pada game.

(64)

52 b. Interakasi NPC dengan Player

Keterangan : A. Baik Sekali C. Cukup

B. Baik D. Tidak Baik

Diagram V. 3 Hasil Pengujian Interaksi NPC dengan Player

Dari hasil persentase responden, penulis mendapatkan nilai persentase yang menyatakan setidaknya baik 98% (48% “baik sekali”, 30% “baik” dan 20%

“cukup”) dari jumlah keseluruhan data yang diterima untuk pendapat tentang interaksi NPC dengan Player pada game. Berdasarkan data tersebut, penulis merasa bahwa interaksi NPC dengan Player yang terdapat pada game sudah baik dan dapat diterima oleh pemain.

(65)

53 3. Aspek Kesulitan

a. Tingkat Kesulitan

Keterangan : A. Sulit Sekali C. Cukup

B. Sulit D. Mudah

Diagram V. 4 Hasil Pengujian Tingkat Kesulitan

Pada diagram diatas menunjukkan pendapat terbanyak yang diterima adalah kategori “sulit” dan “cukup”. Persentase “sulit sekali” adalah 42%, “sulit” adalah 44% dan “cukup” adalah 12%. Sehingga gabungan dari kategori tersebut adalah 99% yang menyatakan tingkat kesulitan game dapat di toleransi. Karena secara teoritis game itu tidak boleh terlalu sulit ataupun terlalu mudah.

(66)

54 b. Darah Player

Keterangan : A. Banyak Sekali C. Cukup B. Banyak D. Tidak Cukup

Diagram V. 5 Hasil Pengujian Darah Player

Dari hasil persentase responden, penulis mendapatkan nilai 91% persentase menyatakan sudah cukup (51% “banyak sekali” dan 40% “banyak”). Berdasarkan data tersebut, penulis merasa bahwa darah player yang tersedia sudah cukup jumlahnya untuk target yang memainkan game Petualangan Labirin Rahasia.

Berdasarkan diagram hasil perhitungan kuisioner terhadap responden, pada aspek visual yang menyatakan "Baik" sebanyak 93%, kemudian pada aspek intelektual hasil survey 88,5% menyatakan "Baik". Sedangkan aspek kesulitan yang menyatakan "Cukup" sebanyak 87,5%. Dilihat dari hasil perbandingan antara aspek – aspek, penulis menyimpulkan bahwa game Petualangan Labirin Rahasia dapat diterima dan layak dimainkan oleh target kisaran usia 10 s/d 18 tahun.

(67)

55 Berikut hasil perbandingan antara aspek – aspek yang terdapat pada kuisioner :

Diagram V. 6 Perbandingan antara Aspek

(68)

56

BAB VI PENUTUP

VI.1 Kesimpulan

Berdasarkan dari hasil pengujian yang telah dilakukan, maka dapat diambil kesimpulan sebagai berikut :

1. Konsep NPC yang telah dirancang dapat diimplementasikan dalam game.

2. Pathfinding algoritma A* (Astar) pada NPC dapat diterapkan dalam game.

3. NPC dapat mendeteksi dan menentukan jalan terdekat menuju karakter utama.

4. NPC dapat menyerang ketika mencapai target, sehingga terlihat lebih hidup.

5. NPC dengan kecepatan yang sama walaupun dengan jenis yang berbeda.

6. Hasil pengujian terhadap responden target kisaran usia 10 s/d 18 tahun menunjukkan bahwa game Petualangan Labirin Rahasia dapat diterima dan layak dimainkan berdasarkan aspek visual, intelektual dan tingkat kesulitannya.

VI.2 Saran

Setelah dilakukan pengujian, maka saran untuk pengembangan game ini adalah sebagai berikut :

1. Dari segi tantangan, dapat ditambahkan level agar menjadi tantangan baru dalam game.

2. Dari segi scene, dapat dimodifikasi maupun ditambah labirin yang lebih kompleks dan labirin yang lebih banyak untuk menambah adrenalin pemain saat memainkan game.

3. Dari segi objek pendukung, dapat menambahkan rintangan dengan jenis objek yang lebih banyak.

4. Dari segi musuh, dapat dimodifikasi kecepatan pergerakan dari jenis – jenis NPC yang berbeda.

Gambar

Gambar II. 9 Robustness Diagram
Gambar II. 11 Sequence Diagram
Gambar II. 12 Class dalam notasi UML
Gambar II. 14 Contoh Storyboard
+7

Referensi

Dokumen terkait

Bahan peledak komersil adalah berbagai produk bahan kimia yang dapat digunakan sebagai bahan peledak untuk kepentingan pekerjaan tambang, pekerjaan umum atau

Pengasawan terhadap tenaga penjual dapat dilihat dari performa penjualan yang dilakukan yang dapat diukur berdasarkan outcome (hasil penjualan) dan behavior

Penerapan pembelajaran berpusatkan pelajar (SCL) menjadi asas untuk pelajar melakukan penerokaan kendiri tentang cara menguasai Quizizz dan menjalankan peranan sebagai guru di

Sehubungan dengan hal tersebut diatas, kami memberikan waktu untuk menyampaikan keberatan / sanggahan terhadap hasil pemberitahuan ini sampai dengan tanggal 23 Mei 2013,

[r]

[r]

acara : Membahas program acara dan penetapan anggaran biaya Kepada seluruh Panitia J 50 GKPS Cikoko, sangat diharapkan kehadirannya sehubungan dengan semakin dekatnya acara yang

Automatisoidut rajatarkastukset ovat kuitenkin kulissien takana niin paljon kaikkea muutakin, kuin esiin nostettua hallituksen valvontaa ja passintarkastusportteja..