



As has been mentioned elsewhere, 0.9.12 will feature PvP arenas. One of the big issues that we had with PvP in our testing was the inability to dodge arrows by moving your character out of the way. Because of this, we decided to do a major rework of bow/wand skills and turn them in to real projectiles that can be evaded, much the same way you can dodge a fireball.



The reason arrows worked this way previously was due to a set of design trade-offs. I'm going to attempt to give you guys an idea of what these were.



In Path of Exile, we really want to try and mitigate the effects of lag so that you get the correct feeling of impact at the right moment when doing an attack. Because of this, for Melee attacks we predict what the damage will be at the point you start taking a swing and that information is sent to the client in advance. The client then predicts if it should display the damage or not at the contact point of the attack.



The obvious important part of this is that you need to know in advance who the target of the attack is going to be. For a melee attack, the target is obvious. The guy standing right in front of you. For a projectile, we can't really predict who it will hit easily, and so because of this, we don't do damage prediction for projectiles. The visible damage for projectiles is delayed while you wait for the information to arrive from the server.



When we came to implement bows, we were faced with the question of if we should implement them as real projectiles or as kind of ranged version of a melee attack. There were two reasons why we picked the latter option.



The first reason is that we thought that the damage prediction ability of picking fixed targets in advance was more important than the ability to dodge arrows. Our stance on this has now reversed, especially in light of PvP.



The second reason was that there are actions that can be performed by both melee weapons and ranged weapons, the prime example being your Default attack. It was a lot easier to implement these skills if bows worked like a melee attack with an extra delay for the arrow travel time. With the new approach, we need to have a separate implementation of any skill that can be used with either melee weapon or a bow/wand.



This change has actually turned out to be quite positive for our code base because the ability to assume in a skill if it is melee or ranged has simplified quite a lot of code paths.



With all of the explaining above out of the way, here is the list of practical changes that this has caused:



You can now dodge arrow and wand skills.

Arrows that fail an accuracy check on a target will now pass through and may hit another target behind. This is much better than previously where it would stick in but do no damage.

Damage from bows will no longer be predicted in advance so in laggy conditions, you will need to wait for the server's response to see the damage on the target. This behaviour is the same as you would see using fireball.

Bonus Change: Bow/Wand skills will be able to be used with Totems and Traps so long as you are wielding a bow when you use them. This hasn't been implemented yet due a few tough implementation issues, but we are keen to do it.



We will be deploying these changes to Alpha within a few days to get feedback. Hey guys, I just wanted to give you a quick heads up on one of the major changes in 0.9.12 that has just been completed.As has been mentioned elsewhere, 0.9.12 will feature PvP arenas. One of the big issues that we had with PvP in our testing was the inability to dodge arrows by moving your character out of the way. Because of this, we decided to do a major rework of bow/wand skills and turn them in to real projectiles that can be evaded, much the same way you can dodge a fireball.The reason arrows worked this way previously was due to a set of design trade-offs. I'm going to attempt to give you guys an idea of what these were.In Path of Exile, we really want to try and mitigate the effects of lag so that you get the correct feeling of impact at the right moment when doing an attack. Because of this, for Melee attacks we predict what the damage will be at the point you start taking a swing and that information is sent to the client in advance. The client then predicts if it should display the damage or not at the contact point of the attack.The obvious important part of this is that you need to know in advance who the target of the attack is going to be. For a melee attack, the target is obvious. The guy standing right in front of you. For a projectile, we can't really predict who it will hit easily, and so because of this, we don't do damage prediction for projectiles. The visible damage for projectiles is delayed while you wait for the information to arrive from the server.When we came to implement bows, we were faced with the question of if we should implement them as real projectiles or as kind of ranged version of a melee attack. There were two reasons why we picked the latter option.The first reason is that we thought that the damage prediction ability of picking fixed targets in advance was more important than the ability to dodge arrows. Our stance on this has now reversed, especially in light of PvP.The second reason was that there are actions that can be performed by both melee weapons and ranged weapons, the prime example being your Default attack. It was a lot easier to implement these skills if bows worked like a melee attack with an extra delay for the arrow travel time. With the new approach, we need to have a separate implementation of any skill that can be used with either melee weapon or a bow/wand.This change has actually turned out to be quite positive for our code base because the ability to assume in a skill if it is melee or ranged has simplified quite a lot of code paths.We will be deploying these changes to Alpha within a few days to get feedback. Path of Exile - Lead Programmer Last edited by Jonathan on Aug 24, 2012, 5:45:14 AM