4) I have seen more intelligence from an NPC AI in TR beta, than from most MMO players.
One of the things that I find really ... badly done ... in far too many games is how the game's NPC AI handles a variety of Movement Actions for NPCs. Specifically, I'm talking about the "cheat" that almost every game on the market uses for telling the (hostile) NPCs how to path their way to the PC (or any NPC for that matter). The game just continuously updates for the NPC Mob [b]EXACTLY WHERE YOU ARE[/b]. In effect, the NPC Mobs are basically "omniscient" as to where your location is at all times.
This gets to be a ... problem ... if you ever want to introduce any kind of Stealth system or even a Range Debuff or Perception Debuffing system into the game. That's because the NPCs [b]ALWAYS KNOW EXACTLY WHERE YOU ARE[/b] ... for "free" ... and if you ever run out of sight or around a corner and they give chase to come after you, they always run right to you, because they [b]KNOW WHERE YOU ARE[/b] even when they don't have Line of Sight on you.
Needless to say, I find this situation rather unsatisfying.
So here is what I propose.
Any sort of Pathing System that the NPC AI scripts use [i]for the purposes of movement of the NPC[/i] need to work on a sort of "staged" basis. This may sound a little more complicated than absolutely necessary, but bear with me, this will make sense in the end.
Instead of having the NPC AI system path that NPC [b]to the Target[/b] ... instead what should be happening is that the NPC AI system ought to be pathing that NPC [b]to the Target's LAST KNOWN LOCATION[/b]. That means that instead of pathing TO TARGET, the NPC AI would be pathing TO LOCATION ... which is a very important distinction.
Now, while the NPC [i]has a Line of Sight TO their Target[/i], that "Last Known Location" information will be getting continuously updated. What that means then is that so long as an NPC can "SEE" their Target, they will (when moving) in effect "Follow" their Target, even though all they're really doing is following that Target's [i]Last Known Location[/i] (which just so happens to also be where that Target IS, because of continuous updating of that information).
But once the Line of Sight between the NPC and their target [b]is broken[/b], the NPC doesn't "give chase" around every single twist and turn, every corner, every obstacle, through thick and thin, [i]chasing after what they couldn't possibly SEE[/i] because there's terrain and obstacles in the way ... and instead, what the NPC AI script does is move the NPC to the [b]LAST KNOWN LOCATION[/b] of their Target, and then stops moving(!). If the NPC can regain Line of Sight at this point, then the Last Known Location information gets (freshly) updated, and the pursuit resumes ... but if they CAN'T get Line of Sight on their Target then they'll just WAIT there at the last place they saw their Target, until they either "lose interest" and return to their spawn point (ie. de-aggro completely) or they switch Targets to something else (possibly because some other Target has drawn their aggro) and then they move in that direction.
So, we're all familiar with the tactic of the Corner Pull, right? Tap an NPC with a little damage to draw their aggro, duck around behind a corner to "force" them to bumrush up to that corner (and away from anything else you don't want to be fighting near so as to moderate how much aggro you draw at any one time), and when they come around the corner, you "ambush" them and beat them up right there at the corner (near YOUR friends and away from THEIRS). Fairly simple, right?
Well, this Aggro To Location system that I'm talking about would produce a behavior in the AI that really isn't any different from that [i]so long as you're only talking about going around ONE corner[/i] ... but as soon as you get TWO corner turns involved, the NPC AI and pathing changes. In the "two corner" scenario, the last place the NPC "saw" you was at the First Corner, so the NPC will bumrush towards the First Corner. But then when they get to the first Corner, they stop ... because that's the last place they saw you ... rather than chasing all the way around the second (and third, and fourth, and fifth...) corner(s) to come get you. That's because when the NPC AI is given Path To Target instructions, that it what it will UNFAILINGLY do. There's no way to "throw them off the scent" using twists and turns and blocking of line of sight and all the rest. You can't "hide" from an NPC that uses a Path To Target as its criteria in its AI, because they always KNOW something they "shouldn't know" ... and that is [b]EXACTLY WHERE YOU ARE[/b].
However, in those behaviors are no longer operative in the Path To Location scenario, as opposed to Path To Target, where the Location of the Target is continuously updated [i]so long as the NPC has Line of Sight to the Target[/i].
What this does then, in effect, is make it possible for (clever or lucky) PCs "shake a tail" by an NPC when using the Path To Location method, by breaking Line Of Sight through two obstacles, not just one ... but it also makes it harder for the PC to "lure" an NPC into an ambush trap behind obstacles. That's because the Single Corner Pull technique would still work, but a Double Corner Pull (ie. behind two corners) would not work as well.
As far as I'm concerned, this sort of a Path To Location, rather than a Path To Target sort of "extra step" would produce more "realistic" behaviors out of the NPC AI scripts, and in some ways make NPCs a bit less prone to abusive manipulations by Players, due to how the AI system "works" as far as Movement is concerned. It also opens up the possibility of having "Special" NPCs which potentially could have some kind of "extra sensory perception" such that they're "aware" of any PC or NPC within a certain PBAoE radius [i]regardless of Line of Sight[/i] ... thereby giving them a sort of Psychic Awareness factor that prevents them from being surprised (within a certain radius) or that makes it harder to "shake them off" when they're in pursuit because they can "see through obstacles" within a certain range ... which then supplies them with continuous updates on their Target's Location, allowing them to continue Pathing To Location when they (ostensibly) do not have Line Of Sight by "normal" means.
Another explanation/excuse for an NPC not needing to have Line of Sight in order to "know" where their Target is, even without a Line of Sight would be ... scent trails ... meaning DOGS and the like could "follow" their Target (so long as they're within a certain PBAoE radius) without having a Direct Line Of Sight to their Target. Once again, this could be represented by a Passive Power of some kind given to the NPC. That would then open up the possibility of having groups of "hunters" and their "dogs" and having those "hunter" NPCs take their movement cues from their "dogs" so as to follow the "dogs" when the "dogs" get a "scent" of some kind, bell some kind of alert cry and go after their Target.
At any rate, I think that this would be a very interesting ... wrinkle ... to put into the NPC AI pathing scripts for how their movements get handled. Thoughts?
[center][img=44x100]https://i.imgur.com/sMUQ928.gif[/img]
[i]Verbogeny is one of many pleasurettes afforded a creatific thinkerizer.[/i][/center]
Some variation on this system could be interesting, certainly. One corner is taking this behavior to the other extreme, which isn't particularly interesting either. Not to mention that, unless the mobs are very quick, this would make it astonishingly easy to run through missions, hit the target, and run back out (unless the map is a pipe).
Perhaps the better approach would be to have the enemies chase for a certain amount of time or distance and then, should they fail to establish line of sight, either return to their original position or engage in patrol behavior for some additional time. Some enemy groups may even make use of cameras or sensors to explain why they can chase a PC through the whole mission.[color=red]*[/color]
[color=red]*[/color] Could certain heroes/villains neutralize cameras or sensors? Theoretically, sure. However, the focus is going to remain on playing a superhero MMO rather than Splinter Cell.
- - - - -
[font=Pristina][size=18][b]Hail Beard![/b][/size][/font]
Support [url=http://cityoftitans.com/comment/52149#comment-52149]trap clowns[/url] for CoT!
There are of course ways to mitigate that sort of thing, such as the aforementioned PBAoE "Awareness" that doesn't require a Line of Sight in order to update Target Location, which could be an Inherent Power with a much more limited range (like on the order of 20-30 meters, for example) so as to cover the edge cases of being "too close" and not far enough away, even with intervening obstacles and/or terrain blocking Line of Sight. The real point though is to move away from the "NPCs are Omniscient because they know too much" behavior model when it comes to their pathing and movement scripting.
I'd point out that in City of Heroes, this kind of thing could be done by an entire Archetype (Stalkers) as well as multiple others with use of little more than Superspeed and the Running Stealth IO. So in that respect, this sort of objection is a bit like closing the gate after the barn has burned down (figuratively speaking, of course).
Actually, one of the ideas I've been kicking around in my head today is that rather than having a pre-defined "tether" behavior scripted into the NPC AI system, where if they move a certain distance away from their spawn point they get "yanked" back to it, to instead run that kind of function through (of all things) the Threat Table. Specificially, NPCs have a Threat Table which decides "who" is the biggest Threat to them so as to direct their Aggro at the highest Threat Target. Set that Threat Table up so that Threat for EVERY hostile on that table steadily decays over time ... meaning that if "left alone" for a while, an NPC's Threat Table will zero out, and when that happens they'll return to their spawn point (or patrol route).
Now, the wrinkle to this is, that it should then be possible to rig this Threat Decay function [i]to not be constant[/i] ... and potentially it could be set up to work with (of all things) a Range Multiplier, such that the farther the NPC gets from their spawn point or patrol route, the faster their Threat Table decays all of the values on it, hastening the point at which all Threat drops to zero and they "drop aggro" and turn to go back to their spawn point/patrol route. That means, that if you want to draw an NPC "a long way away" from their spawn point or patrol route, you need to build up a pretty good stack of Threat on them so as to keep them aggroed onto yourself in order to keep drawing them further and further away from their spawn point or patrol route. Eventually though, your ability to keep adding Threat to them will fall below parity of the Threat Decay Rate at some range distance (and this will be variable depending on how much Threat a PC can generate, and how fast), which will then, once Threat drops to zero, bring about the "tether yank" behavior that sends the NPC "back to start" ... you follow me?
The point about Security Cameras makes for an interesting question, since those could ultimately wind up working as "information broadcasters" that simply communicate to NPCs in some form or fashion the necessary Target Is At Location information that would allow NPCs within a certain PBAoE radius of the cameras to get those continuous Location updates without requiring the NPCs to actually have a Line of Sight on the Target. However in this case, that would work almost like a "Pet" broadcasting information needed to Path To Location by continuously updating the Last Known Location data stream. You follow me?
Actually, the most obvious thing to do would be to make cameras and sensors like this "Pets" that have only token Hit Points and are therefore "cheaply" destructible, from a player's perspective. And if a Content Creator wanted to be "mean" to Players who played through on that map, they could set these cameras and sensors up to respawn (on a delay, of course) after having been broken/defeated/destroyed.
Flipside to that of course would then be that powers such as Flash Arrow and the like ought to be effective against them, so there's Debuffing them so they can't "see" anything as an acceptable response. In fact, if actually "destroying the cameras" somehow were set up by the Content Creator to "alert security" to spawn a group of hostile NPCs and send them after the PCs (think Ambush ala Mission Architect scripting), it might even be wisest to "blind" rather than "destroy" these kinds of surveillance "Pets."
[center][img=44x100]https://i.imgur.com/sMUQ928.gif[/img]
[i]Verbogeny is one of many pleasurettes afforded a creatific thinkerizer.[/i][/center]
Just so you are aware, one of the people working on A.I. just so happens to be well versed in neural networks. We do have some limitations on what we can do with A.I. as any system we create must ultimately work with the engine and not crush system resouces which in normal A.I. behavior scripts can end up doing. Typically the more complex behaviors you make, the more resources the A.I. demands. In an MMO this is particularly something to be aware of since you can have anywhere from hundreds to hundreds of thousands of players interacting with the A.I. system all at once.
We do intend to have positional awareness / perception of NPCs, this is part of the stealth system we are working on. While comparing things to CoH is ok on the surface, what we are working with from a base is very different than CoH. So much so that we can avoid problems like using Superspeed to completely stealth a mission in 30 seconds thus having 1 power negating an entire sub-system of gameplay would be undesirable. CoH didn't have any actual stealth game play and instead stealth was purely a function of powers but there was no real integrated form of gameplay surrounding it. We want to do more than that.
The other side of this is that you won't ever have to actually stealth if you don't want to either. If you want to fight your way through, or even perhaps use other means of negotiating obstacles to achieve objectives (we may just be able to provide that too).
[hr]I don't use a nerf bat, I have a magic crowbar!
- Combat Mechanic -
[color=#ff0000]Tech Team. [/color]
Rather than quoting Tannim222 piece by piece, I'll just respond to what has been revealed in a more generalized way.
[b]AWESOMESAUCE[/b].
I didn't know you had a Neural Networks Geek on staff working on these kinds of issues, and just hearing that boosts my confidence in what you're doing, Sight Unseen, simply due to the level of expertise you've managed to bring onto the team for it.
I use City of Heroes (or TERA or Tabula Rasa or World of Warcraft or Diablo I, II, III, which are the online games I've played) references in a lot of my posts simply because they are references that can be "pointed at" for a common understanding that brings about the moment of "oh, THAT'S what you meant!" in a shorter time frame. Picture vs Thousand Words and all of that. Plus, sometimes, a concept just can't be grasped until it is demonstrated AND SEEN working in action ... at which point it becomes "obvious" to everyone involved ... so I try where possible to draw upon common frames of reference to generate scenarios that illuminate behaviors and inter(re)actions between elements.
The key thing though is something that Blizzard said long ago about the games they make (and I think this might have been in reference to WoW) ... "easy to learn, difficult to master." That entire mentality of game design points in a direction of "Simple Rules that create Complex Results" as being the guiding force behind a great many successful game design decisions. Hence why with this suggestion I wanted to be clear about where I was going with making a "simple" change from What We Know Has Come Before and then explaining how that change would produce a different BEHAVIOR set when run by AI scripting.
So, definitely, thank you very much for your reply. I know you cannot say more due to NDA types of strictures on your work (for what should be obvious reasons), but it's still good to hear from you. All I can hope for is that my various "blatherings" all over these forums have been in some way "useful" to anyone on your team ... even if you can't use one of my ideas whole cloth and it merely INSPIRES your Developers to ... Think Different ... (or at least, differently enough) ... to come to a more interesting/better/robust solution to some issue or problem. Because right now, the fact that your game IS GOING TO HAPPEN is something that has INSPIRED ME to such an extent that I feel a bit like I've been given a New Hammer™ and now I need to hit every Nail in the universe! Sorta like this ...
[img]http://geeksdreamgirl.com/wp-content/uploads/2008/12/captain-hammer.jpg[/img]
[center][img=44x100]https://i.imgur.com/sMUQ928.gif[/img]
[i]Verbogeny is one of many pleasurettes afforded a creatific thinkerizer.[/i][/center]
Just give each enemy varying tactics and damage types. the whole game trhoug (not just attackers). By this i mean if mob size is 5 enemies.. Each of them should have just as diverse archetypes as players. Some are tanks, some are buffers, some are debuggers etc.
Unlike in most games where getting Mez resistance or Debuff resistance is only in PvP, this makes your characters design choices of offenses matter.
This means there should be ranged AI, Melee, AI, Debuffer AI, etc. If you create them diverse first then it's not a big deal keeping that system later on.
Crowd Control Enthusiast
Just give each enemy varying tactics and damage types. the whole game trhoug (not just attackers). By this i mean if mob size is 5 enemies.. Each of them should have just as diverse archetypes as players. Some are tanks, some are buffers, some are debuggers etc.
Unlike in most games where getting Mez resistance or Debuff resistance is only in PvP, this makes your characters design choices of offenses matter.
This means there should be ranged AI, Melee, AI, Debuffer AI, etc. If you create them diverse first then it's not a big deal keeping that system later on.
Crowd Control Enthusiast