Pembuatan Game "The Conqueror" Menggunakan XNA 4.0.

(1)

v

ABSTRAK

Game turn-based strategy merupakan salah satu jenis game yang sudah tidak asing lagi. Kebanyakan dari game berjenis ini dibuat dengan untuk seorang pemain dengan lawan main berupa Artificial Intelligence (AI).

Ada banyak jenis-jenis dari AI yang dapat digunakan. Salah satu diantaranya adalah minimax. Algoritma minimax merupakan salah satu algoritma pengambilan keputusan secara rekursif membentuk sebuah pohon. Selain itu, pada game turn-based strategy dibutuhkan sebuah algoritma pendukung untuk melakukan pathfinding.

Akhirnya dilakukan analisa, perancangan, desain sistem, dan teori-teori yang mendukung dalam pembuatan game turn-based strategy serta tahap implementasi dan pengujiannya. Hal tersebut bertujuan untuk mengimplementasikan algoritma minimax sebagai pengambilan keputusan dan algoritma A* sebagai pathfinding.


(2)

vi

ABSTRACT

Turn-based strategy game is one type of game that is familiar to player. Most of this type games are single-player games with Artificial Intelligence as the opponent.

There are may kinds of Artificial Intelligence that can be used. One of them is minimax. This algorithm is one of decision making algorithm that generates a tree. Furthermore, turn-based strategy games needs another algorithm for pathfinding.

Finally, analysis, design, system design, and theories that support the making of turn-based strategy game done as well as implementation and testing phases. It aims to implement the minimax algorithm as a decision-making and A* algorithm as a pathfinding.


(3)

vii

DAFTAR ISI

LEMBAR PENGESAHAN ... i

PERNYATAAN ORISINALITAS LAPORAN PENELITIAN ... ii

PERNYATAAN PUBLIKASI LAPORAN PENELITIAN ...iii

KATA PENGANTAR ... iv

ABSTRAK ... v

ABSTRACT ... vi

DAFTAR ISI ... vii

DAFTAR GAMBAR ...x

DAFTAR TABEL ... xiii

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 1

1.3 Tujuan Pembahasan ... 2

1.4 Ruang Lingkup Kajian ... 2

1.5 Sistematika Penyajian ... 2

BAB II LANDASAN TEORI ... 4

2.1 Pemrograman Berorientasi Objek dengan C# ... 4

2.2 Microsoft XNA 4.0 ... 7

2.2.1 Area Deklarasi ... 7

2.2.2 Class Constructor ... 7

2.2.3 Method Initialize() ... 7

2.2.4 Method LoadContent() ... 8

2.2.5 Method Update() ... 8

2.2.6 Method Draw() ... 8

2.2.7 Game Component ... 8

2.3 Grafik Isometrik 2D ... 9

2.4 Turn-Based Strategy Games ... 10

2.5 Unified Modeling Language (UML) ... 11

2.5.1 Use Case Diagram ... 11

2.5.2 Activity Diagram ... 13

2.5.3 Class Diagram ... 15

2.6 Input/Output File ... 16


(4)

viii

2.8 Artificial Intelligence (AI) ... 19

2.8.1 Algoritma Minimax ... 20

2.8.2 Evaluation Function ... 21

2.8.3 Algoritma A* ... 21

2.9 Whitebox Testing ... 25

BAB III ANALISA DAN PEMODELAN ... 26

3.1 Latar Belakang Cerita ... 26

3.2 Rincian Game ... 26

3.2.1 Battle System ... 26

3.2.2 Perhitungan Damage ... 28

3.2.3 Perhitungan Experience ... 30

3.3 Arsitektur Game ... 31

3.3.1 Use Case Diagram ... 31

3.3.2 Use Case Description ... 33

3.3.3 Activity Diagram ... 36

3.3.4 Class Diagram ... 43

3.4 Layout Tampilan ... 44

BAB IV PERANCANGAN DAN IMPLEMENTASI ... 48

4.1 Tampilan Aplikasi Game ... 48

4.1.1 Tampilan Start Game ... 48

4.1.2 Tampilan Load Game... 49

4.1.3 Tampilan Option ... 49

4.1.4 Tampilan Map Game ... 50

4.1.5 Tampilan Fortress ... 53

