IA Logo


IA Information
Communication

Dave Mark's books

Post-Play'em - Observations on Game AI


Posts Tagged ‘Dragon Age Origins’

Dragon Age: Origins — Final Thoughts

Wednesday, November 16th, 2011

Well, after messing around with it for over a year, I finally got around to finishing Dragon Age: Origins. I have to admit that the game grew on me after a while. Here are some final thoughts on it. (Note that you can read my earlier posts on the game.)

Custom AI Tactics

“I kind of liked dealing with the AI tactics.”

Once I finally dedicated a little bit of time to looking into it, I kind of liked dealing with the AI tactics. It’s a simple rule-based system, of course, but one that gives you a feeling of control. The reason that I specify “feeling” in this case, is that most of the rules are pretty obvious. For example, a rule for Morrigan might read “When there are 3 or more enemies clustered together, use Fireball.” I’m sorry, but that goes in the “duh” column. Really, that should be a part of the logic for the Fireball spell in the first place. The same goes for the “dual weapons sweep” logic that I used on my main character (for when I wasn’t controlling him). “If there are 2 or more enemies surrounding you, use dual weapon sweep.” (I also found that I used it with one enemy just because it looked cool and did great damage.) Regardless, many of the usage rules just simply made logical sense.

“The solution to this is to build the logic into the abilities themselves.”

The solution to this is to build the logic into the abilities themselves. If you are wounded, use a healing poultice (if you have one). If you are low on lyrium energy and have a potion, use it. If you are strong and have a shield, do a shield bash against your enemy. There really should be no need for the player to construct these manually. Of course, I don’t know what the chicken/egg order was on this mechanism and the “tactics” abilities that were built into the character customization. That is, did they create the AI tweaking mechanism and then decide to add the character abilities that allowed you to unlock more tactics slots or did they create the notion of “has better tactics” and have to come up with a way of expressing that?

“That character has that cool new ability but never uses it!

The unfortunate by-product of this is that I can see how it would be very frustrating for people who didn’t know that the tactics screen was there or didn’t understand how to use it. I’m sure there were more than a few people who would cry, “that character has that cool new ability but never uses it! This AI is stupid!” Of course, there is always the possibility that the reason this mechanism was in place was because they were struggling with how to have the NPCs use their skills intelligently. By putting the onus on the player, they absolve themselves of a little of the responsibility. I don’t buy this line of thinking because, by creating a customizable rule-based system in the first place, the battle is almost won.

Companion Pathfinding

“I usually was pretty pleased with their positioning.”

With Skyrim being out, one of the comments you hear about the companions is that they can do silly things like block doors or passages and be completely clueless about the fact that you want them to move. This is not something that I ever found to be a problem in DA:O. In fact, despite the fact that I usually had 3 other companions along with me, I usually was pretty pleased with their positioning. They followed at respectful distances, they didn’t get trapped behind geometry, they handled it fairly well when I would reverse direction on them, etc. Most of the time their “group” behavior was very believable.

There was only one time that I noticed anything really odd. I was in Dust Town in Orzammar and Zevran (easily my favorite NPC, by the way) managed to get up on a pedestal of some sort and was unable to get down. After some examination, I realized that it was an extension on either side of some stairs. He had somehow managed to enter it from the top of the stairs but couldn’t exit that way. Likely there was navmesh geometry on the pedestal (why, I don’t know) but no link to the rest of the mesh. For some reason, when my back was turned, he skipped a mesh boundary by being nudged off the main mesh. I’m just speculating here. Anyway, I had to actually exit the zone without him and come back.

Enemy Targeting

In an earlier missive on DA:O, I had complained about how the target selection seemed to be a bit nonsensical at times. Perhaps I got used to it or perhaps it wasn’t as bad as I initially thought… but this issue didn’t seem as bad as I had commented on earlier. There were times when I thought it was a bit odd, but it wasn’t altogether unreasonable. That, of course, has been one of my mantras for some time and, in fact, is something that I stress in my book: “Not always perfectly rational, but at least reasonable.” I don’t know if that was the goal here or if their targeting was simply sub-optimal.

