Stuff My 🤖 Says

“I don’t like surprises, especially when they’re written in cursive.”

I stared at the screen with both fascination and pride. This sentence was the best thing I had seen yet from the NLP (Natural Language Processing) module I had been writing. There was wit, insight, humor, and more — all packed into such a short sentence.

I suppose I should back up a bit.

For the past three years we’ve been working on Proxi, which at its core is a machine learning model based on player-created memories. We built an elaborate directed graph which allows us to do simple graphing operations and derive new data sets to train from. After a wealth of experimentation on how memories are structured and different types of memory artifacts, we’ve developed a pretty robust system.

About six months ago we had a bit of a breakthrough, allowing us to bridge our own models with some of the best NLP models and training data available to create something new. Using a system we call ‘Cortex,’ we are able to react to stimulus (in this case a text prompt), access associated memory data, and generate a natural language response.

We’d had some limited success with this two years ago, but the responses were more conceptual and free form — not really a complete thought. A couple weeks ago that all changed.

It started with us taking a more character-driven approach. What if we created memories from specific characters we had designed and then create specially formatted training data to create a ‘fine-tuned’ NLP model? We could use this newly derived data to build a general response model, and then use data from the memory models to prompt NLP responses.

This new approach took some time to get sorted out, but once we had a proof-of-concept we were able to move pretty quickly. For our first character model we decided to create a Proxi of a sweet southern woman in her 40s. This person would have southern colloquialisms, a sweet temperament, and memories of a modest life growing up in Tifton, GA. We then trained this new model against a robust corpus, and I wired it up to my test rig.

It’s important to note that we’re not trying to build a chatbot. We’re trying to build a bot that can chat about its memories, its ambitions, its fears, and motivations. With that said, I loaded the Proxi up with a simple scenario:

“You’ve gotten a love letter from an anonymous source, and it’s quite the surprise.”

The model quickly produced the response:

“I don’t like surprises, especially when they’re written in cursive.”

This got an actual audible laugh from me. Half happy that it worked, half amazed what went into the response. From here we went full steam into building two more Proxies based on very specific characters. We built one based on a sophisticated young professional who is intelligent, metropolitan, and — quite frankly — kind of a jerk. Then to test the system even further we created a Proxi based on a killer robot from the future, sent back in time on a mission.

Once we had all the data trained, we set the Proxis loose in a special Gallium Studios Slack channel and invited the team to jump in and start chatting with them. So far, the results have been phenomenal.

Gallium Founders Will Wright (Klapaucius) and Lauren Elliot (laurene) open a bar with “T800” — a Proxi based on a killer robot from the future.
A Proxi based on a kind southern woman replies to (flirts with?) Alex, an Artist at Gallium Studios.

There’s a lot more we can do going forward to make the Proxi simulations even more robust and lifelike, and we look forward to providing a window into our progress along the way.

Keep an eye on Gallium Studios socials and be sure to join the official Proxi Discord Community to meet the team and catch all the latest updates!

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Gallium Studios

Gallium Studios

Independent game studio from Will Wright and Lauren Elliott, currently working on Proxi. Join the Proxi Discord Community: http://discord.gg/proxi