• Tidak ada hasil yang ditemukan

Pembuatan Library untuk Pemodelan Perilaku Lawan Menggunakan Finite State Machine untuk Permainan Digital Berbasis Waypoint pada .Net Framework.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pembuatan Library untuk Pemodelan Perilaku Lawan Menggunakan Finite State Machine untuk Permainan Digital Berbasis Waypoint pada .Net Framework."

Copied!
12
0
0

Teks penuh

(1)

ABSTRAK

Video game adalah jenis kegiatan permainan, dilakukan dalam konteks tiruan realitas. Setiap video game memiliki jenis, jenis video game digunakan untuk membagi video game berdasarkan interaksi permainan mereka. Seiring perkembangan video game dengan berbagai jenisnya, dibutuhkan pula kecerdasan buatan dalam video game. Artificial Intelligence (AI) adalah kecerdasan buatan yang diimplementasikan pada mesin agar mesin seperti dapat berpikir. AI dibutuhkan dalam video game untuk merancang dan menghasilkan video game yang menyenangkan serta antarmuka antara manusia dan komputer yang cerdas dan menarik untuk dimainkan. AI dalam digital game dengan jenis real-time ini diharapkan memiliki kecepatan respon yang cukup cepat, tidak terlalu cepat dan tidak terlalu lambat. Bila respon dari komputer lambat, pemain menjadi cepat bosan karena game menjadi terlalu mudah. sebaliknya bila respon terlalu cepat, game menjadi terlalu sulit. AI memiliki berbagai pola atau metode, beberapa diantaranya adalah Finite State Machine (FSM), MinMax, A*, Depth-First-Search (DFS), dan banyak lagi. FSM memodelkan perilaku AI dengan keadaan yang dikontrol oleh suatu kejadian tertentu dan akan melakukan aksi sesuai dengan kejadian yang diterima dalam prosesnya. Berdasarkan permasalahan diatas, maka akan dibangun AI dengan pemodelan perilaku menggunakan FSM pada .Net Framework, yang dapat dimodifikasi sesuai kebutuhan penggunanya.

(2)

ABSTRACT

Video games are kind of activities, carried out in the context of a mock reality. Every video game has a type, the type of video game is used to divide the video game based on the interaction of their game. Along with the development of video games, artificial intelligence (AI) is necessary in video games. AI is implemented on a machine so the machine can think. AI is necessary in video games to design and produce a video game that is fun so the interaction between humans and computers are interesting to play. AI in real-time digital game is expected to have enough response speed, not too fast and not too slow. When the computer response is slow, players become bored quickly because the game becomes too easy. if the response is too fast, the game becomes too difficult. AI has a variety of patterns and methods, some of which are Finite State Machine (FSM), MinMax, A*, Depth-First-Search (DFS), and many more. FSM modeling the behavior of an AI with a state controlled by a specific event and will take action in accordance with the received events in the process. Based on the problems above, AI with FSM behavior modeling using the .Net Framework, which can be modified according to user needs will be built.

(3)

1

DAFTAR ISI

LEMBAR PENGESAHAN ... i

PERNYATAAN ORISINALITAS LAPORAN PENELITIANError! Bookmark not defined. PERNYATAAN PUBLIKASI LAPORAN PENELITIANError! Bookmark not defined. PRAKATA ... iv

BAB 1. PENDAHULUAN ... 5

1.1 Latar Belakang Masalah... 5

1.2 Rumusan Masalah ... 6

1.3 Tujuan Pembahasan ... 7

1.4 Ruang Lingkup Penelitian ... 7

1.5 Metode Penelitian ... 7

1.6 Sistematika Pembahasan ... 8

BAB 2. KAJIAN TEORI ... 9

2.1 Finite State Machine (FSM) ... 9

2.2 Dijkstra Algorithm ... 11

2.3 Monogame dan XNA Game Studio ... 14

BAB 3. ANALISA DAN RANCANGAN SISTEM ... 15

3.1 Pemodelan Jenis AI ... 15

3.2 Pemodelan Perilaku AI ... 15

3.3 Pemodelan Class ... 17

BAB 4. IMPLEMENTASI ... 21

4.1 Class Djikstra ... 21

4.2 Class FSM ... 25

BAB 5. PENGUJIAN ... 28

5.1 Pengujian Pergerakan agent ... 28

5.2 Pengujian Deteksi Agent ... 30

5.3 Pengujian Perpindahan State Agent ... 31

5.4 Pengujian Perpindahan Jalur Agent ... 36

5.5 Pengujian Custom Behavior ... 41

BAB 6. SIMPULAN DAN SARAN ... 45

6.1 Simpulan ... 45

