Claim Missing Document
Check
Articles

Found 5 Documents
Search
Journal : Fountain of Informatics Journal

Development of Non-Player Character for 3D Kart Racing Game Using Decision Tree Nashrul Azhar Mas'udi; Eriq Muhammad Adams Jonemaro; Muhammad Aminul Akbar; Tri Afirianto
Fountain of Informatics Journal Vol 6, No 2 (2021): November
Publisher : Universitas Darussalam Gontor

Show Abstract | Download Original | Original Source | Check in Google Scholar | DOI: 10.21111/fij.v6i2.4678

Abstract

Racing game is one of the genre that’s still popular today. Unity is one of many game engines one can use to develop a racing game. At Unity Asset Store, there is a free template called Micro-Game Karting which can only be played alone. In order to play player versus enemy mode, an artificial intelligence (AI) is needed for directing non-player character (NPC) who acts as the opponent. In racing game, the AI requires the use of movement algorithm and decision making system. For this study, the movement algorithm will use pathfinding. The algorithm is used as a guiding path when NPC is moving and avoiding obstacles in the way. Pathfinding will use waypoint system and raycasting to accomplish it. The decision making technique that will be used is decision tree. It functions as decision maker for NPC so it can determine the correct action to be done at certain time. Result of black box and white box testing showed NPC is functional. As for FPS (frame per second) test, performance suffers 0.2-0.3 FPS decrease for every addition of 2 NPCs. According to lap time test, the developed NPC is faster than ML NPC and driving test showed favorable outcome.
NPC Braking Decision for Unity Racing Game Starter Kit Using Naïve Bayes Muhammad Aminul Akbar; Tri Afirianto; Steven Willy Sanjaya; Ratih Kartika Dewi
Fountain of Informatics Journal Vol 4, No 2 (2019): November
Publisher : Universitas Darussalam Gontor

Show Abstract | Download Original | Original Source | Check in Google Scholar | DOI: 10.21111/fij.v4i2.3591

Abstract

AbstractRacing video game genre was still being popular today. One way to develop racing games quickly is by using a template or kit that is on the game engine. Racing Game Starter Kit (RGSK) was being the most popular racing game template for Unity game engine. However, there was problem in racing game’s NPC especially in RGSK related to NPC vehicle’s braking decision. The commonly used method is the Brake Zone, but the developers must manually place the zone themselves in the designated locations for braking. The solution that can be applied for that problem is see the angle formed by the vector of the NPC vehicle with the vector from 2 next following waypoint then determine the best configuration angle threshold for NPC braking, but this also has its shortcoming in which to get the best result, a proper threshold configuration is needed in each track. To resolve the problem, researcher proposed the method of machine learning, Naïve Bayes for the braking decision. Naïve Bayes uses two output classes (brake or no brake) in which the data will be obtained from the player. We use data from players who can control racing car games well or have never hit a wall and have fast lap times. The purpose of this study is to provide an alternative braking method to RGSK that can provide fast lap times but does not affect the game's FPS and without the need to determine or change any parameters on each track. The test result using RGSK v1.1.0a in Unity Game Engine showed that the proposed method can be an alternative method in RGSK braking decisions. Our NPC has faster lap time and was able to prevent the vehicle from crashing with the outer wall without dropping the game’s FPS (Frames per Second).Keywords: Braking Decision, Racing Game Starter Kit, Naïve Bayes, Machine learning, Unity engine AbstrakGenre video gim balap masih populer saat ini. Salah satu cara untuk mengembangkan game balap dengan cepat adalah menggunakan template atau kit yang ada di game engine. Racing Game Starter Kit (RGSK) adalah templat game balap paling populer pada Unity Game Engine. Namun, terdapat permasalahan NPC pada gim balapan terutama di RGSK terkait dengan keputusan pengereman kendaraan NPC. Metode yang digunakan untuk eksperimen jenis ini adalah Zona Rem. Namun, pengembang harus secara manual menempatkan zona tersebut di lokasi tertentu pada setiap lintasan. Solusi dari masalah ini yang sudah diterapkan pada RGSK v1.1.0a yaitu dapat menggunakan sudut yang dibentuk oleh vektor kendaraan NPC dengan vektor dari 2 titik arah berikutnya, kemudian menentukan ambang sudut terbaik untuk pengereman NPC, tetapi ini juga memiliki masalah yaitu untuk mendapatkan hasil putaran terbaik atau cepat, perlu menentukan konfigurasi ambang batas yang tepat di setiap trek. Untuk mengatasi masalah tersebut, peneliti mengusulkan metode pembelajaran mesin, Naïve Bayes untuk keputusan pengereman. Naïve Bayes menggunakan dua kelas output (rem atau tidak ada mengerem) di mana data akan diperoleh dari pemain. Kami menggunakan data dari pemain yang dapat mengontrol permainan mobil balap dengan baik atau tidak pernah menabrak tembok dan memiliki waktu putaran yang cepat. Tujuan dari penelitian ini adalah untuk memberikan metode pengereman alternatif untuk RGSK yang dapat memberikan waktu putaran yang cepat namun tidak mempengaruhi FPS game dan tanpa perlu menentukan atau mengubah parameter apa pun di setiap trek. Hasil pengujian menggunakan RGSK v1.1.0a di Unity Game Engine menunjukkan bahwa metode yang diusulkan dapat menjadi metode alternatif dalam keputusan pengereman RGSK. NPC kami mempunyai waktu putaran yang lebih cepat dan mampu mencegah kendaraan agar tidak menabrak dinding luar tanpa menjatuhkan FPS game (Frame per Detik).Kata kunci: Keputusan Pengereman, Racing Game Starter Kit, Naïve Bayes, Pembelajaran Mesin, Unity Engine
Pengembangan Non-Player Character (NPC) Menggunakan Unity ML-Agents Pada Karting Microgame Muhammad Yasir Anshari Haq; Muhammad Aminul Akbar; Tri Afirianto
Fountain of Informatics Journal Vol 7, No 1 (2022): Mei
Publisher : Universitas Darussalam Gontor

