OPENTYRIAN2000 / ENHANCED
FR
Télécharger
OpenTyrian2000 Enhanced Edition · pour les créateurs

Tyrian : mods de vaisseaux, armes, ennemis et niveaux

Un mod est un dossier : un mod.json qui décrit ce que vous ajoutez ou modifiez, plus des sprites PNG et des fichiers de niveau en option. Pas de recompilation, pas de numéros d'ID à choisir.

Sur cette page

Ce qu'un mod Tyrian peut changer

Tout ce qui suit se décrit en simples données dans mod.json et des fichiers PNG. Le jeu recharge les mods aussitôt.

Armes

De nouveaux canons avant et arrière avec leurs propres niveaux de puissance, motifs de tir, dégâts et sprites, ou des copies d'armes d'origine. Les tirs peuvent transpercer les ennemis ou les traquer.

Vaisseaux, ailiers, boucliers, armes spéciales

Écrits de zéro ou copiés d'un objet d'origine, vendus dans la boutique ou placés dans l'équipement de départ.

Ennemis

Modifiez n'importe quel ennemi d'origine, ou créez-en de nouveaux avec des trajectoires pilotées par les données, un suivi du joueur et jusqu'à quatre tourelles.

Armes ennemies

Donnez à vos ennemis leurs propres motifs de tir, avec les mêmes champs que le niveau de puissance d'une arme du joueur.

Rencontres de niveau

Ajoutez des vagues d'ennemis à un niveau d'origine, ou remplacez toute sa liste d'événements. Les événements s'écrivent par nom.

Sprites

Remplacez n'importe quel sprite d'origine nommé, ajoutez-en de nouveaux, ou recolorez toutes les images d'un mod d'une seule teinte.

Pas encore modifiables : les cartes de niveau (tuiles), la musique, les effets sonores et la palette.

Un dossier, tout porte un nom

Les armes, vaisseaux, ennemis et sprites créés par un mod sont nommés par leur auteur, et le contenu d'origine qu'il copie ou modifie est lui aussi cité par son nom, par exemple "base": "Vulcan Cannon". Le moteur attribue lui-même chaque emplacement interne : vous ne choisissez jamais de numéro d'ID, et deux mods ne se disputent jamais le même.

