JOIN (Jurnal Online Informatika) Volume 6 No. 1 | Desember 2018 : 1-7 DOI: 10.15575/join. 2018.Desember.25 IMPLEMENTASI ALGORITMA A* (A STAR) PADA ARTIFICIAL INTELEGENCE DALAM GAME FIRST PERSON SHOOTER Fachrul M Gumelar1, H. Cecep Nurul Alam, ST., MT2, Wildan Budiawan Z, ST., M.Kom3 1,2,3 Jurusan Teknik Informatika, Fakultas Sains dan Teknologi Universitas Islam Negeri Sunan Gunung Djati Bandung Jl. A.H. Nasution 105, Bandung 40614 Indonesia 1 [email protected], 2 [email protected], 3 [email protected] The development of technology lately is very rapid, especially in the field of computers. Today's technological sophistication can simulate devices outside the computer, and be simulated into a computer in virtual form. One of them in the form of interactive media interactive media is now mushrooming not only throughout the world, this is due to the sophistication of information technology that increasingly beautify themselves to meet consumer needs. One part of interactive media which is a simulation of the form of a real form in human life is a game, games are a lot of things loved by all circles, whether old or young. In a journal that recommends a study of artificial intelligence in a game that challenges research using algorithms other than the backtrackirng algorithm. In various journals that implement the A * algorithm show that the algorithm successfully executes data and produces the most optimal distance. Lack of suitable use of development methods in the development of a game that makes less optimal creation of a game, therefore the use of the GDLC method is considered sufficient to be used in a game development. Keywords- Games, simulations, artificial intelligence, algorithms, A * algorithms, GDLC Perkembangan teknologi akhir-akhir ini sangat pesat, terutama dalam bidang komputer. Kecanggihan teknologi saat ini dapat mensimulasikan perangkat-perangkat diluar komputer, dan disimulasikan kedalam komputer dalam bentuk virtual. Salah satunya dalam bentuk media interaktif media interaktif kini banyak menjamur tidak hanya seluruh dunia, ini akibat kecanggihan teknologi informasi yang kian mempercantik diri untuk memenuhi kebutuhan konsumen. Salah satu bagian dari media interaktif yang merupakan simulasi dari bentuk bentuknyata dalam kehidupan manusia adalah game, game merupakan hal yang banyak di gandrungi oleh semua kalangan, baik itu kalangan tua ataupun muda. Dalam sebuah jurnal yang merekomendasikan sebuah penelitian tentang artificial intelegence dalam sebuah game yang menyarankan penelitian menggunakan algoritma selain dari algoritma backtrackirng. Dalam berbagai jurnal yang mengimplementasikan algoritma A* menunjukan bahwa algoritma tersebut berhasil mengeksekusi data dan menghasilkan sebuah jarak yang paling optimal. Kurang cocoknya penggunaan metode pengembangan dalam pengembangan sebuah game yang menjadikan kurang optimalnya pembuatan sebuah game,oleh karenanya penggunaan metode GDLC dirasa cukup untuk digunakan dalam sebuah pengembangan game.. Kata kunci Game, simulasi, artificial intelegence, algoritma, algoritma A*, GDLC I. PENDAHULUAN Perkembangan Game saat ini sangat pesat, terdapat banyak sekali game yang dapat dimainkan di dalam komputer, baik dari game yang sederhana sampai game yang cukup rumit dalam pembuatannya. Pada era ini game sudah banyak yang menggunakan Artificial Intellegent (Kecerdaan Buatan) yang memberikan challenge. Action shooter merupakan genre game yang semuanya terfokus pada mengontrol karakter yang menggunakan senjata, oleh karena itu genre game ini membutuhkan kecepatan respon, akurasi dan ketepatan waktu. Action shooter juga dapat meningkatkan konsentrasi otak, meningkatkan koordinasi mata dan tangan serta melatih kecepatan berpikir bagi anak-anak. Makalah dikirim: 25 Oktober 2018; Revisi: 29 Oktober 2018 Untuk membangkitkan elemen dalam game action shooter ini dibutuhkan suatu algoritma untuk menentukan pergerakan musuh yang akan menyerang player, agar pergerakan musuh lebih efektif untuk menemukan rute terpendek hingga dapat mempersingkat waktu tempuh menuju player. Salah satu algoritma yang banyak digunakan dalam implementasi adalah algoritma A* pathfinding, Algoritma A* merupakan algoritma pencarian jalan terbaik dan merupakan gabungan dari algoritma Djikstra dan BFS, ketiga algoritma ini menggunakan graf berbobot tidak berarah sebagai konsep dasar pencarian jejak[1]. Metode pengembangan yang kurang tepat untuk mengembangkan sebuah game menjadi salah satu masalah yang dihadapi developer dalam proses pengembangkan game. 1 JOIN (Jurnal Online Informatika) Game Development Life Cycle (GDLC) merupakan sebuah metode yang menangani pengembangan game dimulai dari titik awal hingga paling akhir. Dimulai dari tahap pembuatan ide dan konsep mengenai game yang akan dibuat, sedangkan tahap akhir dari game development adalah saat game dirilis[2]. II. METODE PENELITIAN Dalam pembangunan game ini digunakanlah sebuah metodologi yaitu GDLC (Game Development Life Cycle ) sebagai berikut : ISSN 2527-1682 (Print) ISSN 2527-9165 (Online) dan aspek – aspek lainnya menjadi unsur penyusun game. Tahap ini berkutat dengan asset creation, programming dan integration antara asset dan source code. 4.Testing Sesuai dengan namanya, testing merupakan pengujian terhadap prototype build. Pengujian ini dilakukan oleh internal developer team untuk melakukan usability test dan functionality test. 5.Beta Gambar 2.1 Tahapan Game Development Life Cycle[2] 1.Initiation Initiation adalah titik inisiasi proyek game development. Awal dari game development adalah memulai dari ide game. Initiation adalah sesi developer berkumpul, brainstorming dan berdiskusi mengenai game seperti apa yang akan dibuat. Proses pengembangan game yang betul – betul serius dimuali dari proses iterative yang bernama Production Cycle. 2.Pre-Production Pre- production adalah awal dari production cycle yang berurusan dengan game design. Apa itu game design dibahas pada bab yang bersangkutan. Pre-production adalah tahap yang vital sebelum proses production dimulai, karena pada tahap ini dilakukan perancangan game, dan rencana produksi game. Tahap ini terdiri atas game design yakni penyempurnaan konsep game + dokumentasinya ( Game Design Document ) dan prototyping yakni pembuatan prototype dari game ( bila game ada). 3.Production Game design dan prototype yang ada pada pre-production disempurnakan pada production. Artinya, tahap ini memiliki fokus pada menerjemahkan rancangan game design, concept art, Saat game selesai dibuat, belum berarti game tersebut akan diterima oleh massa. Eksternal testing, dikenal dengan istilah beta testing dilakukan untuk menguji keberterimaan game dan untuk mendeteksi berbagai error dan keluhan yang dilemparkan oleh third party tester. Beta berada diluar production cycle, tetapi hasil dari testing ini berpotensi menyebabkan tim mengulangi production cycle lagi. 6.Releas Game yang sudah selesai dibuat dan lulus beta testing menandakan game tersebut siap untuk dirilis ke publik. Release adalah tahap dimana final build dari game resmi dirilis[2]. Batasan dari penelitian ini hanya mencakup sampai Production Cycle. III. HASIL DAN PEMBAHASAN A. Initiation Tahap awal dalam Game Development Life Cycle, dimana berfokus pada pengumpulan ide pengembangan game dan pematangan konsep dari sebuah ide game yang akan di buat. Game merupakan permainan yang terdiri atas sekumpulan peraturan yang membangun situasi bersaing dari dua sampai beberapa orang atau kelompok dengan memilih strategi yang dibangun dengan memaksimalkan kemampuan sendiri atau pun meminimalkan kemenangan lawan[3]. Game merupakan permainan computer yang dibuat dengan Teknik dan metode animasi [4],Game ini akan dibangun dalam platform Android dan Player akan di suguhkan dengan sebuah game yang ber genre Action Shooter untuk melawan sebuah monster ganas yang ada di dalam sebuah pulau terpencil yang Implementasi Algoritma A* (A Star) Pada Artificial Intelegence Dalam Game First Person Shooter (Fachrul M Gumelar, H. Cecep Nurul Alam, ST., MT, Wildan Budiawan Z, ST., M.Kom) 2 JOIN | Volume 6 No. 1 | Oktober 2018 : 1-7 tak terjamah kaki manusia. Tidak hanya itu game ini akan lebih seru dan menanatang karena Monster (AI) dalam game ini di terapkan sebuah algoritma. Algoritma yang akan diterapkan pada Monster (AI) yaitu algoritma A Star yang dapat membuat monster tersebut dapat mencari rute terpendek menuju player juga dapat mengenali sebuah obstacle yang menghalangi pergerakannya, Game ini akan diberi nama “The Last Shot”. B. Pre-Production Pre- production adalah awal dari production cycle yang berurusan dengan game design. Apa itu game design dibahas pada bab yang bersangkutan. Preproduction adalah tahap yang vital sebelum proses production dimulai, karena pada tahap ini dilakukan perancangan game, dan rencana produksi game[2]. 1. Story Line Seorang prajurit pasukan khusus Bersama timnya baru menyelesaikan misi di sebuah negara yang bernama urk, mereka mendapatkan mendali khusus kepahlawanan dan melakukan perjalan untuk kembali ke negaranya. Tapi hal yang tak pernah ingin mereka hadapi terjadi, sebuah baday yang mengguncang pesawat mereka membuat mesin pesawat tak berfungsi dengan normal hingga di perlukannya pendaratan darurat. Na’as pendaratan yang mereka lakukan tak berjalan dengan mulus hingga membuat pesawat mereka hancur dan menyisakan seorang kapten yang selamat dan tak sadarkan diri. Hingga ketika ia terbangun dan tersadar ternyata dia berada di tempat yang tak pernah ia kenal sebelumnya. Juga sang kapten tersebut sadar bahwa diri nya harus melawan monster yang cerdas agar dapat mencari radio yang bisa memberikan sinyal darurat kepada markas utama. 2. Story Board Player akan bermain sebagai seorang prajurit yang akan melawan monster dengan di bekali senjata. Gambar 3. 1 Story Board 3. Core Game Play Inti dari game “The Last Shot” ini adalah bagaimana cara player untuk bertahan hidup di pulau terpencil dan tak terjamah manusia yang di huni oleh monster cerdas. Dengan menggunakan senjata berbentuk senapan yang bisa memberikan damage pada sang monster. Player akan disuguhi sudut pandang orang pertama agar kesan dalam pertarungan dan pengalaman bertahan hidup dalam permainan lebih terasa. Player harus bisa bertahan hidup dari serangan musuh/monster, yang mana musuh/monster tersebut memiliki kecerdasan yang bisa menentukan jarak terpendek menuju player sehingga menambah tingkat kesulitan serta keseruan dalam game tersebut. Permainan akan selesai ketika : a. Player berhasil melumpuhkan musuh/monster dan mendapatkan radio untuk mengirimkan sinyal darurat pada markas utama sehingga permainan dinyatakan berhasil. b.Player kehabisan HP sehingga tidak dapat bertahan hidup dan permainan dinyatakan gagal. 3 JOIN (Jurnal Online Informatika) ISSN 2527-1682 (Print) ISSN 2527-9165 (Online) 4. Character Description a. Avatar Dalam game ini player akan menjalankan seorang prajurit yang selamat dari suatu kecelakaan pesawat dan harus bertahan hidup melawan monster agar menemukan radio dan dapat mengirim sinyal bantuan pada markas pusat. Gambar 3. 4 Skema Game 6. Perancangan Algoritma A* (A Star) C. Production Gambar 3. 2 Avatar b. Non Player Character (Musuh/Monster) Non Player Character (NPC) adalah karakter selain tokoh yang di kendalikan oleh pemain, dalam game ini npc berbentuk seekor monster yang memilik suatu kecerdasan yang bisa menyerang pemain sewaktu waktu. 1. Implementasi Tahap implementasi merupakan tahap pembangunan aplikasi serta tahap lanjutan dari tahap perancangan aplikasi sesuai dengan game design yang sudah dibuat sebelumnya. Aplikasi ini di implentasikan dengan nama “The Last Shot” dengan extention apk yang dapat dijalankan dalam platform android. 2. Implementasi Perangkat Keras a. Perangkat Lunak yang digunakan untuk membangun game ini adalah: 1). Sistem Operasi Windows 8.1 2). Game Engine Unity 3D 3). Android Software Development Kit (SDK) b. Perangkat Lunak yang digunakan untuk menjalankan game ini adalah system operasi android. Gambar 3. 3 Non Player Character / Monster 5. Skema Skema merupakan suatu bentuk rancangan atau kerangka secara garis besar yang memuat gambaran umum tentang bagaimana suatu tujuan dapat dicapai. Skema tidak menjelaskan rencana seara terperinci. 3. Implementasi Perangkat Lunak Dalamperancangan game ini digunakan hardware sebagai berikut: a.Komputer dengan spesikasi hardware sebagai berikut: 1).Processor Intel Core i5 2).Ram 4GB 3).Hardisk 500GB 4).Display 17” HD LED b.Smartphone yang digunakan untuk menjalankan aplikasi ini memiliki spesifikasi sebagai berikut: 1).Smartphone dengan prosesor Octa-core 1.40GHz. 2).RAM 3,00GB 3).Resolusi layar 720 x 1280 pixel. Implementasi Algoritma A* (A Star) Pada Artificial Intelegence Dalam Game First Person Shooter (Fachrul M Gumelar, H. Cecep Nurul Alam, ST., MT, Wildan Budiawan Z, ST., M.Kom) 4 JOIN | Volume 6 No. 1 | Oktober 2018 : 1-7 4. Implementasi Antar Muka Dalam game “The Last Shot” ini memiliki beberapa antar muka yang akan ditampilkan guna untuk memudahkan user dalam memainkan permainan, antar muka yang ada diantara lain adalah : a. Antarmuka Menu Utama Ketika user membuka game, system akan menampilkan antarmuka main menu terlebih dahulu sebelum menuju game play. Antarmuka main menu ini terdiri dari button play, button about, dan button exit. Gambar 3. 7 Panel Exit d. Antar Muka Game Lavel Ketika User ingin memulai permainan, user hanya perlu menekan tombol Play pada antarmuka main menu, kemudian panel pemilihan level akan muncul. Gambar 3. 5 Antar Muka Main Menu b. Antar Muka Panel About Ketika user menekan tombol About ada antarmuka Main Menu maka system akan menampilkan Panel About Yang berisikan biografi singkat tentang developer. Gambar 3. 6 Antar Muka Panel About c. Antar Muka Panel Exit Ketika User ingin keluar dari game pada antarmuka Main Menu, User hanya tinggal menekan tombol Exit kemudian system akan memunculkan panel konfirmasi untuk keluar game. Gambar 3. 7 Game Lavel 5. Implementasi Algoritma A* (A Star) Algoritma A Star (A*) adalah algoritma pencarian terbaik dalam mencari jalur terpendek dengan perhitungan terkecil pada jalur dengan simpul awal menuju simpul akhir.Algoritma ini pertama kali dideskripsikan pada tahun 1968 oleh Peter Hart, Nils Nilsson, dan Bertram Raphael.Dalam makalah mereka, disebut dengan Algoritma A. Lalu dengan optimasi heuristik, disebut dengan A Star (A *)[5]. Heuristik adalah penilai yang memberi harga pada tiap simpul yang memandu A* mendapatkan solusi yang diinginkan. Dengan heuristik yang benar, maka A* pasti akan mendapatkan solusi (jika memang ada solusinya) yang dicari. Dengan kata lain, heuristik adalah fungsi optimasi yang menjadikan algoritma A* lebih baik dari pada algoritma lainnya[5]. Dengan menerapkan algoritma A* pada artificial intelegence, artificial intelegence tersebut berhasil menemukan rute terpendek menuju player dan dapat membedakan sebuah object yang menjadi halangan. 5 JOIN (Jurnal Online Informatika) Gambar 3. 8 Artificial intelegence dengan algoritma A* Meskipun posisi player berubah ubah (dinamis) pergerakannya artificial intelegence tetap berhasil menemukan rute dan terus mengikuti arah player. Terbukti dari aktivitas log yang terus memperbarui posisi player dan posisi artificial intelegence. Gambar 3. 9 aktivitas Log D. Testing Berdasarkan dari hasil pengujian alpha yang telah dilakukan, dapat disimpulkan bahwa aplikasi game yang dibangun sesuai dengan yang diharapkan yaitu secara fungsional artificial intelegence dapat menemukan rute terpendek menuju player serta dapat membedakan object yang menjadi penghalang, meskipun player pergerakannya tidak statis melainkan dinamis dimana posisi player berubah ubah, artificial intelegence dapat tetap menemukan rute terpendek dan berhasil mengikuti pergerakan player. Terbukti dengan aktivitas log yang terus memperbarui posisi player ataupun posisi artificial intelegence tersebut. ISSN 2527-1682 (Print) ISSN 2527-9165 (Online) mengembangkan game, karena tahap tahap dalam metode ini, seperti tahap initiation dimana sebelum pengembangan game ada taha khusus menggodog sebuah ide tentang game agar matang, juga tahap tahap lain yang ada di GDLC yang sesuai dengan apa yang diperlukan para developer game. 2. Saran Aplikasi yang dibangun masih jauh dari kata sempurna dan masih memiliki banyak kekurangan. Untuk itu perlu dilakukan pengembangan dan penyempurnaan aplikasi agar lebih baik lagi. Adapun saran agar aplikasi game ini ialah dalam sisi pengembangan Artificial Intelegence yang tidak hanya mampu untuk mencari jalur terpendek,melainkan dapat belajar dan mampu mengelola informasi yang didapatkan serta dapat mengambil kesimpulan dari informasi yang di dapatkan oleh Artificial Intelegence tersebut. REFERENSI [1] L. Hermawan and R. K. J. Bendi, “Penerapan Algoritma A * pada Aplikasi Puzzle,” Semin. Nas. Teknol. Inf. dan Komun., no. Snastikom, pp. 23–28, 2013. [2] R. R and W. Y, “Game Development Life Cycle Guidelines,” pp. 978–979, 2013. [3] von N. . O. M. John, Theory of Games and Economic Behavior. Princeton University Press, 1944. [4] A. Nilwan, Pemrograman Animasi dan Game Profesional. Jakarta: Elek Media Komputindo, 1995. [5] K. C. Maaruf, “Kecerdasan Buatan Menggunakan Algoritma a Star ( a *) Dalam Permainan Ular Tangga ( Snake 3D ),” Semin. Nas. Teknol. Inf. dan Multimed., vol. 4, no. 1, pp. 6–7, 2016. IV. PENUTUP 1. Kesimpulan Dari hasil penelitian yang telah dilakukan, menemukan bahwa Artificial Intelegence atau Non Player Character yang di terapkan algoritma A star mampu mendeteksi jalur terpendek menuju player, meskipun posisi player berubah ubah. Algoritma a star dalam penelitian ini bekerja menghitung grid yang memiliki nilai ter-rendah menuju posisi player dengan memberikan tanda warna hitam pada grid tersebut. Game Development Life Cycle merupakan metode pengembangan yang cocok digunakan untuk Implementasi Algoritma A* (A Star) Pada Artificial Intelegence Dalam Game First Person Shooter (Fachrul M Gumelar, H. Cecep Nurul Alam, ST., MT, Wildan Budiawan Z, ST., M.Kom) 6