IA Logo

IA Information

Dave Mark's books

Post-Play'em - Observations on Game AI

Posts Tagged ‘logical error’

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.

Odd Glitch in Company of Heroes

Thursday, February 11th, 2010

Just to be clear, I really like Company of Heroes. I have always been an RTS fan since the original Warcraft and progressing through Starcraft, Age of Empires/Kings and especially Empire Earth. That being said, CoH is very well done.

I only recently got around to grabbing the full version of the original CoH and the expansion, Opposing Fronts. (Thank you Valve weekend sales!) My prior posts here were only about the downloadable demo. Obviously, there are some significant differences in the full release version. I like them all.
Rather than continuing through the script-fest that campaign maps usually are, I have been playing a lot of skirmishes against the computer. I find a lot of the tactics by the computer to be pretty familiar for RTS games.
For example, as I mentioned in a prior post, it is obvious that there is a lot of influence mapping going on. If I find myself a little behind on producing units, I will often be drawn into a series of dashing from defense point to defense point as the computer picks on whatever is currently the weak spot. My only question in this situation is how much is the AI cheating with knowledge about my force disposition. I know that it is not that easy to discern what the computer has placed and entrenched… it seems like he knows where my weak spots are even if they are deep within my territory.
Anyway, as I was playing a skirmish map, I ran across something very odd. Normally, I had been playing against the “normal” level of difficulty. I had been winning fairly regularly against that level, however, and decided to ratchet it up one level. I was playing the Lyon map against the computer on “hard.”
Because this was a control point map, I was quite used to meeting the “normal” AI at the river as we battled for those 3 points. I figured that the “hard” AI would be just as quick to get to the river. However, I captured the first point… then the second… without seeing the AI at all. I began to suspect that either something was dreadfully wrong or that “hard” used a different tactic than “normal” – such as “build up and crush him” rather than “dash for the control points”. Not too long after that, it became obvious that something was indeed seriously amiss.
Thanks to the wonders of replay files, I was able to go back and witness what the computer did… or did not do. A video is included below.
I sent the video privately to my friend and colleague, Chris Jurney, who did much of the excellent AI work on CoH. He thought it was amusing as well. His speculation was that the Lua script exploded somehow. It obviously didn’t cease working entirely because we see some orders trickling through at times. He invited me to send him the replay file so that he could forward it on to the Relic programmer who is responsible for it now.
It doesn’t seem to be a problem with the map itself as I did go on to play a new match on that map on “hard” and it proceeded to hand me my buttocks as I expected. On the other hand, it may be a problem with a combination of that map, that difficulty level, and a randomly selected tactical approach that knocked a variable out of bounds or something. Regardless of the cause, this is a great example of how important testing is… and yet things still slip through.
Anyway, I will try to do more video captures of some games later – especially the view that shows how the computer is moving throughout the map during the game. That has been very interesting to analyze because it shows how the influence mapping and even the pathfinding is working as part of the decision making.

Left 4 Dead: Forget Something?

Tuesday, February 24th, 2009

I saw an interesting error of logic (which is different than an error of execution) in Left 4 Dead earlier today. As I was holed up in a safe house, about to head out on the next stage of the map, Zoey neglected to grab a health kit. She was slightly injured at the time. The rest of us had health kits already so it wasn’t that she was saving it for us or a semaphore was set saying “leave it for the player”. Also, because we were in the safe house, there were no distractions requiring her attention. She simply was oblivious to the fact that there was a health kit there.

I thought that this was very odd. It would seem that the one thing that the AI sidekicks should do is stock up on stuff whenever they can. This is very much like how they take a moment between battles to do things like reload, pop some aspirin, or heal up. Those are the times that you are supposed to do things. Additionally, during those lulls between the frenetic nightmares, you should also make sure you are stocked up on “stuff”. You never know when you are going to need it. However, while everyone else seemed to do so, she did not.

Because she was almost healed, I have to wonder if there was a fuzzy threshold that was not quite crossed at the time. I had half a mind to shoot her and see if she would change her mind. If I see it happen again, I will do so. Still, it doesn’t make sense to ignore the purpose of what is an obvious pit-stop in the game.

Add to Google Reader or Homepage

Latest blog posts:

IA News

IA on AI


Content ©2002-2010 by Intrinsic Algorithm L.L.C.