Comprehensive overview of how artillery could be implemented
Posted: Sun Jun 08, 2014 9:55 pm
So, lots of mentions of artillery come up in the search, none I could see have any real in-depth plan except that such a thing should exist. So, here's my plan for implementing it. My basic philosophy is that it should require a lot of player involvement, it shoudn't just be another automatic damage dispenser with a long range, and should require careful planning to use. Factorio artillery should ideally be a bit more like an artillery game like Scorched Earth or Worms.
First, the research to unlock it requires turrets, steel and explosives and is a red-and-green research topic. The basic artillery piece requires steel, gear wheels and electronics, and is a big unit like an assembly machine, 2X2 or 3X3. The basic shell unlocks along with the artillery research, it is made of steel and explosives. Giving a howitzer a fire mission is like choosing the recipe for an assembly machine, you tell it what type of shot to use, a direction, a range, and how many times to repeat the same shot. I propose adding a tool to the map screen to allow the player to measure range and angles between two points to make this process a little easier. When the howitzer is ready to fire, it opens the breach and will accept the ingredients from the player or an inserter. It ONLY accepts the ingredients it needs for its current shot, no preloading of stacks.
Notice I said ingredients, plural. The howitzer accepts a shell and between one and four additional explosives as the propellant charge, this is in line with real-world gun artillery which keeps the propellant and shells separate, unlike tank cannons and mortars where it's all integrated. The number of propellant charges it needs are determined by the range interval, so shots closer to the base are more efficient as well as more accurate. The shell has a realistic calculated time in the air, and its direction and muzzle velocity are subject to a bit of random noise. Therefore, a longer shot will scatter farther off the target and will have a longer delay from shot to hit. Later game research could implement guided shells that will steer themselves a bit to try and hit a location like a beacon or targeting laser, but will have a limit to how far they can deflect off where the gun puts them. I'd also implement some specialty shells, like gas, smoke, illumination flares and incendiary as later research. The gun has a heat level, and the bigger the charge the longer it needs to cool down before it can fire again. This cooldown can be reduced by plumbing a source of cold water into the howitzer directly, thus making firebases with access to water strategic locations. The firing of the guns produces a lot of pollution, so biters will try and take out artillery as a high priority and fortified firebases will be needed. Keeping up a long-term barrage will mean moving a lot of shells and explosives to the front with a long train line that trails out behind you, not the simple power poles used by turret-creeping.
Of course, implementing it in this way requires the player to be at the firebase, not out on the field spotting, so I'd follow up with a higher-level research option for a field radio kit as an armor module. It can be used to issue orders to howitzers (and possibly other things like trains, but let's keep it focused) from a forward area, and is small and low-power enough to be slotted into a basic modular armor with a minimal opportunity cost (maybe a 2X2 item?). It's still not as simple as clicking the ground and firing off a barrage, but it should be about that easy to do with practice, so long as you take the time to figure out the rough distance and angle from your firebase ahead of time. You can of course open the interface window while continuing to run away/drive, so you can make some panicked requests if need be, but using artillery in general should be about careful plans and not improvising.
I've left out a lot of details about how effective shells would be and what kind of splash damage it should do as the primary variables for balancing. My preference is for shells to not do a lot of damage on their own, and to require sustained barrages to clear a nest. It's also possible to make it more complicated. You could replace guessing the range with figuring out the propellant charge and the barrel elevation and trying to make range that way, which would require real-world math skills and practice to pull off on the fly, or make the howitzers directional, only able to fire in an arc in front of them and you need to place them in a certain direction like a train track. Any additional comments or refinements?
First, the research to unlock it requires turrets, steel and explosives and is a red-and-green research topic. The basic artillery piece requires steel, gear wheels and electronics, and is a big unit like an assembly machine, 2X2 or 3X3. The basic shell unlocks along with the artillery research, it is made of steel and explosives. Giving a howitzer a fire mission is like choosing the recipe for an assembly machine, you tell it what type of shot to use, a direction, a range, and how many times to repeat the same shot. I propose adding a tool to the map screen to allow the player to measure range and angles between two points to make this process a little easier. When the howitzer is ready to fire, it opens the breach and will accept the ingredients from the player or an inserter. It ONLY accepts the ingredients it needs for its current shot, no preloading of stacks.
Notice I said ingredients, plural. The howitzer accepts a shell and between one and four additional explosives as the propellant charge, this is in line with real-world gun artillery which keeps the propellant and shells separate, unlike tank cannons and mortars where it's all integrated. The number of propellant charges it needs are determined by the range interval, so shots closer to the base are more efficient as well as more accurate. The shell has a realistic calculated time in the air, and its direction and muzzle velocity are subject to a bit of random noise. Therefore, a longer shot will scatter farther off the target and will have a longer delay from shot to hit. Later game research could implement guided shells that will steer themselves a bit to try and hit a location like a beacon or targeting laser, but will have a limit to how far they can deflect off where the gun puts them. I'd also implement some specialty shells, like gas, smoke, illumination flares and incendiary as later research. The gun has a heat level, and the bigger the charge the longer it needs to cool down before it can fire again. This cooldown can be reduced by plumbing a source of cold water into the howitzer directly, thus making firebases with access to water strategic locations. The firing of the guns produces a lot of pollution, so biters will try and take out artillery as a high priority and fortified firebases will be needed. Keeping up a long-term barrage will mean moving a lot of shells and explosives to the front with a long train line that trails out behind you, not the simple power poles used by turret-creeping.
Of course, implementing it in this way requires the player to be at the firebase, not out on the field spotting, so I'd follow up with a higher-level research option for a field radio kit as an armor module. It can be used to issue orders to howitzers (and possibly other things like trains, but let's keep it focused) from a forward area, and is small and low-power enough to be slotted into a basic modular armor with a minimal opportunity cost (maybe a 2X2 item?). It's still not as simple as clicking the ground and firing off a barrage, but it should be about that easy to do with practice, so long as you take the time to figure out the rough distance and angle from your firebase ahead of time. You can of course open the interface window while continuing to run away/drive, so you can make some panicked requests if need be, but using artillery in general should be about careful plans and not improvising.
I've left out a lot of details about how effective shells would be and what kind of splash damage it should do as the primary variables for balancing. My preference is for shells to not do a lot of damage on their own, and to require sustained barrages to clear a nest. It's also possible to make it more complicated. You could replace guessing the range with figuring out the propellant charge and the barrel elevation and trying to make range that way, which would require real-world math skills and practice to pull off on the fly, or make the howitzers directional, only able to fire in an arc in front of them and you need to place them in a certain direction like a train track. Any additional comments or refinements?