4.1.6 Tampilan Shop ... 56

4.1.7 Tampilan save game... 59

4.1.8 Tampilan Keluar Permainan ... 59

4.1.9 Tampilan Peta Pertempuran ... 60

4.1.10 Tampilan area pertempuran ... 74

4.1.11 Tampilan Tutorial Permainan ... 74

4.1.12 Tampilan Stage Clear... 75

4.1.13 Tampilan Game Over ... 76

4.2 Implementasi Algoritma Minimax ... 77

4.2 Forward Pruning ... 84


(5)

ix

4.4 Implementasi Algoritma A*... 85

BAB V PENGUJIAN ... 87

5.1 Kelas Unit ... 87

5.2 Kelas Player ... 91

5.3 Kelas Coordinate ... 94

5.4 Kelas AstarAI ... 95

BAB VI KESIMPULAN DAN SARAN ... 96

6.1 Kesimpulan... 96

6.2 Saran ... 96

DAFTAR PUSTAKA ... xi

LAMPIRAN ... xii


(6)

x

DAFTAR GAMBAR

Gambar 2 . 1 Proyeksi isometrik 30 ° ... 10

Gambar 2 . 2 Proyeksi isometrik 1 : 2 ... 10

Gambar 2 . 3 Proyeksi militer ... 10

Gambar 2 . 4 Contoh penggunaan dependensi include ... 13

Gambar 2 . 5 Contoh penggunaan dependensi extend ... 13

Gambar 2 . 6 Contoh penggunaan generalisasi pada use case... 13

Gambar 2 . 7 Komponen – komponen dalam Activity Diagram ... 15

Gambar 2 . 8 Contoh Class pada Class Diagram ... 15

Gambar 2 . 9 Contoh penggunaan dependensi ... 16

Gambar 2 . 10 Contoh penggunaan asosiasi ... 16

Gambar 2 . 11 Contoh penggunaan komposisi ... 16

Gambar 2 . 12 Contoh penggunaan generalisasi... 16

Gambar 2 . 13 State Diagram dari sebuah thread ... 19

Gambar 2 . 14 Contoh algoritma minimax ... 20

Gambar 2 . 15 Contoh algoritma minimax dengan pruning ... 21

Gambar 2 . 16 Contoh algoritma A* ... 23

Gambar 2 . 17 Contoh lain algoritma A* ... 24

Gambar 3 . 1 Use Case Diagram ... 32

Gambar 3 . 2 Activity Diagram memulai game ... 37

Gambar 3 . 3 Activity Diagram memilih lokasi ... 38

Gambar 3 . 4 Activity Diagram membeli barang ... 39

Gambar 3 . 5 Activity Diagram bertarung ... 40

Gambar 3 . 6 Activity Diagram mengatur option ... 41

Gambar 3 . 7 Activity Diagram mengganti equipment ... 42

Gambar 3 . 8 Class Diagram game The Co ue o ... 43

Gambar 3 . 9 Rancangan tampilan Menu Utama ... 44

Gambar 3 . 10 Rancangan tampilan Menu Load Game ... 44

Gambar 3 . 11 Rancangan tampilan Menu Option ... 45

Gambar 3 . 12 Rancangan tampilan map game The Co ue o ... 45


(7)

xi

Gambar 3 . 14 Rancangan tampilan area pertempuran ... 46

Gambar 4 . 1 Tampilan Start Game ... 48

Gambar 4 . 2 Tampilan Load Game ... 49

Gambar 4 . 3 Tampilan option... 50

Gambar 4 . 4 Tampilan map game ... 51

Gambar 4 . 5 Tampilan pemilihan lokasi ... 52

Gambar 4 . 6 Tampilan fortress ... 53

Gambar 4 . 7 Tampilan status unit ... 54

Gambar 4 . 8 Tampilan pemilihan equipment ... 54

Gambar 4 . 9 Tampilan inventory pemain ... 55

Gambar 4 . 10 Tampilan shop ... 56

Gambar 4 . 11 Tampilan daftar barang yang dapat dibeli di shop ... 57

Gambar 4 . 12 Tampilan pemilihan kuantitas barang ... 57

Gambar 4 . 13 Tampilan daftar inventori pemain yang akan dijual di shop ... 58

