Age of Wonders: Planetfall - Dev Diary #49: Modding

  • We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

ArnoutS

Developer
Paradox Staff
8 Badges
May 17, 2018
98
0
www.paradoxplaza.com
  • Magicka
  • Europa Universalis IV
  • Warlock 2: The Exiled
  • Stellaris
  • Age of Wonders III
  • Age of Wonders
  • Age of Wonders II
  • Age of Wonders: Planetfall Sign Up
Hi there! Age of Wonders: Planetfall has featured modding since launch day. Today we look a little closer at what is possible with the modding tools and how to get started creating mods!

The modding tools of Planetfall are very powerful, and give you the full range of tools available to our designers to make the game. They allow you to:
  • Modify existing units, as well as create entirely new ones with new art (using rigs which can be downloaded from the wiki-see below).
  • Add new units, operations, abilities, weapon mods,factions and a new language
  • Change operations, abilities, and (weapon) mods.
  • Create new recruitable heroes
  • Create an entire new race or tech
  • Change the overall gameplay rules
  • Create new planet types
  • Use Mods in combination with new Campaigns and Multiplayer.
  • Create entire new campaigns.
  • And more…!

Creating your own mods

The tools seem complex at first, but with a little bit effort, you should be able to do the basics. It is also helpful to download the example mods (see link below), no programming knowledge is required!

The following links help you start modding the game:

Modding Wiki

Modding howto add new text & new language and voice to the game

Modding: Creating a Skinned Model for the game

For this new Dev Journal we created a new guide how scripting works within Planetfall
Planetfall has a simple scripting system that enables to create custom game behavior inside a normal generated planet. The game also uses this for custom behavior to add flavor at certain events, or in campaigns.