Of course, with regard to my companions, some of it had to do with the tactics selection and aggressiveness settings. If I had them set wonky, they would act wonky. However, I can’t use that excuse with the enemies. On the fly, it is hard to determine what sort of logic they are using… e.g. “nearest visible” vs. “strongest”. This would be something I would have to record and slow down to decipher. However, since it doesn’t seem to be that weighty of an issue, simply “knowing” wouldn’t really change much.

Again, though, some of this is mitigated by the fact that you can control each character in turn. Is this a bandage, though? Are we at another chicken/egg moment? Did they allow you to control the character targeting because they felt people would be frustrated by the target selection? Probably not… it’s not that bad to force them to build a whole huge mechanism (character control) around it.

Scripted “Random” Conversations

I found the seemingly random chit-chat between companions as one of the most amusing parts of the game. I have to admit that it was so endearing, that it made me want to replay the entire game with different companion combinations just to see what all these conversations were. (The combination of Zevran and Morrigan was a riot!)

“You begin to get used to the fact that riiiighhhtt here someone is going to start talking.”

The initial impression is that these asides simply take place “whenever”. Conveniently, they would also take place when you really weren’t doing much else. It didn’t take long, however, to realize that there were “hot spots” in the terrain that triggered these conversations. Not to the extent that Place A triggered Exchange A; they were randomly selected from the available list. They were obviously placed in areas where you needed to do a bit of walking and, therefore, wouldn’t be interrupted with much else. The long bridge to the Proving Ground in Orzammar has one, for example.

The problem is when you have to walk the stretch more than once — especially in succession. You begin to get used to the fact that riiiighhhtt here someone is going to start talking. It’s even worse when you have to reload because it doesn’t remove the conversation from the potential list… and you may get stuck with the same one over and over. While I like the conversation as a way of both fleshing out the characters and making the scenic walks a little less boring, I have to wonder if there is another way of doing it.

Facial vs. Body Animation

“The lip-syncing is worthy of being looked into by the pop-music industry.”

While this doesn’t necessarily seem to be AI-related, I figure that it probably is. The facial animation in DA:O is great. The lip-syncing is worthy of being looked into by the pop-music industry. With how good the lip-sync is, I found myself staring obsessively at the mouth only while people were talking. Maybe because I was drawn to the only realistic part in the whole face.

The rest of the facial animation is spotty, however. I would love to see more expression in the rest of the face, too. The eyes, eyebrows, and, in fact, the entire head, needed to be more animated. While the head wasn’t “Fallout” creepy, it needs to move more… look around a bit. Same with the eyes. Little tiny twitches are nice, but people do things like glancing at the floor, etc. You’re on the right track, but need to do more.

“People don’t just wave their hands randomly.”

The body animation during conversations was simply horrible, though. I like the whole “hand-wavey” thing that they tried to do. It’s better than standing perfectly still. On the other hand, people don’t just wave their hands randomly — they use them to augment what is being said while it is being said. They use it to punctuate words much the way I used italics in the this paragraph. If I had italicized different words that were obviously not meant to be stressed, I wouldn’t have communicated the same thing or, worse, it would have distracted or even confused the reader. That’s what I felt about the hand motions in DA:O. They seemed vaguely relevant but so imprecise and ill-timed that it made things worse rather than better.

The solution likely lies in a markup of the dialog to map to the animation selection. By tagging the stressed words with the appropriate gestures, you can match them dynamically. The trick, of course, is that you have to back-time the start of animation so that you can finish on-time. The shorter the target animation, the easier this is to pull off.  That would actually require two markers… e.g. “move to position” and “execute”.

