Skyrim AI - how to take it to the next level. LONG post.

Post » Tue Jun 12, 2012 1:00 pm

No offense, but the fact that you don't see the complexity of the subject does *not* mean it is "simple".

It just means that you don't see complexity of the subject ...
:biggrin:

You could be right. But I wish they would [censored] figure it the [censored] out and [censored] fix it, because it's [censored] annoying. :tongue:
User avatar
Silencio
 
Posts: 3442
Joined: Sun Mar 18, 2007 11:30 pm

Post » Wed Jun 13, 2012 2:13 am

Love this idea.


Unfortunately Bethesda doesn't care. They hardly visit their own forums.

On top of this, they hardly ever use suggestions made by players.


As much as I want this, I can already predict that it won't happen... :(

True,
And this idea is better and more valuable then anything from GameJam
User avatar
Bethany Short
 
Posts: 3450
Joined: Fri Jul 14, 2006 11:47 am

Post » Tue Jun 12, 2012 1:21 pm

Welcome to my world. :biggrin:

I am a programmer (since 1978) and i manage a small team of programmers for a company that shall remain unnamed.
What you need to understand is that computers are dumb. And by that i mean *really* dumb. There are no easy answers to the path-finding problem or else they would be used everywhere.

Can you make a NPC jump if they get stuck? Sure. But i don't think you have really thought through the consequences.

They (the NPCs) are not aware of their surroundings. They are not human (like most of the players, i hope). They have no concept of the world around them.
What if there's an easy way to go around the object? Should they still try to jump?
What if there's a 100 feet drop on the other side of the object? Should they still just jump?
Those are just two questions, there are many more to ask ...

There are endless choices and just as many possible outcomes.
Programatically accounting for all of them and taking them into consideration is not feasible with today's PCs.

Now, i'm not saying that Skyrims AI can't be improved, but when it comes down to actually coding and implementing things that seem trivial to the casual observer, things get really complicated really quick.

There are volumes of books on just the subject of pathfinding and computer AI in general.
Again, if all of this was so simple as you make it sound, it would already be used everywhere.
:cool:
Just my uneducated two cents worth. From what I understand of the terrain mesh (i.e. the pathing of the NPCs), the NPC traverses the mesh. So if an object is clipping the mesh, it should a) be able to detect if there is an easy way around and B) if there is a 100 foot cliff on the other side of the object.

It is something that needs to be changed, or Bethesda have to figure out how to make a better world. You never see, for instance, the NPCs failing to traverse an area in Assassins Creed that can be traversed by the player in Skyrim (or they do fail and fall to their death, which is funny rather than anything. Sorry I digressed.) To clarify, what I mean is in Skyrim as a level 1 character, jumping into the corner of a room behind a pile of rubble and spamming arrows into that level 81 enemy is an effective tactic. I haven't seen this occur in AC:Brotherhood. Obviously Bethesda are doing something worse than other game developers. Obviously their game world can be designed for NPC's better pathing. I can't think of a single other game that is as notorious as the Elder Scrolls for areas where you can harm NPCs without them being able to harm you because of their poor pathing. It's not like it's isolated incidents, it is almost every cell. It's always been an issue. It doesn't seem like it would be all that hard to "paint" those objects so that the AI could traverse them. Again, in Assassin's Creed Brotherhood the NPCs are doing parkour, and I have never seen any glitches/bugs/clipping issues in their behaviour.
No offense, but the fact that you don't see the complexity of the subject does *not* mean it is "simple".

It just means that you don't see complexity of the subject ...
:biggrin:
See, here's what I *don't* understand.

As far as I see it, it is a very simple game of follow the leader. Surely it would be MUCH easier (and less CPU intensive) for the programmer to program a follower which picks the shortest path to the "leader" and then follows in their footsteps, then to be continually updating the follower so that it is picking the shortest path to the leader.

In which case, the computer has the exact coordinate that the leader jumped at, and the vector the leader was on when he did that.

If it is so complex, why do Ubisoft appear to get it right, and why do Bethesda appear to get it wrong?
User avatar
HARDHEAD
 
Posts: 3499
Joined: Sun Aug 19, 2007 5:49 am

Post » Tue Jun 12, 2012 7:18 pm

What do you guys think of the AI? What do you think can be done to improve it?

Anyone else think the AI needs A LOT of work? I'm probably too obsessed with AI, but I think it's really the next step in improving game immersion.

Fighting AI needs the most work.

For instance, when I act as a sniper, an NPC should NOT be saying "is anyone there"? after he gets shot with an arrow. The NPC should NOT return to calm and peaceful but stay in some kind of intermittent battle ready state of emotion and perhaps be more jumpy than normal. An NPC should probably have some idea from where they were shot from and start heading in that direction instead of moving randomly - assuming they aren't scared and trying to run away. Open fields, of course, would be much harder to spot the shooter. Certain NPCs would turn over furniture, stabbing through hiding places, trying to find the shooter. The leader of the group might send certain NPCs in one direction, and others in a separate one.

