Introduction à Portal - Créations avancées via le gadget Portal, de l'outil de développement et de l'éditeur de règles
14 avril 2026
SOMMAIRE :

Votre vision, conjuguée à l’outil de développement de Portal, offre des possibilités infinies pour concevoir de nouvelles expériences de la communauté !
Pour la première fois dans l’histoire de la franchise Battlefield, nous ouvrons officiellement le capot de notre jeu pour permettre à notre communauté d’utiliser un kit de développement logiciel afin de créer les expériences auxquelles vous avez envie de jouer. Nous avons admiré le travail incroyable que vous avez accompli dans Battlefield 2042 grâce à notre première itération de Portal ; avec l’outil de développement de Portal et sa capacité à éditer les cartes, en plus des ajouts apportés à l’éditeur de règles dans l’éditeur Portal, nous avons hâte de découvrir ce qui nous attend.
Cela étant dit, nous n’avons pas l’intention de vous proposer un cours aussi fastidieux que chronophage pour couvrir les moindres détails de l’outil de développement et des concepts du game design. Ce guide vous aide en revanche à vous servir de l’outil pour réaliser votre première expérience personnalisée, en exportant votre carte personnalisée sur l’éditeur Portal et en utilisant l’éditeur de règles :
NOUVEAUTÉ DU LANCEMENT : Gadget Portal
Le gadget Portal est un outil équipable conçu pour les personnes créatives qui développent des expériences Portal personnalisées. Avec le gadget Portal, vous pouvez lier et déclencher une logique de gameplay personnalisée à des moments et des endroits précis de votre expérience personnalisée.
Fini le temps des solutions de contournement pour déclencher une logique personnalisée, comme « s'accroupir pour confirmer ». Le gadget Portal vous offre la flexibilité pour des interactions spécifiques avec les joueurs et les joueuses afin de créer des expériences dynamiques.
Il existe deux manières d'équiper et découvrir le gadget Portal : la première chaîne de texte l’offre directement aux joueurs et aux joueuses pour remplacer leur gadget actuel. La deuxième chaîne consiste à faire apparaître un gadget Portal à obtenir (ou à piller) avec la commande LootSpawner :
mod.AddEquipment(player,mod.Gadgets.Misc_PortalGadget);
mod.SpawnLoot(mod.GetLootSpawner(1), mod.Gadgets.Misc_PortalGadget);
De là, vous pouvez utiliser quelques commandes simples, comme…
... déclencher le gadget lorsqu'un joueur appuie sur la touche Zoom...
export function OnPortalGadgetAimStart(eventPlayer: mod.Player): void;
... ou le déclencher lorsqu'un joueur relâche la touche Zoom...
export function OnPortalGadgetAimStop(eventPlayer: mod.Player): void;
... ou peut-être déclencher le gadget lorsqu'un joueur ou une joueuse appuie sur la touche Appareil tactique (activer/désactiver lampe-torche/laser).
export function OnPortalGadgetLaserToggle(eventPlayer: mod.Player, eventBoolean: boolean): void;
Une fois que vous maîtrisez les bases, vous pouvez attribuer une logique personnalisée à votre gadget Portal pour qu'il fasse tout ce que votre imagination désire (dans les limites du raisonnable, des limites logiques et de la Charte de la communauté Battlefield). Par exemple, vous pouvez faire afficher un message qui apparaîtrait au-dessus de la mini-carte, en quatre étapes :
-
Demander au système d'évaluer si une ligne droite entre deux points est interrompue ou non. Utilisez OnRayCastHit et OnRayCastMissed pour lire le résultat.
- export function RayCast(player: Player, start: Vector, stop: Vector): void;
-
Ensuite, le code qui se déclenchera lorsqu'un rayon touche une cible.
- export function OnRayCastHit(eventPlayer: mod.Player, eventPoint: mod.Vector, eventNormal: mod.Vector): void;
-
Bien sûr, vous voulez le déclencheur pour le cas où un rayon serait appelé et ne toucherait aucune cible.
- export function OnRayCastMissed(eventPlayer: mod.Player): void;
-
Et enfin, la ligne de code qui affiche un message dans le journal monde au-dessus de la mini-carte pendant 6 secondes. Si aucune cible n'est spécifiée, le message s'affichera pour tout le monde (d’où l’intérêt de ce mécanisme de sécurité).
- export function DisplayHighlightedWorldLogMessage(message: Message, player: Player): void;
Vu le nombre de créations Portal uniques réalisées depuis le lancement, nous avons hâte de voir ce que notre communauté va faire avec ce nouvel outil gadget Portal!
Installation de l’outil de développement de Portal
Contrairement à l’éditeur Portal, disponible via le site Internet d’EA, vous devez télécharger le programme logiciel de l’outil de développement de Portal sur un PC Windows pour pouvoir l’utiliser. Le kit de développement Portal inclut tous les fichiers nécessaires à l’utilisation des outils Godot d’édition de jeu pour procéder à des modifications spatiales des niveaux du jeu et d’autres exemples de scripts pour vous permettre de commencer à créer vos propres règles du jeu personnalisées.
Nous ne recommandons ni ne tolérons que vous téléchargiez une quelconque version de l’outil de développement de Portal ailleurs que sur le site Internet EA.com officiel. Cela pourrait engendrer de graves problèmes de sécurité pour votre PC. Téléchargez l’outil de développement de Portal vérifié, ainsi que ses mises à jour, uniquement sur EA.com.
Après avoir téléchargé l’outil, ouvrez le fichier LisezMoi pour terminer l’installation. Ensuite, ouvrez-le et suivez les instructions pour réaliser votre première expérience avec le kit de développement de Portal :
Outil de développement de Portal - Guide rapide de l’édition de cartes