Gambar 4 . 14 Tampilan save game ... 59

Gambar 4 . 15 Tampilan konfirmasi mengakhiri pemainan ... 60

Gambar 4 . 16 Tampilan memulai pertempuran ... 61

Gambar 4 . 17 Tampilan pemain akan menempatkan unit ... 61

Gambar 4 . 18 Tampilan pemilihan unit pada peta pertempuran ... 62

Gambar 4 . 19 Tampilan menu ketika memilih grid yang sudah ditempati unit ... 62

Gambar 4 . 20 Tampilan unit yang sudah ditempatkan oleh pemain ... 63

Gambar 4 . 21 Tampilan memulai giliran pemain ... 63

Gambar 4 . 22 Tampilan menu pada unit yang belum digunakan ... 64

Gambar 4 . 23 Tampilan grid ketika pemain memilih menu move ... 65

Gambar 4 . 24 Tampilan menu pada unit yang sudah melakukan move ... 65

Gambar 4 . 25 Tampilan submenu dari Act ... 66

Gambar 4 . 26 Tampilan grid ketika pemain memilih submenu attack atau skill ... 67

Gambar 4 . 27 Tampilan daftar skill unit yang dipilih ... 68

Gambar 4 . 28 Tampilan animasi ketika menggunakan skill ... 68

Gambar 4 . 29 tampilan inventori pemain ... 69

Gambar 4 . 30 Tampilan grid ketika pemain memilih submenu item ... 70


(8)

xii

Gambar 4 . 32 Tampilan menu unit yang sudah digunakan ... 71

Gambar 4 . 33 Tampilan menu end turn ... 72

Gambar 4 . 34 Tampilan mengakhiri giliran ... 72

Gambar 4 . 35 Tampilan memulai giliran AI ... 73

Gambar 4 . 36 Tampilan peta pertempuran ketika giliran AI ... 73

Gambar 4 . 37 Tampilan area pertempuran ... 74

Gambar 4 . 38 Tampilan tutorial permainan ... 75

Gambar 4 . 39 Tampilan stage clear ... 76

Gambar 4 . 40 Tampilan game over ... 77

Gambar 4 . 41 Flowchart pembuatan minimax tree ... 78

Gambar 4 . 42 Ilustrasi Minimax tree ... 79

Gambar 4 . 43 Ilustrasi Minimax tree dengan menggunakan pruning ... 81

Gambar 5 . 1 Flowchart dari procedure CalculateDamage ... 88

Gambar 5 . 2 Flowchart dari procedure GetExperience ... 90

Gambar 5 . 3 Flowchart dari procedure BuyItem ... 92

Gambar 5 . 4 Flowchart dari procedure SellItem ... 93


(9)

xiii

DAFTAR TABEL

Tabel 2 . 1 Simbol Use Case Diagram ... 12

Tabel 2 . 2 Simbol Activity Diagram ... 14

Tabel 3 . 1 Tabel pengali damage unit penyerang ... 29

Tabel 3 . 2 Tabel pengali damage unit bertahan ... 29

Tabel 5 . 1 Pengujian Kelas Unit – Property CurrentTroops ... 87

Tabel 5 . 2 Pengujian Kelas Unit – Property status unit ... 87

Tabel 5 . 3 Pengujian Kelas Unit – Method CalculateDamage ... 88

Tabel 5 . 4 Pengujian Kelas Unit – Method GetExperience ... 90

Tabel 5 . 5 Pengujian Kelas Player – Property Money ... 91

Tabel 5 . 6 Pengujian Kelas Player – Method BuyItem ... 92

Tabel 5 . 7 Pengujian Kelas Player – Method SellItem ... 94

Tabel 5 . 8 Pengujian Kelas Coordinate – Property X ... 94

Tabel 5 . 9 Pengujian Kelas Coordinate – Property Y ... 94


(10)

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Game turn-based strategy adalah sebuah game dimana pemain menggunakan sistem bergilir ketika bermain. Hal ini membedakan turn-based strategy dan real time strategy karena pada game real time strategy seluruh pemain dapat bermain secara bersamaan tanpa harus menunggu giliran. Pada game turn-based strategy, biasanya terdapat grid seperti papan catur dan setiap unit ditempatkan di satu grid.

