Now that turreted weapons and bombs are in Airships, the next step is to make something specialized for shooting upwards: Flak Cannon! I've wanted to put these in for a while now, and several people have independently asked for them, so it is time.
To figure out what their appearance and stats, I took two things into consideration: reality and game balance. For the reality, I went to the usual place, Wikipedia, and read up on the history of anti-air weapons, trying not to get sucked in too deep. (History is so interesting! I totally need to read an in-depth description of the development of rangefinders in the interwar period! Ooh, what's that? A type of tank I haven't read about before? Mongolia was communist? There was a plot to free Napoleon from St. Helena using a pair of submarines? Why is it dark outside?)
The earliest anti-air guns were created in the 1870s to shoot down balloons, derived from small-caliber artillery pieces on special mounts, generally firing explosive shells. As their role shifted from shooting at slow-moving balloons to zeppelins and then rapidly-moving aircraft, more clever targeting and fuse timing systems became necessary.
In the world of Airships, development of anti-air guns would have taken a somewhat different trajectory, focused a bit more on firepower than accuracy, as airships move slowly, are large, and fly close to the ground. Still, the core idea of a smallish gun with a flexible mount would be the same.
The big question is about firing angle: to make these guns not just a smaller version of the Dorsal Turret, they should have a different fire arc, more restricted to pointing upwards. This also makes it possible for them to only require free space above, so unlike as with the turret, you can put multiple ones in a line. So for now, let's say 120 degrees centered upwards.
And what about fire rate and damage? For this, I have a convenient spreadsheet that calculates for me the amount of time it takes a given weapon to penetrate a given armour type, and calculates from this a general "quality" value that lets me keep fairly balanced. In the end, fiddling with this yielded 20 blast damage and 1.5 second reload time as good values that make the weapon powerful in its special area but not overwhelmingly good.
This left me with actually implementing the thing, which wasn't too big a job: drawing graphics for the module, the barrel, and the projectile, adding an entry to the module types, and putting in translation strings. So watch out for it in the next update!