Uploaded by Sigit Pratama

JOIN-Fachrul M Gumelar-1147050056

advertisement
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
Download