For example, if I want to slap the table as I’m saying “now”, I would tag a point 2-3 words ahead of time with the “raise hand” animation and then the word “now” with the “slap table” animation. Imagine the impact (so to speak) of having a character be able to slap that table, point the figure, shrug the shoulders, incline a head, wave something off dismissively, etc. and have it happen right at the precise moment it needs to. Now that would be immersive! (Note that the word “that” would have been a great place for a couple of key animations, eh?) (Note that the word “eh?” in the prior sentence would have been a great place for a… OK… never mind.)

That said, the rest of the animation was spot-on.

Summary

“The companions didn’t cause me undue stress… which is a spectacular accomplishment.”

All in all, Dragon Age: Origins was a really well done game. I enjoyed a lot of it and never felt really “constrained” by a specific narrative. I know I left a lot of side-quests on the table, but that’s almost a requirement for a Bioware game these days. You aren’t going to do them all and still manage to be a productive adult.

The companions were, indeed, companionable and didn’t cause me undue stress… which, as far as companion AI goes, is a spectacular accomplishment. The enemies were reasonably intelligent and only some of the more obvious boss monsters were pattern-style scripted (which is a disappointment because pattern-style scripted AI looks less intelligent).

All things considered, I enjoyed the hell out of the game. People have told me that DA2 is well worth the time. I just wish I had more of it to dedicate! I have a feeling that it isn’t a game I can finish in a weekend!

 

Dragon Age: Origins: Why pick on me?

Wednesday, May 26th, 2010

Another moderate gripe about the AI in Dragon Age: Origins. In the encounters I have had so far, I’ve noticed a peculiar behavior with aggro and targeting.

…the enemy would rush right past my guys and straight toward me.

When I would approach to within aggro range of a target, I was generally in the front of my party (since everyone follows the player). The enemy would aggro, target me, and then rush forward toward us. The problem was, as I stood still—say with a bow, a spell, or because I’m lazy—the initial enemy would continue to rush right at me… in the process running right past my party-members who had moved forward to engage them. That is, the enemy would rush right past my guys and straight toward me. Often this was furthered by the fact that my guys may have selected other targets in the group… meaning that my party-members and the enemy were running right past each other as if they weren’t there. Put another way, it looked like a joust. It even put my pals in the odd-looking situation of having to back-track to get to the fight.

While this wasn’t horribly tragic, it did look silly. It would have been worse had I been a “squishy” like a spell-caster. The expectation that my brutes would rush forward to protect me would have clashed with the idea that they weren’t doing any such thing—really, because they weren’t allowed to do so in time.

While I haven’t played too much with the customizable party AI settings, it really makes me wary of the “charge into battle” selection in that the battle might run right past them.

Suggested Solution?

…the idea should be “I’m attacking those guys over there.”

To me, it would seem that an extra calculation is in order after the initial positioning of the participants. For example, after my guys start to move forward (and likewise for the enemy), re-process who each person is targeting. After all, it is unreasonable for them to initially say “I’m attacking enemy XYZ” when the idea should be more along the lines of “I’m attacking those guys over there.”

This calculation can be repeated at intervals so that targets of opportunity are selected. Instead, it seems that a target is selected and fought “to the death” regardless of whatever else is happening nearby. This doesn’t need to be run terribly often. Perhaps every second or two and then event-based as well (e.g. “my opponent is dead“).

Again, this is a minor issue, but it does break that suspension of disbelief because it just looks wrong. As I mentioned, given the expectations of behavior, in some circumstances it can be frustrating as well. Thankfully, this is something that is fairly easy to fix.

Dragon Age: Origins – Don’t Crowd!

Tuesday, May 25th, 2010

OK, so it has been a little longer than “later this week” for getting to Dragon Age: Origins commentary. I can’t believe I wrote my first look post back in late February. Of course what that really means is that I’m burning some serious GameFly time on this one title… and it’s not like I’m playing it much. My son has managed to get all the way through it, however.

Still, there are some things I noticed as I was going through (which, admittedly, is not all that far yet). One was an odd happening in the Ostagar camp. I was cruising around looking at things and talking to people. As I was standing there talking to Duncan (and a couple of others), a camp soldier of some sort came and stood near us. From the looks of it, he was supposed to be dealing with another person there, if I recall correctly. This didn’t really catch my notice until a 2nd soldier came up and attempted to stand in the same spot and talk to the same person. They jostled each other for a bit until the first one walked away – apparently on a random patrol route.

