BOATS DO VZHHHHH BBBDROOM, BEEEEP, BEEEP, GNAA, HONK, VZHHHHHHHHHHHHHH
Well, this is my bachelor's thesis on the topic "Development of a multiplayer racing game with the use of artificial intelligence for simulating opponents' behavior."
As part of this work, I've analyzed existing competitive games with sym-metrical gameplay, which contain AI, simulating the behavior of opponents, and used them to determine the criteria for comparison. The performance of AI models trained in different ways was investigated. Based on this analysis, the final models were selected and a multiplayer game in the "Racing" genre, based on the game engine Unity, which meets the criteria were developed, as well as the directions for further research. The game is cross-platform without limiting the game session by the device type and is available for Windows, Linux, MacOS, Android and iOS operating systems.
As the primary development tool for the project, the Unity game engine was chosen (programming language ā C#). The Netcode for GameObjects plugin was selected as the solution for implementing the multiplayer mode. Additionally, services specialized for the chosen game engine provided by Unity Gaming Services were utilized, namely:
- Lobby Service for initially grouping players in a single lobby, preconfiguring connection settings, and race parameters.
- Relay Service for organizing communication between players and determining their network interactions during gameplay.
To implement opponent behavior models, the ml-agents package, specifically designed for the Unity game engine, was employed. This package enables the training of intelligent agents through reinforcement learning and imitation learning using algorithms such as PPO, MA-POCA, and SAC.
Trajectories of different ML agents:
Videos:
- Agent Trajectories: https://youtu.be/mG_ogb8pcBU
- On The Waves DEMO: https://youtu.be/QV4JaJz_RGs
Game (itch.io): https://imsolty.itch.io/on-the-waves
WaveCreator: https://imsolty.itch.io/wavecreator