6.2 Saran ... 45

(4)

DAFTAR GAMBAR

Gambar 2.1: Ilustrasi Finite State Machine ... 10

Gambar 2.2: Contoh FSM pada permainan “Quake” ... 10

Gambar 2.3: Contoh algoritma dijkstra 1 ... 12

Gambar 2.4: Contoh algoritma dijkstra 2 ... 12

Gambar 2.5: Contoh algoritma dijkstra 3 ... 12

Gambar 2.6: Contoh algoritma dijkstra 4 ... 13

Gambar 2.7: Contoh algoritma dijkstra 5 ... 13

Gambar 2.8: Contoh algoritma dijkstra 6 ... 14

Gambar 3.1: Pola Perilaku Agent 1 ... 15

Gambar 3.2: Pola Perilaku Agent 2 ... 16

Gambar 3.3: Class Diagram ... 20

Gambar 4.1: Ilustrasi Proyek... 21

Gambar 4.2: Fungsi execute ... 22

Gambar 4.3: Fungsi getMinimum ... 22

Gambar 4.4: Fungsi findMinimalDistances ... 23

Gambar 4.5: Fungsi getNeighbors ... 24

Gambar 4.6: Fungsi getPath ... 24

Gambar 4.7: Fungsi getStateList dan getState ... 25

Gambar 4.8: Fungsi twoWayMove dan oneWayMove ... 25

Gambar 4.9: Fungsi movement dan reRoute ... 26

Gambar 4.10: Fungsi addLane dan createNode ... 26

Gambar 4.11: Fungsi detectNearestNode dan detectPlayerInRange ... 27

Gambar 4.12: Fungsi pathMaker ... 27

Gambar 5.1: Pembuatan Jalur Pada 2 agent ... 28

Gambar 5.2: Pengujian Pergerakan Agent 1 ... 29

Gambar 5.3: Pengujian Pergerakan Agent 2 ... 29

Gambar 5.4: Pengujian Pergerakan Agent 3 ... 29

Gambar 5.5: Pengujian Deteksi Agent 1 ... 30

Gambar 5.6: Pengujian Deteksi Agent 2 ... 31

Gambar 5.7: Pengujian Perpindahan State Agent 1 ... 32

(5)

Gambar 5.9: Pengujian Perpindahan State Agent 3 ... 32

Gambar 5.10: Pengujian Perpindahan State Agent 4 ... 33

Gambar 5.11: Pengujian Perpindahan State Agent 5 ... 33

Gambar 5.12: Pengujian Perpindahan State Agent 6 ... 34

Gambar 5.13: Pengujian Perpindahan State Agent 7 ... 34

Gambar 5.14: Pengujian Perpindahan State Agent 8 ... 35

Gambar 5.15: Pengujian Perpindahan State Agent 9 ... 35

Gambar 5.16: Pengujian Perpindahan State Agent 10 ... 36

Gambar 5.17: Pengujian Perpindahan Jalur Agent 1 ... 37

Gambar 5.18: Pengujian Perpindahan Jalur Agent 2 ... 37

Gambar 5.19: Pengujian Perpindahan Jalur Agent 3 ... 37

Gambar 5.20: Pengujian Perpindahan Jalur Agent 4 ... 38

Gambar 5.21: Pengujian Perpindahan Jalur Agent 5 ... 39

Gambar 5.22: Pengujian Perpindahan Jalur Agent 6 ... 40

Gambar 5.23: Pengujian Perpindahan Jalur Agent 7 ... 40

Gambar 5.24: Pembuatan Jalur 2 Agent Yang Telah Dimodifikasi ... 41

Gambar 5.25: Pengujian Custom Behavior 1 ... 42

Gambar 5.26: Pengujian Custom Behavor 2 ... 42

Gambar 5.27: Pengujian Custom Behavior 3 ... 42

(6)

4

DAFTAR TABEL

(7)

5

BAB 1.

PENDAHULUAN

1.1 Latar Belakang Masalah

Game adalah jenis kegiatan permainan, dilakukan dalam konteks tiruan realitas, di

mana peserta mencoba untuk mencapai setidaknya satu tujuan nontrivial dengan bertindak sesuai dengan aturan [1]. Selain bentuk tradisional, game juga dibuat dalam bentuk digital untuk komputer dan konsol, yang lebih sering disebut sebagai video game.

Sejarah video game dimulai pada awal 1950, ketika para akademisi mulai merancang game sederhana dan simulasi sebagai bagian dari penelitian ilmu komputer mereka. Video game tidak mencapai popularitas publik hingga tahun 1970 - 1980, ketika arcade video game, konsol game dan game komputer di rumah diperkenalkan kepada masyarakat umum. Sejak itu, video game telah menjadi bentuk populer dari hiburan dan bagian dari budaya modern di sebagian besar belahan dunia.

