Forums » General Pantheon Discussion

Pantheon and AI

    • 613 posts
    April 18, 2016 4:24 PM PDT

    Hi Everyone,

    As I was deleting my EQN related stuff I stumbled over an artilce by Dave Geogeson on AI development and how it related to EQN. 

    http://intrinsicalgorithm.com/IAonAI/2016/03/on-everquest-next-and-ai-driven-mmos/

    I was not sure how Pantheon was going about the actual dynamics of the questing or using the game engine but I thought it would be good to ask.  EQN had some lofty idea's but they were good ones for the most part.   My question is for the Dev's on the topic of AI is Patheon going to use one or a variant of one?  I would think you could still go with an old schoool theme with a state of the art software core. 

    Just curious what the Dev's point of view is on this.

     

    Ox

     

    • VR Staff
    • 587 posts
    April 19, 2016 12:30 PM PDT

    Too early to go into specifics, but in general Pantheon uses a hybrid data driven/scripting system.  Basic AI for most mobs is data driven which means their race, class, sometimes faction, etc. will define their basic behavior.  But then specific mobs will go further and have 'dispositions' and other advanced AI, which we will often use a scripting system to implement.

    • 613 posts
    April 19, 2016 1:23 PM PDT

    I iwll have to ask how this all works later in development. 

     

    After the EQN/Storybricks information came out I was hooked on the games having the ability to what was being sold. It looks from a high overview you are trying to do that with the hybrid model. Flexibility would be the best aspect I would assume there. I’m not a game designer but an IT infrastructure guy. I find this fascinating just in the aspect of what it does to hardware and how end users will see the game. Performance would be a larger problem with the more advanced processes and the ability of the gaming engine would fall into the performance piece. More of a curiosity on how the GE handles the AI scripting and how impacts overall gaming performance.

    I have a ton of questions but love the very cool fact you guys are willing to discuss what you can at this point of the game so to speak.

     

    Ox

    • 271 posts
    April 19, 2016 1:47 PM PDT

    More is always better, but let us not fall into the trap of craving after something we've yet to even see realised. And by now, we never shall..

     

    Mob difficulty (that's what AI mostly comes down to, yes?) in EQ1 could be hard enough as it was.. i did not lament the lack of an Artificial Intelligence controling the mobs back then, and i won't now either :)

    • VR Staff
    • 587 posts
    April 19, 2016 2:02 PM PDT

    Btw, improving the AI of mobs is not to make them necessarily more difficult.  It's actually easy to make mobs more difficult -- give them more HP, have them hit harder, put simplistic AI in like 'always kill the healer first'.

    Our goal with better NPC AI is *variety*.  Having key mobs with different strategies, behavior, and dispositions.  If there is added difficulty it would be that you'll need to learn different strategy and tactics to use on different key mobs.  

    • 271 posts
    April 20, 2016 3:18 AM PDT

    Oh, i know..i wasn't talking about bloating, never was a fan of that. You are right in mentioning it though, could have left the wrong impression.

    • 148 posts
    April 20, 2016 8:02 AM PDT

    I would like to see the NPC dispositions randomized at each spawn.

    Say your at a camp with 2 orc pawns 1 orc guard and 1 orc shaman. On your first pull the 2 pawns may be cravens, the guard a bully, and the shaman an opportunist. But on your next pull one of the pawns is now a bully, the other still a craven, the guard is a craven now too, and the shaman is now an alarmist. This would give every pull a different feel even when camping the same spot for extended periods of time.

    • VR Staff
    • 587 posts
    April 20, 2016 12:37 PM PDT

    jimm0thy said:

    I would like to see the NPC dispositions randomized at each spawn.

    Say your at a camp with 2 orc pawns 1 orc guard and 1 orc shaman. On your first pull the 2 pawns may be cravens, the guard a bully, and the shaman an opportunist. But on your next pull one of the pawns is now a bully, the other still a craven, the guard is a craven now too, and the shaman is now an alarmist. This would give every pull a different feel even when camping the same spot for extended periods of time.

    I like where you're going with this, but we do need to be careful to not go too far.  If a camp or encounter is too random and unpredictable, then players cannot learn through trial and error how to defeat said encounter.  Balancing a more dynamic world so that it's more interesting but not chaos and unlearnable is one of our challenges.  But we are suckers for challenges :)

    • 2756 posts
    April 20, 2016 1:37 PM PDT

    Aradune said:
    jimm0thy said:I would like to see the NPC dispositions randomized at each spawn...
    ...Balancing a more dynamic world so that it's more interesting but not chaos and unlearnable is one of our challenges.  But we are suckers for challenges :)

    I agree minor randomness would be nice, but greater 'dynamism' in the AI is a more appealing emphasis if I understand correctly?  I heard/read somewhere that encounters may 'escalate' in some way, is that an example of dynamic AI?  If so... yay!

    Eg. you wipe the same village of orcs a few times and they become tougher and more desperate (small rise in stats and more intelligent AI).  You leave them alone a while and it calms down to 'normal', but you keep wiping them and they call in extra troops (more wanderers, a few extra spawns?).  You keep wiping them and the Orc Shaman heads up a group of mystics to get you.  You keep on going and the Orc Chieftain turns up with a small battle group!  You keep going and the village is dead for a while... until undead Orcs start spawning amoungst the living!

    Maybe that's an extreme example, but as someone who has never really minded camping and grinding as long as it's still challanging, dynamic AI would be fantastic.

    Man, you guys (both supporters and devs) are having some great ideas for this game!

    • 613 posts
    April 20, 2016 2:19 PM PDT

    Man, you guys (both supporters and devs) are having some great ideas for this game!

     

    Agreed!  Its been fun just talking about it.  Can't wait to get in and experience it.  

     

    Balancing a more dynamic world so that it's more interesting but not chaos and unlearnable is one of our challenges.

    I wonder if bands of murauding bandits would fit the model of chaos and unlearnable?  Mobs like that would be unpredictable.  Sure you could learn where the vermin spawn but what happens next would be a intersting exchange.  I do think balance is a part of the bigger picture though. 

    Ox

    • 2756 posts
    April 20, 2016 2:28 PM PDT

    Oxillion said:I wonder if bands of murauding bandits would fit the model of chaos and unlearnable?  Mobs like that would be unpredictable.  Sure you could learn where the vermin spawn but what happens next would be a intersting exchange.  I do think balance is a part of the bigger picture though.

    Those "bands of murauding bandits" are the player characters!

    I would love to see monsters that roam a *long* way and maybe even set up camps where they fancy.  I'm sure as long as it's just a few monsters randomly wandering, then we'll be ok.

    • 613 posts
    April 20, 2016 2:53 PM PDT

    Those "bands of murauding bandits" are the player characters!

    HAHA!!  Yeah I can totally see that as true.   Monsters moving and making camp all over the place would be interesting to say the least.   I could see myself out cutting wood for crafting to be stopped in my tracks by a band of no so friendly Orcs.  Oh, the scenarios I can think up. 

     

    Ox 

    • 2756 posts
    April 20, 2016 3:52 PM PDT

    Oxillion said:
    disposalist said:Those "bands of murauding bandits" are the player characters!
    HAHA!!  Yeah I can totally see that as true.   Monsters moving and making camp all over the place would be interesting to say the least.   I could see myself out cutting wood for crafting to be stopped in my tracks by a band of no so friendly Orcs.  Oh, the scenarios I can think up.

    How cool would it be for monsters to not just roam but actively hunt down characters?  To set up lures and ambushes?

    • 2138 posts
    April 20, 2016 6:28 PM PDT

    Heh, Or digging a well in the middle of the desert- to lure PC's.

    Reminds me of the accidental tactic used by Rommel in WW2 desert tank wars. He brought a few trees with him. The Idea, was he wouild plant the tree then  maneouver the tanks to another position. When the enemy came in his field of operation he could triangulate the enemy's position from knowing the distance from his tanks to the tree. But, something else happened. It turns out that people were psychologically drawn to the tree in the dessert. So when the enemy came in the field of operation- they headed straight for the tree.  Montgomery figured it out soon enough, but initially scouting the dessert was hazardous..

    • 613 posts
    April 21, 2016 9:35 AM PDT

    He was the Desert Fox.  Still an intersting play on what could be possible.  

    • 178 posts
    April 22, 2016 6:21 AM PDT

    One optional simple implementation for a more dynamic encounter system may be to roll different attributes in specific instances or mob types.

    For example, a many tentacled creature may be able to block and parry more often from your typical and normal encounters. Suppose there was a roll against Agility (this is simply to illustrate the example) that would allow for you to hit more often - perhaps not hit as hard but simply to hit more often. Maybe for spellcasters there could be a roll against Charisma as an equivalent form of "Willpower" to make a spell hit more often (liken it to being strong in the force or weak in the force). I won't go into more example specifics.

    I don't mention this so that people are constantly switching armour - but they could be adjusting their buff spells (or bard songs) depending on the specific encounter. They could also be adjusting their playstyle. Assuming there will be a variety of skills for any class to use - the circumstance may determine when a certain skill is better to be used than another skill. There may be encounters where "blocking" is a far more effective strategy than "bludgeoning." Or a certain line of spells as opposed to a different line of spells.

    Don't overdo it and don't overuse it - but it could be a simple implementation given the information that is probably already sent during encounters and engagements.

    • 84 posts
    April 24, 2016 3:43 PM PDT

    I believe one of the strongest game mechanics of Everquest, was that the mobs behavior was learnable by the player.  I don't believe this made Everquest easy by any means, but it did allow a veteran player to be more successful because they knew how to interact with the mobs.  I totally support a strong and intelligent AI, but not one that is random.

    • 264 posts
    April 24, 2016 5:08 PM PDT

    I like the idea of mobs with AI of differing intelligence levels based on what that mob is but not any crazy random stuff, a little is cool. You know that Kobold Shaman is always pissy when it is raining.

    I like Special "Named" mobs/leaders/bosses or even merchants with custom AI that will make decisions based not only on faction but previous moral decisions you may have made.

    I like the idea of some named mobs that have a higher intellegence in battle than others and will act smarter based on what it sees happening or about to happen. You would not have to hit it or heal something for it to know who to attack next it would actually size up your group before hand and act accordingly. You would have to be able to surprise the mob with your own tactical display of intelligence to win.

    Oh yeah and I like the Attack key not being bound to the A button if we will have to type questions or answers to NPC's, lol, or maaaybe it should start off that way when you create a new character :)

     

    Sky


    This post was edited by Skycaster at April 24, 2016 5:23 PM PDT
    • 1714 posts
    April 24, 2016 7:15 PM PDT

    jimm0thy said:

    I would like to see the NPC dispositions randomized at each spawn.

    Say your at a camp with 2 orc pawns 1 orc guard and 1 orc shaman. On your first pull the 2 pawns may be cravens, the guard a bully, and the shaman an opportunist. But on your next pull one of the pawns is now a bully, the other still a craven, the guard is a craven now too, and the shaman is now an alarmist. This would give every pull a different feel even when camping the same spot for extended periods of time.

    I think this might put too much emphasis on crowd control. It's a cool idea tho. 

    • 232 posts
    April 25, 2016 7:10 AM PDT

    Krixus said:

    jimm0thy said:

    I would like to see the NPC dispositions randomized at each spawn.

    Say your at a camp with 2 orc pawns 1 orc guard and 1 orc shaman. On your first pull the 2 pawns may be cravens, the guard a bully, and the shaman an opportunist. But on your next pull one of the pawns is now a bully, the other still a craven, the guard is a craven now too, and the shaman is now an alarmist. This would give every pull a different feel even when camping the same spot for extended periods of time.

    I think this might put too much emphasis on crowd control. It's a cool idea tho. 

    I think the emphasis on crowd control would be great.  This would also support the extended trinity they are designing around (tank, dps, heals, cc).

    • 37 posts
    April 28, 2016 10:38 PM PDT

    I would like to see a step forward in AI. not nessacerily that all SHMs would prefer to focus healers on casters first, while all Warriors try to kill casters first. I like the idea of craven, bully and such. 

    • 613 posts
    September 6, 2016 10:57 AM PDT

    Digging this up after reading about a another MMO popping up on the radar. Chronicles of Elyria is yet another MMO bosting immersive game play with an advanced AI. After reading on the game it does sound interesting but it has some hard questions coming from its fan base.   Pantheon also has a AI system so I wanted to ask some more questions on the process and function of the game. So some thoughts and questions…

     

    Quote:

    Too early to go into specifics, but in general Pantheon uses a hybrid data driven/scripting system.  Basic AI for most mobs is data driven which means their race, class, sometimes faction, etc. will define their basic behavior.  But then specific mobs will go further and have 'dispositions' and other advanced AI, which we will often use a scripting system to implement.

     

    With Pantheon using the perception system and the hybrid system Brad mentions it brings up some questions on the limits of the game. Not bashing this at all just looking at the technical aspects of the game and the VR vision. This is complicated code that has to be deployed. It has to balance the game as far as function goes without breaking it. The DB’s and processes behind the scenes are all running or will be running AI layered software or basically automation. Most games if not all of them have these processes. In Pantheons case we have seen a pretty level headed approach to all the features and function of the game to date. Still some speculation due to we don’t have a clear picture yet but we can formulate theories and base concepts on what we already know. It’s still too early for some this. Now another concept being discussed in the Forum https://www.pantheonmmo.com/content/forums/topic/3056/the-progeny-system-what-say-you also brings some larger questions if the current system can be run with the other already mentioned systems involved. How will systems interact and will it impact game deployment and overall performance. Immersion issues also pop up here. Granted no system is perfect and until we harness much more powerful technology it may be possible for that level of deployment.

    The more systems deployed into a game means the more complicated the game gets to deploy.   More subsystems are required and then comes the ultimate questions about what gets dropped or bumped for later releases. Then the hardware requirements for the IP and then us the gamers.

    I also thing the term Advanced AI is now turned into a buzz word that needs to be addressed in the gaming community. Developers also need to use terms like it sparingly. Just an opinion there due to the all the hype terms like it stir up.

    Any thoughts?

    • 1921 posts
    September 6, 2016 3:33 PM PDT

    In practice, today, CPU, Storage, and bandwidth are almost infinite.  The only limit for an AI entity is where the partitions boundaries are for each of those three resources, and how that all is presented to the game client.

    Put another way, each NPC enemy could be a Quake Reaper Bot, and there would be no issue with performance on the server(s).  I've never seen a human beat a Quake reaper bot on the highest settings, so.. I don't think we have to worry about ramping up difficutly. 
    We likely have to worry about the devs toning it down to a challenge we lowly limited slow meatsack bags of mostly water can actually win against such enemies. ;)

    • 187 posts
    September 9, 2016 9:51 AM PDT

    What if you guys implemented a machine learning capacity for mobs of camps and special zone where mobs with randomized initial spawn and/or patrol parameters could slowly learn which parameter increased their fitness or survivability and allowed the mob to slowly begin weighing the probability distribution of each randomized parameters?

    Here's a simple example:
    3 mobs spawn near a hut. Each hut-bound mob, namely, mob_1, mob_2, and mob_3 have parameters, l_i, d_i, and p_i where l is the x-y spawn location, d is the average distance between other mobs in the hut, and p is the path length of a randomized walk and i=1,2,3 corresponds to each mob. Each parameter could have bounds so that the integrity of the camp could be preserved, if the devs so desire.

    Now, lets say players start camping this hut. After this first spawn, each mob_i randomizes their spawn parameters and populates the hut. Let each mob_i have a parameter t_i which records their lifetime in seconds and another paramater tg=t_1+t_2+t_3 is the total lifetime of the group. As the camp gets killed and killed and killed by players, the mobs begin to learn that when d_i is minimized, which means the average distance between each mob is small, tg, the total lifetime of the group increases. As such, the probability that the mobs spawn closer to one another increases slightly and the hut begins to densify over time as the mobs adjust their spawn parameters probability. 

    This learning process could allow from some pretty sweet emergent behavior where, for example, one mobs learns that if he spawns in a certain location which is behind a wall, he begins effectively ambushing players which increases his lifetime. Or a patroling mob learns that if he walks very near to a camp, his lifetime increases and the lifetime of the camp increases such that he could eventually be integrated into the group. 

    It would be very important to make the learning process very slow and the range of the spawn parameters very tight so that the whole zone loses its structure and players can enjoy the similarity of a well known camp, but visit it in a year and its configuration has been optimized such that its a fresh experience.

    Boundary conditions of these parameters would be important too, otherwise zones sould just turn into deathball zergs of mobs camping the zoneline haha. I'd love to have at least one wild zone where no parameters have bounds and see what behaviors pop up naturally from mobs interacting with the players and see if players could "learn" how to deal with it.

    Now that would be some serious PvE, and even allow for EvP, so to speak, where players learn how to deal with the learning of the mobs and the mobs learn how to adjust accordingly in a never ending cycle. Whew.


    This post was edited by Syntro at September 9, 2016 10:09 AM PDT
    • 15 posts
    September 10, 2016 12:36 PM PDT

    One of the biggest AI problems in MMOs has traditionally been NPC pathing; it's computationally expensive if you don't use a waypoint system, but those lead to behaviors such as an NPC strafing along a wall trying to get to PCs 2 rooms away.  Waypoints also lead to PCs being able to run between two areas to force NPCs to run a longer route between them rather than heading straight for the PC and attacking with impunity from a distance.

    Is there anything in place to mitigate these exploitable and very predictable NPC behaviors?