IMPLEMENTASI KECERDASAN BUATAN UNTUK BOT PADA GAME THE ARTIFACT
NASKAH PUBLIKASI
diajukan oleh Muhammad Faqihuddin 13.12.7198
kepada FAKULTAS ILMU KOMPUTER UNIVERSITAS AMIKOM YOGYAKARTA YOGYAKARTA 2017
IMPLEMENTASI KECERDASAN BUATAN UNTUK BOT PADA GAME THE ARTIFACT Muhammad Faqihuddin1), Akhmad Dahlan2), 1)
Sistem Informasi Universitas AMIKOM Yogyakarta 2) Informatika Universitas AMIKOM Yogyakarta Jl Ringroad Utara, Condongcatur, Depok, Sleman, Yogyakarta Indonesia 55283 Email :
[email protected]),
[email protected])
yaitu : “bagaimana membuat sebuah kecerdasan buatan pada bot dalam game The Artifact?”
Abstract- Artificial intelligence (AI) today is one of technology has been implemented in many sectors to help human’s life and cover human’s role in few sectors. One of easiest ways to understand AI implementation in human’s life is AI implementation in game that implemented in bot. Bot is character with AI implementation that act like human to make game more challenging and fun. With AI implementation, bot can be developed as enemy, ally or neutral character in game that can interact with player. This essay will try to implement AI concept to game called ‘The Artifact’ that requires player to find the artifact in a secret place. The plot is about a man called Musa who wanna find the legend’s artifact which can reveal the truth about world. He must manage to get through enemies that have AI implementation by pass them stealthty or fight them to get the artifact and get out alive. Keywords : Game, Implementation, Artificial Intelligent, The Artifact, technology, bot
1.2
Maksud dan Tujuan Penelitian Adapun maksud dan tujuan dari penelitian ini sebagai berikut : 1. Memahami dan menerapkan konsep kecerdasan buatan pada bot dalam game.. 2. Membuat game The Artifact, menjadi game yang menantang dan menyenangkan bagi pemainnya. 3. Sebagai syarat lulus jenjang Strata 1 jurusan Sistem Informasi Universitas Amikom Yogyakarta. 1.3
Metode Penelitian Pada penelitian kecerdasan buatan dalam game The Artifact, terdapat beberapa tahap penelitian yaitu tahap pengumpulan data, tahap analisis, tahap perancangan dan tahap testing. Tiap tahap memiliki metode yang berbeda.
1.
Pendahuluan Selama bertahun-tahun para filsuf berusaha mempelajari kecerdasan manusia. Dari pemikiran mereka, lahirlah sebuah cabang ilmu yang disebut Artificial Intelligence (AI) atau kecerdasan buatan. Sebuah cabang ilmu yang berusaha memahami kecerdasan manusia. AI telah menjadi bidang yang sangat penting dalam memahami kecerdasan manusia. Dengan didukung perkembangan teknologi, AI telah banyak diimplementasikan dalam berbagai bidang di kehidupan manusia. Salah satu bentuk implementasi paling mudah dilihat dan dipahami adalah implementasi kecerdasan buatan pada games atau permainan. Dari penjelasan diatas maka dapat disimpulkan bahwa penerapan kecerdasan buatan dapat diterapkan pada game, dengan tujuan untuk menciptakan game yang menantang dan menyenangkan dalam sebuah game. Dalam penelitian ini akan di bahas tentang penerapan kecerdasan pada bot dalam game yang berjudul “The Artifact”.
1.3.1 Metode Pengumpulan Data Metode pengumpulan data yang digunakkan dalam penyusunan skripsi ini merupakan metode studi pustaka. Dimana peneliti mengumpulkan referensi dari buku ataupun internet mengenai gambaran tentang kecerdasan buatan pada gamegame yang ada. 1.3.2
Metode Analisis Pada tahap ini akan dilakukan analisis yang berkaitan dengan analisis kebutuhan fungsional dan non fungsional yang akan digunakan dalam penelitian ini.
1.3.3
Metode Perancangan Metode perancangan yang digunakan pada penyusunan skripsi ini merupakan metode prototype. 1.3.4 Metode Testing Metode testing untuk menguji kelayakan game yang telah dibuat dilakukan menggunakan metode Blackbox.
1.1
Rumusan Masalah Dari latar belakang yang dijelaskan pada sub bab di atas, maka penulis merumuskan sebuah masalah,
1
hiburan dengan sejumlah standar aturan untuk mengatur perkembangan sesi, yang memiliki nilai kuantitatif tentang kesuksesan dan kegagalan saat memainkannya [8].
2. 2.1
Pembahasan Kecerdasan Buatan Kecerdasan buatan adalah seni dalam membuat mesin yang mampu menjalankan fungsi-fungsi yang membutuhkan kemampuan intelegensi layaknya manusia.[3] Artificial Intelligence (AI) atau kecerdasan buatan dapat didefinisikan sebagai cabang sains komputer yang mempelajari otomatisasi tingkah-laku cerdas (intelligent).[4] John McCArthy mendefinisikan AI sebagai cabang dari ilmu komputer yang berfokus pada pengembangan komputer untuk dapat memiliki kemampuan dan berperilaku sebagai manusia. [5]
2.5
Unity Unity adalah game engine cross platform yang dikembangkan oleh Unity Technologies yang sebelumnya mengembangkan game untuk PC , console , mobile dan website. Pertamakali dirilis hanya unruk Mac OS, di konferensi apple sedunia pada tahun 2005, kemudian unity ditargetkan untuk lebih dari 15 platform. Saat ini unity menjadi software standard unutk mengembangkan game Wii U.
2.3
Logika Fuzzy Logika fuzzy yang diperkenalkan oleh Prof. Lotfi Astor Zadeh pada 1962 merupakan metodologi sistem kontrol pemecahan masalah, yang cocok untuk diimplementasikan pada sistem, mulai dari sistem yang sederhana, sistem kecil, embedded system, jaringan PC, multi-chanel atau workstation berbasis akuisisi data, dan sistem control. Dalam logika klasik dinyatakan bahwa segala sesuatu bersifat biner, yang artinya hanya memiliki dua kemungkinan, ya atau tidak, benar atau salah, baik atau buruk dan lain-lain yang semua itu hanya dapat mempunyai nilai keanggotaan 0 atau 1. Akan tetapi, dalam logika fuzzy memungkinkan nilai keanggotaan berada antara 0 dan 1. Artinya bisa saja suatu keadaan mempunyai dua nilai ya atau tidak, benar atau salah, baik atau buruk secara bersamaan, namun besar nilainya tergantung pada bobot keanggotaan yang dimilikinya.[6]
2.6
Konsep Kecerdasan Buatan Konsep kecerdasan pada bot prajurit penjaga ini bertujuan untuk menjaga artefak agar tidak di ambil oleh pemain. Kecerdasan buatan ini terdiri dari tiga state atau mode. Tiap mode memiliki rule masing-masing. Mode mode dalam kecerdasan buatan ini adalah : 1. Mode Patrol : pada mode ini, bot berjalan secara teratur pada waypoint yang telah ditentukan seperti seorang prajurit yang sedang berjaga. 2. Mode Investigate : mode ini aktif apabila keputusan pada mode patroli apabila bot mendengar suara pemain atau pemain terlihat oleh bot dalam waktu tertentu. pada mode ini bot berjalan kearah suatu point dimana point ini adalah point dimana pemain terlihat. 3. Mode Chase : mode ini dapat diaktifkan dari mode patrol atau siaga, mode ini akan membuat bot melakukan pengejaran terhadap pemain sampai pada jarak tertentu untuk melakukan penembakan.
2.3.1 Dasar-Dasar Logika Fuzzy Dalam memahami logika fuzzy, dibutuhkan konsep himpunan fuzzy. Konsep himpunan fuzzy memiliki 2 atribut yaitu [6] : 1. Linguistik, yitu nama suatu kelompok yang mewakili suatu keadaan tertentu dengan menggunakan bahasa alami, misalnya muda, paruh baya, tua mewakili variabel umur atau dingin, sejuk, panas mewakili variabel temperatur. 2. Numeris, yaitu suatu nilai yang menunjukan ukuran daru suatu variabel, misalnya 10,35,40 dan sebagainya. 2.3.2 Logika Fuzzy Metode Tsukamoto Metode Tsukamoto merupakan perluasan dari penalaran monoton. Pada metode Tsukamoto, setiap konskuen pada aturan yang berbentuk IF-Then harus direpresentsikan dengan suatu himpunan fuzzy dengan fungsi keanggotaan yang monoton. Sebagai hasilnya, output hasil inferensi dari tiap-tiap aturan diberikan secara tegas (crisp) berdasarkan α-predikat. Hasil akhirnya diperoleh dengan menggunakan rata-rata terbobot. [7] 2.4 Game Permainan komputer (computer game),atau yang lebih dikenal sebagai permainan/game adalah aplikasi
2.6.1 Pemodelan Fuzzy Tsukamoto Konsep kecerdasan buatan akan dibuat menggunakan pemodelan fuzzy Tsukamoto. Rancangan pemodelan dapat dilihat pada gambar 1.
Gambar 1 Flowchart Prosedur pendaftaran 1.
2
Mode Patrol Pada mode ini bot akan menghitung jarak ke arah posisi waypoint. Bot akan bergerak
2.
3.
ke arah waypoint sehingga jarak ke arah waypoint berkurang. Saat jarak ke arah waypoint mencapai angka 0 maka bot akan menghitung jarak ke arah waypoint lain dan bergerak ke waypoint berikutnya. Mode Investigate Pada mode ini bot akan melihat ke arah pemain dan menghitung jarak ke arah posisi pemain, kemudian menentukan apakah pemain berada dalam jarak pendengaran dan masuk dalam jarak pandangnya. Apabila pemain masuk dalam jarak pandangnya maka bot akan berubah ke mode chase. Pada mode ini juga bot menghitung mundur waktu investigate yang dia miliki sampai mencapai angka 0 kemudian kembali ke mode patrol. Mode Chase Pada mode ini bot akan mengejar pemain. Bot akan menghitung jarak ke arah posisi pemain dan menambah kecepatan apabila jaraknya jauh dan kembali normal apabila jaraknya dekat kemudian menyerang pemain.
Berikut ini merupakan rumus persamaan dari fungsi keanggotaan jarak. 𝑑𝑒𝑘𝑎𝑡 − 𝑧 𝑑𝑒𝑘𝑎𝑡 < 𝑥 < 𝑗𝑎𝑢ℎ = 𝑗𝑎𝑢ℎ − 𝑑𝑒𝑘𝑎𝑡 2.6.2.2 Rule Mode Patroli Input dari rule-rule pada mode patrol adalah : 1. K1 : waktu terlihat adalah lama waktu pemain masuk dalam jangkauan penglihatan bot. 2. K2 : jarak pandang adalah jarak pemain dan bot pada saat pemain berada dalam penglihatan bot. 3. K3 : tipe bot terdiri dari 3 tipe seperti ynag dijelaskan sebelumnya. Sedangkan output dari rule pada mode ini adalah pergantian ke mode siaga atau pengejaran. sehingga hasil dari inputan akan diolah untuk menentukan mode apa yang kemudian diaktifkan. 1. Rule A : if k1_sebentar AND k2_jauh THEN A = 3 if k1_sebentar AND k2_dekat THEN A =6
2.6.2 Rule Kecerdasan Buatan Sesuai dengan deskripsi diatas, masing-masing mode memiliki rule masing-masing, dalam sub bab ini akan dijelaskan mengenai rule dan fungsi keanggotaan dari masing-masing mode. 2.6.2.1 Fungsi Keanggotaan Terdapat dua fungsi keanggotaan, yaitu keanggotaan waktu dan jarak. Fungsi keanggotaan waktu berfungsi untuk menentukan kapan bot harus berganti mode ketika pemain memasuki area view maupun hearing bot dalam waktu tertentu. Fungsi keanggotaan waktu terlihat pada Gambar 2.
if k1_sedang AND k2_jauh THEN A = 5 if k1_sedang AND k2_dekat =6 if k1_lama AND k2_jauh THEN A = 6 if k1_lama AND k2_dekat =6
THEN A
THEN A
Hasil perhitungan dari rule A akan mengacu pada Gambar 4 sebagai acuan menentukan rule berikutnya.
Gambar 2 Fungsi Keanggotaan Waktu Sementara fungsi keanggotaan jarak berfungsi untuk menghitung jarak player dari bot. Sehingga bot mampu menentukan kapan dia harus menambah kecepatan untuk mengejar player dan menembaknya. Fungsi Keanggotaan Jarak ditunjukan pada gambar 3.
Gambar 4 Diagram Waktu 2.
Gambar 3 Fungsi Keanggotaan Jarak
3
Rule B : if A _Safe Patrol if A _Suspicous Investigate if A_Alert Chase
THEN
Mode
=
THEN
Mode
=
THEN
Mode
=
kemampuan mendengar suara dari jarak tertentu. 3. Dark Bot : merupakan robot dengan tipe bos. Dia merupakan robot terkuat sekaligus pemimpin para robot penjaga.
2.6.2.3 Rule Mode Investigate Input dalam mode siaga adalah sebagai berikut : k1 : jarak pandang bot k2 : jarak terlihat k3 : waktu siaga k4 IF k2 <= k1 AND k3>=k4 THEN Mode = Chase ELSE Mode = Patrol : waktu siaga bot
2.7.2
Flowchart Game Flowchart game menunjukan alur game The Artifact mulai dari menjalankan permainan sampai berakhir permainan. Flowchart game The Artifact digambarkan pada Gambar 5, Gambar 6 dan Gambar 7.
2.6.2.4 Rule Mode Chase Pada mode ini bot hanya dapat beralih ke mode siaga. Peralihan terjadi apabila pemain berada diluar jarak pandang bot selama lebih dari waktu transisi pengejaran masing-masing bot. Selain peralihan, rule pada mode ini mengatur kecepatan pengejaran dimana apabila telah mencapai jarak yang dekat dengan pemain, bot akan berhenti untuk menembak pemain. Berikut adalah fungsi keanggotaan kecepatan pengejaran bot menurut rumus persamaan yang sudah dijelaskan pada 3.3.2.1. jarak = x dekat = 7 jauh = 18 x<dekat = 0 18 − 𝑧 7 < 𝑥 < 18 = 11 x>jauh = fullspeed 𝑧−7 7 < 𝑥 < 18 = 11
Gambar 5 Flowchart Level 1 Pada gambar 5 di atas, dapat dilihat bahwa permainan akan berlangsung sampai pemain menyelesaikan level 1 atau mati. Apabila pemain mati maka dia dapat memilih untuk mengulangi lagi atau keluar dari game. Apabila pemain dapat menyelesaikan level 1 maka pemain akan melanjutkan permainan di level 2.
2.7 Perancangan Game 2.7.1 Konsep Game The Artifact berkonsep game third person single player adventure. Tujuan game ini adalah menjalankan misi, yaitu mendapatkan artefak yang dijaga oleh prajurit penjaga(robot). Game ini bercerita tentang seorang pemuda bernama Musa yang berusaha mendapatkan sebuah artefak kuno untuk mengungkap rahasia hilangnya benua Atlantis. Bahkan konon, berisi lokasi Atlantis. Tapi ternyata, lokasi artefak dijaga ketat oleh para Guardian yang konon merupakan pasukan robot peninggalan bangsa Atlantis. Game ini terdiri dari tiga level. Level pertama dan kedua player akan mencari jalan dan mengambil artefak. Kemudian pada level 3 pemain harus menemukan jalan keluar dengan selamat. Ada tiga tipe bot dengan kesulitan yang berbeda beda. Tiga tipe bot tersebut adalah : 1. Green Bot : merupakan robot dengan kemampuan paling rendah diantara robot lain. Robot ini tidak memiliki kemampuan untuk mendengar, sehingga tak mampu mendengar suara apapun. 2. Red Bot : merupakan robot yang memiliki kemampuan yang lebih baik dari green bot. Robot ini juga unggul dalam
Gambar 6 Flowchart Level 2 Pada gambar 6 di atas, dapat dilihat bahwa permainan akan berlangsung sampai pemain menyelesaikan level 2 dengan mendapatkan artefak. Apabila pemain tidak mendapatkan artefak maka permainan akan berlanjut sampai pemain mendapatkan artefak atau mati. Apabila pemain mati maka dia dapat memilih untuk mengulangi lagi atau keluar dari game.
4
Apabila pemain dapat menyelesaikan level 2 maka pemain akan melanjutkan permainan di level 3.
2.8.2.3 Kebutuhan Brainware Dalam pengembangan game ini membutuhkan sumber daya manusia, diantaranya : 1. Sistem Analis : Muhammad Faqihuddin 2. Game Programmer : Muhammad Faqihuddin 3. Game Designer : Muhammad Faqihuddin 2.9
Pembahasan Kecerdasan Buatan Bot dan asset asset lain yang telah dikumpulkan dalam permainan ini tentunya tidak dapat bergerak dan berfungsi dengan sendirinya tanpa dibantu dengan script. Masing masing script memiliki fungsinya masing masing. Script yang digunakan menggunakan bahasa pemrograman C# dengan file ber ekstensi .cs. scriptscript yang terdapat dalam game The Artifact ditunjukan pada Gambar 8.
Gambar 7 Flowchart Level 3 Pada gambar 7 di atas, dapat dilihat bahwa permainan akan berlangsung sampai pemain menyelesaikan level 3 atau mati. Apabila pemain mati maka dia dapat memilih untuk mengulangi lagi atau keluar dari game. Apabila pemain dapat menyelesaikan level 3 maka permainan akan mencapai akhir atau tamat. 2.8 Analisa Kebutuhan 2.8.1 Kebutuhan Fungsional Kebutuhan fungsional adalah kebutuhan yang terkait dengan fungsi produk. Kebutuhan-kebutuhan fungsional dari game The Artifact adalah : 1. Dapat menampilkan menu utama sebelum memulai. 2. Terdapat pilihan untuk keluar dari game. 3. Terdapat pilihan mulai permainan. 4. Game dapat di Pause 5. Saat game di Pause terdapat pilihan untuk resume atau kembali ke menu utama. 6. Game berakhir ketika hp (hit points) pemain yang merepresentasikan darah pemain mencapai 0 atau pemain berhasil mencapai akhir game (Tamat).
Gambar 9 List Script 2.9.1 Arsitektur Kecerdasan Buatan Masing-masing script memiliki peran masing masing. Dalam pembuatan kecerdasan buatan game ini script yang mendukung kecerdasan buatan berperan dengan ilustrasi seperti bagan pada Gambar 9.
Gambar 9 Arsitektur AI 2.8.2 Kebutuhan Non Fungsional 2.8.2.1 Kebutuhan Perangkat keras Kebutuhan hardware pada pengembangan game ini adalah Laptop ASUS N46VJ untuk pengembangan program game dengan spesifikasi sebagai berikut : 1. Processor intel core i5 2. RAM 8 GB 3. Harddisk 750 GB 4. VGA Nvidia geforce 635M
Dalam bagan terlihat bahwa bot memiliki dua script kecerdasan buatan yaitu Enemysight.cs dan EnemyHorde.cs yang juga berhubungan dengan PlayerHealth.cs . Pemisahan script EnemySight dan EnemyHorde disebabkan penggunaan script di level yang berbeda. Script EnemySight.cs digunakan pada level 1 dan 2 dimana bot melakukan patroli. Sementara script EnemyHorde.cs digunakan pada level 3 dimana semua bot akan mengejar karakter utama sampai game berakhir. 1. 2.6.2.5 Enemy Horde Script EnemyHorde.cs pada bot dalam game The Artifact berfungsi memberi bot fitur mengejar player berdasarkan jumlah hitpoint / nyawa karakter utama. Apabila nyawa karakter utama lebih dari 0 maka bot
2.8.2.2 Kebutuhan Perangkat Lunak Kebutuhan software untuk pengembangan game ini adalah sebagai berikut : 1. Unity 3D 2. Mono Develop 3. Mixamo 4. Sistem operasi MS Windows 10
5
Menggunakan Algoritma MiniMax,” Bdg. Sekol. Tek. Elektro Dan Inform. Inst. Teknol. Bdg., 2008.
akan mengejar dan menyerang karakter utama sampai game berakhir atau bot dibunuh oleh karakter utama. 2.6.2.6 Enemy Sight Script EnemySight.cs pada game The Artifact berfungsi untuk memberi bot fitur patroli, investigate (mendeteksi karakter utama) dan chase(mengejar karakter utama). Script ini memungkinkan bot melakukan pengambilan keputusan berdasarkan input yang didapatkan sehingga bot akan memutuskan kapan harus masuk ke mode Patrol, Investigate, atau Chase. 2.10
Testing Metode testing yang digunakan pada skripsi ini merupakan metode Blackbox testing. Testing dilakukan untuk memastikan fitur pada game dan kecerdasan buatan berjalan sesuai dengan spesifikasi yang telah ditentukan sebelumnya. Hasil dari testing menunjukkan bahwa fitur game dan kecerdasan buatan sudah berjalan dengan baik meskipun belum sempurna. Kesimpulan Berdasarkan rumusan masalah yang telah dikemukakan pada bab-bab sebelumnya dan melalui tahap-tahap selama proses implementasi kecerdasan buatan untuk bot pada game The Artifact dapat ditarik kesimpulan sebagai berikut: 1. Kecerdasan buatan dibuat dengan meniru prilaku manusia. Dengan script yang memiliki fungsi masing masing. EnemySigth.cs sebagai input berfungsi seperti mata dan telinga manusia. Sekaligus berfungsi sebagai pengambil keputusan layaknya otak, dan melakukan tindakan yang yang berhubungan dengan gerakan atau tindakan. 2. Terdapat tiga mode pada kecerdasan yang dibuat yaitu mode patrol, siaga dan pengejaran. 3. Implementasi kecerdasan buatan untuk bot pada game dapat diterapkan dengan banyak cara, salah satunya menggunakan logika fuzzy Tsukamoto.
[4]
Sandi Setiawan, “Artificial Intelligence,” 1993.
[5]
Dr. Widodo Budiharto, S.Si., M.Kom., and Derwin Suhartono, S.Kom., MTI., “Artificial Intelligence – Konsep dan Penerapannya,” 2014.
[6]
T. Sutojo, E. Mulyanto, and V. Suhartono, “Kecerdasan Buatan,” 2011.
[7]
Sri Kusumadewi, Hari Purnama, “Aplikasi Logika Fuzzy untuk Pendukung Keputusan,” 2010.
[8]
Jesper Juul, 2000, “What computer games can and can't do”, https://www.jesperjuul.net/text/wcgcacd.html (01.58 11/10/2016)
[9]
Bob Bates, Game Design Second Edition. Thomson Course Technology, 2004.
[10]
A. B. B. Ladjamudin, “Rekayasa Perangkat Lunak”. 2006.
[11]
http://softwaretestingfundamentals.com/blackbox-testing/ (19.00 01/02/2017)
[12]
H.A.Fatta, 2007. Analisis & Perancangan Sistem Informasi Untuk Keunggulan Bersaing Perusahaan & Organisasi Modern, Yogyakarta: Andi offset, hal 10.
[13]
Rangkuti, Freddy, 2005. Analisis SWOT: Teknik Membedah Kasus Bisnis: Analisis SWOT Sebagai Alat Formulasi Strategi, Jakarta: Gramedia Pustaka Utama.
[14]
B. Al Bahr, “Pembuatan Kecerdasan Buatan untuk Permainan Catur Jawa Dengan Menggunakan Algoritma MiniMax,” Bdg. Sekol. Tek. Elektro Dan Inform. Inst. Teknol. Bdg., 2008.
2.
DAFTAR PUSTAKA [1] Aan Fadhil and Hanif Al Fatta, “Kecerdasan Buatan Pada Bot Dalam Game Escape Alcatraz,” Naskah Publikasi STMIK AMIKOM Yogyakarta, Publikasi_12.12.6331, 2015. [2]
K. R. Purba, R. N. Hasanah, and M. A. Muslim, “Implementasi Logika Fuzzy Untuk Mengatur Perilaku Musuh dalam Game Bertipe ActionRPG,” J. EECCIS, vol. 7, no. 1, p. pp–15, 2013.
[3]
B. Al Bahr, “Pembuatan Kecerdasan Buatan untuk Permainan Catur Jawa Dengan
Biodata Penulis Muhammad Faqihuddin, memperoleh gelar Sarjana Komputer (S.Kom), Program Studi Sistem Informasi Universitas AMIKOM Yogyakarta, lulus tahun 2017. Akhmad Dahlan, memperoleh gelar Magister Teknik Informatika di STMIK AMIKOM Yogyakarta, lulus tahun 2013. Saat ini menjadi Dosen di Universitas AMIKOM Yogyakarta, pada Program Studi D3Manajemen Informatika.
6