Setiap video game memiliki jenis, jenis video game digunakan untuk membagi video game berdasarkan interaksi permainan mereka. Sebuah Jenis video game

didefinisikan oleh satu set tantangan permainan dan diklasifikasikan terpisah dari pengaturan atau isi dunia permainan mereka, tidak seperti karya fiksi lainnya seperti film atau buku. Sebagai contoh, sebuah shooter game masih shooter game, terlepas dari apakah itu terjadi di dunia fantasi atau di luar angkasa[1].

Hampir semua jenis klasifikasi jenis, persoalan jenis tertentu setiap video game terbuka untuk interpretasi pribadi. Selain itu, setiap permainan mungkin milik beberapa jenis sekaligus[2]. Contoh jenis yang ada adalah: shooter game, real-time strategy game, action game, Role-Playing game, dan lain-lain. Jenis-jenis

(8)

Seiring perkembangan video game dengan berbagai jenisnya, dibutuhkan pula kecerdasan buatan dalam video game. Kecerdasan buatan yang terlalu mudah diprediksi tidak memberikan tantangan yang mengakibatkan pemain mudah bosan. Artificial Intelligence (AI) adalah kecerdasan buatan yang diimplementasikan pada mesin agar mesin seperti dapat berpikir. AI dibutuhkan dalam video game untuk merancang dan menghasilkan video game yang menyenangkan serta antarmuka antara manusia dan komputer yang cerdas dan menarik untuk dimainkan.

AI dalam digital game dengan jenis real-time ini diharapkan memiliki kecepatan respon yang cukup cepat, tidak terlalu cepat dan tidak terlalu ambat. Bila respon dari komputer lambat, pemain menjadi cepat bosan karena respon musuh yang terlalu lambat dan game menjadi terlalu mudah. sebaliknya bila respon terlalu cepat,game menjadi terlalu sulit. Kecepatan respon AI yang dapat dianggap cukup adalah 0.2 – 0.4 detik [3].

AI memiliki berbagai pola atau metode, beberapa diantaranya adalah Finite State Machine (FSM), MinMax, A*, Depth-First-Search (DFS), dan banyak lagi. FSM

memodelkan perilaku AI dengan keadaan yang dikontrol oleh suatu kejadian tertentu dan akan melakukan aksi sesuai dengan kejadian yang diterima dalam prosesnya. Pada satu saat, sistem akan berada pada salah satu keadaan yang aktif. Sistem dapat beralih menuju keadaan lain jika mendapatkan kejadian tertentu, baik yang berasal dari perangkat luar atau komponen dalam sistemnya itu sendiri. Transisi keadaan ini umumnya juga disertai oleh aksi yang dilakukan oleh sistem ketika menanggapi masukan yang terjadi. Berdasarkan peermasalahan diatas, maka akan dibangun AI dengan pemodelan perilaku menggunakan FSM pada .Net Framework, yang dapat dimodifikasi sesuai kebutuhan penggunanya.

1.2 Rumusan Masalah

(9)

1.3 Tujuan Pembahasan

Membuat class dasar FSM yang memungkinkan modifikasi keadaan sesuai kebutuhan pengguna pada .Net Framework dan memiliki kecepatan respon yang cukup.

1.4 Ruang Lingkup Penelitian

1. AI ini dirancang khusus untuk game dengan jenis real-time yang menggunakan waypoint.

2. AI yang akan dibuat adalah AI dengan environment multi agent, partially observeable, deterministic, episodic, dan static.

3. Metode yang akan digunakan untuk pathfinding dan mencari rute terpendek adalah algoritma dijkstra.

4. Lawan dari AI ini adalah pemain.

5. Pembuatan AI menggunakan .Net Framework 4.0, XNA Game Studio 4.0 dan Monogame

1.5 Metode Penelitian

Metode yang akan digunakan untuk pembuatan FSM untuk game digital mencakup :

1. Studi Literatur

Mempelajari dan memahami dengan benar, apa itu FSM dan bagaimana menerapkan FSM ke dalam sebuah digital game

2. Pengumpulan data

Pengumpulan data dilakukan dengan cara melakukan penelusuran menggunakan internet. Pada tahap ini pula dicari digital game yang menggunakan FSM.

3. Analisis Data

Pada tahap ini dilakukan analisis terhadap data yang sudah didapat. 4. Coding

Pada tahap ini FSM akan dibuat dengan menggunakan visual studio 2010 dan bahasa Pemrograman C# .

(10)

