Getting Started
Relevant source files
The following files were used as context for generating this wiki page:
The ChapterMaster project is a strategic management simulation where players oversee a Space Marine Chapter. "Getting Started" involves configuring the foundational data structures that define a Chapter, including its biological profile, initial fleet composition, and specialized squad layouts. This process is driven by JSON-based configuration files that determine everything from Chapter Master traits to specific weapon loadouts for "Kill Teams."
Additionally, developers and contributors use automated tools like the Gobo GML Formatter to maintain code consistency across the project's codebase.
Sources: datafiles/main/chapters/33.json, run_gobo.ps1:4-10
Environment Setup & Code Formatting
To ensure code quality and consistency, the project utilizes Gobo, a GML (GameMaker Language) formatter. Developers can initialize the formatting environment using the provided PowerShell script.
Automated Formatter Setup
The run_gobo.ps1 script automates the retrieval and execution of the formatter. It checks for the existence of gobo.exe and, if missing, fetches the latest release from the GitHub repository EttyKitty/Gobo.
Sources: run_gobo.ps1:4-5, run_gobo.ps1:24-40
The following diagram illustrates the automation logic for the development environment setup:
The script specifically excludes directories such as .git, .svn, and prefabs while targeting all *.gml files.
Sources: run_gobo.ps1:7-10, run_gobo.ps1:51-54
Chapter Definition
Chapters are the primary entities in the game. Each Chapter is defined by a unique JSON file located in datafiles/main/chapters/. These files contain metadata, visual livery data, and starting bonuses.
Core Chapter Metadata
The foundation of a Chapter includes its origin, founding chapter, and mechanical attributes like stability and purity.
| Attribute | Description | Values/Range |
|---|---|---|
origin | The source of the Chapter. | 1: Founding, 2: Successor, 3: Other, 4: Custom |
strength | Initial Chapter power. | 1-10 |
purity | Resistance to corruption. | 1-10 |
stability | Social/Genetic stability. | 1-99 |
fleet_type | Operational base. | 1: Homeworld, 2: Fleet Based, 3: Penitent |
Sources: datafiles/main/chapters/37.json:6-14, datafiles/main/chapters/35.json:6-14
Advantages and Disadvantages
Chapters are further customized via advantages and disadvantages, which map to effects defined in chapter_advantages.json. For example, the "Ambushers" advantage provides a 30-point bonus to attack at the start of a battle.
Sources: datafiles/main/chapters/36.json:34-45, datafiles/main/chapter_advantages.json:2-6
Military Organization & Unit Stats
Starting a game requires the generation of the Chapter's military hierarchy, from the Chapter Master down to individual tactical squads.
The Chapter Master
The Chapter Master is the lead unit, defined by specific traits and equipment. By default, all Chapter Masters possess the Lead by Example trait.
Sources: datafiles/main/chapters/37.json:164-177, datafiles/data/unit_stats.json:2-37
The relationship between Chapter hierarchy and individual unit statistics.
Sources: datafiles/main/chapters/37.json:164-180, datafiles/data/unit_stats.json:181-213
Specialized Squad Layouts (Custom Squads)
Some chapters, like the Deathwatch, use "Kill Teams" instead of standard company structures. These are configured using a custom_squads object that defines roles, minimum/maximum unit counts, and mandatory equipment.
Sources: datafiles/main/chapters/33.json:266-310
Example configuration for an Aquila Kill Team:
- Role: Veteran (4-9 units).
- Required Loadout: Stalker Pattern Bolter (Wep1), Combat Knife (Wep2).
- Sergeant: Aquila Watch Sergeant (1 unit) with Power Sword and Infernus Pistol.
Sources: datafiles/main/chapters/33.json:271-332
Technology and Forging
To equip units, the Chapter must possess the necessary technologies. The technologies.json file defines the requirements for forging specific gear categories.
| Technology ID | Display Name | Purpose |
|---|---|---|
flame_1 | Promethium Tank Brazing | Enables flame-based weaponry. |
melta_1 | Atomic Chamber Construction | Enables anti-armor melta weapons (Requires flame_1). |
plasma_1 | Plasma Coil Magnetization | Enables plasma-based weapons. |
power_1 | Disruption Field Generation | Enables power-melee weapons and shields. |
Sources: datafiles/data/technologies.json:28-76
Summary
Getting started with ChapterMaster requires a combination of environment preparation via PowerShell automation and meticulous data configuration. By defining Chapter metadata, advantage/disadvantage profiles, and custom squad structures in JSON, developers can create diverse gameplay experiences reflecting the complex lore of the setting.
Sources: run_gobo.ps1:1-20, datafiles/main/chapters/33.json:1-50