Tobold's Blog
Friday, September 15, 2023
AI-controlled NPC

In a computer RPG, only few characters are fully fleshed out, like the companions in Baldur’s Gate 3 or the crew in Starfield. Besides those, there are a lot of minor NPC that mainly serve to make settlements seem inhabited, or have minor roles to provide side quests, clues or trade. If you interact with them repeatedly, their repertoire quickly runs out, and you’ll end up getting the same response over and over. But what if these NPCs could be powered by AI? While you probably hadn’t identified Stanford University as a game development studio, resesarchers there created a “game” called Smallville, in which the user can interact with 25 inhabitants of a small town and get believable, non-repetitive responses.

An NPC doesn’t have to have a full ChatGPT 4 large language model behind him to be believable. In fact, if the NPC is supposed to be a peasant in a medieval village, you probably don’t want him to be able to give his opinion about mobile phones, television shows, or modern day politicians. But currently, if you are looking for the village smith, and nobody thought to give the peasant a dialogue option to ask where the smith might be, the NPC is useless to you, and not very believable. It wouldn’t be too hard to give that NPC limited AI, enabling him to answer simple questions about the village and its inhabitants.

While there are some issues about the compensation of voice actors used to train text to speech software, that technology also has much advanced. Thus the NPC peasant could possibly even use a voice over generator to reply with audible speech, not just written dialogue. And for triple-A games with lots of NPCs, the advantage of simple chatbots and voice over generators is that they scale up better, and thus could end up being cheaper than getting the traditional and far more limited dialogue voiced over by voice actors.

The current state of the art in games is NPCs which are just dolls: Most of the are stationary or have very limited movement patterns, and most of them have just one, or at best a few, canned responses to being interacted with. That also leads to stupid strategies for gamers, who simply talk to every NPC in a settlement until their dialogue runs out, to be sure not to miss anything. How much cooler would it be if you couldn’t find out about the murdered traveller unless you actually asked about him?

I'm very much in favor of using generative chat to provide the kind of background hum a virtual world needs to feel convincing. I used to really like the ambient chatter in the original Baldur's Gate and Guild Wars 2 but if you spend too long in one area, as happens with cities and hubs that provide services, after a while the speech samples became very repetitive. It would be far better to have them spontaneously generated by AI.

The whole "who gets paid" aspect is inevitably going to get ironed out over time as it has with every previous technological invention since at least the first industrial revolution so it's not a matter of "if" but "when". The only thing that would stop it would be the kind of mass public aversion such as we saw with both Google Glass and NFT/P2E but the reactions to AI are much more on the "some people love it, some people hate it" end of the scale and when public opinion splits like that, companies will always go for the most profitable option, which is defnitely going to be using AI not standing out against it.
I dont see this being feasible for background NPCs in the way you describe it. I could see LLM being used to create more pieces of non essential dialogue that are then used for NPCs but actually running some sort of chat bot in game wouldn't be worth the resource cost. Not to mention it would need an always online connection which is still an issues for many people.

Personally I'd rather see generative AI used to improve procedurally created content. Games are still very far away from having procedurally created content that rivals hand-built content and it really shows. Generative AI tools could be a game changer for developers.
You might be able to make a compressed set of weights that doesn't know much about anything except in-game stuff, and small enough to run locally at conversation speed (if it's tight, show a chat screen and borrow the GPU for the duration). I don't know enough about the tech to be certain that is feasible, but it seems like it might be.
We have seen studios attempting this since at least Skyrim. However, I suspect we are almost to the point where it really could be done in a compelling way. That said, we aren't there yet if AI can't even be relied upon to write a simple obituary yet . . .
But that wasn’t a large language model AI like ChatGPT, but a much simpler software that steals articles from other websites and then runs them through a much simpler algorithm that uses a Thesaurus and rearangement to hide the theft. Teachers were reporting pupils using similar software for essays long before ChatGPT was released, leading to pearls like “Unused York City”.
I think this is inevitable, and we're on the verge of it becoming viable. It's gonna take another generation or two of open source LLM improvements and consumer hardware upgrades to make this possible on an average gaming PC at a reasonable generation speed. Current local LLM response times are still far too slow for most gaming conversations.

We should start seeing commercialized experiments appear in this area in the next couple of years. Whether this will become widespread in the gaming industry is debatable. AI has never been a strong area for game developers to invest in. Many techniques exist that strategy games and such would benefit from, but very few ever get used. I never cease to be disappointed by the state of AI in the vast majority of even AAA games.
How much cooler would it be if you couldn’t find out about the murdered traveller unless you actually asked about him?

Are you looking for Mankrik's wife?
Post a Comment

<< Home
Newer›  ‹Older

  Powered by Blogger   Free Page Rank Tool