Welcome back to our last dev diary before release on January 30. Today we are going to take a look into modding: how players can change the base game to their liking, create entire mods from zero and upload them easily on the Steam Workshop, for those who play on Steam.
Astra Exodus was designed from the ground-up to be moddable, as pretty much everything in the game is loaded from files editable by users, organized in a certain structure. This very same structure, found on the base game directory, must be reproduced by any mod, adding a main data file as well which defines the mod.
In the /MyGames/Astra Exodus/Mods path, you’ll find a data file named after the mod, plus a main folder that contains the mod files, with the same Data and Graphics folder structure as the main game.
The data files into the game allow you to define pretty much everything on Astra Exodus, from technologies to factions and starships, everything can be changed or expanded. They are in LUA format, which can be easily opened with any text editor. We recommend using Notepad++ though.
Here you have a base file called Globals.lua, where you can change the main values of the game, such as how much food a colonist consumes for example. Then you have a folder structure, grouping factions, techs, troops, and everything else together. Opening any of the contained files will give you an example of how to change or add one of these yourself.
The most complex values you can find on these files, to configure whatever concept each represent, are the references to localized text and the path to the corresponding graphic files. The localized text tag is searched in the files under the Localization folder, where one must exist for each language the game supports. Finally a graphics file reference is basically the path, from the base folder, to the corresponding image (PNG) file.
The game’s graphics come from PNG image files, which as we just saw, are referenced via a relative file path by the data files. So for every Installation an image must be referenced in order to be used in game, just like with everything else in the game. The game requires PNG files in order to have an Alpha channel available, as it is used in almost all possible scenarios, when using graphics in game, from starship classes to techs.
There are some extra graphic files that need to be supplied for every mod, regardless of any reference from the data files. These are the mod icon, main menu and data net background images. The first ones can be placed anywhere inside the mod folder, as long as they are referenced on the main mod LUA file, however the DataNet images must be placed in a folder with that name, inside the mod’s Graphics folder.
Once you have set up a mod, you might want to share it with the community. To do this, you can always just zip the files and share it on the Internet, however Steam has a system that makes it much easier: the Steam Workshop, which Astra Exodus fully implements.
With the mod working properly and after defining everything on its main LUA file, all you need to do is click on the Up Arrow on top of the mod UI object, in order to upload it to Steam with your current logged in user. Then you’ll be able to change the name, description, add screenshots and a lot more through the mod page; automatically created when you upload it.
We hope this was clear enough. If you have any question on Modding, please let us know either on Discord or the forum, and we’ll do our best to get back to you with further explanations.
Next week we’ll be launching the game, on January 30. Are you ready?