Jump to content
Game-Labs Forum
Sign in to follow this  

Shooting system

Recommended Posts

1. History


I've been reading something about how cannons were managed.


The captain orders were about:

- what type of cannonballs to load and where to shoot

- when the batteries would be fired

"Load round shots, double charge, shoot at tack, right to steerage"


The master gunner orders were about:

- the distance

- the list

"Load round shots, double charge, shoot at tack, point at 300m, no list, right to steerage"


The piece chiefs actions were about (depending on the previous informations, the wind, the relative motion predictions):

- the azimuth (with the carriage tackles)

- the backsight adjustment (with a handspike lever and a focus wedge)

Then the piece chiefs had to decide when to shoot exactly. At long ranges they had to choose the right moment depending on the ships actual positions, the roll and the pitch. Thus pieces weren't always fired at the same time.




2. Features overview


That brings us to ask how aiming should be represented, from the captain to the piece chief. I think a fully realistic system wouldn't work well, but if "skill" has to be needed to aim, a PotBS system should be complexified.


PotBS had a system that although simple was effective: 3 general types of ammo (sails shots, hull shots, crew shots), 2 types of zone (sails or hull). Depending on the ammo type, the aiming zone was automatically detected. A ship had different defense values for the sails and the hull, and the shooter had accuracy (to counter distance) and target tracking (to counter speed and relative motion). Whatever the zone that was hit, each ammo type featured a % of damage to sails, hull or crew. The number of cannons destroyed was proportional to the hull damage.


Introducing aiming with a damage system that isn't fully realistic seems difficult (no full ballistic system). Basically, the potential parameters are:

- the initial propulsion of the balls

- the speed and deceleration of the balls

- the weight of the balls

- distance

- wind direction and its force

- list

- roll and pitch


And the possible player actions:

- powder charge

- cannonballs type

- azimuth with its limitations

- backsight adjustment with its limitations

- when to shoot a cannon individually


Ranges can be separated:

- long range where the balls deflection due to gravity and wind affect the impact zone

- mid range where the balls deflection is negligible

- short range where aiming at the rigging becomes impossible, or all the cannons of a battery can't shoot at the same point


And features can be:

- skipped because requiring too much bandwidth

- coded because adding to the gameplay

- skipped because not interesting for players

- driven by players




3. Possible tools


I'm not a coding expert, but to avoid a full ballistic system, shortcuts have to be found. A ship is 2 cubes. One for the sails, one for the hull. Each cannon emplacement is known on the hull cube.


Depending on the maximum horizontal and vertical orientations of each cannon, the game knows if a cannon has the possibility to shoot somewhere. The possible impact zone of a broadside is like a cube but with bigger edges at distance.


The target is a point. If some of the cannons of a battery can shoot at the point, the theorical impact zone is a point. If only some of the selected batteries can shoot at the point, the theorical impact zone is a vertical line (all the remaining batteries pointing as close as possible to the point). The player can choose to shoot all the batteries or only those that can shoot at the point.


The real impact zone is an ellipse, but only one trajectory is calculated, and then the number of hits on a ship cube depends on other parameters than the ballistic curve of each shot (like accuracy).




4. A possible shooting system


I'm not a supporter of a special realistic aiming view, because it would only add to the immersion feeling, but would complicate the cannons management and break realism with no tactical gameplay advantage. Not to mention the cannons were actually differently placed in lenght and height. Also it's better to see the batteries being fired from distance (for movie feeling).


I'd rather see an intuitive system: a player selects a broadside, a battery or multiple batteries, and the azimuth arcs would be shown on the screen. When the player puts his mouse somewhere, the cursor indicates the batteries that can hit the point. The targeted point could be on the sea, or anywhere on the cubes of a ship.


That point would represent where the balls would hit if the shots were instant and direct. If needed (i.e. at longer ranges), the player would have to apply an azimuth correction (directly with the cursor) and a height correction (a "vertical angle" scheme would appear when holding the mouse button or using the mouse roll). However, the height correction wouldn't represent the backsight adjustment, but the overall correction that each piece chief would apply. There would be notches rather than angles.


Such system would feature:

- skipped because requiring too much bandwidth: full ballistic system

- coded because adding to gameplay: the initial propulsion of one ball, the speed and deceleration of one ball, the weight of one ball, wind direction and its force, distance, list (as a lean of the target cubes)

- skipped because not interesting for players: list (as a shooting parameter), roll and pitch, precise backsight adjustment, when to shoot a cannon individually

- driven by players: powder charge, cannonballs type, azimuth, overall height adjustment


Also when zooming in, the view would almost be an aiming view. The accuracy value (driving the number of actual hits) could vary depending on many parameters such as distance, crew skill...

Share this post

Link to post
Share on other sites

Currently we use a comprehensive server based collider systems - the ball knows if it hit the individual mast or a sail or a body of the ship (above or below waterline). Because of this, cannonballs that did not hit the first target and flew between the masts will hit a target directly behind it. 


We also take into account

1) initial ball velocity

2) distance travelled

3) place where the ball hit the ship

4) cannons angle at the beginning of the shot

5) aiming time.. you can shoot immediately after reload.. or cannon crews can spend some time placing cannons better for more accurate fire

6) we simulate ball moving inside the ship as well (ball can hit cannon then crew then break the powder room and hinder reload times)


We think it is deep enough for a start and will improve it adding or deleting features based on player's feedback. 

Share this post

Link to post
Share on other sites

Just to clarify.


They were 4 reasons why I proposed this shooting system with a precise aiming system:


1. I thought you were looking for a more simple system than a fully ballistic one (which takes a lot of bandwidth)


2. The system you spoke about in another thread featured vertical aiming (the exact target distance being known by players) but not horizontal aiming. If an aiming system has to be interesting regarding gameplay, there can't be only vertical aiming if we know the distance, and distance can't be the only changing parameter. That's why I proposed to add horizontal aiming and wind strength and direction (which could be added later ofc).


3. You spoke about setting a precise vertical angle. On a side note, I think that if we can aim with different lists and with different poundages at the same time, notches would be more accurate than angles. I thought you wanted to introduce a specific aiming view whose use would have been required for each shot. That specific aiming view would have featured list, roll and pitch control, which would IMO be unrealistic and uninteresting. In the aiming system I proposed, the "aiming" can be done from the main battle view: we can keep an eye on the battle while shooting.


4. When the target is close enough, the aiming system I proposed enables to aim for a specific part of a ship, which opens tactical shooting options.




But basically I'm fine with no skillful aiming at all.


Also, adding a delay for more accurate shots is nice.

Share this post

Link to post
Share on other sites


This is the main battle view.


The yellow point is where the player puts the mouse cursor, determining the azimuth (horizontal aiming and horizontal correction) and the base height (vertical aiming). If he just clicks, the balls travel by the red arrow (on water).


If he holds the button and puts the cursor to the top, the red notches appear. When he releases the button, determining the height "angle" (vertical correction), the balls travel by the green arrow (possibly on target).


The player chooses the azimuth and the height correction depending on the distance, the wind direction and strength, the estimated ship speed and cannonballs travel time.


The vertical arcs (not in the picture) could be determined by the cannons maximum angles and the ship list.

  • Like 1

Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Create New...