Le basi di Portal: creazioni avanzate con lo strumento Portal SDK, Editor regole
10 ottobre 2025

La vostra visione, il nostro strumento Portal SDK e un'infinità di esperienze community possibili.
Per la prima volta nella storia della serie di Battlefield, apriamo ufficialmente il motore del nostro gioco in modo da permettere alla community di utilizzare un kit di sviluppo software ("Software Developer Kit", abbreviato in SDK) per creare le esperienze che desidera. Abbiamo visto l'incredibile lavoro che avete svolto con Battlefield 2042 e la nostra prima versione di Portal. Con lo strumento Portal SDK e la sua facoltà di modificare le mappe, nonché le aggiunte all'Editor regole dello strumento di creazione Portal (Portal Builder), non possiamo neanche immaginare che cosa ci aspetta.
Detto questo, l'idea qui non è fornire un vero e proprio corso semestrale di livello universitario per sviscerare ogni minimo dettaglio dello strumento SDK e della filosofia dietro la progettazione dei videogiochi. Questa guida descrive invece un primo approccio con lo strumento per creare un'esperienza personalizzata, fino all'esportazione della vostra mappa per l'utilizzo in Portal Builder e all'uso dell'Editor regole.
Installazione dello strumento Portal SDK
A differenza di Portal Builder, disponibile sul sito di EA, Portal SDK deve essere scaricato su un PC con Windows per poter essere utilizzato. Portal SDK include tutti i file necessari all'utilizzo degli strumenti di modifica del motore di gioco Godot per apportare modifiche spaziali ai livelli di gioco, nonché script di esempio per aiutarvi a creare le vostre regole di gioco personalizzate.
Potete scaricare lo strumento cliccando qui. È lo stesso link per il download fornito sul sito di Portal Builder.
Sconsigliamo fortemente di scaricare qualunque versione di Portal SDK da siti che non siano EA.com. Questa operazione può causare gravi problemi di sicurezza con il PC. Assicuratevi di scaricare lo strumento verificato di Portal SDK e tutti i relativi aggiornamenti solo da EA.com
Una volta scaricato lo strumento, aprite il file ReadMe per completare l'installazione. Dopodiché, aprite Portal SDK per seguire i passi descritti in questa guida alla creazione di un'esperienza:
Strumento Portal SDK - Breve guida alla modifica delle mappe

In alto: un esempio di mappa personalizzata creata con Portal SDK.
Per prima cosa, posizionate il mouse su "Scene" (Scena) nell'angolo in alto a sinistra dell'applicazione. Cliccateci sopra, quindi selezionate "Open Scene" (Apri scena) dal menu a tendina. Aprite la cartella "levels" (livelli) per visualizzare i nomi di tutte le mappe disponibili da modificare, poi scegliete la mappa da modificare.
Molto probabilmente, così facendo vi troverete sotto l'area di gioco della mappa. Nella finestra centrale che mostra l'ambiente digitale 3D, questi sono gli strumenti principali per muoversi nello spazio:
- Puntamento visuale - Fate clic destro, tenete premuto e trascinate il puntatore per orientare la visuale.
- Movimento - Usate i tasti W, A, S, D per muovervi su un piano bidimensionale (avanti, sinistra, indietro e destra) e la barra spaziatrice per muovervi verso l'alto, che è sempre a 90 gradi rispetto a dove state guardando.
- Aumentare o diminuire la velocità di movimento - Scorrete con la rotellina del mouse. In avanti, la velocità aumenta; all'indietro, rallenta.
All'apertura di un livello, tutti i suoi oggetti (edifici, ripari, strade e altro) si trovano in posizione predefinita, come comparirebbero in qualsiasi normale esperienza di Battlefield 6 verificata. Lo strumento Portal SDK viene utilizzato per apportare modifiche additive. Alcuni oggetti, come il terreno e gli edifici principali, non possono essere rimossi.
In fondo alla schermata si trova la Object Library (Raccolta oggetti): espandetela, poi cliccate sui puntini di sospensione (...) accanto alla funzione di ricerca della raccolta per generare la raccolta ("Generate Library"). In questo modo, otterrete maggiori dettagli su tutti gli oggetti che possono essere posizionati sulla mappa. Ora potete trascinare e lasciare questi oggetti sulla mappa. Nota: se avete già eseguito Portal Setup, questo passaggio non è necessario.
Premete "Q" per accedere a Select Mode (Modalità Selezione), che è la modalità principale per scegliere un oggetto da manipolare o spostare, poi premete "W" per spostare l'oggetto all'interno della mappa. Mentre un oggetto è selezionato, potete anche premere "E" per accedere a Rotate Mode (Modalità Rotazione), usando i tasti WASD per ruotare l'oggetto nella direzione desiderata. Se desiderate ingrandire o rimpicciolire un oggetto, guardate a destra del piano 3D per visualizzare la Inspector Window (Finestra di ispezione), da cui è possibile ridimensionare uniformemente l'oggetto. Il ridimensionamento non uniforme degli oggetti non è attualmente supportato.
Esportare e caricare online un livello in Portal Builder