The scripting follows the “Event condition action model” (https://en.wikipedia.org/wiki/Event_condition_action) In short this means upon certain game events, if certain conditions are met, it’s possible to do certain actions. For example: When a new turn starts (event), and the new turn is turn 2 (condition), spawn a new unit at the position of the leader of the player whose turn started (action). More information can be found here.

Example Mods Wiki

To get help with modding you can post your questions here

Mods to check out
  • Colonial Guard Race Mod - Created by Liberty_Valance this mods adds a whole new race to the game the Colonial Guard.
  • ColonialGuardMain.png
  • ExtendedCommanderCustomisation - This mod by Tibbles adds more customisation options for leaders such as extra colors, more secondary colors to select, Smoother Female faces, Kir'ko Hidden Cape, Kir'ko Full Recolored Carapace Torso 1 & 2, Vanguard slightly shinier hair, and Vanguard Valkyrie Wings.
    commander_customization.png
  • Arctic World Scenario - This mod created by JerreyRough adds in an Arctic planet type; a very boreal planet, filled with forests and mountains with some Volcanic biomes here and there.
  • Vanguard Standard Issue (Commander Customization) - Mod by im lazy, it allows the Vanguard Trooper armor to be used for commander customization for both genders and Valkyrie armor for female characters.
  • Korean Language (AoW Planetfall) - Created by Life-seeded this mod adds the Korean language to the game.
  • Vanguard Commando Mod - This mod adds a new unit into the game (re)using existing models by creating a new .rpk file. Download the mod source and check how it is done to quickly learn modding.
  • Italian Language Mod Template - This mod is a template for creating and adding the Italian Language to the game. The Quick guide: adding a new language to the game was used to create this mod. This is the template to use if you want to add a new language to the game!
  • Vanguard Red Trooper Mod - This mod demonstrates the possibility to overwrite base game content (found in .clb files) by simply adding a copy of a clb from the game into your mod.

See the Steam workshop https://steamcommunity.com/app/718850/workshop/ and Paradox Mods page https://mods.paradoxplaza.com/games/aow_planetfall for more mods!

steam_workshop.png
 
  • Create an entire new race or tech
  • Change the overall gameplay rules
Something I have been meaning to ask regarding modding:
I do not like the random nature of Xenoplauge unit spawns. I would prefer to have some control - any control - over this. My idea however requires adding another resource. I was planning on calling it "Biomass" or "Infected Biomass".
Rather then spawning units directly, killing infected units would give you Biomass.
That biomass can then be used for special opeartions (wich are very cheap, except for the Biomass cost) to spawn/evolve units.

Of course the big question is: Can you add anotehr resource at all? Usually the resource code is pretty hardcoded.
Or is there another place where I could store a numeric "resource" that the player can look up and use?
 
Something I have been meaning to ask regarding modding:
I do not like the random nature of Xenoplauge unit spawns. I would prefer to have some control - any control - over this. My idea however requires adding another resource. I was planning on calling it "Biomass" or "Infected Biomass".
Rather then spawning units directly, killing infected units would give you Biomass.
That biomass can then be used for special opeartions (wich are very cheap, except for the Biomass cost) to spawn/evolve units.

Of course the big question is: Can you add anotehr resource at all? Usually the resource code is pretty hardcoded.
Or is there another place where I could store a numeric "resource" that the player can look up and use?

Sorry but yes adding a whole new resource is tricky because it would require code and more importantly all kinds of interface updates.
 
Sorry but yes adding a whole new resource is tricky because it would require code and more importantly all kinds of interface updates.
As I thought this, I have been thinking about ways around that too. In particular Networked and Dimensional Instability gave me an idea.
What you got in those two is a increment/decrement/counting mechanic.

The only thing I am unsure is: What should I apply this Debuff too, so the player can view it? The commander? The Empire?

Edit: I would also need to know where those effects are defined. I could not find it in any of the obvious places.
 
Last edited:
Hmm, I haven't tried my hand at modding this game yet so take my input with a grain of salt, but there are two potential issues I see with using a debuff as a resource:
First, if it is on your commander, that would be erased whenever the commander died, even if they were rezed again via TNI or reverse-engineer etc.
Second, is it possible to make a debuff actually last outside of battle or will they all be cleared when the battle ends?

If it is possible to make a debuff last outside of battle that could be used for interesting things like battle scars etc that are incurred in battle too.
 
First, if it is on your commander, that would be erased whenever the commander died, even if they were rezed again via TNI or reverse-engineer etc.
Is it really removed? Or do you just asume?
I saw a bunch of effects persist past combat revival skills.

I doubt that any unit is realy removed from the game, until the combat ends. That way resurgence can still apply.

Second, is it possible to make a debuff actually last outside of battle or will they all be cleared when the battle ends?
There are plenty of (de)buffs that were applied on the Global Level, persist into/affect tactical combat and still apply when you get out of it. Basically any Strategic operation does this.
There is also a bunch of buffs that only apply "for the next level". Some visit sites, for example.

I know how possible it is after I found where the debuffs, buffs and unit tags are actually defined. Thus far the pagage eludes me.
 
As for example code, what I am looking for is:
Event: Unit Died (found that)
Conditions: Enemy Unit, Infected with Xenoplague, etc. (still working on this)
Action: Add buff (wich has no effect) onto Leader. (Still working on the buff and finding the leader)
 
And I found out what I did wrong. Apparently each .rpk file has a bunch of categories (Wich kinda work like Namespaces, i guess?).
And I had only the 1st one selected, so I never saw 99% of hte .rpk contents.
 
Second, is it possible to make a debuff actually last outside of battle or will they all be cleared when the battle ends?

There are plenty of (de)buffs that were applied on the Global Level, persist into/affect tactical combat and still apply when you get out of it. Basically any Strategic operation does this.
There is also a bunch of buffs that only apply "for the next level". Some visit sites, for example.

I know how possible it is after I found where the debuffs, buffs and unit tags are actually defined. Thus far the pagage eludes me.
I can say it now. As far as I can tell, there is no difference between Effects from Strategic Operations, Tactical Opeartions and Abilities. They are both the same thing. There are simply different durations:
- Number of Tactical Turns
- Number of Strategic Turns
- End of Combat
- Permanent
- Until moved
So a Unit in combat should be able to apply a debuff that lasts for a number of Strategic Turns or even be permanent. Theoreteically, as this is an area wich might not have been properly tested.
 
Cool! Glad to find I am wrong on that one.

Like I said in my first post, I haven't actually started trying to mod yet. I was just throwing out the issues that first came to mind about that idea. I knew that when a unit died and was then resurrected, all it's (de)buffs were gone, so I wasn't sure if that could be gotten around.
 
Thanks for the guide, hopefully it will lead to many people making great mods.

However, I tried to follow it myself, and couldn't get the example Penguin spawn to do anything. Is the publication step mandatory? I never got it to work (due to never being able to add a thumbnail to the mod, which the mod tool makes mandatory for the publish button), so I was simply putting the content in a ZIP file in the Mods folder. However, after starting the game, the mod content doesn't seem to show up unzipped (which the mod I downloaded on Steam does).

Note that this zipping technique works on a mod I downloaded on Steam, then modified to my liking. I am able to see my changes in that mod.
 
Thanks for the guide, hopefully it will lead to many people making great mods.

However, I tried to follow it myself, and couldn't get the example Penguin spawn to do anything. Is the publication step mandatory? I never got it to work (due to never being able to add a thumbnail to the mod, which the mod tool makes mandatory for the publish button), so I was simply putting the content in a ZIP file in the Mods folder. However, after starting the game, the mod content doesn't seem to show up unzipped (which the mod I downloaded on Steam does).

Note that this zipping technique works on a mod I downloaded on Steam, then modified to my liking. I am able to see my changes in that mod.

Perhaps first it is good to download one of the example mods like the Vanguard Commando and unzip it in C:\Users\you\Documents\Paradox Interactive\Age of Wonders Planetfall\Mods
Then Open the Modding Tools from the Paradox Launcher. And in the Package Manager and open the VanguardCommandoMod\VanguardCommandoMod.acp and then click File -> Publish.
Start the game/Launcher again and enable the mod.
Then use this template for other mods :)