…a 2nd soldier came up and attempted to stand in the same spot…

I believe that it was the random patrol routes that caused this issue in the first place. My guess is that the guard logic simply selects a new destination and heads out in that direction. If, for some reason, there is someone already there, it doesn’t detect this or care… it simply continues to try to get to the node.

There are a few ways to either avoid that or fix it. First, the goal nodes could be reserved and released as they are selected and then left. The problem with this solution is that a goal node would be “out of commission” from the moment someone reserved it to the time they left it. If they were coming from all the way across the map, that node would be off the market for quite some time without actually being used. Additionally, it would prevent someone from heading in that direction until the original occupant actually left.

A lot of work to make the camp “feel alive” went down the drain…

A more realistic solution would be to simply be aware of other people. If there is someone on your “spot”, don’t actually try to move onto it. This could be done by simply stopping short of your intended goal (e.g. stand next to him) or by using some local avoidance. The later is probably better because collision avoidance should be part of the movement scheme anyway for other reasons.

Anyway, the result of this was that it was a jarring cancellation of my suspension of disbelief. Because it was right next to me and in view, I couldn’t help but notice that these two dolts were climbing all over each other. A lot of work to make the camp “feel alive” went down the drain right there.

Dragon Age: Origins – First Look

Monday, February 22nd, 2010

Just sat down with Dragon Age: Origin for a while. I know I won’t get too far into it anytime soon because, for a Bioware game, that usually means a commitment of a few months. I plan on blasting through more soon, but the 360 is on the same 43″ HDTV that the wife wants to watch Olympic stuff on. (I can’t begrudge her that since she usually doesn’t watch enough TV to get in the way of my gaming.)

To give a frame of reference of how far I am, I started as a City Elf and am only just about ready to roll out of town with Duncan. That has, at least, given me plenty of opportunity to go through both peaceful and combative encounters. Also, I haven’t yet dealt with the NPC behavior customization. I imagine that will be more important as I go foward, but for now I just wanted to live by the defaults.
Well Lookie Here!
One of the first things I noticed was when I was in a conversation. While I like fact that people’s eyes move and blink, I would like to see a little more movement. There is so much that can be said by breaking of eye contact, turning the head while still speaking, etc. I have written about this here and there before (and really should write a formal article about it). The point being, what they have done is a start, but it isn’t enough to really sell the character. As an example of dialog scenes that are well done, I point you to Assassin’s Creed (the original at least… haven’t seen AC2 yet). Previously, I wrote about how I liked that, in Assassin’s Creed, not only could you walk around during conversations, but that the NPCs did as well. They looked down, away, etc. I would like to see more of this. The walking around isn’t even quite as important as the head and eye control. Some of those can even be randomized — especially with parameters — so it’s not like it would take a lot of work or resources.