Awalnya game turn-based strategy muncul dengan skala konfrontasi yang kecil. Disebut skala konfrontasi yang kecil karena satu unit hanya mewakili satu karakter dan biasanya di battlemap tidak lebih dari dua puluh unit. Salah satu game turn-based strategy dengan skala konfrontasi kecil yang sukses adalah Final Fantasy Tactics. Game tersebut dapat dikatakan sukses karena memiliki alur cerita yang baik serta sistem battle yang menarik.

Setelah itu muncul game turn-based strategy yang berskala besar seperti game Romance of Three Kingdom. Setiap unit mewakili satu atau lebih perwira didampingi oleh ratusan bahkan ribuan pasukan. Selain itu, pada game turn-based strategy yang berskala besar pemain dapat mengatur perekonomian hingga politik dari negaranya.

Game turn-based strategy dengan satu orang player menggunakan AI (Artificial Intelligence) sebagai lawan main. Game turn-based strategy de ga AI ya g bodoh e buat game tersebut menjadi terlalu mudah. AI yang hanya akan menggerakkan unit-unit tertentu setelah beberapa turn yang sudah ditentukan serta serangannya yang dapat dikatakan random membuat game tersebut dapat dimainkan tanpa menggunakan strategi khusus.

Algoritma yang digunakan untuk game turn-based strategy dapat beragam. Hal ini dapat dilihat dari cara pikir AI dalam game. Semua algoritma memiliki kelebihan dan kekurangan masing-masing. Untuk itu, dilakukanlah perancangan dan pengimplementasian AI untuk game turn-based strategy.

1.2 Rumusan Masalah

Adapun pertanyaan yang muncul seputar hal tersebut adalah bagaimana merancang dan mengimplementasikan algoritma A* dan algoritma Minimax untuk game turn-based strategy?


(11)

2

1.3 Tujuan Pembahasan

Tujuan dari Tugas Akhir ini adalah untuk merancang dan mengimplementasikan AI dengan menggunakan algoritma A* sebagai pathfinding dan algoritma Minimax sebagai decision making ke dalam sebuah game turn-based strategy.

1.4 Ruang Lingkup Kajian

Game turn-based strategy The Co ue o dibuat e ggu aka C# da XNA 4.0 de ga batasan-batasan sebagai berikut :

1. Game ini merupakan single-player game. 2. Game ini menggunakan AI sebagai lawan main.

3. Dalam satu battlemap, pemain dapat mengontrol satu hingga empat unit.

4. Ada 3 kategori unit, yaitu spearman, archer, dan knight. Sebuah unit akan masuk ke dalam suatu kategori berdasarkan perwira yang terdapat di unit tersebut.

5. Pemain hanya dapat melakukan save data ketika berada di worldmap.

6. Setiap unit hanya dapat bergerak secara horizontal dan vertikal, tidak dapat bergerak diagonal. 7. AI yang digunakan adalah A* serta Minimax dengan 1 level tree.

8. Unit yang dijalankan oleh AI selalu berurutan.

1.5 Sistematika Penyajian

Berikut adalah sistematika penulisan dalam Tugas Akhir ini : Bab I. Pendahuluan

Bab ini berisi gambaran keseluruhan dari produk yang akan dibuat secara garis besar Bab II. Landasan Teori

Bab ini digunakan untuk menjelaskan teori-teori yang berkaitan dengan pembuatan game turn-based strategy The Co ue o , yaitu teo i e ge ai XNA 4.0 dan C#, threading, File I/O, serta AIlgoritma untuk AI yang akan digunakan dalam game ini, yaitu algoritma minimax dan A*.

Bab III. Analisis dan Pemodelan

Bab ini digunakan untuk menjelaskan latar belakang cerita, aturan permainan, rincian game, arsitektur game, storyboard, serta creative strategy arsitektur game yang dibuat.

Bab IV. Perancangan dan Implementasi

Bab ini digunakan untuk menjelaskan User Interface yang sudah dibuat dan penjelasan dari tiap fungsi utama yang dibuat.


(12)

3

Bab V. Pengujian

Bab ini berisi pembahasan mengenai metode pengujian yang digunakan dan hasil pengujian. Bab VI. Kesimpulan Dan Saran

Bab ini digunakan untuk memberi kesimpulan dan saran berdasarkan hasil evaluasi program game The Co ue o .