An NPC should not try to keep using the same path if it is blocked when he/she is trying to get into a melee position. Can't the programmers add a simple (NPC character size = 500 pixels. If space between objects < 500 pixels, do not try to pass between)?

An NPC should adapt to successful fighting tactics against him/her. If the NPC is hit 3 times with an arrow without landing a blow, can't the smarter npcs make a successful die roll to change fighting tactics??? Try and dodge your arrows? Wait til after you've fired to sprint at you? Try and sneak up behind you? Pin you down? Try to get you to chase him into the next room, where he can ambush you. Work in tandem to try and flank you? Get to the high ground? Jump you from above? Run the heck away, especially if they're getting destroyed?

What about pack tactics? Attack the closest character, or maybe the weakest character...or the strongest...or ignore everyone in your party and focus on you. Help out the guy who is about to die (ie:heal him, act as a human shield). There should be field generals who should direct the others. The weaker and more cowardly might try and run away, while the stronger NPCs might threaten to kill them if they leave.

And NPCs shouldn't always try to fight to the death (ie: against a kid), or even pursue you. Certain personality types, in battle, wouldn't always pursue. Maybe some want to teach you a lesson. Maybe certain animals will attack to defend their territory/kids, but not attack if you move back to safer distances. Maybe certain animals wouldn't attack you if you have one of their kind in your party. Maybe they might aid you if you did.

And regular, every day behavior, while certainly getting quite nice, can be improved as well.

I appreciate the work Bethesda has done here, but there is too much, imo, generic NPC-ification in Skyrim.

Bethesda, what about this? NPCs have different personality types (ie: Myers), and should have different scripting behaviors associated with their personality types. Of course different personality types behave differently under duress, anger, sadness, etc. so there can be cross over behavior, during these times, to other personality types. For instance, even the most cowardly will attack if bullied enough. Maybe at certain times of the month, an npc gets paid, eats his favorite meal, and isn't super aggressive towards others during these times.

NPCs don't seem to have the full gamut of emotion. Most are so serious. Or angry. What about the weirdos? What about the goof balls? The Thrill seekers, flirtatious, morose, hippies and nerds aren't represented either. If you were an attractive female character, wouldn't more males stare at you? Wouldn't some become more tongue tied? Maybe a child would go from depressed to happy if you got him a new pet to replace his deceased. But his mother would be upset, because she didn't want to clean up after it. All sorts of "regular" behavior would be brilliant.


Lastly, I feel there is a large pool of generic comments, rather than personalized comments. Hopefully, in the future, NPCs would comment and react to your specific actions in relation to their worldview. For instance, an ex boyfriend of Lydia might say, "I heard you're gonna marry Lydia. She's trouble. Really. Stay away". If the player remained married to Lydia for a year, the NPC might say, "Well, looks like you proved me wrong. Happy for you". Or, if it didn't work out, "Hey, I DID try to warn you". If the player divorced and remarried Lydia, the NPC might simply say, "And I thought *I* was crazy". Lydia, would just tell him to shut up.

And specific action directed comments would be nice, too.

An NPC would tell the player to stop jumping up and down on his bed. Or perhaps the NPC would get super frightened if the player dropped down from an upstairs balcony. NPC shop keepers would tell the player to put their weapon away. And if it continues, the NPC would refuse to do business with for the day. NPCs would yell at you for making a mess and comment on how they'll have to clean up after you. And then they would remember it next time (but not remind you of it every single time, unless it's their personality type). Maybe characters could deliver the same line in different tones of voice, depending on how they feel about you. For instance, " Ahhh, my favorite customer" (if the player pays fair prices), instead of "Ahhh, my favorite customer" (deeply sarcastic if the player keeps trying to rip the shopkeeper off.

This may seem like some unjustified, picky complaining on my behalf. I do really enjoy Bethesda games, and simply see this as the next step in improving them.

maybe on next gen hardware...or in a non-open environment
User avatar
Aaron Clark
 
Posts: 3439
Joined: Fri Oct 26, 2007 2:23 pm

Post » Tue Jun 12, 2012 10:32 pm

That's grand idea, now let us wait until quantum computers become mainstream and AI technology becomes more advanced.

Seriously, this is not a "Lazyness" or "not caring" thing, this is an impossible thing. There's no other commercial product, game or otherwise that is capable of such awareness or learning capability as the OP has mentioned.
Next thing would be photo-realistic graphics and real phisics with solid and non-solid objects.
User avatar
LijLuva
 
Posts: 3347
Joined: Wed Sep 20, 2006 1:59 am

Previous

Return to V - Skyrim