Search Unity

General Conversational AI Solution for Game Developers

Discussion in 'General Discussion' started by stevecook09, Aug 26, 2015.

?

Is a general, integratable AI system desirable among game developers?

  1. Definitely

    9 vote(s)
    64.3%
  2. Maybe

    5 vote(s)
    35.7%
  3. Never

    0 vote(s)
    0.0%
  1. stevecook09

    stevecook09

    Joined:
    Apr 21, 2015
    Posts:
    7
    Hey people!
    I wanted to request a little dialogue regarding Artificial Intelligence integration for developers. I personally am an artist with little to no background in programming, but I'm working for a company that develops AI technology for robotics and is currently looking to step into the app/game world. I wanted to get a feel for how valuable an SDK for integrating our AI system into devs' games in order to streamline the process of programming conversational AI agents. Our system currently has the following capabilities that range in complexity: Memory Recall, Ontology Extraction, Voice + Face Recognition, Speech to Text/Text to Speach, Social and Emotional Intelligence, Environmental Knowledge(metadata extraction), and Multi-Agent Communication. Of course, these capabilities are limited in many ways, but having a straightforward API for integration could potentially cut out weeks/months of work in developing proprietary AI depending on the level of complexity the game/app requires. We are planning on launching a Kickstarter campaign in the near future that will give more detail as to how we plan on providing this technology for content creation across multiple platforms, including VR. I look forward to your feedback and questions regarding Conversational AI integration for developers.
     
  2. frosted

    frosted

    Joined:
    Jan 17, 2014
    Posts:
    4,044
    This description is way too vague. It depends on tons of factors, but the most important is probably the general quality of the text recognition.

    Can your AI hold a 5-10 minute dialog with a user that has high expectations thats somewhat coherent?

    If your software is useful for games or not really depends on way more detail than you're probably ready to share.

    Here are a few benchmarks you could use to assess the question yourself:
    - How would you use this AI to play characters that have specific roles within a game?
    - Can you use it to make a shop keeper? How would you teach it to haggle?
    - Can you use it to make a villain? How would you give it plot points?
    - Can you make it for AI to AI conversation that would organically cover certain subjects in a dynamic varied fashion?
    - Can you make it so that it can deal with a set script, while handling interrupts gracefully, while gracefully returning to a set script?

    If you have less 'role' based goals for this, then probably one of the better examples of human text to story interactions is an old art project called facade http://www.interactivestory.net/ - this is probably the most fluent story driven conversational game that's ever been made. Is this kind of thing something thats feasible using your system?

    If so, how hard would it be to actually use to create a superior game?

    Those are a few of the example questions that come to mind. If your bot can do these kinds of things, and do them well, then yes, it has a role in games.

    Another question to ask yourself is: can your bot replace the vast majority of all customer service interactions with a satisfaction level that's close to what a person would deliver. If the answer is yes, then it's useful in games - although you would probably make way more money replacing the entire customer service industry ;)
     
  3. stevecook09

    stevecook09

    Joined:
    Apr 21, 2015
    Posts:
    7
    Hey Frosted,
    Thank you so much for your thorough response. I will bring these points to our team and address the issues that you've laid out. It would be quite an undertaking to address all of these in one post, but I will continue to update what our capabilities are currently and where we plan to be in a year. Cheers!
     
  4. superpig

    superpig

    Drink more water! Unity Technologies

    Joined:
    Jan 16, 2011
    Posts:
    4,657
    Something I've always been interested in is the use of complex speech recognition + conversational AI to provide sophisticated 'voice control' interfaces in a game - the kind of use where the conversation with the AI isn't the focus of the interaction, but where it can use a deeper understanding of the player's behaviour and state to derive more in the way of intent, and can use conversational techniques to resolve ambiguity, etc.

    For example, imagine an RTS where you can say "send the squad to staging point gamma," and have a 'major' character (the AI agent) parse the command and respond:
    "which squad do you mean, sir?"
    "The Fast Assault squad."
    "Captain Vasquez leads that squad and is still completing his sniper training, sir. Are you sure you want to send them anyway?"
    "Assign someone else to captain the squad."
    "How about Captain Reynolds?"
    "Does he have sniper training?"
    "Yes, he is a level 3 sniper."
    "Show me his file."
    ...pause while the player looks at the file...
    "OK, do it."
    "Yes sir. Captain Reynolds assigned to the Fast Assault squad, and is leading them to staging point gamma. They will arrive in approximately thirty minutes."

    The focus of the game is still the actual strategy/combat, but the conversational AI provides a deep interface to the simulation.
     
  5. zoran404

    zoran404

    Joined:
    Jan 11, 2015
    Posts:
    520
    In game industry we don't really make AIs to be smart, rather we are looking more for something for the player to poke.

    AIs are mostly used in MMOs for mobs. Usually for low level players AIs just start attacking after players attack them. And for pro-s you let the AI use more moves, let it decide who to attack in order to have better chances to win and maybe add a bit of randomness to it.
    You could also give NPCs a bit of intelligence, like to remember that they talked to this player before and then the second time they would say "hi again" and maybe reference something from the quest they give you earlier.
    But that's basically all you need in a game.

    You can try to make an allay or enemy for a game with very high intelligence, but using that would limit developers a lot in terms of the gameplay they can make.

    Another option is what superpig mentioned, to give players issue voice commands, that would be really cool, but then you're just making an in-game version of siri or cortana.
     
  6. frosted

    frosted

    Joined:
    Jan 17, 2014
    Posts:
    4,044
    I think a lot of this logic is also pretty similar to the customer service scenario. If you can get a computer to handle these kinds of tasks using a plain language interface, then honestly you have a pretty revolutionary piece of technology.

    @zoran404
    I honestly don't agree that we don't want smart AI. We don't want AI that just demolishes the player all the time. But I think the industry has just sort of generally accepted the fact that really good ai is generally just not worth the effort or entirely out of reach.
     
    stevecook09 likes this.
  7. stevecook09

    stevecook09

    Joined:
    Apr 21, 2015
    Posts:
    7
    Thanks for the thoughts and ideas guys. I can definitely see the potential for "open dialogue" creating a higher level of immersion specific to certain game scenarios. I agree with you zoran404, that developers have many constraints as far as the freedom that they can allow AI to possess in interacting with users and driving the story. What if the the AI system is very general in its raw form, but has the capability to be "tweaked" to suit the needs of game constraints and plot structure? I imagine that it will be possible to go beyond siri and cortana's capabilities, which basically use key word identification without a level of "reasoning" required to be dynamic in nature. I don't want to claim that we have the answer to these problems currently, but I think it's extremely insightful to hear the potential use cases of advanced AI systems in all genres of gaming environments. Cheers
     
    Teila likes this.
  8. zoran404

    zoran404

    Joined:
    Jan 11, 2015
    Posts:
    520
    @frosted My point wasn't that a smart AI would always be defeating the player, lvl 1 mob could never defeat lvl 100 player no matter how good the AI.
    What I'm saying is that there is nothing useful an advanced AI could do for a combat type enemy. I mean it only has to attack the player and if you want to make it more realistic then make it move around a bit or escape if it has low health.
    You don't want to go to a mob and have it start a conversation while you're throwing a sword at it.

    But I do find intelligence in non-combat characters (like the NPCs that give quests and merchants) interesting.
    In most games you can go through all conversation options just by restarting the conversations, which feels very artificial.
    If you could make the NPC change it's behavior towards that player or better yet towards all players after a player talks to it that will make the player feel like his actions matter, that he can change the world a bit.

    I've seen this in some single player games but not in mmos. I suppose it's hard to design a game that would use this, since it requires a lot of flexibility in the game.

    Idk if you hard about an anime called Log Horizon. It's about players trapped in a mmo game and how they interact with each other and with NPCs which have nearly human intelligence. You can see what parts of the game would benefit from a good AI from that.
     
  9. tedthebug

    tedthebug

    Joined:
    May 6, 2015
    Posts:
    2,570
    If it could be used to hold key guidelines for a character as well as dialogue/content that needs to be dropped at set points it would be interesting to see that also parsed out as a proper conversation with the player. Rounding the npc out with further characteristics may let the AI respond more conversationally than the current trees used.

    Another use you may want to consider isn't just games but simulation/training (including VR) modules that can be built using game engines. These would need to be industry specific with their own technical language sets.
     
    stevecook09 likes this.
  10. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,694
    I agree with frosted that the description is rather vague. But a generalized API that ties these technologies together would be very useful. I'd want to see a tech demo or working proofs of concept before supporting it on Kickstarter.
     
    Teila and stevecook09 like this.
  11. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Not all of us are creating games where the player just wants more things to "hit". :)

    We are making a game that is more about community and includes the NPC community, so anything that makes interactions between NPCs and Players and/or NPCs and other NPCs is very interesting to us, especially if it is dynamic and changes based on player and NPC actions. AI is definitely higher up on the list than combat, not only for us, but for our target audience.
     
    stevecook09 likes this.
  12. tedthebug

    tedthebug

    Joined:
    May 6, 2015
    Posts:
    2,570
    Make a trash talking AI so bots in multiplayer can be disguised more
     
    stevecook09 likes this.
  13. ShilohGames

    ShilohGames

    Joined:
    Mar 24, 2014
    Posts:
    3,021
    What I would love to see is a next generation voice over barks system. For example, play a co-op and compare the vocal interaction of human teammates with the VO barks of a typical NPC. There is a huge gap between real humans talking to each other during a co-op game and the current VO bark systems. Any solution that could close that gap in a meaningful way would be well received.

    Eventually, I think we will see the solution that Superpig detailed above. That will add a massive amount of immersion to games of every genre. The RTS example is great. I could also see it working well in action FPS games. For example, right now, you need to issue commands through menus or key combinations to tell bots to move forward or to attack something. It would be awesome to have a natural language interaction with bots in co-op games.
     
    stevecook09 likes this.
  14. ShilohGames

    ShilohGames

    Joined:
    Mar 24, 2014
    Posts:
    3,021
    Yeah, we definitely need a bunch of bots cussing in little kid voices. :)
     
  15. tedthebug

    tedthebug

    Joined:
    May 6, 2015
    Posts:
    2,570
    Let the bots target the real teenagers to keep them occupied so adults can game in peace
     
  16. NicoFlows

    NicoFlows

    Joined:
    Feb 23, 2016
    Posts:
    5
    I know this is a older thread but I was wondering if you could give me a bit more information about your service. I have written a few plugins for a program called voice attack (http://www.voiceattack.com/). I use it with a game https://www.elitedangerous.com/. Right now I one or two notches above the basic canned phrases to simulate a ships Ai. I can run my node.js plugins to query game APIs and get info and have the ships Ai "appear" to some degree to be conversational. It's mostly me just knowing the canned prompt phrases which fire off a randomly selected response from a predefined list for that prompt phrase . Part of the goal is to possibly make it fun to watch on a Twitch stream... Snarky ship Ai argues and talks smack to the player. SO I would be very interested in something like this...

    I actually see three use cases:

    1) conversational NPC
    2) In game Ai assitants .... obviously more geared to sci fi themes ... could be a guardian spirit or something in fantansy game too
    3) Better Bots for twitch.tv chat managment

    There are services like this https://wit.ai/ that let you use machine learning to suss out entities and intents which is great but I am still left with generating a natural sounding sentence(s) even if my little ship's Ai now has some basic idea what I am getting at.