Nashrul Azhar Mas'udi, Eriq Muhammad Adams Jonemaro, Muhammad Aminul Akbar, Tri Afirianto
{"title":"基于决策树的3D卡丁车游戏非玩家角色开发","authors":"Nashrul Azhar Mas'udi, Eriq Muhammad Adams Jonemaro, Muhammad Aminul Akbar, Tri Afirianto","doi":"10.21111/FIJ.V6I2.4678","DOIUrl":null,"url":null,"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.","PeriodicalId":33722,"journal":{"name":"Fountain of Informatics Journal","volume":" ","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2021-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"Development of Non-Player Character for 3D Kart Racing Game Using Decision Tree\",\"authors\":\"Nashrul Azhar Mas'udi, Eriq Muhammad Adams Jonemaro, Muhammad Aminul Akbar, Tri Afirianto\",\"doi\":\"10.21111/FIJ.V6I2.4678\",\"DOIUrl\":null,\"url\":null,\"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.\",\"PeriodicalId\":33722,\"journal\":{\"name\":\"Fountain of Informatics Journal\",\"volume\":\" \",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2021-06-27\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Fountain of Informatics Journal\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.21111/FIJ.V6I2.4678\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Fountain of Informatics Journal","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.21111/FIJ.V6I2.4678","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
摘要
赛车游戏是一种至今仍然流行的游戏类型。Unity是许多可以用来开发赛车游戏的游戏引擎之一。在Unity Asset Store,有一个名为Micro Game Karting的免费模板,只能单独玩。为了玩玩家对敌人模式,需要人工智能(AI)来指导扮演对手的非玩家角色(NPC)。在赛车游戏中,人工智能需要使用运动算法和决策系统。在这项研究中,运动算法将使用路径查找。该算法被用作NPC移动和躲避障碍物时的引导路径。路径查找将使用路径点系统和光线投射来完成。将使用的决策技术是决策树。它是NPC的决策者,因此它可以确定在特定时间要采取的正确行动。黑盒和白盒测试结果表明NPC功能正常。至于FPS(每秒帧数)测试,每增加2个NPC,性能就会下降0.2-0.3 FPS。单圈时间测试表明,所开发的NPC比ML NPC更快,驾驶测试结果良好。
Development of Non-Player Character for 3D Kart Racing Game Using Decision Tree
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.