Social NPCs

Social NPCs


Project Abstract

Video game NPC's are often scripted to act and speak in a particular way, resulting in repetitive and immersion breaking actions and speech. This project makes use of social media data from Reddit to generate clusters of NPC's who make use of the data to structure their conversations and simulate a dynamic social environment.

The project does this by connecting to the Reddit API using a python script which uses the PRAW library to download subreddits. It then processes the comments on these subreddits and stores the results as data which is read into C++ by the C/Python API and used as a generated script for the NPC groups to read from.

The purpose of this project is to dynamically generate groups of NPCs that discuss and behave believably in a social context without the need for any kinds of pre-scripted content.

Use cases

  • dynamically generate a believable dialog script without the need to pre-script it
  • NPCs act as believable social entity's, making them fitting in a game setting looking for a dynamic social ambience

Technologys Used

  • Python
  • C++
  • SDL 2.0
  • PRAW (The Python Reddit API Wrapper)
  • NLTK (Natural Language Toolkit)
  • JSON
  • C/Python API

About Me


Kyle Tuckey


Bsc Hons Computer Science (games)