A rock solid simulation, and the creation of a believable reality, are very important elements of UNION development. For this reason I have been focusing heavily on turrets, (beam) weapons, shields, and destruction. And we finally have something to show for it, in the video below.
Turrets are fully simulated on the server, finding targets (or at least attempting to up to the edge of their firing arcs) with their own rotation speed. These turret rotations are are then synchronised on the player clients so that they can see the the turrets as they currently are. As with all of the networking code this functionality has been designed to work well over the internet (using a variety of techniques to minimise the bandwidth requirements).
Firing Laser Beams
Turrets are grouped into weapon groups which can be targeted and fired independently. Turrets will only fire when they have the target in their sights. Shields however do not block line of sight, so it is possible for a target to hide behind another ship's/station's shields (or for you to accidentally hit the shields of another ship).
Beams do damage based on their strength and how long they fire for. These variables can be tweaked by the Engineer. The more energy a weapon uses, and the length it uses it for, affects how much heat that weapon generates.
Shields absorb energy from weapon hits, depending on the current strength of the shields. If all of the weapon's energy isn't absorbed there will be some penetration to the hull.
Structural Integrity And Destruction
A target's hull absorbs the energy from any hits, removing or reducing any damage to internal systems. This absorbed energy damages the ship's structural integrity. If that integrity drops low enough the ship will explode.
That's it for now. Next up is torpedoes! I keep forgetting that bloody "e".