And so the player experiences cognitive dissonance when he interacts with wooden, limited NPCs. We expect dumb NPCs in twitch-reflex gauntlet games, but open sandbox worlds are becoming so immersive - thanks largely to gamesas - that it's jarring to be unable to have natural language conversations with NPCs.
Why don't we have real AI for NPCs?
We could legitimately answer this question in several ways. PCs don't have enough processing power, or at least many don't. Consoles in this generation are even more limited. We don't have good AI algorithms in hand. It would bloat save games something fierce to keep track of the status of PC interactions with NPCs possessing truly sophisticated AIs. It's not cost-effective.
Those are reasons to stick with the status quo: simple NPCs that are programmed to contribute to a story line and not much else. But gamesas, of all game companies, has a record of not sticking with the status quo. It wasn't so long ago that NPCs were truly static, staying in one place 'round the clock. gamesas programmed them to move, eat, sleep, open and close their shops. gamesas has worked hard to develop improved pathfinding for mobile NPCs and has them moving around in the world according to schedules. And so I'm hoping gamesas will be interested in more ideas - even radical ideas - for improving NPC AI to the next level.
I'm going to suggest that, in part, Apple's Siri shows us the way forward: AI in the cloud and natural language interactions.
Apple, of course, has no interest in NPC AI, and they aren't about to share their technology. But a competitor of Apple, Google, has a different corporate philosophy. They're pushing open systems and standards, and they're eager to generate more business for the cloud. (Set aside, for the moment, the question of how Google will profit by operating NPC AI servers in the cloud, and thus have a motive to help.)
Google knows that AI is the future of search. I'm sure they're nervous about Apple's technical lead in this area, it threatens Google's dominance and core business model. If Google isn't busy cobbling together and testing natural language AI algorithms right now, I'll be very surprised.
So, assuming Google would be interested, how would it work?
Google would operate servers in the cloud. Client programs (like an Elder Scrolls game) would tap those servers to operate NPC interactions with players. Already, we have eliminated some of the objections to improving NPC AI: it doesn't require more advanced computing hardware owned by the player, it need not cause save-game bloat on the player's storage systems, and development of algorithms can be mostly offloaded to Big Giant Google. It does require an always-on internet connection to play, but we're headed in that direction anyway - always-on is useful against piracy, and it lets game designers ease up on player hardware requirements so they can play on tablets, phones, etc.
The player would interact with NPCs using natural language (spoken into a mic or typed, at the player's option).
In the cloud, aside from natural language interpretation algorithms which will likely be standard (or nearly so) for all AI interactions, there will need to be three general categories of information about NPCs:
- General world information that NPCs living in the world should know.
- Personalization information: stuff about each specific NPC's identity and history, plus specific knowledge an NPC knows that other NPCs might not know. Much of this could be check-box stuff; there might be hundreds of check-boxes available, but once the check boxes are set up, a game designer just checks the ones that she wants for a particular NPC.
- Motivations: stuff about what each NPC wants (a kind of Maslow ranking,) with some needs being more important than others. Motivations could also be handled via check-boxes and dragged into a rank order, except for a few important NPCs whose motivations might be unique.
When the player makes a comment or asks a question, algorithms will attempt to figure out which category applies and shape a response which advances the NPC's ambitions.
When a PC takes an action, NPCs will respond according to whether the action advances, frustrates, or is neutral with respect to their motivations. This will change their disposition to the NPC (or not). NPCs can also react to the player's diplomacy (or lack of it) in the words he chooses to employ in conversation.
The core of it is in the algorithms. I know that gamesas, as a small company, does not have the resources to develop AI algorithms. But Google does, and Google wants more stuff in the cloud, and Google is in a position to need to develop AI algorithms anyway. Many will be directly applicable to the problem of animating NPCs in intelligent ways.
What about voice acting? Tough question, but one I think Google can answer. The answer I'll give (I'm not affiliated with Google) is that artificial voice inflections could, in principle, be influenced by voice actors in the same way that studio animation can be influenced by physical actors (expressions and movements captured in 3D by cameras). There is no need to feel limited by Siri-style synthesized voice technology; that's only a way point in an advancing field, not an end state.
How could Google make money by providing cloud services to game publishers?
That's the big question. I don't know.
It's not likely that players will want to see Google ads inserted into their game worlds, or watch Google commercials interrupting or delaying their play time.
But Google does want to get its technology onto as many consumer platforms as it can. And so bundling isn't out of the question. As an example, if you want to play this futuristic Elder Scrolls game with enhanced AI for NPCs, you'll have to download and install Google's AI search product (Siri's competitor, which does not yet exist), or it won't work.
That isn't a problem I can solve from the sidelines as a mere suggester. So I'll simply suggest this: I think gamesas and Google ought to have some conversations about the possibility of collaborating to bring better AI to NPCs in gamesas games.
I'll bet they'll be really fun conversations.