(13)

96

BAB VI

KESIMPULAN DAN SARAN

6.1 Kesimpulan

Dari hasil pembahasan yang telah dilakukan dan berdasarkan hasil pengujian, dapat ditarik beberapa kesimpulan, yaitu :

1. Algoritma Minimax dapat digunakan untuk membuat game turn-based strategy. Kelebihan dari penggunaan algoritma ini adalah AI dapat memperkirakan langkah-langkah selanjutnya dari unit lawan, sehingga keputusan yang diambil dapat lebih optimal. Namun, besarnya tree dari algoritma Minimax ini sangat bergantung kepada jumlah unit dari kedua belah pihak. Semakin banyak jumlah unit, maka tree yang dihasilkan pun akan semakin besar dan proses pembuatannya pun akan semakin lama. Forward pruning dapat digunakan dalam pembuatan minimax tree ga e The

Co ue o da e pe cepat p oses pembuatan tree.

2. Algoritma A* membantu algoritma Minimax dalam decision making terutama untuk pathfinding. Dengan penggunaan algoritma ini, AI dapat mencari alternatif jalan lain ketika menemukan kebuntuan. Jarak antara titik awal dan titik akhir memengaruhi besarnya ukuran tree A*.

6.2 Saran

Berdasarkan hal-hal yang telah dicapai dalam implementasi algoritma Minimax pada game turn-based strategy ini, dapat diperoleh beberapa saran, yaitu :

1. Syarat-syarat untuk melakukan pruning dapat lebih detail, sehingga tree pada algoritma Minimax yang dibuat dapat lebih efisien dan proses pembuatan tree semakin singkat.

2. Dapat ditambahkan tingkat kesulitan dari AI. Semakin tinggi tingkat kesulitan AI, semakin besar level level dari Minimax tree yang dibuat.

3. Unit AI yang akan bergerak dapat diurutkan sesuai kriteria tertentu, sehingga urutan unit tidak selalu sama.


(14)

xi

DAFTAR PUSTAKA

1. Chonoles, Michael Jesse dan Schardt, James A. 2003. UML 2 for Dummies. Indianapolis : Wiley

Publishing.

2. Pole, Charlie. 2012. NUnit 2.6 Documentation. Retrieved from NUnit :

http://www.nunit.org/index.php? p=docHome&r=2.6

3. Jaegers, Kurt. 2010. XNA 4.0 Game Development by Example. Birmingham - Mumbai : Packt

Publishing.

4. Nagel, Christian, dkk. 2007. Professional C# 2005 with .NET 3.0. Indianapolis : Wiley Publishing.

5. Nash, Trey. Accelerated C# 2010. 2010. New York : Apress.

6. Pilon, Dan dan Pitman, Neil. 2005. UML 2.0 in a Nutshell. Gravenstein Highway North : O’Reilly

Media.

7. Pressman, Roger S., Ph.D. Software Engineering A Practitioner’s Approach. New York :

McGraw-Hill

8. Reid, Fiach. 2004. Network Programming in .NET. Burlington : Elsevier Digital Press.

9. Riemersma, Thiadme. Axonometric Projections - A Technical Overview. Retrieved from Graphics

Programming and Theory : http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/axonometric-projections-a-technical-overview-r1269

10. Russel, Stuart dan Norvig, Peter. 2010. Artificial Intelligence A Modern Aproach Third Edition. New Jersey : Pearson Education, Inc.


(1)

xiii

DAFTAR TABEL

Tabel 2 . 1 Simbol Use Case Diagram ... 12

Tabel 2 . 2 Simbol Activity Diagram ... 14

Tabel 3 . 1 Tabel pengali damage unit penyerang ... 29

Tabel 3 . 2 Tabel pengali damage unit bertahan ... 29

Tabel 5 . 1 Pengujian Kelas Unit – Property CurrentTroops ... 87

Tabel 5 . 2 Pengujian Kelas Unit – Property status unit ... 87

Tabel 5 . 3 Pengujian Kelas Unit – Method CalculateDamage ... 88

Tabel 5 . 4 Pengujian Kelas Unit – Method GetExperience ... 90

Tabel 5 . 5 Pengujian Kelas Player – Property Money ... 91