Volete prendervi una pausa e completare la vostra creazione in seguito? Cliccate sulla scheda "Scene" (Scena) nell'angolo in alto a sinistra dell'applicazione, poi su "Save Scene" (Salva scena) per assicurarvi che i progressi vengano salvati.
Quando siete pronti a pubblicare la vostra creazione, cercate il pulsante "Export Current Level" (Esporta livello attuale) nella finestra in basso a destra ("BFPortal"). Cliccateci sopra, quindi cliccate su "Open Exports" (Apri export) nella stessa finestra per visualizzare la vostra creazione: il file .JSON è quello di cui effettuerete l'upload in Portal Builder dal vostro browser.
Accedete nuovamente a Portal Builder, se non l'avete già fatto, e selezionate un modello esistente per modificarlo oppure procedete con la creazione di una nuova esperienza.
Selezionate la scheda "Map rotation" (Rotazione mappe) e vedrete l'opzione per allegare il file .JSON. L'icona ha l'aspetto di una freccia che punta in basso verso una parentesi aperta. Individuate il file nella finestra di Esplora file, selezionatelo e cliccate su Apri. Ora dovreste vedere il vostro livello esportato in Portal Builder!
Editor regole in Portal Builder: modifica dell'interfaccia e scripting dell'IA

La funzionalità più avanzata di Portal Builder è l'Editor regole, disponibile solo per le esperienze community personalizzate. In modo simile a come funzionava in Battlefield 2042, ma con nuovi comandi, l'Editor regole basato sulla logica consente di collegare eventi e condizioni di gioco, come la morte di un utente o la distanza da una base, per attivare azioni specifiche.
Un esempio di "regola" è ciò che accade quando si prende un obiettivo in Conquista. Pensate all'ingresso nell'area dell'obiettivo: che cosa succede dopo? Innanzitutto, quando entrate nell'area di un obiettivo (evento o condizione) appare una ruota dei progressi (azione) e una voce fuori campo annuncia che state conquistando l'obiettivo (altra azione). Dopo un periodo di tempo preimpostato (una condizione), l'area dell'obiettivo viene conquistata (azione). Quindi, dal momento che l'obiettivo ora è passato sotto il controllo del vostro team (condizione), ottenete punti (azione ricorrente).
Semplice? L'Editor regole offre oltre 200 azioni per implementare un numero incalcolabile di combinazioni di script, con o senza bot. Come per tutte le altre schede dell'Editor regole, sono presenti suggerimenti da seguire. Fate clic destro su un blocco all'interno dell'Editor regole e poi cliccate su "Help" (Aiuto) per ulteriori informazioni.
Scripting dell'IA
Come una regola standard, i comportamenti dell'IA hanno i propri blocchi di condizione e azione che ne modificano il movimento, la logica di combattimento e altro ancora.
Per script di IA più complessi o modalità più complicate, si consiglia ai creatori di utilizzare TypeScript. Ecco un esempio di un semplice script di movimento dell'IA:
[[NOTA: poiché TypeScript usa parole chiave ispirate all'inglese, tutto il codice di esempio è in inglese. Se non riuscite a ottenere i risultati desiderati a causa di potenziali conflitti con altro codice nel vostro script, potreste dover modificare il codice esatto utilizzato.]]
//Questo genera un'unità IA scriptabile
function OnGameModeStarted() {
mod.SpawnAIFromAISpawner(mod.GetSpawner(1), mod.GetTeam(1));
}
//Questo è un semplice comportamento "Follow (Segui) " che indicherà all'IA di fermarsi e camminare verso la posizione di un altro soldato. async function simpleAIFollowBehavior(player: mod.Player, target: mod.Player) {
//Imposta la posizione del soldato IA su In piedi.
mod.AISetStance(player, mod.Stance.Stand);
//Imposta la velocità di movimento del soldato IA su Cammina.
mod.AISetMoveSpeed(player, mod.MoveSpeed.Walk);
//Mentre questa IA e il soldato bersaglio sono vivi, esegui questo ciclo che dice all'IA di spostarsi nella posizione del soldato bersaglio.
while (mod.GetSoldierState(player, mod.SoldierStateBool.IsAlive) == true && mod.GetSoldierState(target, mod.SoldierStateBool.IsAlive) == true) {
//Chiama AIMoveToBehavior sul bot IA e fallo spostare nella posizione del soldato bersaglio.
mod.AIMoveToBehavior(player, mod.GetSoldierState(target, mod.SoldierStateVector.GetPosition));
//Attendi 1 secondo.
await mod.Wait(1);
}
}
Lasciamo tutto ciò che va oltre questo script di esempio alla vostra progettazione. Non esiste un modo corretto per imparare lo sviluppo di videogiochi. Che decidiate di seguire corsi di game design e programmazione o di imparare da autodidatti e con i vari forum online, siamo certi che sarete in grado di creare un'esperienza personalizzata pazzesca.
Consigli rapidi dagli sviluppatori - Strumento Portal SDK e scripting

1. Entrate a far parte della community degli sviluppatori. Come in ogni community artistica, sviluppare videogiochi è più bello quando si interagisce positivamente con altri creatori. Questa guida è un ottimo punto di partenza per la modifica delle mappe, ma è sempre meglio affidarsi a sviluppatori con più esperienza per imparare. Partecipate alla community di sviluppo di Battlefield Portal, che trovate anche nel server Discord ufficiale, e non esitate a fare domande!
2. Verificate la logica (e gli allegati). Quando una regola nell'Editor regole non funziona, i due motivi più comuni sono i seguenti: uno dei blocchi (una regola, una condizione o un'azione) potrebbe non essere collegato al blocco Mod, oppure la logica della regola è impossibile (ad esempio, una condizione vera assegnata a due valori contraddittori). Controllate sempre attentamente questi aspetti prima di testare un'esperienza personalizzata.
3. Sperimentate. Sperimentate. Sperimentate. Il 99,9% delle volte, la prima mappa personalizzata o il primo script per l'IA non funzioneranno esattamente come previsto. Non scoraggiatevi; continuate a modificare e testare l'esperienza finché non sarà esattamente come l'avete immaginata.
4. Create per la community. Il game design fa spesso riferimento alla cosiddetta esperienza utente o UX (che sta per "user experience"). Intere lauree sono dedicate esclusivamente a questo concetto, ma in parole povere si tratta di cosa provano gli utenti quando giocano alla vostra esperienza personalizzata. Testare l'UX può essere semplice: chiedete a un amico, a un familiare o un altro membro della community di provare la vostra esperienza personalizzata. Invitatelo a giocare, prendete nota di ciò che trova difficile da capire o di quello che non stimola il suo divertimento. Poi, tenetene conto durante lo sviluppo del prodotto finale.