Pada tahap Implementasi, FSM akan diterapkan pada sebuah testing environment, lalu diuji oleh developer.

1.6 Sistematika Pembahasan

Dalam proses penyusunan laporan secara sistematikanya akan dirancang yaitu sebagai berikut :

1. BAB I. Pendahuluan

Bab ini membahas apa itu video game, mengapa AI dibutuhkan dalam video game, definisi FSM, dan keunggulan FSM.

2. Bab II Kajian Teori

Bab ini membahas tentang deskrisi AI dan FSM yang menjadi dasar dalam penelitian ini.

3. Bab III Analisa dan Rancangan Sistem Berisi rancangan desain AI yang akan dibuat. 4. Bab IV Implementasi

Bab ini berisi pseudocode yang menjadi inti dalam AI yang dibuat. 5. Bab V Pengujian

Bab ini berisi pengujian kasus pada AI yang telah dibuat. 6. Bab VI Simpulan dan Saran

(11)

45

BAB 6.

SIMPULAN DAN SARAN

6.1 Simpulan

Dari pengujian yang dilakukan, FSM sebagai AI dasar untuk agent dalam sebuah permainan cukup efektif dikarenakan:

Dari pegujian pergerakan dan pengujian perpindahan state, agent yang menggunakan FSM dapat bergerak seperti menyesuaikan diri dengan keadaan tergantung pada state yang sedang aktif. Hal ini dapat menimbulkan kesan musuh yang tidak bodoh dan dapat menyesuaikan diri dengan pemain. Berdasarkan pengujian custom behavior, terlihat agent juga dapat bergerak menggunakan jalur terpendek dengan algoritma djikstra.

6.2 Saran

(12)

DAFTAR PUSTAKA

[1] A. R. Ernest Adams, Fundamentals of Game Design, Pearson Prentice Hall, 2007.

[2] T. H. Apperley, Genre and game studies, Sage Publications, 2006. [3] S. Rabin, Game AI Pro 2: Collected Wisdom of Game AI Professionals,

Boca Raton: Taylor & Francis Group,LLC, 2015.

[4] I. Millington and J. Funge, Artificial Intelligence For Games, Burlington: Elsevier Inc., 2009.

[5] K. Warwick, Artificial Intelligence: The Basics, Routledge Publisher, 2012.

[6] R. A. Brooks, "Intelligence Without Reason," Massachusetts Institute of Technology, Massachusetts, 1991.

[7] P. H. Winston, Artificial Intelligence, Second dition, Reading MA: Addison-Wesley, 1984.

[8] P. E. Black, "finite state machine," Dictionary of Algorithms and Data Structures, 22 8 2013. [Online]. Available: https://xlinux.nist.gov/dads//HTML/finiteStateMachine.html. [Accessed 30 11 2015].

[9] J. Brownlee, "Finite State Machines (FSM)," 2002.

[10] E. W. Dijkstra, "Numerische Mathematlk l," A note on two problems in connexion with graphs, pp. 269-271, 1959.

[11] Monogame, "What is Monogame," 2009. [Online]. Available: http://www.monogame.net/documentation/?page=What_is_MonoGame. [Accessed 12 Juni 2016].

[12] Microsoft, "XNA Game Studio 4.0," 2016. [Online]. Available:

Gambar

Tabel 5.1: Tabel Hasil Pengujian ...........................................................................

Referensi

Dokumen terkait

Gambar 12 dan 13 menunjukkan kuat tekan umur 28 hari dimana penambahan air pada campuran mortar geopolimer menyebabkan turunnya konsentrasi larutan NaOH

Kur angnya pengawasan dan terlalu mudahnya WNA yang termasuk kedalam 169 negara untuk masuk Indonesia menyebabkan banyak WNA yang tidak mempunyai manfaat bagi

Dalam penelitian ini, tahapan akhir untuk mengetahui pola hubungan antara demikian dapat disimpulkan bahwa terdapat keseimbangan jangka panjang antara harga

Konsep multimodal analgesi telah diperkenalkan selama lebih dari sepuluh tahun yang lalu sebagai suatu teknik untuk memberikan analgesia yang optimal dan

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

Peserta didik menyimpulkan materi yang telah dipelajari serta menjawab pertanyaan yang muncul di awal pembelajaran dengan bantuan guru2. Guru memberikan tugas mandiri

Komputer adalah suatu alat elektronika untuk mengolah data dengan menggunakan suatu program tertentu dalam menghasilkan informasi. Fungsi komputer disamping untuk menyimpan

Penelitian ini bertujuan: 1) mengetahui karakteristik lahan untuk untuk pengembangan pariwisata air panas di daerah penelitian, 2) melakukan upaya