Overview
Airships: Conquer The Skies is a fairly easy game to mod once you understand its components, however, you can still make mistakes and it does take some time even for a basic module. This guide will walk you through everything, making sure to communicate information clearly and accurately with well-written text and screenshots.
The Guide
This guide is not complete. I will be editing it to make it better, adding a few pictures here and there, and going into greater depth into things, then eventually adding sections for modding in different types of modules, and not just weapons!
Feel free to comment or message me any suggestions you have!
Adding Custom Weapons
Getting Started
First, click this, and download it.[drive.google.com] It holds a .zip which includes all the basic files each module in Airships uses. Then, navigate to your “AirshipGame” folder, which should be in something like C:UsersBobAppDataRoamingAirshipsGame. Drop the file there and then unpack it with your prefered program. If you’re unfamilier with .zips and don’t know what to use, I suggest downloading 7zip[www.7-zip.org], it’s as easy as can be.
First, you can rename “Your_Mod” to whatever you want. Make it something relavent and unique. For example, if I was making a rapid-fire cannon, I could name it “Rotary_Artillery” or “Barrage_Gun.” Try and use that same name whenever said rapid-fire cannon will be mentioned in your mod. This is, a lot of the time, required. Anywhere it isn’t I’ll go over.
Images
Now that you’ve decided what to make, it’s time to take a look at the “images” folder. This houses three things: customgun.png, customgun_bump.png, and customgun_frags.png. The first, customguns.png, is the “graphics” of the module. I’ve left the sprites of my first mod, the Heavy Rifle, in it for scale. The box on the brown line in the top left is one whole square in-game. Since I’ll be making what is basically the real-life equivalent of the organ gun, I’ll make my weapon two squares wide by copying and pasting the leftover graphic.
Quickly, let’s look at the gun below it. It is seperate from the first box for a reason: it is the “barrel” of the weapon, which I’ll fully touch on the later. The barrel is the part of a weapon that decides where its fired projectile will spawn, and rotates based on where your gun fired at. If you’re making something like the heavy duty rifle, where it’s more of a handheld weapon, you can just draw the actual gun part of your module over it and basically skip the next step. Since I’m making a cannon, which will be held up by a frame or stock, I will draw just the cannon’s barrel, so the frame isn’t wildly flying around.
When you’ve finished drawing the barrel, you’ll now have to work on its frame, and/or additional features of the module, such as shells or ammo laying in the background. You can erase the ammo bags found in the original picture.
Make sure everything besides your barrel, floor and frame is transparent!
After that, we’ll move onto making the module itself.
ModuleType
Now, go into the “ModuleType” folder and open “YOURMOD.json” with, preferably, Notepad++[notepad-plus-plus.org]. You might be able to open it with stock Notepad, but I can promise is won’t be anywhere as easy to as with Notepad++. Any text editors like Notepad++ (Tired of the word “Notepad” yet?) should work too.
“YOURMOD.json” is where all the stats and information for the module are stored. First and foremost, “name” and “flipped from”. Now you can use the name you made for the mod’s folder, for example:
Use “ROTARY_GUN” for whenever the module is referenced by other files, except for one or two, which show the name displayed in-game for the module. The same goes for “FLIPPED_ROTARY_GUN” – Use it whenever the flipped form of the Module is mentioned.
Let’s scroll down a bit and look at the properties of the weapon now.
“name”- This is the unmentioned name of the module. this would be “ROTARY_GUN”, as mentioned.
“categories”- Which categories the module will be included in with the Airship Editor.
“isweapon”- Exactly as it sounds. Leave as true.
“w”- How many squares wide the module is. In my case, it’s 2.
“h”- How many squares high the module is. In my case, 1.
“src”- Where the game will find the sprites for the weapon. Keep it as “customgun” if you didn’t rename “customgun.png”
“x”- Where the game finds the beginning of the module’s graphic on the X-axis.
“y”- Same as “x”, but for the Y-axis
“w”- Essentially the same as the previous “w”. Must be the same value, too.
“h”- Just like “w”, the height of the module.
What your “YOURMOD.json” should look something like so far.
And now, the values which effect how the module works in-game.
“hp”- The “HP” or Hitpoints of the gun. The general rule is, think of how expensive the gun is, how strong the insides would be about, and how useful and effective the weapon is in combat. Put this together for a general estimate of how strong it is. You can go back and adjust it later once your mod is in a playable state to rebalance it if your estimate was not enough or too much.
“fireHP”- How many Hitpoints the module has to resisting fire.
“movedelay”- How much additional time it takes for your command cooldown to complete so you can give a new command to a ship.
“weight”- Exactly how it sounds. The weight of the module. For this, you can estimate again. I’ll add a few weight values from other modules below so you can get a sense of scale. For my cannon, about 20 would work.
“cost”- How much the module costs to build In-game. Again, think about how valuable the weapon is in production costs and how it serves in battle.
“crew”- How many crewmen it takes to operate this weapon,
“recommendedCrew”- The optimal amount of crew operating the weapon.
“recommendedGuards”- The optimal amount of troops to be guarding this weapon.
“frontOnly”- Makes it so you cannot place anything else in front of this module. If you want to make it so it blocks other modules from being placed around it in multiple places, such as the Dorsal Turret, use “bottomOnly,” “backOnly,” and “topOnly” respectively.
“isGun”- Just as it sounds. Leave as “true”.
“isCannon”- The same deal set this to true if you’re making a cannon, and keep it at false if not.
“reload”- How many seconds it takes between each round fired. For scale, “2000” would be 2 seconds.
“clip”- How many rounds the gun holds before it needs resupply from an ammo depo or a similar module.
“inaccuracy”- How innacurate the weapon is. The starting “0.00023” is pretty average in terms of innacuracy. Add more numbers (0.00023 -> 0.000235/0.00043) to make it more accurate. Remove numbers (0.00023 -> 0.0023) to make it less accurate.
“blastdmg”- How much explosive damage the weapon causes when it hits. The bigger the number, the bigger the boom!
“penDmg”- How much penetration damage the weapon causes when it hits. The higher the value, the easier it breaks through armour.
“fireArc”: { “direction”: “forwards”, “degrees”- How many degrees the weapon can rotate around to fire. For example, 360 degrees would let it fire at enemies no matter where they are, 180 degrees would let it fire at any enemies even slightly infront of the module.
“muzzleCenterX”- Where the (mechanical, not the barrel you’ve drawn) barrel appears on the X-axis of your module.
“muzzleCenterY”- Same as X, but for the Y-axis.
“optimumRange”- The optimal range the weapon should be firing at. Doesn’t seem to really do anything in Beta 8?
“fireSound”- The sound the weapon makes when it fires. I’ll upload a list of all the sounds and their names later.
“fireSoundCount”-The particle effect that spawns when the weapon fires.
“shot”- The sprite of the projectile fired. Point the X and Y to the weapon’s Projectile, and use W and H to describe how wide and how high the projectile is.
“barrel”- The sprite of the barrel. Point the X and Y to the very top-left pixel of the sprite, and use W and H to describe how wide and how high the barrel is.
“barrelX”- Where the barrel appears in the gun, for the X-axis.
“barrelY”- Where the barrel appears in the gun, for the Y-axis.
“recoil”- How forcefully the gun fires. The higher the value, the farther backwards the barrel moves when you fire.
Now, what your .json file should just about look like:
Optionally, if you want your module to go out with a bang, add a new line:
Which should end up looking like this:
The higher the value, the more powerfully the module will explode when destroyed.
That’s about it for your “YOURMOD.json” file. We’re now nearing the final stretch!
Strings
Now navigate to “strings” and open en.properties. This is the name and short description of your module in the game editor.
As mentioned before, we’ll now enter the basic name of our module and then what we want its actual name to be…
Make a short, fitting descripting…
You can then essentially just copy everything to the Flipped lines, however, keeping “flipped” in the lines. It should end up looking like this:
Finishing Up
There’s only one thing to do now: Write the mod’s name and description.
Navigate to info.json and then change write up everything to how you like.
“id”- Make this something like “rotary_gun” or “rotarygun”
(name)
“en”- The english name of the mod. In my case, it’d be “Rotary Cannon”
(description)
“en” The english description of the mod, which is used in your “mods” setting tab in Airships, and displayed as the default info for your mod once uploaded to steam.
You can also make a preview image for the mod that will be used on steam and in-game. Simply edit “logo.png” and do with it what you like. It must be, maximum, 512×512 pixels.
And now, you should be done! Upload your mod to the Steam Workshop by viewing it in the mods tab in-game and clicking “upload to Steam”, anytime you want to update it, simply change the files as you please and then click “update on steam”.
Adding Custom Resource Modules
Getting Started
Incomplete
This guide is incomplete! It’s a bit rough right now, and only goes over adding your own weapons, and no other module type. These things will be improved upon later.