Lets define few vectors; S = Ship velocity, W = Weapon force to cursor direction, P = Projectile end velocity. 3D vector has 3 components, X, Y, Z. So there exists S.x, S.y, S.z.
If i say A = B + C, in computer terms it means adding each component:
A.x = B.x + C.x
A.y = B.y + C.y
A.z = B.z + C.z
Current implementation:
P = W
This is not only unrealistic, it makes combat harder. When ship velocity is not taken into account, bullets will fall far behind when fighting in high speed. This makes aiming very difficult. It is unrealistic because in space there is no air-pressure to slow down the projectile, and beam type of weapon wouldn't be affected by such forces anyway.
Suggested implementation:
P = S + W
Adding ship velocity to weapon force is a trivial fix to do. It would correct the above mentioned error, and make combat more fun.
What happens per frame after the shot is fired, is same in both cases. Say B is projectile location:
B = B + P
Projectile velocity added to projectile position, it's what we see already. I only suggest the small addition for moment the weapon is fired. 3 sum calculations for such a major fix... sounds fair?
edit: In other words, if i gently drop a ball from a moving car's window, it will not just stop bouncing in 1 place. It will follow the car for a little while before it stops behind. Only reason it will fall behind is because of gravity, friction and air, but they don't exist in empty outer space. Without them, the ball would stay right outside the window as the car moves on.
If i say A = B + C, in computer terms it means adding each component:
A.x = B.x + C.x
A.y = B.y + C.y
A.z = B.z + C.z
Current implementation:
P = W
This is not only unrealistic, it makes combat harder. When ship velocity is not taken into account, bullets will fall far behind when fighting in high speed. This makes aiming very difficult. It is unrealistic because in space there is no air-pressure to slow down the projectile, and beam type of weapon wouldn't be affected by such forces anyway.
Suggested implementation:
P = S + W
Adding ship velocity to weapon force is a trivial fix to do. It would correct the above mentioned error, and make combat more fun.
What happens per frame after the shot is fired, is same in both cases. Say B is projectile location:
B = B + P
Projectile velocity added to projectile position, it's what we see already. I only suggest the small addition for moment the weapon is fired. 3 sum calculations for such a major fix... sounds fair?
edit: In other words, if i gently drop a ball from a moving car's window, it will not just stop bouncing in 1 place. It will follow the car for a little while before it stops behind. Only reason it will fall behind is because of gravity, friction and air, but they don't exist in empty outer space. Without them, the ball would stay right outside the window as the car moves on.