Ci-dessus, vous trouverez un exemple de carte personnalisée créée avec l’outil de développement de Portal.
Tout d’abord, passez votre souris sur "Scène" dans le coin supérieur gauche de l’application ; cliquez dessus, puis sélectionnez "Ouvrir scène" dans le menu déroulant. Ouvrez le dossier "Niveaux" pour voir le nom de toutes les cartes modifiables, puis sélectionnez la carte que vous souhaitez éditer.
Vous vous trouverez probablement sous la zone jouable de la carte. Dans la fenêtre centrale affichant l’environnement 3D numérique, voici vos principaux outils pour circuler dans l’espace :
- Visée caméra ou "Regard" - Faites un clic droit, maintenez et faites glisser le curseur de votre souris pour orienter la caméra.
- Mouvement - Utilisez les touches Z, Q, S et D pour vous déplacer bidimensionnellement (vers l’avant, l’arrière, la gauche et la droite) et la barre d’espace pour vous déplacer "vers le haut", soit à 90 degrés au-dessus de votre regard.
- Augmenter ou réduire la vitesse de mouvement - Utilisez la molette de la souris : vers l’avant pour accélérer et vers l’arrière pour ralentir.
Lorsque vous ouvrez un niveau, tous ses éléments (bâtiments, abris, routes et autres) apparaissent par défaut dans la position qu’ils occuperaient dans une expérience Battlefield 6 vérifiée standard. Vous pouvez utiliser l’outil de développement de Portal pour effectuer des modifications additives, mais certains éléments, comme le terrain et les bâtiments-clés, ne peuvent pas être retirés.
Le bas de l’écran est consacré à votre bibliothèque d’objets : affichez-la puis cliquez sur les points de suspension (...) situées près de la fonction de recherche de la bibliothèque pour "Générer une bibliothèque". Vous obtenez ainsi plus d’informations sur l’ensemble des objets susceptibles d’être placés sur la carte. Il ne vous reste plus qu’à glisser-déposer ces éléments sur la carte. Remarque : si vous avez déjà lancé la configuration de Portal, cette étape n’est pas nécessaire.
Appuyez sur "A" pour accéder au mode de sélection, qui constitue votre action principale pour choisir un élément à manipuler ou à déplacer, puis sur "Z" pour déplacer l’élément sur la carte. Lorsqu’un élément est sélectionné, vous pouvez également appuyer sur "E" pour accéder au mode Rotation, puis utiliser les touches Z, Q, S et D pour faire pivoter l’élément dans la direction voulue. Si vous souhaitez agrandir ou réduire un élément, fiez-vous à la fenêtre d’inspection située à droite du plan 3D pour le faire de manière uniforme. La mise à l’échelle non uniforme des éléments n’est pas prise en charge actuellement.
Exportation et chargement de niveau dans l’éditeur Portal