Tabel 5 . 6 Pengujian Kelas Player – Method BuyItem ... 92

Tabel 5 . 7 Pengujian Kelas Player – Method SellItem ... 94

Tabel 5 . 8 Pengujian Kelas Coordinate – Property X ... 94

Tabel 5 . 9 Pengujian Kelas Coordinate – Property Y ... 94


(2)

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Game turn-based strategy adalah sebuah game dimana pemain menggunakan sistem bergilir ketika bermain. Hal ini membedakan turn-based strategy dan real time strategy karena pada gamereal time strategy seluruh pemain dapat bermain secara bersamaan tanpa harus menunggu giliran. Pada

game turn-based strategy, biasanya terdapat grid seperti papan catur dan setiap unit ditempatkan di satu grid.

Awalnya game turn-based strategy muncul dengan skala konfrontasi yang kecil. Disebut skala konfrontasi yang kecil karena satu unit hanya mewakili satu karakter dan biasanya di battlemap tidak lebih dari dua puluh unit. Salah satu game turn-based strategy dengan skala konfrontasi kecil yang sukses adalah Final Fantasy Tactics. Game tersebut dapat dikatakan sukses karena memiliki alur cerita yang baik serta sistem battle yang menarik.

Setelah itu muncul game turn-based strategy yang berskala besar seperti game Romance of Three Kingdom. Setiap unit mewakili satu atau lebih perwira didampingi oleh ratusan bahkan ribuan pasukan. Selain itu, pada game turn-based strategy yang berskala besar pemain dapat mengatur perekonomian hingga politik dari negaranya.

Game turn-based strategy dengan satu orang player menggunakan AI (Artificial Intelligence) sebagai lawan main. Game turn-based strategy de ga AI ya g bodoh e buat game tersebut menjadi terlalu mudah. AI yang hanya akan menggerakkan unit-unit tertentu setelah beberapa turn

yang sudah ditentukan serta serangannya yang dapat dikatakan random membuat game tersebut dapat dimainkan tanpa menggunakan strategi khusus.

Algoritma yang digunakan untuk game turn-based strategy dapat beragam. Hal ini dapat dilihat dari cara pikir AI dalam game. Semua algoritma memiliki kelebihan dan kekurangan masing-masing. Untuk itu, dilakukanlah perancangan dan pengimplementasian AI untuk game turn-basedstrategy.

1.2 Rumusan Masalah

Adapun pertanyaan yang muncul seputar hal tersebut adalah bagaimana merancang dan mengimplementasikan algoritma A* dan algoritma Minimax untuk gameturn-basedstrategy?


(3)

2

1.3 Tujuan Pembahasan

Tujuan dari Tugas Akhir ini adalah untuk merancang dan mengimplementasikan AI dengan menggunakan algoritma A* sebagai pathfinding dan algoritma Minimax sebagai decision making ke dalam sebuah gameturn-based strategy.

1.4 Ruang Lingkup Kajian

Game turn-based strategy The Co ue o dibuat e ggu aka C# da XNA 4.0 de ga

batasan-batasan sebagai berikut :

1. Game ini merupakan single-playergame. 2. Game ini menggunakan AI sebagai lawan main.

3. Dalam satu battlemap, pemain dapat mengontrol satu hingga empat unit.

4. Ada 3 kategori unit, yaitu spearman, archer, dan knight. Sebuah unit akan masuk ke dalam suatu kategori berdasarkan perwira yang terdapat di unit tersebut.

5. Pemain hanya dapat melakukan save data ketika berada di worldmap.

6. Setiap unit hanya dapat bergerak secara horizontal dan vertikal, tidak dapat bergerak diagonal. 7. AI yang digunakan adalah A* serta Minimax dengan 1 level tree.

8. Unit yang dijalankan oleh AI selalu berurutan.

1.5 Sistematika Penyajian

Berikut adalah sistematika penulisan dalam Tugas Akhir ini : Bab I. Pendahuluan

Bab ini berisi gambaran keseluruhan dari produk yang akan dibuat secara garis besar Bab II. Landasan Teori

Bab ini digunakan untuk menjelaskan teori-teori yang berkaitan dengan pembuatan game turn-based strategy The Co ue o , yaitu teo i e ge ai XNA 4.0 dan C#, threading, File I/O, serta AIlgoritma untuk AI yang akan digunakan dalam game ini, yaitu algoritma minimax dan A*.

