KECERDASAN BUATAN PADA BOT DALAM GAME “ESCAPE ALCATRAZ”
NASKAH PUBLIKASI
diajukan oleh Aan Fadhil 12.12.6331
kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA YOGYAKARTA 2015
ii
KECERDASAN BUATAN PADA BOT DALAM GAME “ESCAPE ALCATRAZ” Aan Fadhil1), Hanif Al Fatta2) 1)
SistemInformasi STMIK AMIKOM Yogyakarta Teknik Informatika STMIK AMIKOM Yogyakarta Jl. Ringroad Utara, Condongcatur, Depok, Sleman, Yogyakarta Indonesia 55283 Email :
[email protected]),
[email protected]) 2)
Abstract - Artificial intelligence today has been implemented in many field to cover for human's role. to create a challenging game, bot is needed as an enemy that replace human's role as an enemy. In this essay will try to implement the concept of artificial intelligence to bot as an enemy ini game which can behave as well as being controlled by human. with this implementation of artificial intellligence, the game is expected to be more challenging. The game that will be built with an implementation of artificial intelligence for it's bot will be titled "Escape Alcatraz". the plot is about a prisoner who try to escape the one of the most cruel prison on earth. and he have to avoid the prison guard that has been implemented an artificial intelligence in it. Keyword : Artificial Intelligence, Game 1 1.1
Pendahuluan Latar Belakang Dengan perkembangan teknologi yang pesat , saat ini posisi manusia dapat digantikan oleh komputer. Kemampuan proses data yang sangat cepat dilakukan oleh komputer dan minim kesalahan membuat komputer digunakan untuk menggantikan manusia. Terlebih lagi saat ini telah berkembang sebuah konsep kecerdasan buatan. Kecerdasan buatan yang diekstraksi dari manusia kemudian diterapkan pada komputer ini mampu menggantikan kecerdasan manusia pada bidang tertentu. Selain digunakan untuk kebutuhan industri dan perkembangan ilmu pengetahuan, komputer juga digunakan sebagai sarana hiburan. Dimana salah satu dari hiburan pada komputer adalah game. Sisi menghibur dari sebuah game adalah adanya tantangan dari musuh atau dalam istilah teknis sering disebut dengan bot. bot adalah komponen game yang berlaku sebagai musuh atau lawan main yang di wakili oleh komputer.
Tentunya musuh yang dihadapi dalam game harus dapat berprilaku seperti manusia. Dalam dunia nyata, kemampuan manusia dalam memainkan game berbeda beda. Beberapa pengaturan game mungkin terlalu sulit untuk dimainkan oleh seseorang. Hal ini tentu tidak akan menciptakan sebuah game yang menghibur, melainkan malah membuat seseorang tersebut frustasi. Oleh karena itu sebuah game harus memiliki fleksibilitas tingkat kesulitan sehingga dapat menyesuaikan dengan kemampuan memainkan game pada orang yang berbeda. Dari penjelasan diatas maka dapat disimpulkan bahwa penerapan kecerdasan buatan untuk menggantikan peran manusia dapat diterapkan pada game, dengan tujuan untuk menciptakan game yang menantang dan meningkatkan sisi menghibur dalam sebah game. Dalam penelitian ini akan di bahas tentang penerapan kecerdasan pada bot dalam game yang berjudul “Escape Alcatraz”. 1.2
Rumusan Masalah
Dari latar belakang yang dijelaskan pada sub bab diatas, maka penulis merumuskan masalah kedalam beberapa poin, yaitu : 1. Bagaimana membuat sebuah kecerdasan buatan pada bot dalam game Escape Alcatraz ?
2. Bagaimana membuat kecerdasan buatan yang dapat diatur tingkat kesulitannya ? 1.3 Batasan Masalah Dengan melihat rumusan masalah diatas, maka penulis merumuskan batasan masalah pembuatan kecerdasan buatan dalam game Escape Alcatraz sebagai berikut : 1 Game Escape Alcatraz adalah game bertipe single player.
1
2
3
Game Escape Alcatraz menerapkan kecerdasan buatan pada bot dalam game, dalam hal ini berupa sipir penjara.
1. 2.
Terdapat dua tingkat kesulitan yang dapat diatur dalam game Escape Alcatraz.
3.
1.4 Maksud dan Tujuan Penelitian Tujuan dari penelitian ini adalah Memahami dan menerapkan konsep kecerdasan buatan pada bot dalam game “Escape Alcatraz”. 1.5 Metode Penelitian Pada penelitian kecerdasan buatan dalam game Escape Alcatraz, terdapat beberapa tahap penelitian yaitu tahap pengumpulan data, tahap analisis, tahap perancangan dan tahap testing. Tiap tahap memiliki metode masing-masing. 1. Pengumpulan data menggunakan metode studi pustaka 2. Metode perancangan menggunakan metode prototype 3. Testing menggunakan metode penelitian blackbox. 2 Landasan Teori 2.1 Definisi Kecerdasan Buatan Kecerdasan buatan adalah mesin yang mampu berpikir, menimbang tindakan yang akan diambil, dan mampu mengambil keputusan seperti yang dilakukan oleh manusia[1]. 2.2 Logika Fuzzy Logika Fuzzy adalah logika yang menyatakan bahwa suatu keadaan mempunyai dua nilai secara bersamaan, namun besar nilainya tergantung pada bobot keanggotaan yang dimilikinya [1]. 2.3 Game Adalah aplikasi hiburan dengan sejumlah standar aturan untuk mengatur perkembangan sesi yang memiliki nilai kuantitatif tentang kesuksesan dan kegagalan saat memainkannya [2]. 2.2 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.
4. 5.
Bot memiliki tiga mode, yaitu patrol, siaga dan pengejaran Bot dapat berganti mode secara otomatis dengan acuan rule rule yang dijelaskan lebih rinci pada bab berikutnya Bot terbagi menjadi tiga jenis dan masingmasing memiliki tingkat kesulitan masing masing Akurasi tembakan bot dapat berubah berdasar jarak bot dengan pemain. Saat mengejar bot dapat mengejar dengan kecepatan penuh, kecepatan tidak penuh atau berhenti mengejar, tergantung pada jarak bot dengan pemain.
3.2 Konsep Game Game Escape Alcatraz berkonsep third person adventure yang misi utamanya adalaha kabur dari penjagaan robot. Game ini terdiri dari dua level, level pertama menggunakan map yang lebih kecil dari map pada level ke 2. Terdapat pula 3 tipe bot dalam game ini yang memiliki kemampuan berbeda yaitu fat bot, normal bot dan special bot. terdapat dua tingkat kesulitan yaitu normal dan hard. 3.3 Konsep Kecerdasan Buatan Konsep kecerdasan pada bot sipir penjara ini pada intinya adalah menyamai penjaga penjara, yaitu untuk tidak membiarkan tahanan kabur. Terdapat tiga mode dalam keccerdasan buatan yaitu : 1. 2.
3.
Mode patroli : bot berjalan mengikuti waypoint Mode siaga : diaktifkan dari mode patrol apabila terjadi kontak dengan pemain, bot akan menuju ke lokasi terakhir pemain terlihat Mode pengejaran : diaktifkan dari mode patrol atau mode siaga. Bot akan melakukan pengejaran dan menembak pemain.
3.4 Rule Kecerdasan Buatan 3.4.1 Mode Patroli Fungsi keanggotaan waktu
3 Analisis dan Perancangan Sistem 3.1 Analisis Kebutuhan Fungsional Kecerdasan Buatan
Gambar 1 fungsi keanggotaan waktu Fungsi keanggotaan jarak
2
Gambar 2 fungsi keanggotaan jarak Input dari rule-rule pada mode patrol adalah : 1. K1 : waktu terlihat adalah lama waktu pemain masuk dalam jangkauan pengelihatan bot 2. K2 : jarak pandang adalah jarak pemain dan bot pada saat pemain berada dalam pengelihatan bot 3. K3 : tipe bot terdiri dari 3 tipe seperti ynag dijelaskan sebelumnya. 4. K4 : tingkat kesulitan terdiri dari 2 tingkat (normal dan hard). 1. rule A : if k4_normal A_mudah if k4_normal A_mudah if k4_normal
THEN
AND k3_average
THEN
3.4.2 Mode Siaga Input dalam mode siaga adalah sebagai berikut : k1 : jarak pandang bot k2 : jarak terlihat k3 : waktu siaga k4 : waktu siaga bot IF
k2 <= k1 AND Mode = pengejaran
k3
THEN
ELSE Mode = patrol
AND k3_special THEN A_biasa
if k4_hard A_biasa if k4_hard if k4_hard
AND k3_fat
THEN
AND k3_average THEN A_sulit AND k3_special THEN A_sulit
2 rule B : if k1_sebentar = 30 if k1_sebentar if k1_sedang = 60 if k1_sedang
AND k3_fat
3. rule C : if A_mudah AND B_aman THEN Mode = patroli if A_mudah AND B_mencurigakan THEN Mode = patroli if A_mudah AND B_ketahuanTHEN Mode = siaga if A_biasa AND B_aman THEN Mode = patroli if A_biasa AND B_mencurigakan THEN Mode = siaga if A_biasa AND B_ketahuan THEN Mode = pengejaran if A_sulit AND B_aman THEN Mode = siaga if A_sulit AND B_mencurigakan THEN Mode = pengejaran if A_sulit AND B_ketahuan THEN Mode = pengejaran
AND k2_jauh AND k2_dekat
THEN B THEN B = 30
AND k2_jauh AND k2_dekat
3.4.3 Mode Pengejaran Mode pengejaran beralih ke mode siaga apabila pemain berada diluar jangkauan pandang lebih dari waktu transisi pengejaran. Selain peralihan mode. Rule pada mode pengejaran juga mengatur tentang kecepatan dan akurasi tembakan Fungsi keanggotaan kecepatan Jarak = x Dekat = 7 Jauh = 18 x<dekat=0
THEN B THEN B = 60
x>jauh = fullspeed if k1_lama AND k2_jauh THEN B = 90 if k1_lama AND k2_dekat THEN B = 90 Hasil perhitungan dari rule B akan mengacu pada diagram
fungsi keanggotaan akurasi x<dekat =0
x>jauh = -3
Gambar 3 Diagram Perilaku
3
4. Hasil dan Pembahasan Kecerdasan buatan pada game ini dibuat menggunakan script C# yang menghasilkan file berformat .cs. script-script yang dibuat pada game ini ditunjukan pada gambar berikut
Siaga() dan Pengejaran(). Setiap method menjalankan rule yang telah didefinisikan pada sub bab sebelumnya. Selain melakukan pengambilan keputusan, script kecerdasan buatan juga melakukan inisiasi kemampuan robot pada method start yang dipanggil ketika class tersebut dibuat. Penentuan nilai inisiasi ditentukan dari inspector yang menginputkan nilai integer dari 1-3 dimana 1 mewakli fat bot, 2 mewakili normal bot dan 3 mewakili special bot. 4.3 Action Action.cs merupakan output dari arsitektur kecerdasan buatan. Script ini melakukan pergerakan tindakan dan komunikasi dengan game controller. Terdapat fungsi untuk melakukan pergerakan menuju suatu titik,fungsi untuk melakukan penembakan kearah target, melakukan update lokasi pemain apabila bot sedang melihat pemain. Dan memberitahu gamecontroller bahwa bot sedang melihat pemain.
Gambar 4 List Script Masin-masing script memiliki peran masing masing dengan arsitektur seperti gambar berikut
Gambar 5 arsitektur Kecerdasan Buatan 4.1 Penglihatan Musuh Penglihatan musuh berperan sebagai indera penglihatan yang memiliki property bertipe bool yang bernilai true apabila pemain terlihat. Terdapat beberapa syarat agar pemain dapat dikatakan terlihat, yaitu pemain berada dalam collider kemudian pemain berada dalam jangkauan sudut pandang bot dan tidak terdapat penghalang berupa dinding atau bot lain yang berada antara pemain dan bot 4.2 Kecerdasan Buatan Script kecerdasan buatan berperan sebagai otak pada bot yang melakukan proses pengambilan keputusan yang didasarkan input dari penglihatan musuh dan melakukan output melalui script action. Terdapat 3 method utama yang membagi tiap tiap mode kedalam satu method yaitu method patroli(),
4.4 Game Controller Game controller berfungsi sebagai server yang menampung komunikasi dari bot. serta menyimpan informasi tingkat kesulitan. Game controller akan mematikan alarm apabila tidak ada bot yang melihat pemain lebih dari 3 detik dengan mengakses script alarmlight. Game controller juga menampung posisi pemain sehingga dapat diakses oleh semua bot , dalam hal ini bot yang tidak sedang melihat pemain akan menggunakan posisi pada game controller ini sebagai target untuk melakukan pengejaran. 4.5 Pengujian Kecerdasan Buatan Pengujian kecerdasan buatan dilakukan dengan memanggil fungsi static pada class fuzzy dan melakukan input dengan berbagai kombinasi kondisi tingkat kesulitan, tipe bot, jarak dan waktu. Dari hasil pengujian tersebut dapat diketahui pada konsisi apa robot beralih mode siaga atau pengejaran. Pengujian yang dilakukan dengan melakukan input waktu dengan interval jarak 1 dan interval waktu 1 menghasilkan 505 record yang menunjukan pergantian mode. dari ke 505 record tersebut terdapat 204 kondisi yang menghasilkan mode patrol, 168 kondisi yang menghasilkan mode siaga dan 132 kondisi yang menunjukan mode pengejaran. Hasil pengujian membuktikan bahwa bot memiliki kemampuan untuk mengambil keputusan sendiri berdasarkan input dengan berbagai kondisi menggunakan logika fuzzy untuk mendukung pengambilan keputusan serta meniru prilaku manusia termasuk dalam hal melakukan kesalahan yang terdapat ketika melakukan salah tembak.
4
5. Kesimpulan dan Saran 5.1 Kesimpulan Setelah menyelesaikan proses pembuatan kecerdasan buatan pada game Escape Alcatraz dapat ditarik kesimpulan sebagai berikut 1. Telah dibuat kecerdasan buatan bot pada game Escape Alcatraz. Dengan script yang memiliki fungsi masing masing. PengelihatanMusuh.cs sebagai input berfungsi seperti mata manusia. KecerdasanBuatan.cs berfungsi sebagai pemngambil keputusan erfungsi sebagai otak, Action.cs berfungsi sebagai tindakan yang yang berhubungan dengan gerakan atau komunikasi. Serta Controller.cs yang berfungsi sebagai server yang menampung komunikasi antar bot. 2.
Terdapat tiga mode pada kecerdasan yang dibuat yaitu mode patrol, siaga dan pengejaran
3.
Kecerdasan buatan dibuat dengan 2 tingkat kesulitan yang akan mempengaruhi bot dalam mengambil keputusan untuk siaga atau mengejar.
Daftar Pustaka [1] T. Sutojo, E. Mulyanto, and V. Suhartono, “Kecerdasan Buatan,” 2011. [2] J. Juul, What computer games can/can’t do. 2000.
Biodata Penulis Aan Fadhil, memperoleh gelar Sarjana Komputer (S.Kom), Jurusan Sistem Informasi STMIK AMIKOM Yogyakarta, lulus tahun 2016. Hanif Al Fatta, S1 – Ilmu Komputer UGM Yogyakarta (lulus tahun 2001), S2-Ilmu Komputer UGM Yogyakarta (lulus tahun 2007).
5.2 Saran Kecerdasan buatan bot serta game Escape Alcatraz sendiri masih memiliki kekurangan yang dapat dimaksimalkan antaralain: 1. Kecerdasan buatan perlu menambah indra lain seperti pendengaran yang sehingga dapat mendeteksi pemain tanpa harus berada pada sudut pandang 2.
Perubahan kesulitan dari normal ke hard sebaiknya lebi terlihat signifikan dengan menambahkan perbedaan pengaruh tingkat kesulitan pada mode mode lain.
3.
Diperlukannya naming convention yang baik agar pada saat penulisan script tidak tercampur bahasa indonesia dan inggris serta memberikan standar penulisan agar dapat dibaca dan dipahami oleh developer lain.
4.
Menggunakan modeling yang lebih realistis dan lebih menarik untuk membangun suasana bermain yang lebih menarik.
5