Tips.
* Publish in the Package Manager is mandatory, else the Launcher will not recognize the local mod on your disk.
* For the thumbnail I noticed saving the 512x512 png image in Microsoft Paint works best. Somehow Paint.net doesn't work sometimes.
 
Perhaps first it is good to download one of the example mods like the Vanguard Commando and unzip it in C:\Users\you\Documents\Paradox Interactive\Age of Wonders Planetfall\Mods
Then Open the Modding Tools from the Paradox Launcher. And in the Package Manager and open the VanguardCommandoMod\VanguardCommandoMod.acp and then click File -> Publish.
I was able to download the example mod and run it, but I couldn't do the publication step because of the missing image. I tried to add the provided thumbnail.png, but it didn't do anything.

In the PackageManager log file, I have this line:
[00:00:37]cannot open file: C
[00:00:43]cannot open file: C
[00:00:54]cannot open file: C

For the 3 times I tried to add the file. For reference, the path to the thumbnail file is:
C:\Users\Étienne\Documents\Paradox Interactive\Age of Wonders Planetfall\Mods\VanguardCommando\thumbnail.png

Is it possible that the non-ASCII characters in my user name could cause problems? I already found that Windows using the comma (,) instead of the period (.) as the decimal separator prevented me from writing fractional value in resource editor.
Another possibility is that the game is installed in another hard drive (D:).

On top of that, having a second zipped mod in the Mods folder prevented me from activating the VanguardCommando mod, and I could only manage to have a single of the two active at once. So I will try keeping all of my modifications in a single mod for now.
 
So this is kind of a weird question, but does this game support asymmetric tooltip information?

To give an example, imagine a de/buff that could be used on an ally or enemy unit. You actually have 2 different abilities which, to enemies, appear to be the same. One will, at the end of next turn, damage all adjacent units. The other will, at the end of next turn, heal all adjacent units.

This is something I've always wanted to see in some form or another. In combat invisibility is a no go, but having some form of hidden information or ability to create unknowns in tactical combat is something I definitely want to see.

Extrapolating further, are scripts supported for abilities, other than just scenarios? Many of these things could be solved via scripting, and it would allow for some really novel abilities.
 
To give an example, imagine a de/buff that could be used on an ally or enemy unit. You actually have 2 different abilities which, to enemies, appear to be the same. One will, at the end of next turn, damage all adjacent units. The other will, at the end of next turn, heal all adjacent units.
Voidtech Timewarp. A AoE. Own units are buffed, enemies are slowed. Both can happen with the same case.
A lot of the Psionic mods have a Psionic Buff/Psionic attack duality.
 
Voidtech Timewarp. A AoE. Own units are buffed, enemies are slowed. Both can happen with the same case.
A lot of the Psionic mods have a Psionic Buff/Psionic attack duality.

Yes. But that's not what I'm talking about. I'm talking about 2 DIFFERENT abilities which look the same until they go off next turn. Creates a 50/50 where the enemy has to predict which it is. Same tooltip. Same animation. Same everything. But need to have a way to conceal which is which from the enemy while letting the person using it know which is which.