Ground of Aces Modding
Loading...
Searching...
No Matches
Ground of Aces Modding

Ground of Aces can be extended without touching the game's code. A mod is a folder; what it changes is decided by which subfolders it contains. Everything here is written for someone with a text editor and a copy of the game - no Unity, no compiler.

Start with the first page, then pick the kind of content you want to make:

I want to… Read Folder in the mod
Understand how mods work - where they live, the Mods window, installing and uploading to the Steam Workshop How mods work (the mod folder itself)
Change the game's numbers - costs, speeds, morale, durations Changing game data with a CSV mod CSV/
Add a mission the player can fly Missions Missions/
Choose where a mission happens Mission locations (part of the mission file)
Add a quest - a checklist the player works through Quests Quests/
Give objects a new look - models, textures, build-menu icons and ground textures Replacing models, icons and ground textures Objects/, Biomes/
Add airplane skins - new paint schemes for the game's airplanes New airplane skins Airplanes/
React to the game with Python - event scripts and mission logic Scripting Missions/ (.py files)
Ship a map that starts your own quest line Quests and maps Maps/
Start from a working file Example quests, Example missions

Every page stands on its own. If this is your first mod, read How mods work once, then go to Changing game data with a CSV mod - it is the shortest path from an empty folder to a visible change in the game - and come back here for the next category.


A mod in one minute

  1. Find your Mods folder: Main menu → Mods → Open folder. On Windows that is USERPROFILE%\AppData\LocalLow\Blindflug Studios\Ground Of Aces\Mods\; the other platforms are listed on How mods work.
  2. Create a folder in it, for example my_mod, and inside it one of the content folders: CSV/, Missions/, Quests/, Maps/, Objects/, Biomes/ or Airplanes/.
  3. Optionally add a config.json with the mod's name and id, and a preview.png (under 1 MB) as its picture.
  4. Press Refresh in the Mods window so the game notices the new folder, then load a level.
  5. From then on, every change to a file inside the mod is picked up the next time you load a level.

The folder can have any name - MyMod works as well as my_mod. Only the optional Id inside config.json has to be lower-case (my_mod, not MyMod); the rules, the load order and what happens when two mods change the same thing are on How mods work. Prefix every id you invent with your mod's name, so you never replace something by accident.


The categories

Data tables (CSV)

Most of the numbers that drive the game - what a building costs, how fast a plane flies, how much a meal lifts a crew member's mood - live in thirty data tables. A mod changes single cells or adds and removes rows with a small .json command file, or replaces whole rows with a .csv. The page lists every table and column, the rules the game applies before accepting a value, and links the built-in file of each table so you can open it and copy its header.

→ Changing game data with a CSV mod

Missions

A mission is a flight the player sends aircraft on: it appears on the war map, costs time and fuel, and comes back with one of four endings - the flight went as planned or went wrong, and the crew's skill check passed or failed - each counted as a success or a failure. Missions can be built in the in-game Mission Editor or written as a .json with an optional .py beside it for text and logic.

→ Missions - the Mission List and Mission Editor, the file, and every mission event handler

→ Mission locations - the places a mission can happen, with coordinates and flags

Quests

A quest is a checklist the player sees in the quest panel: build an airstrip, order an aircraft, fly five missions. It is a single .json file with no logic of its own; everything it can watch for is built into the game. The page covers the file field by field, all the step types, how a quest is started, and how a map picks the quest line it begins with.

→ Quests

Art

A mod can re-dress the game's objects - furniture, workbenches, training objects, trees and rocks - with its own .glb or .fbx models, textures and build-menu icons, and re-paint the ground types the terrain is drawn with. The page covers the file names that say what a model replaces, how materials find their textures, the choice between the game's material and your own, and the size limits for textures and thumbnails.

→ Replacing models, icons and ground textures

Scripting

The game runs Python for event scripts and mission logic. A mod ships its scripts as .py files in its Missions/ folder; they run for every mod that is switched on. Scripts subscribe to game events with a decorator and talk to the game through a handful of API objects - resources, characters, missions, airplanes. The page walks through a first script and then documents the handler signature, the string formatting the event log understands, and the global API objects.

→ Scripting

The API classes a script can reach are documented from the game's source:

Maps

A map is a .goamap file made in the in-game map editor. Maps you save land in your Maps folder next to Mods; copy the file into your mod's Maps/ folder to ship it. A map decides which quest line it starts and which mission tags it accepts, so a campaign usually ships a map, its quests and its missions together.

→ Quests and maps - the StartingQuestIds field and how to edit it

→ Tags - how a map picks the missions that may appear on it

Examples

Every category page ends with complete files you can open in the browser or save and drop into a mod folder as they are: the built-in data table behind every CSV section; a two-quest chain, a map-bound quest and four of the game's own quest files; and the shipped missions themselves - a single supply drop, the four-mission Blitz chain and the shared default script.

→ Example quests

→ Example missions

→ The tables - each table section links its built-in .csv