Bab III. Analisis dan Pemodelan

Bab ini digunakan untuk menjelaskan latar belakang cerita, aturan permainan, rincian game, arsitektur game, storyboard, serta creative strategy arsitektur game yang dibuat.

Bab IV. Perancangan dan Implementasi

Bab ini digunakan untuk menjelaskan User Interface yang sudah dibuat dan penjelasan dari tiap fungsi utama yang dibuat.


(4)

3

Bab V. Pengujian

Bab ini berisi pembahasan mengenai metode pengujian yang digunakan dan hasil pengujian. Bab VI. Kesimpulan Dan Saran

Bab ini digunakan untuk memberi kesimpulan dan saran berdasarkan hasil evaluasi program game


(5)

96

BAB VI

KESIMPULAN DAN SARAN

6.1 Kesimpulan

Dari hasil pembahasan yang telah dilakukan dan berdasarkan hasil pengujian, dapat ditarik beberapa kesimpulan, yaitu :

1. Algoritma Minimax dapat digunakan untuk membuat game turn-based strategy. Kelebihan dari penggunaan algoritma ini adalah AI dapat memperkirakan langkah-langkah selanjutnya dari unit lawan, sehingga keputusan yang diambil dapat lebih optimal. Namun, besarnya tree dari algoritma Minimax ini sangat bergantung kepada jumlah unit dari kedua belah pihak. Semakin banyak jumlah unit, maka tree yang dihasilkan pun akan semakin besar dan proses pembuatannya pun akan semakin lama. Forward pruning dapat digunakan dalam pembuatan minimax tree ga e The Co ue o da e pe cepat p oses pembuatan tree.

2. Algoritma A* membantu algoritma Minimax dalam decision making terutama untuk pathfinding. Dengan penggunaan algoritma ini, AI dapat mencari alternatif jalan lain ketika menemukan kebuntuan. Jarak antara titik awal dan titik akhir memengaruhi besarnya ukuran tree A*.

6.2 Saran

Berdasarkan hal-hal yang telah dicapai dalam implementasi algoritma Minimax pada game turn-based strategy ini, dapat diperoleh beberapa saran, yaitu :

1. Syarat-syarat untuk melakukan pruning dapat lebih detail, sehingga tree pada algoritma Minimax yang dibuat dapat lebih efisien dan proses pembuatan tree semakin singkat.

2. Dapat ditambahkan tingkat kesulitan dari AI. Semakin tinggi tingkat kesulitan AI, semakin besar level level dari Minimax tree yang dibuat.

3. Unit AI yang akan bergerak dapat diurutkan sesuai kriteria tertentu, sehingga urutan unit tidak selalu sama.


(6)

xi

DAFTAR PUSTAKA

1. Chonoles, Michael Jesse dan Schardt, James A. 2003. UML 2 for Dummies. Indianapolis : Wiley Publishing.

2. Pole, Charlie. 2012. NUnit 2.6 Documentation. Retrieved from NUnit : http://www.nunit.org/index.php? p=docHome&r=2.6

3. Jaegers, Kurt. 2010. XNA 4.0 Game Development by Example. Birmingham - Mumbai : Packt Publishing.

4. Nagel, Christian, dkk. 2007. Professional C# 2005 with .NET 3.0. Indianapolis : Wiley Publishing. 5. Nash, Trey. Accelerated C# 2010. 2010. New York : Apress.

6. Pilon, Dan dan Pitman, Neil. 2005. UML 2.0 in a Nutshell. Gravenstein Highway North : O’Reilly Media.

7. Pressman, Roger S., Ph.D. Software Engineering A Practitioner’s Approach. New York : McGraw-Hill

8. Reid, Fiach. 2004. Network Programming in .NET. Burlington : Elsevier Digital Press.

9. Riemersma, Thiadme. Axonometric Projections - A Technical Overview. Retrieved from Graphics Programming and Theory :

http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/axonometric-projections-a-technical-overview-r1269

10. Russel, Stuart dan Norvig, Peter. 2010. Artificial Intelligence A Modern Aproach Third Edition. New Jersey : Pearson Education, Inc.