Pengembangan Non-Player Character (NPC) Menggunakan Unity ML-Agents Pada Karting Microgame

<p><strong>Abstrak</strong><br />Perkembangan teknologi di bidang gim sekarang sudah sangat pesat terutama pada gim balapan. Gim balapan memiliki tujuan untuk memberikan pemain sebuah pengalaman yang menantang dan menyenangkan dalam sebuah balapan melawan mobil yang dikendali...

Full description

Bibliographic Details
Main Authors: Muhammad Yasir Anshari Haq, Muhammad Aminul Akbar, Tri Afirianto
Format: Article
Language:English
Published: University of Darussalam Gontor 2021-10-01
Series:Fountain of Informatics Journal
Subjects:
Online Access:https://ejournal.unida.gontor.ac.id/index.php/FIJ/article/view/5487
_version_ 1797944649963274240
author Muhammad Yasir Anshari Haq
Muhammad Aminul Akbar
Tri Afirianto
author_facet Muhammad Yasir Anshari Haq
Muhammad Aminul Akbar
Tri Afirianto
author_sort Muhammad Yasir Anshari Haq
collection DOAJ
description <p><strong>Abstrak</strong><br />Perkembangan teknologi di bidang gim sekarang sudah sangat pesat terutama pada gim balapan. Gim balapan memiliki tujuan untuk memberikan pemain sebuah pengalaman yang menantang dan menyenangkan dalam sebuah balapan melawan mobil yang dikendalikan oleh gim tersebut atau biasa disebut dengan Non-Player Character (NPC). Pengembangan gim balapan tentunya tidak dapat lepas dari pengembangan NPC sebagai lawan main dari pemain. Pada umumnya NPC dikembangkan menggunakan metode waypoint untuk navigasi dalam melintasi trek balapan. Kekurangan dalam metode waypoint adalah harus diatur secara manual untuk setiap trek dan memakan waktu yang lama untuk mengatur waypoint pada setiap trek. Begitu juga untuk membuat NPC balap yang kompetitif dibutuhkan desain rule base yang kompleks. Peneliti mengusulkan menggunakan metode machine learning untuk mengatasi permasalahan tersebut. Unity3D menyediakan sebuah open-source API bernama Unity ML-Agents yang dapat digunakan untuk melatih NPC. NPC dilatih menggunakan metode reinforcement learning dengan Unity ML-Agents yang bertujuan untuk melatih NPC dengan cara memberikan reward agar mencapai hasil yang optimal. Hasil yang didapatkan dengan memanfaatkan Unity ML-Agents adalah NPC yang dapat melintasi berbagai macam trek dan dapat menghindari tabrakan. NPC yang telah dikembangkan dengan Unity ML-Agents juga mendapatkan waktu total yang lebih sedikit dibandingkan dengan waktu total yang diperlukan pemain untuk menempuh 3 lap putaran pada suatu trek yaitu 55,9 detik dibandingkan dengan 59,4 detik.</p><p><br /><strong>Kata kunci:</strong> gim balapan, non-player character, unity ml-agents, reinforcement learning.</p><p><br /><strong>Abstract</strong><br />[Non-Player Character (NPC) Development Using Unity ML-Agents in Karting Microgame] Nowadays, the development of game technology is very fast, especially in racing games. The racing game aims to provide players with a challenging and fun experience in a race against cars controlled by the game or commonly known as the Non-Player Character (NPC). Of course, the development of a racing game cannot be separated from the development of NPCs as opponents of the players. In general, NPCs were developed using the waypoint method for navigation across racetrack. The disadvantage of the waypoint method is that it must be set manually for each track, and it takes a long time to set the waypoint for each track. Likewise, making a competitive racing NPC requires a complex rule base design. Researchers suggest using machine learning methods to overcome these problems. Unity3D provides an open-source API called Unity ML-Agents which can be used to train NPCs. NPCs are trained using the reinforcement learning method with Unity ML-Agents which aims to train NPCs by providing rewards to achieve optimal results. The results obtained by utilizing Unity ML-Agents are NPCs that can traverse various kinds of tracks and can avoid collisions. NPCs that have been developed with Unity ML-Agents also get less total time compared to the total time required for a player to take 3 laps on a track, which is 55.9 seconds compared to 59.4 seconds.</p><p><br /><strong>Keywords:</strong> racing game, non-player character, unity ml-agents, reinforcement learning.</p>
first_indexed 2024-04-10T20:41:59Z
format Article
id doaj.art-d073da3658de457f8d114cd70da363b4
institution Directory Open Access Journal
issn 2541-4313
2548-5113
language English
last_indexed 2024-04-10T20:41:59Z
publishDate 2021-10-01
publisher University of Darussalam Gontor
record_format Article
series Fountain of Informatics Journal
spelling doaj.art-d073da3658de457f8d114cd70da363b42023-01-24T18:21:16ZengUniversity of Darussalam GontorFountain of Informatics Journal2541-43132548-51132021-10-0171152110.21111/fij.v7i1.54873008Pengembangan Non-Player Character (NPC) Menggunakan Unity ML-Agents Pada Karting MicrogameMuhammad Yasir Anshari Haq0Muhammad Aminul Akbar1Tri Afirianto2Brawijaya UniversityBrawijaya UniversityBrawijaya University<p><strong>Abstrak</strong><br />Perkembangan teknologi di bidang gim sekarang sudah sangat pesat terutama pada gim balapan. Gim balapan memiliki tujuan untuk memberikan pemain sebuah pengalaman yang menantang dan menyenangkan dalam sebuah balapan melawan mobil yang dikendalikan oleh gim tersebut atau biasa disebut dengan Non-Player Character (NPC). Pengembangan gim balapan tentunya tidak dapat lepas dari pengembangan NPC sebagai lawan main dari pemain. Pada umumnya NPC dikembangkan menggunakan metode waypoint untuk navigasi dalam melintasi trek balapan. Kekurangan dalam metode waypoint adalah harus diatur secara manual untuk setiap trek dan memakan waktu yang lama untuk mengatur waypoint pada setiap trek. Begitu juga untuk membuat NPC balap yang kompetitif dibutuhkan desain rule base yang kompleks. Peneliti mengusulkan menggunakan metode machine learning untuk mengatasi permasalahan tersebut. Unity3D menyediakan sebuah open-source API bernama Unity ML-Agents yang dapat digunakan untuk melatih NPC. NPC dilatih menggunakan metode reinforcement learning dengan Unity ML-Agents yang bertujuan untuk melatih NPC dengan cara memberikan reward agar mencapai hasil yang optimal. Hasil yang didapatkan dengan memanfaatkan Unity ML-Agents adalah NPC yang dapat melintasi berbagai macam trek dan dapat menghindari tabrakan. NPC yang telah dikembangkan dengan Unity ML-Agents juga mendapatkan waktu total yang lebih sedikit dibandingkan dengan waktu total yang diperlukan pemain untuk menempuh 3 lap putaran pada suatu trek yaitu 55,9 detik dibandingkan dengan 59,4 detik.</p><p><br /><strong>Kata kunci:</strong> gim balapan, non-player character, unity ml-agents, reinforcement learning.</p><p><br /><strong>Abstract</strong><br />[Non-Player Character (NPC) Development Using Unity ML-Agents in Karting Microgame] Nowadays, the development of game technology is very fast, especially in racing games. The racing game aims to provide players with a challenging and fun experience in a race against cars controlled by the game or commonly known as the Non-Player Character (NPC). Of course, the development of a racing game cannot be separated from the development of NPCs as opponents of the players. In general, NPCs were developed using the waypoint method for navigation across racetrack. The disadvantage of the waypoint method is that it must be set manually for each track, and it takes a long time to set the waypoint for each track. Likewise, making a competitive racing NPC requires a complex rule base design. Researchers suggest using machine learning methods to overcome these problems. Unity3D provides an open-source API called Unity ML-Agents which can be used to train NPCs. NPCs are trained using the reinforcement learning method with Unity ML-Agents which aims to train NPCs by providing rewards to achieve optimal results. The results obtained by utilizing Unity ML-Agents are NPCs that can traverse various kinds of tracks and can avoid collisions. NPCs that have been developed with Unity ML-Agents also get less total time compared to the total time required for a player to take 3 laps on a track, which is 55.9 seconds compared to 59.4 seconds.</p><p><br /><strong>Keywords:</strong> racing game, non-player character, unity ml-agents, reinforcement learning.</p>https://ejournal.unida.gontor.ac.id/index.php/FIJ/article/view/5487racing game, non-player character, unity ml-agents, reinforcement learning
spellingShingle Muhammad Yasir Anshari Haq
Muhammad Aminul Akbar
Tri Afirianto
Pengembangan Non-Player Character (NPC) Menggunakan Unity ML-Agents Pada Karting Microgame
Fountain of Informatics Journal
racing game, non-player character, unity ml-agents, reinforcement learning
title Pengembangan Non-Player Character (NPC) Menggunakan Unity ML-Agents Pada Karting Microgame
title_full Pengembangan Non-Player Character (NPC) Menggunakan Unity ML-Agents Pada Karting Microgame
title_fullStr Pengembangan Non-Player Character (NPC) Menggunakan Unity ML-Agents Pada Karting Microgame
title_full_unstemmed Pengembangan Non-Player Character (NPC) Menggunakan Unity ML-Agents Pada Karting Microgame
title_short Pengembangan Non-Player Character (NPC) Menggunakan Unity ML-Agents Pada Karting Microgame
title_sort pengembangan non player character npc menggunakan unity ml agents pada karting microgame
topic racing game, non-player character, unity ml-agents, reinforcement learning
url https://ejournal.unida.gontor.ac.id/index.php/FIJ/article/view/5487
work_keys_str_mv AT muhammadyasiransharihaq pengembangannonplayercharacternpcmenggunakanunitymlagentspadakartingmicrogame
AT muhammadaminulakbar pengembangannonplayercharacternpcmenggunakanunitymlagentspadakartingmicrogame
AT triafirianto pengembangannonplayercharacternpcmenggunakanunitymlagentspadakartingmicrogame