Hello and welcome back to the Battle Cry of Freedom developer blog! This week we are going to talk some more about gameplay, or to be more specific the shooting mechanics.
Gameplay Part 2/4
The American Civil War was primarily fought with rifled muskets and saw the introduction of repeating rifles, revolvers and breech loaders. As such we have decided that it is time to program a more advanced shooting system to really showcase the main focuses of this game. In its core the system is still the same, the player aims, fires his gun and he can not move when reloading. In action though, there will be a lot more going on than simply pointing and shooting!
Shooting, Ammunition and Bullet System
With the introduction of repeating rifles and revolvers, the player now has to hold the right mouse button to aim and fire by tapping the left. Holding down the left mouse button while aiming will empty the magazine of the players revolver or repeater as quickly as possible, though of course, more careful shooting is recommended.
Reloading is initiated by pressing "R" which makes it possible for the player to aim when not loaded. Though you might be disappointed if you have not been keeping track of number of shots fired... Reloading is done in stages, so if a player cancels a reload that is half way done, he does not have to start all over again. Revolvers can be reloaded shot by shot.
Originally we intended to have the player go to "ready" before going to aim, however that made the game feel too unresponsive. As such we decided to speed up the animation by cutting out the 2nd movement of "ready". The player is now able to aim immediately after the first movement, starting to look down the barrel of their gun as they pull back the hammer. We have also added the ability to slightly shift your aim to the left or right by pressing Q and E. Often this is achieved by moving the player's upper-body from side to side, we wanted to do something a little different. We are doing a step to the right or to the left instead, this is accurate to the period and fits the historical drill manuals. It will not only make it possible to shoot around corners, but will also make it a lot easier to fire in two ranks or to oblique fire. Additionally we have added a check for collisions, so if a player is standing to close to an object, he will not be able to aim and has to move back before trying to line up another shot.
Players can choose to aim in third person or to aim down the iron sights. We have coded a reticle that is no longer in the center of the screen, but actually tracks where the player is aiming his gun. It will react to objects within a few meters distance of the player, for example it would let the player know if they are aiming at a wall in front of him. This will make it easier to identify where you are aiming in third person. The reticle will also perfectly match the iron sights, so aiming in third person and in first person is finally interchangeable and neither third nor first person aiming will have a mechanical advantage over the other. Bayonets will affect the "aiming sway" of the player, for example a gun with a bayonet fixed will sway and shake more than one without. Walking while aiming will make the gun sway even more, making accurate shots practically impossible. We plan to modify the aiming sway the more/less stamina a player has available, but more about that in a future blog...
Bullets no longer leave the gun at random angles like some horribly inaccurate laser rifle as you might have experienced in earlier games of this period. Your shot will now fly in accordance with an advanced ballistics system we have been working on, which realistically simulates real life bullet physics. Artillery and small arms will also both use the same system. In real life there is no difference between a smoothbore cannon and a smoothbore musket, they both fire a ball of lead at high speeds and are both subject to the same laws of physics, a cannon can simply haul more lead through the air at once.
Each weapon has unique settings for muzzle velocity and twist rate. A muzzle velocity deviation setting can be used to represent larger or smaller touch holes through which pressure can escape and make the gun less reliable (think flintlocks, for example). There is a random firing delay, that can be changed for each gun. Flintlocks will have a significantly longer delay than percussion rifles. Each gun also has a unique range of loadable ammo. With over 100 unique weapons currently implemented in the game, each with their own gameplay, it will take some time for the player to get known to all of them.
In the game the player will be able to choose what ammo he wants to load and pick up different types of ammo. Ammo will be dropped in packs or in single cartridges, just like they were issued back in the day. There are ammo crates which can be used to restock ammo, these ammo crates can be transported around and will be very useful for regiments that are in longer firefights.
In addition to that, ammo has a muzzle velocity modifier to represent quality of the ammunition. High quality ammunition does not modify the muzzle velocity, but low quality ammunition might lower it randomly and make the rifle less reliable. Each type of ammunition refers to a projectile, this is the bullet that leaves the barrel when fired. Bullets all have proper graphics and will visibly (to the more keen eyed amongst you) fly through the air in the game. Projectiles have many variables which are modeled by our ballistics system, such as drag coefficient, size and weight.
When a projectile is fired, it spawns at the tip of the barrel and the system then calculates a trajectory, using the above settings as a base. It will also look for the local humidity, temperature, air density, gravity, wind direction and wind strength plus some other factors. Taking all of this into account, our system creates a fairly realistic bullet trajectory. The unique settings on each gun mean that all of them will perform differently, guns with a higher twist rate will be more accurate than guns with a lower twist rate. Smoothbore guns are therefore much less accurate on long ranges than rifles, but both smoothbore and rifled guns will still be deadly accurate on short distances.
As you can see on the screenshots of our testing range above, accuracy of guns gets increasingly worse the further away the target is. Accurate long range shots become impossible with smoothbores, but rifles also loose a lot of their accuracy. All of the above is without any aiming sway, with that added into the mix, the player will quickly notice that accurately shooting long distances will require much more skill, experience and also a little bit of luck. Click on the image above to see a higher resolution copy of it.
Additionally, upon impact with an object, the system checks whether the bullet will get stuck in, ricochet off, or pass through the object. Should it be able to pass through or ricochet, the system will calculate its new trajectory and velocity and keep going. Passing through and ricocheting is heavily Dependant on the impact angle and force. Larger calibers will have a much easier time passing through objects than smaller ones (Assuming they are traveling with the same velocity). Damage delivered to players or objects is equal to the velocity lost upon impact, multiplied by the size and weight of the projectile.
That's it for this weeks developer blog. Once again, thank you for reading!
Next weeks Blog will be released a few days later and we will talk about Graphics.
Flying Squirrel Entertainment
To take part in the discussion of this blog, click here.