Pathfinding dalam Video Game

2.3 Pathfinding dalam Video Game

Pada umumnya pathfinding digunakan dalam mencari jalan yang terbaik diantara dua lokasi. Di dalam video game, jalan yang terbaik adalah jalan yang memiliki cost lebih sedikit daripada jalan yang lebih dekat. Berarti bahwa jalan memutari bukit mungkin akan lebih baik dibandingkan jalan mendaki bukit yang memiliki cost lebih banyak Cui et al, 2011. 2.3.1 Algoritma Shortest Path Algoritma Dijkstra dan Algoritma A A Star merupakan dua algoritma klasik untuk mencari grafik di geometri, dimana dapat mencari jalan terpendek diantara dua titik atau node pada grafik berbobot seperti pada Gambar 2.4 Cui et al, 2011. Gambar 2.4 Grafik berbobot Cui et al., 2011 Dahulu, algoritma Dijkstra merupakan satu-satunya cara dalam melakukan pathfinding sampai 2 dekade terakhir namun pada saat ini algoritma A menjadi solusi umum dalam melakukan pathfinding di dalam video game Millington et al., 2009. Untuk perbandingan antara algoritma Dijkstra dan A dapat dilihat pada Gambar 2.5. a Dijkstra’s Pathfinding b A Pathfinding Gambar 2.5 Perbandingan antara algoritma Dijkstra dan A Cui et al., 2011 Universitas Sumatera Utara Pada algoritma Dijkstra pencarian keseluruhan pada grafik diperlukan untuk mendapatkan hasil seperti yang terlihat pada Gambar 2.6a. Sementara pada algoritma A menggunakan metode heuristic untuk mengurangi ruang pencarian seperti Gambar 2.6b sehingga hanya memeriksa titik yang menuju tujuan Cui et al., 2011. Heuristic adalah penuntun untuk menemukan pemecahan atau jawaban dari suatu masalah Webster ,1985 dalam Tambunan, 2014, dalam algoritma A heuristic digunakan untuk mencari estimasi cost dari sebuah titik n ke titik tujuan. Gambar 2.6 Perbandingan antara heuristic cost function Rabin, 2000 Universitas Sumatera Utara Berdasarkan penelitian Goyal et al. pada tahun 2014, algoritma Dijkstra dan algoritma A memiliki dasar yang sama. Hanya saja heuristic tidak digunakan pada algoritma Dijkstra, sehingga pencarian akan dilakukan ke segala arah, dan algoritma A hanya memeriksa area yang mengarah kepada tujuan. Hal ini mengakibatkan algoritma Dijkstra memerlukan proses yang lebih lama daripada algoritma A. Namun kedua algoritma memiliki perannya masing masing, algoritma A biasanya digunakan ketika kita mengetahui target tujuan sedangkan algoritma Dijkstra digunakan ketika kita tidak mengetahui target tujuan.

2.4 Animasi