Hacker News new | ask | show | jobs
by Vermeulen 1244 days ago
I've done a lot of tests with GPT3 + NPCs: https://www.youtube.com/watch?v=VC_pSgAMbUU Original test from 2021: https://www.youtube.com/watch?v=nnuSQvoroJo

The problem with GPT3 / LLM is how uncontrollable they are. Imagine making a detective game - you could prompt AI's with some information to give to the player on questions, but they also might just give complete made up answers. They answer with whatever works - whether it's true or not, which completely screws up a detective game. Definitely possible to make sandbox style games with this in mind though. And there are a ton of possible other applications - ingame AI assistants (like shown in the above prototypes), NPC shopkeepers

3 comments

This is really cool. But, how would you bundle this? Presumably when the gamer runs the game from their local computer, queries are being sent to openai with your company's API key. The game has to read and use this key sooner or later, and that means that there's no way to protect it. Players will eventually figure out the memory location or what have you when it's decoded and decrypted to authenticate to the API. How do you solve this problem?
Proxy all the requests through a server you own and validate the game’s cd key or whatever before forwarding the request. Could also add a block list of known bad actors plus some rate limiting if that isn’t enough.
So current LLMs probably wouldn't work for RPGs with fixed stories, but they could add some flavor to a purely open-world game.

Also, one could easily imagine giving an LLM a memory and instructing it "when a player talks to you, try to work in the following information" or something like that.

This stuff won't be perfect, but maybe the unpredictability would add some enjoyment.

Also, how do you get game state back from an LLM response? If an LLM decides an NPC is a blacksmith and promises to make a sword for a player, and that functionality isn't even in the game, how do you handle the player responses?