Show Abstract | Download Original | Original Source | Check in Google Scholar | DOI: 10.21111/fij.v7i1.5487

Abstract

AbstrakPerkembangan 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.Kata kunci: gim balapan, non-player character, unity ml-agents, reinforcement learning.Abstract[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.Keywords: racing game, non-player character, unity ml-agents, reinforcement learning.
Development of Non-Player Character for 3D Kart Racing Game Using Decision Tree Mas'udi, Nashrul Azhar; Jonemaro, Eriq Muhammad Adams; Akbar, Muhammad Aminul; Afirianto, Tri
Fountain of Informatics Journal Vol. 6 No. 2 (2021): November
Publisher : Universitas Darussalam Gontor

Show Abstract | Download Original | Original Source | Check in Google Scholar | DOI: 10.21111/fij.v6i2.4678

Abstract

Racing game is one of the genre that’s still popular today. Unity is one of many game engines one can use to develop a racing game. At Unity Asset Store, there is a free template called Micro-Game Karting which can only be played alone. In order to play player versus enemy mode, an artificial intelligence (AI) is needed for directing non-player character (NPC) who acts as the opponent. In racing game, the AI requires the use of movement algorithm and decision making system. For this study, the movement algorithm will use pathfinding. The algorithm is used as a guiding path when NPC is moving and avoiding obstacles in the way. Pathfinding will use waypoint system and raycasting to accomplish it. The decision making technique that will be used is decision tree. It functions as decision maker for NPC so it can determine the correct action to be done at certain time. Result of black box and white box testing showed NPC is functional. As for FPS (frame per second) test, performance suffers 0.2-0.3 FPS decrease for every addition of 2 NPCs. According to lap time test, the developed NPC is faster than ML NPC and driving test showed favorable outcome.
Pengembangan Aplikasi Cuci Sepatu Berbasis Android Pada Sepatu Bersih Ramdani, Aditasha Fadhila; Akbar, Muhammad Aminul; Prakoso, Bondan Sapta
Fountain of Informatics Journal Vol. 8 No. 2 (2023): November
Publisher : Universitas Darussalam Gontor

Show Abstract | Download Original | Original Source | Check in Google Scholar

Abstract

Abstrak Sepatu Bersih adalah penyedia jasa perawatan sepatu dengan salah satu layanannya berupa gratis antar jemput untuk pencucian sepatu di Kota Malang dengan pemesanan melalui WhatsApp. Layanan tersebut memiliki beberapa permasalahan seperti pelaksanaan proses bisnis dilakukan dalam waktu yang lama karena harus membalas pesan pelanggan, pencatatan pesanan dilakukan secara manual dan catatan pesanan rawan hilang. Pengalaman pengguna pelanggan juga tidak optimal karena harus mengisi form pemesanan melalui WhatsApp dan menunggu balasan shopkeeper. Berdasarkan permasalahan tersebut maka dikembangkan sistem informasi berbasis Android dengan basis data Firebase untuk layanan antar jemput cuci sepatu menggunakan model pengembangan waterfall. Selain itu akan dimodelkan proses bisnis layanan saat ini, dengan media WhatsApp, serta proses bisnis usulan, dengan media aplikasi. Pengujian pada sistem ini adalah simulasi waktu proses bisnis saat ini dan usulan, pengujian validasi kebutuhan fungsional sistem dan uji statistik perbandingan pengalaman pengguna yang diukur dengan User Experience Questionnaire (UEQ) untuk menentukan signifikansi perbedaan layanan saat ini proses layanan usulan. Hasil penelitian ini adalah proses bisnis usulan memiliki waktu rata-rata dan total yang lebih singkat, pengujian validasi berhasil memenuhi seluruh kebutuhan fungsional sistem serta nilai pengalaman pengguna aspek UEQ layanan Sepatu Bersih memiliki perbedaan signifikan ke arah pengalaman pengguna yang lebih baik setelah menggunakan sistem. Kata kunci: binatu, sistem informasi, android, waterfall, proses bisnis, UEQ   Abstract [The Development of Android-Based Shoes Washing Application on Sepatu Bersih] Sepatu Bersih is a shoe care service provider with one free pickup/delivery service for shoe washing in Malang City by ordering via WhatsApp. This service has several problems, such as implementing business processes taking a long time because you have to reply to customer messages, noting orders are done manually, and order records being prone to being lost. The customer's user experience is also not optimal because they must fill out the order form via WhatsApp and wait for the shopkeeper's reply. Based on these problems, using the waterfall development model, an Android-based information system was developed with the Firebase database for shoe-washing pick-up services. In addition, the current service business processes that use WhatsApp will be modeled as proposed business processes that use the app. Tests on this system are time simulations of current and proposed business processes, validation testing of system functional requirements, and user experience testing using the User Experience Questionnaire (UEQ) with statistical tests to determine the significance of the current service difference in the proposed service process. This study concludes that the proposed business process has a shorter average and total time, the validation test successfully fulfills all functional requirements of the system, and the user experience value of the UEQ aspect of Sepatu Bersih service has a significant difference towards a better user experience after using the system. Keywords: laundry, information system, android, waterfall, business process, UEQ
Co-Authors Abdulloh, Roihan Abdurrahman Prawira Purmiaji Abi Firmandhani Adam Hendra Brata Ade Suluh Novriananda Aditya Luthfi Alvari Ramadhan Aditya Rachmadi Aditya Rachmadi, Aditya Agi Putra Kharisma Agi Putra Kharisma, Agi Putra Agung Dwi Budiarto Ahmad Afif Supianto Ahmad Afif Supianto Ahmad Fadli Naharu Ahmad Fathoni Akbar Ramadhan Akhmad Dinan Jatnika, Aditya Aldo Rizky Saputra Alfi Nur Rusydi Allen Nazario Istalaksana Amzi, Dzakwan Mufid Anderson Manurung Andhi Indra Lestya Wicaksono Andri Alfian Arief Alamsyah Arito Jalu Priyangga, Dionisius Arya Bhanuartha, Putu Gde Aryo Pinandito Aryo Seto Dwisaputra Auliya, Meida Dela Risyafa Azhim Kustiwa, Alwan Fauzul Azizah Febyanti, Hilda Ayu Azzaky, Mohammad Rafi Buce Trias Hanggara Bugi Pradana Nugroho Cahyani, Luvita Intan Cahyono Hadi Kurniawan Carlista Naba Christian Doxa Hamasiah Chrysler Imanuel Chyntia Savrila Putri Dahnial Syauqy David Hosea Sipahutar Davin Benaya Dessy Amri Raykhamna Dheanisa Putri Rahayu Ditya Enandini Palupi Djoko Pramono Djoko Pramono Dwi Rama Malawat Edy Santoso Eriq M. Adams Jonemaro Eriq Muh. Adams Jonemaro Eriq Muhammad Adams Jonemaro Eriq Muhammad Adams Jonemaro Eriq Muhmmad Adams Jonemaro Fajar Pradana Farisi, Hariz Fathony Teguh Irawan Fathurrahman Annafabi Fernando, Samuel Fikri Ihsan Ahmad Firadi Surya Pramana Firdaus Rahmat Prasetyo Fitraldy Soefana Fitrantika Diashafira Gunawan, Alexander Hamdany, Mohammad Naufal Adib Hamidah, Nazwa Ambar Hanifah Muslimah Az-Zahra Hanifah Muslimah Az-Zahra, Hanifah Muslimah Haq, Muhammad Yasir Anshari Hariz Farisi Hendro Dwi Prasetyo Herawan, Almaas Rozikin Herlambang Yudha Prasetya Herlando, Muhammad Raafi Herman Tolle Hermawan, Renaldy Hilmi Derian, Ivan Hilmi Ilyas Rizaldi Hurriyatul Fitriyah I Made Wira Satya Dharma Ian Setyo Aji Ilham Akbar Ahmadi Ilham Gibran, Muhammad Ilmam Achmadiarsyi Ilman Naafian Firmansyah Indi Rachmah Winona Intan Sartika Eris Maghfiroh Intishar Fadi Abdillah Iqbal Firmansyah Iqbal Putra Santosa Ismiarta Aknuranda Ismiarta Aknuranda Issa Arwani Issa Arwani Isthofi Aslim Sofyan Javas Marchad, Radithya Jermias Kristian Jonemaro, Eriq Muhammad Adams Kaeksi, Racana Ayu Komang Candra Brata Kusuma, I Made Yudi Anantha Lailatussaadah M Nur, Lailatussaadah Lutfi Fanani Lutfi Fanani Luthfi Fawwaz Putranto Mas'udi, Nashrul Azhar Mayovio Ahmad Mahendrata Mochamad Chandra Saputra, Mochamad Chandra Mochamad Halim Mohamad Ilham Ridho Mohammad Alauddin Mohammad Chaliffilardhy Syaifuddin Muadz Askarul Muslim Muchtar Prawira Sholikhin Muhamad Arifin Ramadhan Muhammad Adams Jonemaro , Eriq Muhammad Arif Nabil Lesmana Muhammad Aufa Athallah Muhammad Azmi Muhammad Azzam Al-Ghifari Habiburrahman Muhammad Reza Pahlevi Muhammad Salman, Raditya Muhammad Satrio Bayu Pamungkas Muhammad Yasir Anshari Haq Muhtadin Ziqi Maulana Mujahid Bariz Hilmi Musavi Ardabilly Taufik Naba, Carlista Najibudin, Mochamad Asrof Nashir, Idham Ahmad Nashrul Azhar Mas'udi Nashrul Azhar Mas'udi Niken Hendrakusma Nugroho, Bramantyo Raka Adi Nur Efendi, Akhmad Farid Nur Muhammad Rashid Oktafianto, Mukhammad Afan Pamesthi, Radya Farrel Panji Yodantara Pardede, Natanael Isaac Pardamean Pelealu, Billawal Nadipa Prakoso, Bondan Sapta Pramudya Vizkal Arfianto Purnomo, Welly Putra Pandu Adikara PW, M. Qodarul Amar Rahadian Fernandika Ramadhan Rizki Arga Putra Ramdani, Aditasha Fadhila Ratih Kartika Dewi Retno Indah Rokhmawati Retno Indah Rokhmawati, Retno Indah Reza Saputra Richard Hans Octavian Riswan Septriayadi Sianturi Robertus Dwi Ari Utomo Ryan Aristo Salman, Raditya Muhammad Sandhi Wistara Sativandi Putra Satrio Hadi Wijoyo Setiawan, Muhammad Syahrul Setyowidodo, Fauzan Athallah Shandya Fajar Widyono Shena Star Sarwodi Silitonga, Erico Steven Willy Sanjaya Steven Willy Sanjaya Sudjianto, Aulia Heppy Cahya Susanto, Stefanus Rangga Ananta Syahputra, Andira Mahendra Syarief Noor Permadi TABAYUNI, RAHIMI ILLONG Tjandra, Jahzeiah Paskah Togan Jagat Raya Tri Afirianto Tri Afirianto Tri Afirianto Tri Afirianto Tri Afirianto, Tri Trias Hanggara, Buce Utomo, Ibnu Najah Barlian Hadi Viqi Hanada Wibisono Sukmo Wardhono Wibisono Sukmo Wardhono, Wibisono Sukmo Widhy Hayuhardhika Nugraha Putra Wijaya, Aldy Imam Winny Ardhian Septiko Wiranata, Danuar Wong, Vinncent Wong, Vinncent Alexander Yolanda Saputri Yoshua Aditya Kurnia Yosua Yosua Yudha Hadi Pratama Yudistira, Faisal Ariawan Yuita Arum Sari Yuka Bimatara Putra Yuki Pradana Yung, Clara Clarita Yusi Tyroni Mursityo Zulfikar Fahmi Falakh Zulkahfi, Muhammad Razzaaq