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

  1. Web Client: The web client was developed using Svelte, HTML, CSS, and TypeScript. It rendered the game interface for players.
  2. Game Server: The game server handled game logic and communication, and was implemented in Golang.
  3. 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

Game Architecture of the Snake Game

Game Starting Page

Starting Page of the Snake Game

Solo Gameplay

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.