Browser-Based Multiplayer Game with AI-Powered Opponents
#Svelte#Golang#Python#Tailwind#Canvas
Project Summary
The project aimed to develop AI bots that can play a multiplayer game with minimal training time. The project consisted of three primary components: a web client, a game server, and a training script. These components worked together to provide a seamless gaming experience for players while also enabling the training of AI bots.
Components
- Web Client: The web client was developed using Svelte, HTML, CSS, and TypeScript. It rendered the game interface for players.
- Game Server: The game server handled game logic and communication, and was implemented in Golang.
- Training Script: The training script used deep reinforcement learning to train AI bots. It was written in Python using the Stable Baselines 3 library.
Game Architecture of the Snake Game
Starting Page of the Snake Game
Solo Gameplay of the Snake Game
Awards
The project received recognition with an award from Endress+Hauser and was awarded a Maturarbeitsprämierung. Links to the award and the thesis paper can be found below.
Links
- Thesis Paper: Thesis Paper as PDF
- Github Repo: Code to the Project
- Youtube Demo: Video Demo
- Award: Awards and Recognition