Vous voulez faire une pause et terminer votre création plus tard ? Cliquez sur l’onglet "Scène" dans le coin supérieur gauche de l’application, puis sur "Sauvegarder scène" pour enregistrer votre progression.
Dès que vous voudrez publier votre création, cherchez le bouton "Exporter niveau actuel" dans la fenêtre située en bas à droite ("BFPortal"). Cliquez dessus, puis sur "Ouvrir exportations" dans la même fenêtre pour afficher votre création. Vous téléchargerez alors un fichier .JSON dans l’éditeur Portal sur le navigateur de votre choix.
Si ce n’est pas fait, connectez-vous à l’éditeur Portal, puis sélectionnez un modèle existant à modifier ou choisissez le processus de création d’une nouvelle expérience.
Sélectionnez l’onglet "Rotation des cartes" pour afficher l’option d’ajout de votre fichier .JSON, l’icône de téléchargement se composant d’une flèche orientée vers le bas sur un crochet ouvert. Trouvez votre fichier dans la fenêtre Explorateur de fichiers qui s’affiche, sélectionnez-le et cliquez sur Ouvrir. Votre niveau exporté devrait s’afficher dans l’éditeur Portal !
Éditeur de règles dans l’éditeur Portal : édition de l’interface et scripts d’IA

La fonctionnalité la plus avancée de l’éditeur Web Portal est l’éditeur de règles, qui n’est disponible que pour les expériences de la communauté personnalisées. Il fonctionne de la même manière que dans Battlefield 2042, mais avec de nouvelles commandes. L’éditeur de règles basé sur la logique vous permet d’associer des événements et des conditions de jeu, comme la mort d’un joueur ou d’une joueuse, ou la distance avec un QG, pour déclencher des actions spécifiques.
Voici un exemple de règle : que se passe-t-il lorsque vous capturez un objectif en mode Conquête ? Réfléchissez à votre entrée dans la zone d’objectif : que se passe-t-il ensuite ? Tout d’abord, lorsque vous pénétrez une zone d’objectif (événement ou condition), une roue de progression apparaît (action) et une voix indique que vous capturez l’objectif (autre action). Après un délai prédéfini (condition), la zone d’objectif est capturée (action). Ensuite, dès que la zone d’objectif est sous le contrôle de votre équipe (condition), vous gagnez des points (action récurrente).
C'est simple, non ? L’éditeur de règles compte plus de 200 actions, ce qui permet d’implémenter un nombre incalculable de combinaisons de script, avec ou sans bots. Comme pour tous les autres onglets de l’éditeur de règles, vous pouvez suivre les conseils des infobulles ; faites un clic droit sur un bloc dans l’éditeur de règles et cliquez sur "Aide" plus en savoir plus.
Scripts d’IA
La nouveauté dans l'éditeur de règles de l’éditeur Portal, ce sont les outils supplémentaires pour scripter des bots ou pour dire à vos forces de combat qui ne jouent pas ce qu’il faut faire et comment se comporter pendant le jeu. Il est essentiel de comprendre les bases de l'éditeur de règles pour la création de scripts d'IA personnalisés, car vous utiliserez « BehaviorTree » pour modifier leur logique par défaut.
Comme pour une règle standard, les comportements de l’IA possèdent leurs propres blocs d’actions et de conditions qui modifient leurs mouvements, leur logique de combat et bien plus encore.
Pour des scripts d’IA ou des modes plus complexes, nous recommandons aux créateurs et créatrices d’utiliser TypeScript. Voici un exemple de script d’IA de mouvement simple :
[[REMARQUE : étant donné que TypeScript est rédigé en anglais, tout le code de cet exemple est en anglais. Si vous n’obtenez pas les résultats escomptés en raison de conflits éventuels avec d’autres codes de votre script, vous devrez peut-être ajuster le code exact utilisé.]]
//This spawns a scriptable AI unit
function OnGameModeStarted() {
mod.SpawnAIFromAISpawner(mod.GetSpawner(1), mod.GetTeam(1));
}
// This is a simple "Follow" behavior that will tell the AI to Stand and Walk to another player's location. async function simpleAIFollowBehavior(player: mod.Player, target: mod.Player) {
// Définir le comportement du joueur contrôlé par l'IA sur "Se tenir debout".
mod.AISetStance(player, mod.Stance.Stand);
// Définir le comportement du joueur contrôlé par l'IA sur "Marcher".
mod.AISetMoveSpeed(player, mod.MoveSpeed.Walk);
// Si cette IA et le joueur cible sont en vie, activez cette boucle qui ordonne à l'IA de se déplacer jusqu'à la position du joueur cible.
while (mod.GetSoldierState(player, mod.SoldierStateBool.IsAlive) == true & & mod.GetSoldierState(target, mod.SoldierStateBool.IsAlive) == true) {
// Appliquer AIMoveToBehavior au bot contrôlé par l'IA pour qu'il se déplace vers la position du joueur cible.
mod.AIMoveToBehavior(player, mod.GetSoldierState(target, mod.SoldierStateVector.GetPosition));
// Attendre pendant 1 seconde.
await mod.Wait(1);
}
}
Au-delà de cet échantillon de script, à vous de poursuivre votre conception. Il n’existe pas qu’une seule façon d’apprendre le développement de jeu. Que vous décidiez de prendre des cours de game design et de codage, ou que vous préfériez progresser en expérimentant ou en vous renseignant sur des forums en ligne, nous ne doutons pas que vous parviendrez à concevoir une expérience personnalisée absolument fabuleuse.
Astuces rapides des développeurs - Outil de développement et script