my_mod/
  mod.json              required: "format_version": 1 and "name"
  README.md             optional: shown in Setup → Mods (1 KiB at most)
  levels/ep1_09.json    optional: events of a level
  sprites/shots/*.png   optional: images, cited by their file name

Un vrai mod.json

Voici l'exemple de référence Alien Pack, commentaires retirés. Il n'est pas dans le paquet du jeu : il se trouve dans rewrite/mods/_retired/alien_pack/ du dépôt. Il ajoute un vaisseau et quatre armes copiées d'armes d'origine, teinte en vert tous les PNG du mod et définit l'équipement de départ d'une nouvelle partie :

{
  "$schema": "../../mod.schema.json",
  "format_version": 1,
  "name":        "Alien Pack",
  "author":      "OpenTyrian2000 Team",
  "version":     "3.0",
  "description": "Green alien fleet — 4 stock weapons re-skinned via engine tint.",
  "tint":        "green",
  "enabled":     false,
  "ships": [
    { "name": "Xeno Vanguard", "base": "Gencore II", "ship_sprite": "xeno_vanguard", "always_available": true }
  ],
  "weapons": [
    { "name": "Alien Vulcan Cannon", "base": "Vulcan Cannon",          "always_available": true },
    { "name": "Alien Mega Cannon",   "base": "Mega Cannon",            "always_available": true },
    { "name": "Alien Bio Spreader",  "base": "Sonic Wave",             "always_available": true },
    { "name": "Alien Guided Orbs",   "base": "Heavy Missile Launcher", "always_available": true }
  ],
  "starter": {
    "ship":         "Xeno Vanguard",
    "front_weapon": "Alien Vulcan Cannon",
    "rear_weapon":  "Alien Guided Orbs"
  }
}

À côté, le dossier sprites/ du mod contient l'image du vaisseau (sprites/ships/xeno_vanguard.png), les icônes de la boutique et les tirs ; "tint" les recolore tous au chargement du mod. "$schema" est facultatif : il indique à votre éditeur le schéma JSON publié, pour l'autocomplétion et les erreurs en direct. Toute clé inconnue est signalée comme une erreur, si bien qu'une faute de frappe ne passe jamais inaperçue.

Installer un mod depuis un .zip

  1. Dans le jeu, ouvrez Options → Mods et choisissez Installer un mod (.zip), ou déposez le .zip sur la fenêtre du jeu pendant que ce menu est affiché.
  2. Le mod est copié dans votre dossier mods/ et apparaît dans la liste. Chaque mod est marqué ON, OFF ou ERR.
  3. Entrée active ou désactive le mod sélectionné ; Échap applique le changement, recharge aussitôt les mods et revient à l'écran-titre.

L'archive doit contenir mod.json à sa racine ou dans un unique dossier de premier niveau. Une archive qui écrirait en dehors de son dossier, ou un mod dont le dossier existe déjà, est refusé avec la raison affichée sur la ligne : pour mettre un mod à jour, supprimez d'abord son dossier. Ouvrir le dossier des mods ouvre ce dossier dans votre gestionnaire de fichiers, ce qui permet aussi d'y copier des dossiers de mods à la main.

Un mod défectueux affiche son erreur sur sa ligne au lieu de faire planter le jeu. Des limites protègent contre les fichiers non fiables : 32 mods au maximum, des fichiers PNG de 4 Mio et 2048 pixels de côté au plus, et quelques autres, listées sur la page limites et dépannage (en anglais).

L'éditeur de niveaux et Jouer à partir d'ici

Le dépôt inclut un éditeur de niveaux intégré à l'éditeur Godot. Son panneau Tyrian permet de choisir une ligne de départ sur la carte du niveau, puis d'ajouter un ennemi ici, d'exporter vers le mod, de générer le paquet .zip à partager et de jouer à partir d'ici, ce qui lance le niveau en avance rapide jusqu'à la ligne choisie pour tester une rencontre en quelques secondes.

L'éditeur de niveaux Godot ouvert sur un niveau de Tyrian, avec le panneau Tyrian à droite
Éditeur de niveaux · Panneau Tyrian · Jouer à partir d'ici

L'éditeur fonctionne à partir du code source : il faut d'abord compiler le jeu (voir docs/build.md), puis ouvrir le projet Godot. Vous n'en avez pas besoin pour créer un mod : les événements d'un niveau peuvent aussi s'écrire à la main dans levels/epN_NN.json. Cet exemple, tiré du guide des mods, ajoute deux ennemis au premier niveau de l'épisode 1 :

{ "episode": 1, "lvl_file_num": 9,
  "add_events": [ { "time": 300, "spawn": "my_drone", "x": 130 },
                  { "time": 300, "spawn": "tech_corridor_32", "x": "random", "link": 3 } ] }

add_events insère des événements dans la liste d'origine, events la remplace, et random_enemies remplace les ennemis aléatoires du niveau. time est la position de défilement affichée par l'éditeur. Tous les types d'événements sont listés sur la page Level events (en anglais).

Par où commencer

  • Copiez le modèle rewrite/mod_template/ du dépôt dans votre dossier mods/, renommez-le et modifiez son mod.json.
  • Ouvrez les cinq packs de mods du dossier mods/ du jeu (aussi dans rewrite/mods/ du dépôt) : deux packs de vaisseaux avec cinq poses dessinées par vaisseau, trois packs d'armes avec onze niveaux de puissance et leurs propres sprites de tirs.
  • Étudiez les exemples de référence dans rewrite/mods/_retired/ du dépôt (absents du paquet du jeu) : Alien Pack (objets copiés, teinte et équipement de départ), Example Behaviors (une nouvelle arme ennemie et un drone en zigzag avec une tourelle, ajoutés à un niveau) et Nova Weapons (trois armes écrites de zéro).
  • Suivez le tutoriel : votre premier niveau en une quinzaine de minutes, de l'ajout d'un ennemi au partage du .zip.

La référence des mods dans le wiki (en anglais)

Des questions, des bugs, des idées ?

Dites-nous ce que vous pensez de l’Enhanced Edition : nous lisons chaque message.

Écrivez-nous