PDA

View Full Version : Melee woes



Malachi256
08-14-2010, 11:04 PM
Melee combat is starting to depress / frustrate me. I'm seriously enjoying this game, but this is turning into a bit of a speed bump for me.

With all the jumping around and back-tumbling that mobs do, you have to do a lot of pursuit (especially on casters, which are the "kill first or die" mobs in the content I've been doing so far).

The problem is this:

1. The game seems to use server-side hit detection. It doesn't matter if I look close enough on MY screen, I have to be right on top of the guy cause he's moving backwards (basically anticipate where he 'really' is, much like you have to do in many online pvp games) - so I really have to ride right on them as they backpeddle, or I lose precious time to swinging at air.

2. The game also uses collision. This sounds great at first, but it doesn't deal very well with #1. Oftentimes I'm sticking to some caster or ranged mob, trying to take them out ASAP, and then I warp or rubberband around a bit while the server syncs up with my client - the caster stopped moving or switched direction, and now I've bounced past him or something. By that time, the other 3 melee mobs are closing in on me, and I have to jump over them or some nonsense to get to the caster who bolted off in another direction.

3. Due to #1, killing mobs that are patrolling when I'm stealthed is almost pointless to try when on a challenging difficulty.


For a game with virtually no pvp aspirations, and focused almost entirely on small-group or solo content, why did they use server-side hit/collision detection? Client side seems like it would be much better. As it is, any situation that actually gets tense and requires maximum effectiveness turns into a total mess with rubberbanding and warping and my caster target only being in my hit zone about 50% of the time. Very frustrating.

Angelus_dead
08-14-2010, 11:24 PM
1. The game seems to use server-side hit detection.
2. The game also uses collision. This sounds great at first, but it doesn't deal very well with #1.
Yes, problems like that were exhaustively documented by DDO players long ago. The underlying flaw there is the server failing to take the non-instantaneous nature of client actions into account.

What happens:
A slow monster is running away and a faster-moving player wants to attack it with melee. The player runs right up so that he's bumping right into it, and the monster's body is blocking his forward progress. But none of his sword swings even produce an attack roll. However if he gets around in front of the monster and attacks in the direction it's moving, his attacks start working.

Why that's happening:
The player's client sends a "swing" message to the server, which executes the swing by searching an arc in front of the swing location for any monsters in the area. But in the time that elasped since the attack was started, both the player and monster have moved and the target might not be in the search area any longer.

How Turbine has tried to fix this:
At one point they increased the reach of player melee swings, which made it easier to catch moving monsters but did not really fix the problem, and which caused other problems.

The right way to fix this:
The "physics" search of positions should be processed over object positions from the same time, not different times. That means the server should either do it with old positions (where the player and monster were back when the swing was started) or new positions (where the creatures are in the latest time). This might involve either looking back into recent history of positions, or predicting movement forward by velocity. What matters is they don't search an old area for new positions.

Angelus_dead
08-14-2010, 11:28 PM
For a game with virtually no pvp aspirations, and focused almost entirely on small-group or solo content, why did they use server-side hit/collision detection? Client side seems like it would be much better.
Although it's easier to get something that feels good to players by doing it client-side, that also introduces opportunities for simple cheating. Techniques to do it properly on the server side have been known since the 1980s, so it should be possible for Turbine to get it right without moving the process to a different host.

Malachi256
08-14-2010, 11:43 PM
Although it's easier to get something that feels good to players by doing it client-side, that also introduces opportunities for simple cheating. Techniques to do it properly on the server side have been known since the 1980s, so it should be possible for Turbine to get it right without moving the process to a different host.

Yeah, I don't understand the technical side of these things, I just have a rough sense of how they work from playing online games for almost 15 years now (good grief).

Nonetheless, this is a major flaw in the game IMHO. One of the things that keeps me playing a game like this over months and even years, as opposed to getting tired of it after a few weeks, is the sheer playability of the action. And DDO has it in some regards, but sorely lacks it in others.