Infos modding
Un pack de cartes est un fichier .oamap, un mod un fichier .oamod, un mutateur un fichier .oamut, et un cerveau un fichier .oabrain : un zip avec un manifeste au sommet. Le jeu valide le manifeste, installe le paquet sous son identifiant et le joue selon les règles déclarées. Ce guide vous mène d'un dossier à une version du catalogue, et chaque chapitre renvoie au standard qu'il résume dans la documentation propre du moteur.
D'un dossier au jeu d'un joueurcarte de flux interactive
Anatomie d'un pack de cartes
Le zip .oamap, son manifeste oamap.yaml, l'index des cartes écrit par l'empaqueteur, et comment la taille et les éléments d'une carte décident si elle convient à un jeu.
GitHub ·docs/maps/oamap-standard.md02Anatomie d'un mod
Le zip .oamod et le profil oamod.yaml : identité, disposition, limites, clés de données, extensions de script et les règles standard qu'il active.
GitHub ·docs/mods/oamod-standard.md03Créer un mutateur
Un petit .oamut posé sur le jeu de base ou n'importe quel mod : le dossier, le manifeste, le plan que mutate renvoie, les options, le bac à sable et l'ordre d'une pile.
GitHub ·docs/mutators/oamut-standard.md04Exemples Lua
Six scripts qui tournent, tirés de vrais paquets : une règle, une mise à l'échelle avec des bornes, un camp, un hook d'unités qui peut refuser la partie, un hook d'éléments et un plan de fichiers à dossiers empilés.
GitHub ·docs/mutators/oamut-standard.md#61-the-lua-forms05Porter un mutateur ancien
KroggyComm 1.1, de ses archives à un paquet, et un fichier de règles TA: Mutation gardé avec sm ou réécrit en Lua.
GitHub ·docs/mutators/authoring.md#15-importing-a-ta-mutation-mutator06Vérifier, empaqueter et publier
oa-tool mutator check et pack, un essai à blanc, ce que montre la page du catalogue, l'icône et comment proposer le paquet à Core Prime.
GitHub ·docs/mutators/authoring.md#1-a-first-mutator07Créer un cerveau
Un .oabrain qui joue un siège ordinateur : le dossier, chaque clé du manifeste, les étiquettes, les niveaux, la vue complète, où le script tourne, les budgets, et ce qui arrive quand il s'arrête.
GitHub ·docs/brains/oabrain-standard.md08Le Lua du cerveau
Le manifeste et le script de Steady Commander, les hooks, ce qu'un cerveau peut savoir et faire, les nombres, les tirages aléatoires, les minuteurs et le chat.
GitHub ·docs/brains/oabrain-standard.md#7-what-a-brain-may-know09Classic, un exemple développé
Le joueur ordinateur intégré écrit en Lua : ses fichiers, la table des tâches, une tâche, les notes de bizarrerie, ce qui reste dans le moteur, et comment les mêmes ordres sont prouvés.
GitHub ·docs/brains/authoring.md#13-classic-a-walkthrough10Réseaux appris
Pourquoi un cerveau embarquerait un .oann, l'arithmétique entière, les couches, en faire tourner un, oa-tool brain net, les limites, et ce que montre la Bibliothèque.
GitHub ·docs/brains/oabrain-standard.md#9-neural-networks11Vérifier, empaqueter et publier un cerveau
oa-tool brain pack et check, une partie sans interface et une trace, la vérification de la Bibliothèque et le journal du siège, le type oabrain du catalogue, et comment proposer le paquet à Core Prime.
GitHub ·docs/brains/authoring.md#11-testing12Règles standard
Les règles documentées qu'un profil peut activer, chacune avec sa clé, ses valeurs et le comportement d'origine. Les règles de simulation doivent coïncider entre joueurs.
GitHub ·docs/mods/standard-hacks13Extensions de script
Les valeurs qu'un profil peut fournir aux scripts d'unités d'un mod, comme le nombre de victimes d'une unité ou les alliances de son propriétaire, avec la façon dont un script COB lit chacune.
GitHub ·docs/mods/script-extensions14Numéros et versions
Votre numéro de version est un texte libre jamais ordonné. packaging.revision augmente à chaque réempaquetage ; le catalogue numérote les versions. Ne réutilisez jamais un numéro et une révision avec d'autres octets.
GitHub ·docs/mods/oamod-standard.md#47-catalogue-releases15Publier sur Core Prime
Vérifier un paquet, le proposer à la bibliothèque de contenu, comment une version apparaît dans le catalogue et dans la Bibliothèque de chaque joueur, et comment tenir son propre registre.
GitHub ·docs/registriesDémarrage rapide : un pack de cartes
# un dossier, vos cartes dedans, un manifeste à la racine my-maps/ oamap.yaml Ridge.tnt Ridge.ota Long Lakes.tnt Long Lakes.ota # oamap.yaml oamap: 1 id: my-maps name: My Maps version: "1.0" author: {name: A. Mapper} packaging: {revision: 1, date: 2026-10-18, packager: A. Mapper} # valider et empaqueter ; l'index est écrit pour vous $ oa-tool pack my-maps/ -o my-maps.oamap
Démarrage rapide : un mod
# un mod qui relève la limite d'unités et active deux règles partagées oamod: 1 id: small-mod name: Small Mod version: "1.0" author: {name: A. Modder} packaging: {revision: 1, date: 2026-10-04, packager: A. Modder} limits: units-per-player: {default: 500, max: 1000} hacks: units.id-reuse-delay: true economy.deterministic-wind: true # tout ce que le fichier omet se joue comme en 3.1c $ oa-tool pack small-mod/ -o small-mod.oamod
Démarrage rapide : un mutateur
# Commander Radar, par Drinken : un dossier, le manifeste au sommet commander-radar/ oamut.yaml mutator.lua # mutator.lua : une règle ; l'option radar choisit la portée function mutate(ctx) local distance = ctx.options.radar == "none" and 0 or 2880 return { rules = { where { commander = 1, bmcode = 1 }:change { radardistance = set(distance), }, }, } end # empaquetez depuis l'extérieur du dossier, puis vérifiez le .oamut $ oa-tool mutator pack commander-radar $ oa-tool mutator check commander-radar-1.oamut
Démarrage rapide : un cerveau
# Steady Commander : un dossier, le manifeste au sommet steady-commander/ oabrain.yaml brain.lua # oabrain.yaml oabrain: 1 id: steady-commander name: Steady Commander version: "1.0" author: name: Ridge Workshop description: "Builds a little economy, then a factory, and sends a squad when it is ready." tags: - economy - teaching works-with: - "*" # empaquetez le dossier, puis vérifiez le .oabrain contre un jeu $ build/oa-tool brain pack brains/examples/steady-commander --out /tmp/brain-scratch/steady-commander.oabrain $ build/oa-tool brain check /tmp/brain-scratch/steady-commander.oabrain --game-dir "$OA_GAME_DIR"