On the subject of head movement, however, one thing I noticed the first time that I was in a conversation with two people was that their head turns are NOT animated by hand but are automated. The reason I know this is that there is a very distinct start and end to the turn and that the turn rate is entirely constant during the whole turn. Put another way, if someone turned from looking at me to the person standing beside them, that 90° turn would go from a rotation rate of 0 straight to n, rotate that 90°, then change rate from n to 0 again. The rate, n, was always the same throughout one turn and on every turn. The overall effect made it look like one of those audio-animatronic characters in a Disneyworld exhibit. It was very mechanical-looking.
While I like the idea behind the technique, I believe a better way would have been to randomize the rate, a rate of change into the turn, and a rate of change out of the turn. This not only changes things up between one turn and the next, but also smooths out the starts and stops so it doesn’t look like little servo motors kicking in.
… one of those audio-animatronic characters in a Disneyworld exhibit.
Also, you don’t always have to look directly at someone. If someone standing next to you is speaking, you can turn your head part of the way and do the rest with your eyes. In fact, it is very common for humans to “split the difference” and look somewhere between the two speakers in that arrangement. Toss in the occasional look at other objects of interest in the environment (especially if you’re nervous, wary, etc.) and you can really sell a conversation without a lot of extra work.
Don’t Mind Me
She never acknowledged that I was even there.
While I appreciate that not every denizen of a place should attack you, I would at least like them to acknowledge my existence. For example, I was a little startled when I was storming the castle. In a couple of the rooms, I came upon a woman scrubbing the floor. She didn’t look up when I entered (if she was a servant, shouldn’t she care to see if it is a boss?), she didn’t look up at I moved around, she didn’t look up as I stood with my boots under her nose. She never acknowledged that I was even there. She didn’t do anything other than scrub the floor. It was a little startling, especially when everyone else in the place (friend or foe) recognized that, as an armed elf, I was seriously out of place. (Incidentally, I got a kick out of the fact that this matched up nicely with the theme of AIGameDev‘s AI Marmelade – their twist on the Global Game Jam. Their coverage of it was sub-titled “on little old cleaning ladies in stealth games.”)
I admit that this is likely a content issue. Developers would love to add more background characters to an area, but then you run into the issue of having them react in meaningful ways. Also, if those reactions are going to involve custom animation or sound, the expense goes up significantly. It would be nice to have a general list of generalized actions and interactions, however. Put people in there moving from place to place, carrying things, tending things, etc. When I come in, at least have them look at me. If I try to engage them, make them politely dismiss me. If I do something flashy like attack people, make them run. That much, at least, puts a little life into the place. Oh well… no one can ever say Bioware skimps on content. They just put it into length of the experience rather than the depth of it, I suppose.
Combat AI – So Far…
I was a little wary going into this first play session because someone I trust on AI commented that he was frustrated with his party members. As I said at the top, I haven’t gotten too deeply into the game and haven’t messed with the customization yet. However, there was nothing that I saw yet that was really “pants-on-head retarded.” I was a fighter as was my buddy. He attacked when I did or when we were attacked. I was too busy trying to do my own gig to see if he used a healing option when he should have. I don’t think he did because he “died” a couple of times during our great castle adventure. I didn’t think to give him a ranged weapon to see if he would switch at appropriate times, though. And now, of course, he is no longer in my party (taking some cool gear into the abyss of retirement with him). My next play session will have me leaving town with Duncan and likely teaming up with some dudes. We’ll see how things go then.
… it looked a lot like a tool that an AI programmer would make for a designer.
I only briefly looked at the customization system. From what I could tell, it looked interesting if you are an AI programmer or a designer. In fact, it looked a lot like a tool that an AI programmer would make for a designer. I would lay money that it’s origin is not too far from that. I can see how it would tend to quell the inevitable gamer uprising that would like more control of the autonomy of their party-members (is there a contradiction in there somewhere?). However, it was said by a few people that you actually have to tweak this system by hand to get people to work together properly. I really don’t like this idea. In my opinion, if it doesn’t work intelligently with the default settings, there is something wrong.
From a technical standpoint, the system looks like it is a parameterized rule-based system of some sort. I’ll have to play with it… for all I know, it is tweaking a behavior tree behind the scenes. Much of my conclusion on what is going on would be based on whether you can sort your rules in a particular order of consideration. Like I said, I only just glanced at it. More on this after I play. In the mean time, I refuse to look up any technical documentation on it just to see if I can figure it out on my own.
The enemies were pretty much standard “fight to the death” fare so far. They were all castle guards and punks, though. That would be right up their alley. I’ll have to see what other types of enemies offer later on.
Anyway, despite their similarities in production, the game is much more enjoyable to me than Mass Effect was — at least for now. I’d be pleased if that stayed the case.
Definitely keep an eye on the rss feed here. I’ll be writing more about this game later in the week.
Add to Google Reader or Homepage




Content 2002-2017 by Intrinsic Algorithm L.L.C.

OGDA