Github Link

The Project

Bottender is a chatbot based game where the user acts as a bartender for robots. The user must chat with the bot to earn tips. Each “character” will have a subject that they are particularly interested in. The more the user talks about this topic, the higher the tip will be.

Motivation

This game is intended to be a proof of concept for the use of natural language understanding (NLU) in games. In most modern video games, players can only interact with non-player characters (NPCs) through pre-scripted dialog choices the player can select. I believe that allowing the player to use natural language to interact with NPCs could add an interesting layer of gameplay to story-based games.

Features

The project features heavy use of python libraries such as pandas, NumPy, scikit-learn, and Flask.

The project currently relies on 2 different classification models for 2 different purposes:

  1. intent classification: predicting what the user means by his or her entry
  2. toxic classification: this project will also recognize toxic language entered by the user and the characters will respond accordingly.

Reflection

I believe this project was an excellent prototype for how NLU can be used for NPC interactions in games and I’m proud of the high predictive accuracy the model achieved. However, this technology is out of date given the rise of LLMs. In the future I’d like to attempt a similar prototype but replaced with LLMs instead of the algorithms currently in the project.