Sign in to follow this  
trapdoor

Friendly Fire in Melee games

Recommended Posts

I just finished playing Dark Messiah. It got me thinking as plenty of times in the game I accidentally killed a friendly NPC because he stepped into my swinging sword, or when we were flanking an enemy, my sword reach still hit him. I'd get so mad and start yelling to vent my frustration as they kept stepping in the way. Now I remember playing FPS games like Americas Army where friendly fire was on and the only way you would hit a friendly is if you aimed at him or poorly threw a grenade. It seems as though at least with me, the melee games were much harder to control Friendly fire. I was wondering if there's a better way to have the computer know if your attack on a friendly was accidental, intentional, or shouldn't happen (say if the guy is beside you or on the other side of your target but the blade / staff still hits him. I'll leave area effects out of this for now. I don't want to turn friendly fire off, but at the same time be intelligent. And melee seems to be where the problem is for me. Arrows and ranged attacks, it's obvious that when you have two people close together, it's hard enough even with say a gun to hit the right person. But with swords it should know that if i'm aiming directly at a friendly, and trying to move around any enemies... that i'm intentionally trying to kill him. Otherwise a graze as my blade swings too much to the left, is a minor accidental hit... and something that normally would hit a friendly but being they are on the other side of a monster, the monster will take the impact. So how would this kind of scenario be possible?

Share this post


Link to post
Share on other sites
The trick with melee games is that real melee combat usually involves very little of the wild swinging that you see in videogames. There's two big reasons for the huge moves, though - one, they tend to look better, and two, they make it easier for you to hit your opponent. Precision in a videogame - real precision, that is, would require not only a much more detailed control scheme, but also much more skill from the player (suddenly, positioning becomes much more than "Am I in range?"). That's why I don't think we'll see a "real swordplay" game for the Wii for a while, for example - player skill would be such that having the sword exactly mimic the player's motions would either make for a very clumsy-looking game or a very hard game.

Getting back to friendly fire, the fact that most attacks tend to be imprecise and cover a relatively large area means that combat tends to be pretty indiscriminate, which in turn makes it pretty easy to hit things you didn't mean to hit.

One way you could solve this would be to have attacks actually stop when they hit something, instead of passing through. However, to be at all plausible, this would mean stopping both on enemies and on walls, which would make fighting in constrained areas more difficult. Ocarina of Time did this for walls but not enemies, but it also very rarely featured any combat in tight quarters, as well as featuring a drastically simplified combat system. Autotargeting, if you're willing to accept it, would probably cover most of your friendly-fire woes, incidentally - the limitations on aim will reduce accidents, or you could simply not deal any damage to untargeted creatures.

Share this post


Link to post
Share on other sites
I would solve friendly fire in a very archaic way. If you shoot or hit your ally, then your ally is stunned and is knocked away or stumbles. While stunned, your ally cannot move freely or act (shoot, jump, switch weapons, duck, etc) freely. So therefore, if you shoot your ally, then he freezes which will open him to enemy attack that cannot be countered by that ally.

Share this post


Link to post
Share on other sites
as for the Wii. I also noticed there's a significant delay between when you make a motion and when it happens.

But yeah. I thought of the stopping the action after you hit something, unless you're doing a power attack where you intended to hit multiple targets. Or maybe something like this: Whatever your swing, whether it's a stabbing motion (very precise) or an actual swing, the system will calculate who got the worst of the hit. If it's a graze on one and a dead on hit to another, the second gets registered as "hit" while the first would be ignored. Or another would be: would the sword be stopped.

I wonder how much processing is needed to do this or if standard collision detection takes just as much of the CPU as this solution would.

Share this post


Link to post
Share on other sites
It sounds to me like you're basically saying that even for a wide, sweeping slash attack, there's a part of the attack that does the most damage, and the rest would just be grazing wounds, right? That would work, and would even be reasonably realistic, but again, it requires extra precision from your players to get the most out of their attacks. If you're going to reasonably nullify friendly fire with it, then that means that the difference between receiving the "focus" of the attack and getting hit on the edge would have to be considerable, which in turn means that players must be able to accurately target their attacks to deal any reasonable amount of damage to their enemies.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this