Professional Documents
Culture Documents
Proposal Dadan
Proposal Dadan
awal ke
node akhir. Algoritma ini menggunakan fungsi heuristik untuk menentukan
urutan dimana pencarian dilakukan dengan mengunjungi node dalam graf.
Game adalah permainan yang menggunakan media elektronik, merupakan
sebuah hiburan berbentuk multimedia yang di buat semenarik mungkin agar
pemain bisa mendapatkan sesuatu sehingga adanya kepuasaan batin. Bermain
game merupakan salah satu sarana pembelajaran.
Adventure Game atau game petualangan adalah permainan game yang
bertema petualangan. Dalam game ini banyak menghadirkan aksi dalam
petualangan seperti menjelajah tempat-tempat baru berupa pulau, lautan, hutan
atau bangun yang bisa dilakukan oleh player. Salah satu elemen yang membuat
genre game petualangan ini menarik adalah dukungan grafis desain 3D.
NPC (Non Player Character) merupakan karakter dalam suatu game atau
simulasi yang perilakunya tidak dapat dikendalikan oleh user. Contoh yang paling
banyak ditemui dalam suatu game adalah musuh yang dihadapi ketika bermain
game. Keberadaan NPC seringkali menjadi faktor yang menyebabkan user
memainkan game tersebut terus – menerus.
Dengan berkembangnya kemajuan teknologi khusunya game, saat ini lebih
diminati untuk dijadikan sebagai media hiburan ataupun media pembelajaran.
Namun sangat disayangkan permainan yang mengusung latar tempat bersejarah
belum banyak diadaptasi kedalam sebuah game petualangan. Sehingga belum
banyaknya game petualangan yang dapat memberi pengetahuan mengenai tempat
atau situs yang mempunyai nilai sejarah tentang peradaban umat manusia.
Berdasarkan uraian diatas maka dengan demikian penelitian ini diberi judul
“IMPLEMENTASI ALGORITMA A* HEXAGON NODE PADA NPC DALAM
GAME LEGENDA KRATON CIREBON BERBASIS PC”.
3
di CLOSED, dan tidak berada di OPEN dan CLOSED. Pada ketiga kondisi
tersebut diberi penanganan yang berbeda-beda.
Jika node sudah berada di OPEN, maka dilakukan pengecekan
apakah perlu dilakukan perubahan parent atau tidak tergantung pada nilai
g-nya melalui parent lama atau parent baru. Jika melalui paremt baru
memberikan nilai g yang lebih kecil, maka dilakukan perubahan parent.
Jika pengubahan parent dilakukan pula perbaruan nilai g dan f pada
suksesor tersebut. Dengan perbaruan ini, node tersebut memiliki
kesempatan yang lebih besar untuk terpilih sebagai simpul terbaik (best
node).
Jika node sudah pernah berada di CLOSED, maka dilakukan
pengecekan apakah perlu pengubahan parent atau tidak. Jika ya, maka
dilakukan perbaruan nilai g dan f pada node tersebut serta pada semua
“anak cucunya” yang sudah berada di OPEN. Dengan perbaruan ini, maka
semua anak cucunya memiliki kesempatan yang lebih besar untuk terpilih
sebagai simpul terbaik (best node).
Jika node tidak berada di OPEN maupun CLOSED, maka node
tersebut dimasukkan ke dalam OPEN. Tambahkan node tersebut sebagai
node tetangganya best node. Hitung biaya node tersebut dengan rumus f =
g + h. Algoritma A* Optimal (selalu bisa menemukan solusi jika solusinya
memang ada). Tanpa ada batasan waktu dan memori, A* adalah complete
(selalu menemukan solusi jika solusinya ada). Untuk masalah yang lebih
kompleks seperti 100 juta node atau target bergerak A* akan menghadapi
masalah waktu proses dan memori.
Langkah 1 :
Berikut adalah salah satu contoh arena sederhana yang akan digunakan di
dalam game. Kotak berwarna biru adalah starting node (yang bertuliskan
A atau bisa disebut kotak H 5) kotak berwarna hijau adalah goal node
(yang bertuliskan B atau bisa disebut kotak E 2), dan kotak berwarna
hitam adalah penghalang atau kotak yang tidak bisa dilalui (D 2, D 3, E 3,
F 3, G 3, H 3). Tujuan dari algoritma ini adalah mencari jalur terpendek
dari start node (node awal) ke goal node (node tujuan) tanpa melalui
penghalang. Start Node kita masukkan ke OPEN.
12
Gambar 1.4 : Area dengan node awal (A) dan node akhir (B)
Langkah 2 :
Setiap langkah dari kotak biru atau starting node adalah diizinkan baik
vertikal, horizontal, maupun diagonal dengan catatan tidak melewati
penghalang. Setiap langkah yang diizinkan diberikan nilai G dimana G
adalah cost / biaya dalam setiap langkah. Dalam game ini kita berikan
nilai 10 untuk setiap langkah vertikal maupun horizontal dan 14 untuk
diagonal. Nilai 14 kita dapatkan dari rumus pythagoras dimana 14,1421
√ 102 +102 yang dibulatkan ke bawah menjadi 14. Kemudian kita hitung
cost / biaya pergerakan atau kita sebut H dimana H secara singkat adalah
jarak / biaya dari pergerakan suatu titik terhadap goal node dengan
mengabaikan penghalang. Lalu kita berikan skor dengan F dimana nilai F
= G + H. Nilai F dimasukkan untuk setiap node yang dibangkitkan.
Penjelasan lebih lanjut mengenai penempatan F, G, dan H di kotak
dibawah:
F=G+H
Kotak yang berwarna ungu berarti berada di OPEN, sedangkan kotak yang
berwarna merah berada di CLOSED. Start Node kita masukkan ke
CLOSED, selanjutnya kita bangkitkan semua tetangga dari Start Node
yaitu G 4, G 5, G 6, H 4, H 6, I 4, I 5, I 6 lalu hitung f, g, h nya. Periksa
semua Node Tetangga dari Current Node, Jika terdapat Node tidak dapat
dilalui dilewat langsung ke Node selanjutnya. Jika tidak dan terdapat di
CLOSED juga dilewat langsung ke Node selanjutnya. Jika tidak hitung
temp_g = g[Current]+jarak_antara(Current, Node(i)). Jika Node tidak
terdapat di OPEN tambahkan Node ke OPEN dan atur temp_better = true,
Jika tidak temp_g_score < g_score Node atur temp_better = true, Jika
tidak semua atur temp_better = false. Jika temp_better == true atur parent
dari Node ke Current Node kemudian g Node = temp_g, lanjut h Node =
nilai heuristik antara Node dan Current dan terakhir f Node = g Node + h
Node.
14
OPEN = [G 4, G 5, G 6, H 4, H 6, I 4, I 5, I 6]
CLOSED = [H 5]
Langkah 3
OPEN = [F 4, F 5, G 5, G 6, H 4, H 6, I 4, I 5, I 6]
CLOSED = [H 5, G 4]
15
OPEN = [C 3, C 4, C 6, D 5, D 6, E 1, E 6, F 1, F 6, G 1, H 1, I 1, I 2,
I 6, J 2, J 3, J 4, J 5, J 6]
Jalur : [ H 5, I 4, I 3, H 2, G 2, F 2, E 2]
16
Bulan
No Kegiatan April Mei Juni Juli Agustus
4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
1 Inception
2 Elaboration
3 Construction
4 Transition
5 Laporan akhir
18
Daftar Pustaka
Riwinto, Alfian. Implementasi path finding dengan algoritma A* pada game funny
English Menggunakan unity 3d berbasis graf navmesh.