Abstrak
Penggunaan artificial intelligence pada video game bukanlah merupakan hal baru lagi. Pada umumnya,
kebanyakan video game sekarang memanfaatkan artificial intelligence pada entitas di video game-nya.
Permasalahan yang terjadi adalah pengaruh dari implementasi artificial intelligence terhadap performa
dari suatu video game. Permasalahan dari multi-agent pathfinding adalah untuk mencari jalur untuk
lebih dari satu agen. Constraint yang dimiliki oleh multi-agent pathfinding adalah tidak boleh ada lebih
dari satu agen yang menempati tempat yang sama pada waktu yang sama. Pada penelitian ini, peneliti
mengajuan untuk menggunakan algoritma conflict-based search dalam menyelesaikan multi-agent
pathfinding. Perancangan multi-agent pathfinding adalah dengan merancang algoritma Conflict-based
search pada high-level searching, dan A* search pada low-level search. Implementasi multi-agent
pathfinding berdasarkan perancangan yang sudah didefinisikan, diimplementasikan pada game engine
Unity3D dengan menggunakan bahasa pemrograman C#. Proses pengujian dilakukan setelah
implementasi selesai dan didapati hasil dimana tidak ada lebih dari satu agen yang menempati tempat
yang sama pada waktu yang sama. Penggunaan resource dari conflict-based search menunjukkan bahwa
penggunaan resource yang stabil. FPS yang didapatkan pada multi-agent pathfinding dapat dikatakan
playable. Namun, waktu cycle yang dihasilkan terus bertambah seiring bertambahnya jumlah agen.
Dengan implementasi ini diharapkan pengembang game tidak kesulitan dalam membangun multi-agent
pathfinding pada video game-nya.
Kata kunci: Video game, Artificial intelligence, Multi-agent pathfinding, Conflict-based search.
Abstract
Artificial intelligence usage in video games is not new thing anymore. In general, most of video games
now take advantage of artificial intelligence on entities in their video games. The problem that occurs
is the impact of the implementation of artificial intelligence on the performance of video game. Multi-
agent pathfinding is there to try to find path for the agents registered. Multi-agent pathfinding has some
constraint that doesn’t let more than one agent occupying same place at the same time. In this study,
researcher propose to use conflict-based search algorithm to solve multi-agent pathfinding constraint.
The design of multi-agent pathfinding is by designing conflict-based search for high-level search and
A* search for low-level search. Implementation of multi-agent pathfinding is based on the design that
has been defined, implemented on Unity3D game engine using C# programming language. Testing
process is conducted after the implementation is completed and found the result is there is no condition
where more than one agent occupy same place at the same time. Resource usage of conflict-based search
also shown to be at stable rate. FPS that obtained from multi-agent pathfinding is still considered as
playable. However, cycle time that generated while running conflict-based search continuous to growth
as the number of agents increases. With this implementation is expected to help game developer to
implement multi-agent pathfinding in their video game.
Keywords: Video game, Artificial intelligence, Multi-agent pathfinding, Conflict-based search.
artificial intelligence yang diatur sesuai fungsi Algoritma yang dapat digunakan untuk
dan tujuan dari NPC itu sendiri. Artificial membangun sistem ini adalah dengan
Intelligence adalah teknik yang digunakan dalam menggunakan algoritma conflict-based search
video game yang menerapkan tiruan dari pada high-level searching-nya.
kecerdasan manusia terhadap perilaku dari NPC.
Terdapat beberapa langkah dalam membangun 2.2. Conflict-based search
artificial intelligence pada video game. Pertama Conflict-based search adalah algortima
adalah dengan melakukan tindakan evaluasi yang diusulkan untuk dapat menyelesaikan
perilaku NPC dalam video game tersebut. permasalahan multi-agent path finding. Fokus
Setelah itu adalah dengan menentukan teknik dari algoritma conflict-based search itu sendiri
artificial intelligence yang akan adalah untuk mencari sebuah conflict dari input
diimplementasikan pada NPC. (Millington & yang diberikan kemudian menghasilkan
Funge, 2009) constraint. Dalam mencari conflict pada input
Salah satu tugas artificial intelligence dari yang diberikan, algoritma mencarian conflict
NPC yang berada pada sebuah dunia video game juga harus didefinisikan.
adventure-puzzle adalah melakukan Hubungan antara high-level searching dan
perpindahan tempat dari tempat satu ke tempat low-level searching adalah output dari low-level
lainnya. Dalam implementasinya, agar NPC searching yang pada penelitian ini menggunakan
melakukan tindakan tersebut algoritma path A* search, dijadikan input pada high-level
finding digunakan dalam implementasinya. searching yang pada penelitian ini menggunakan
Namun, permasalahan terjadi saat Conflict-based search, yang kemudian output
melakukan implementasi algoritma path finding dari Conflict-based search digunakan sebagai
ke banyak agen. Berdasarkan tersebut, maka jalur untuk agen tersebut.
perlu dirumuskan suatu solusi untuk membuat
sistem path finding yang dapat menyelesaikan
permasalahan path finding terhadap banyak agen
pada suatu simulasi.
Multi-agent path finding (MAPF) adalah
sistem yang dapat digunakan untuk
menyelesaikan permasalahan diatas. Langkah
yang perlu dilakukan adalah dengan
menggunakan Conflict-based search sebagai
high-level searching dan menggunakan
Gambar 1. Contoh permasalahan multi-agent
algoritma A* search sebagai low-level pathfinding
searching. (Boyarski, et al., 2015)
Penelitian ini akan membahas bagaimana
membangun NPC pada video game ber-genre Penyelesaian dari permasalahan diatas
adventure-puzzle. Diharapkan dengan adanya adalah dengan cara menjalankan low level
penelitian ini dapat memberikan panduan kepada dahulu, kemudian hasil dari salah satu agen,
pengembang video game untuk membangun dijadikan constraint pada agen lain sehingga
NPC pada video game ber-genre adventure- jalur agen lainnya dapat beradaptasi dengan
puzzle secara optimal dan sesuai perancangan. memanfaatkan inputan dari agen lainnya.
Berdasarkan permasalahan pada gambar 1, dapat
ditemukan sebuah solusi yang tidak memiliki
conflict pada jalur yang dibuat, bentuk solusi
dalam bentuk conflict tree dapat dilihat pada
2. DASAR TEORI gambar 2.
3. PERANCANGAN
2 1 1 1 1
17 5 4 3
4 2 8 8 8
Penggunaan resource
2 1 1 1 1
18 4 3 1 40,00
5 1 8 8 9
2 1 1 1 2 35,00
19 3 2 0
6 0 8 8 0 30,00
Persentase (%)
2 1 2 25,00
20 2 9 1 - -
7 8 1 20,00
2 15,00
21 1 8 0 - - - -
8
10,00
2
22 0 7 0 - - - - 5,00
9
0,00
5 10 15 20 25 30
3.2. Pengujian waktu cycle dari conflict-
based search Jumlah Agen
40,00
30,00 Nilai frame per second
20,00 60,00
Nilai frame per second (FPS)
10,00 58,00
0,00 56,00
5 10 15 20 25 30 54,00
Jumlah Agen 52,00
50,00
Gambar 8. Grafik garis waktu cycle conflict-based
48,00
search
5 10 15 20 25 30
3.3. Pengujian penggunaan resource conflict- Jumlah Agen
based search
Gambar 10. Grafik garis nilai frame per second
Untuk mendapatkan data resource yang
dibutuhkan dari algoritma conflict-based search, 6. KESIMPULAN DAN SARAN
dilakukan pengambilan usage dari CPU dan
RAM. Data yang diambil adalah nilai usage Perancangan dan membangun multi-agent
CPU dan RAM pada 10 detik pertama, data patfinding dilakukan dengan perancangan
diambil setiap detik kemudian data tersebut dataset dari level pada video game, dan
dapat gambarkan menjadi grafik garis pada perancangan atribut dan aksi dari agen yang ada
gambar 9. pada video game. Dataset dari level adalah
bentuk representasi level pada video game Conflict-based search dapat digunakan
tersebut dalam bentuk grid. Kemudian dilakukan untuk menyelesaikan permasalahan multi-agent
implementasi berdasarkan perancangan yang pathfinding. Masih banyak ruang untuk
telah didefinisikan pada game engine Unity3D dikembangkan lagi pada sisi low-level searching
dengan menggunakan bahasa pemrograman C#. dimana pemrosesan A* searching untuk masing-
Untuk merancang dan membangun conflict- masing agen masih dilakukan secara sekuensial.
based search dilakukan proses perancangan Saran yang dapat diberikan adalah dengan
algoritma dari conflict-based search itu sendiri. mengimplementasikan parallel processing
Karena conflict-based search hanya digunakan untuk low-level searching-nya karena pada
untuk menyelesaikan conflict pada high-level, dasarnya tidak ada hubungan kuat antar agen
maka algoritma lain perlu digunakan untuk pada level low-level searching.
menyelesaikan permasalahan pada low-level.
Perancangan algoritma dari A* search 7. DAFTAR PUSTAKA
diperlukan untuk menyelesaikan permasalahan Lee, J. H., Clarke, R. I., Karlova, N., Thornton,
pada low-level. Setelah perancangan selesai, K., & Perti, A. (2014). Facet Analysis of
proses implementasi dilakukan berdasarkan Video Game Genres. iConference 2014,
perancangan yang telah didefinisikan. 131.
Implementasi dilakukan dengan menggunakan
bahasa pemrograman C#. Millington, I., & Funge, J. (2009). Artificial
Multi-agent pathfinding diuji dengan Intelligence for Games Second Edition.
mendefinisikan skenario pengujian terlebih Burlington, Massachusetts: Morgan
dahulu. Setelah pengujian dilakukan Kaufmann.
berdasarkan skenario pengujian yang Prato, G. D., Feijoo, C., & Simon, J.-P. (2014).
didefinisikan, hasil dari pengujian menampilkan Innovations in the Video Game
bahwa jalur yang dibuat oleh algoritma conflict- Industry: Changing Global Markets.
based search sebagai high-level searching dan Digiworld Economic Journal, 17-18.
A* search sebagai low-level searching Cui, X., & Shi, H. (2011). A*-based Pathfinding
menunjukkan bahwa tidak terdapat suatu conflict in Modern Computer Games. IJCSNS
dimana terdapat lebih dari satu agen menempati International Journal of Computer
tempat yang sama pada waktu yang sama. Pada Science and Network Security, 125-130.
skenario pengujian selanjutnya yaitu dengan Goldenberg, M., Felner, A., Stern, R., Sharon,
mengambil nilai resource yang dibutuhkan G., & Schaeffer, J. (2012). A* Variants
menujukkan bahwa meskipun jumlah agen yang for Optimal Multi-Agent Pathfinding.
digunakan terus bertambah, kebutuhan akan Association for the Advancement of
CPU Usage dan RAM Usage tetap stabil, hal ini Artificial, 19-25.
menunjukkan bahwa penggunaan conflict-based
search sangatlah evisien dalam menyelesaikan Wang, K.-H. C., & Botea, A. (2008). Fast and
multi-agent pathfinding. Pada skenario Memory-Efficient Multi-Agent
selanjutnya, nilai FPS pada hasil pengujian Pathfinding. Association for the
menunjukkan bahwa jumlah agen tidak terlalu Advancement of Artificial, 1-8.
mempengaruhi dari nilai FPS karena dapat Boyarski, E., Felner, A., Stern, R., Sharon, G.,
dilihat bahwa jarak FPS yang muncul adalah Tolpin, D., Betzalel, O., & Shimony, E.
berkisar dari 52 FPS hingga 59 FPS. Hal ini (2015). ICBS: Improved Conflict-Based
dianggap normal karena performa pemain pada Search Algorithm for Multi-Agent
video game mencapai pada titik maksimal pada Pathfinding. International Joint
rate 30 FPS. (Claypool & Claypool, 2009) Conference on Artificial Intelligence,
Namun, pada skenario pengujian untuk 740-746.
menghitung waktu yang dibutuhkan dalam Claypool, M., & Claypool, K. (2009).
menjalankan conflict-based search dapat Perspectives, Frame Rates and
ditemukan bahwa seiring bertambahnya jumlah Resolutions: It’s all in the Game. FDG
agen yang diuji, waktu yang dibutuhkan terus '09 Proceedings of the 4th International
bertambah. Hal ini disebabkan karena pada Conference on Foundations of Digital
proses low-level searching, A* search untuk Games, 42-49.
masing-masing agen dilakukan secara Banerjee, B., & Davis, C. E. (2016). Multi-agent
sekuensial. Path Finding with Persistence Conflicts
Fakultas Ilmu Komputer, Universitas Brawijaya
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3834