1. Faites partie de la communauté des développeurs. Comme n’importe quelle communauté artistique, le développement de jeu est plus efficace quand vous interagissez de manière positive avec d’autres créateurs et créatrices. Si ce guide constitue une initiation très utile à l’édition de cartes, vous engrangerez bien plus de connaissances auprès de développeurs plus expérimentés. Impliquez-vous dans la communauté de développement de Battlefield Portal, notamment sur notre Discord officiel, et surtout n’ayez pas peur de poser des questions !
2. Vérifiez votre logique (et les accessoires). Lorsqu’une règle de l’éditeur de règles ne fonctionne pas, c’est sans doute pour l’une de ces deux raisons principales : un des blocs (une règle, une condition ou une action) ne peut pas être associé au bloc de mods ; ou votre logique de règle est inapplicable, par exemple si une condition est assignée à deux valeurs contraires. Vérifiez toujours trois fois avant de tester une expérience personnalisée.
3. Expérimentez. Expérimentez. Expérimentez. 99,9 % du temps, votre première carte personnalisée - ou votre IA scriptée - ne fonctionnera pas exactement comme vous le voulez. Ne vous découragez pas ! Continuez à éditer et tester vos créations jusqu’à ce que votre expérience corresponde exactement à votre vision.
4. Créez pour la communauté. On parle souvent du game design comme de l’"expérience utilisateur". Il existe même des diplômes dédiés à ce concept mais, pour faire simple, il s’agit de ce que ressentent les autres joueurs et joueuses en évoluant au sein de votre expérience personnalisée. Pour tester votre expérience utilisateur, vous pouvez tout simplement faire appel à un(e) ami(e), un membre de votre famille ou de la communauté et lui demander de jouer à votre expérience personnalisée. Il vous suffit de l’inviter dans le jeu pour jouer, de relever les difficultés ou les barrières qui réduisent son plaisir de jouer, et de les prendre en compte dans le développement de votre produit final.