Wildermyth: come creare una mappa di difesa dall'incursione

Una guida alla creazione di mappe personalizzate di Difesa contro le incursioni in Wildermyth e una guida generale per l'utilizzo dell'editor del sito.

 

Introduzione

Mentre si lavora sul mio Pacchetto Difesa Incursione mod Non sono riuscito a trovare un sacco di risorse su come funziona l'editor di mappe in Wildermyth. Il canale Youtube ufficiale ha un video (che consiglio di guardare), ma l'editor ha molte stranezze che non sono immediatamente chiare ai nuovi utenti. Dato che stavo anche realizzando specificamente mappe di Incursion Defense, avevo bisogno di sapere come funzionavano rispetto alle mappe normali. Questo tutorial riguarda specificamente le mappe di Incursion Defense, ma includerà conoscenze generali sufficienti che dovrebbe essere utile a chiunque voglia fare i conti con l'editor del sito.

Laboratorio del sito

Per iniziare, apriamo l'editor navigando su Strumenti > Apri editor nel menu principale, quindi selezionando Site Lab dal menu dell'editor. Prima di andare oltre nell'Editor del sito, creiamo la nostra nuova mod selezionando Mod nell'angolo in alto a destra, quindi facendo clic su Crea nuova mod.


Una volta creata la tua mod, verrà automaticamente selezionata nell'elenco delle mod. Fare clic su Conferma per uscire.

Il layout di base dell'Editor del sito ha una finestra principale in cui visualizzare la mappa stessa e il pannello di sinistra in cui possiamo manipolare i componenti della nostra mappa. Nella parte superiore di questo pannello, abbiamo una varietà di opzioni dell'editor, ma l'unica di cui ci occupiamo è "Pianifica". I piani sono i dati specifici sul layout della mappa e sul posizionamento degli oggetti. Ne creeremo uno nuovo, quindi fai clic su New Fight (CTRL+N).


Vai avanti e inserisci un ID memorabile per il tuo combattimento. Tutto il resto su questa schermata può essere tranquillamente disabilitato o ignorato. Come vedrai più avanti, tutta la logica per le mappe di Incursion Defense è già gestita per noi.

Una volta creato il combattimento, cercalo nel menu a discesa Piano e selezionalo.

Infine, deseleziona la casella di controllo "Set Pieces". Questo rimuoverà gli oggetti di sfondo dall'ambiente in modo che non oscurino la nostra visione della mappa.

Nota: potresti essere tentato di selezionare "incursionDefense" dal menu a discesa Formato. La modifica del formato cambierà la logica di gioco dietro la nostra mappa nell'editor. Nel caso di incursionDefense, la logica del gioco ignora il nostro piano attualmente selezionato e invece sceglie un piano casuale dal pool di incursionDefense, il che significa che ogni volta che rilasci l'editor verrà caricata una mappa diversa. Durante la modifica, il formato dovrebbe essere lasciato su "assalto" in modo che la logica di gioco non interferisca con la nostra modifica.

Piano di missione

Il piano di missione è una rappresentazione dei dati della nostra mappa (se sei incline alla tecnica, questo è solo un file JSON). Prima di immergerci nella costruzione della nostra mappa, abbiamo alcune impostazioni iniziali di cui occuparci. Per ora, fai clic sull'icona meno accanto alla sezione dei dettagli per comprimerla. Ci concentreremo su tutto, tra "dichiarati ruoli" e "extraInfo".


Se non capisci queste impostazioni, va bene. Queste sono solo informazioni di cui il gioco ha bisogno per impostare correttamente la nostra mappa.

Innanzitutto, fai clic sul pulsante Nuova voce accanto a ruoli dichiarati. È necessario impostare solo un'opzione qui, che è "auto".

Quindi, fai clic sul pulsante Nuova voce in DeclarationEncounterResults tre volte. Imposta le opzioni su:

0: sconfitta
1: vittoria
2: fuga

Questi sono i tre modi in cui termina una missione di Difesa da incursione: o gli eroi sconfiggono tutti i nemici, i nemici sconfiggono tutti gli eroi o gli eroi scappano dalla mappa senza uccidere tutti i nemici.

Fare clic su skipDefaultPlots e impostare la casella di controllo su True. Poiché la logica per le mappe di Incursion Defense esiste già, non vogliamo che nessun'altra logica interferisca con essa.

Fare clic sul pulsante Nuovo accanto a extraInfo. Questo aggiungerà un'opzione denominata "incursionDefense". Impostalo su vero. Questa opzione è molto importante; aggiunge la nostra mappa al pool di mappe di difesa dall'incursione da cui il gioco sceglie quando il giocatore difende una città da un'incursione.

Sotto l'elenco dei dettagli, possiamo aggiungere le varie caratteristiche che compongono la nostra mappa. Nella prossima sezione entreremo più in dettaglio su ciascuno di essi, ma per cominciare c'è un dettaglio che dobbiamo aggiungere. Sposta il mouse sui dettagli, quindi fai clic su "Nuovo dettaglio..." e aggiungi MapDetail_Plot. Nella parte inferiore dell'elenco dei dettagli, ora avrai un'opzione denominata Plot {}. Espandi questa opzione e fai clic sul campo plotId. Nell'elenco visualizzato, seleziona M_incursionDefense come trama. Questo contiene tutta la logica necessaria per le mappe di difesa dall'incursione.

Nota: tieni presente che se la tua mod è caricata durante una campagna e non hai finito di costruire la tua mappa di difesa dall'incursione, il gioco genererà un errore e ti riporterà al menu principale se tenta di caricare questa mappa durante la difesa di un cittadina. Assicurati di disabilitare la tua mod nelle tue campagne finché non è finita e pronta per l'uso!

Pavimenti, Pareti, Porte

Con tutta la nostra preparazione fuori mano, è il momento delle cose buone! In questo momento, la finestra dell'editor sarà probabilmente simile a questa:


La nuova mappa include un paio di dettagli di uso comune, come piani, scenari casuali e regioni di spawn. Per ora, eliminiamo tutto tranne il pavimento, i muri e la trama che abbiamo appena aggiunto. Per eliminare una voce, sposta il mouse su di essa e fai clic sul pulsante X. Li aggiungeremo di nuovo in seguito.

Noterai che quando elimini queste voci, non scompaiono dalla mappa. Questo perché la mappa viene generata solo una volta, una volta caricata. Per generare le ultime modifiche, è necessario Ritirare, facendo clic sul pulsante Ripeti nell'angolo in alto a sinistra dell'editor o premendo Ctrl+R.


Molto meglio!

Pavimento

Espandi il dettaglio DrawFloor e fai clic su floorTiles. La griglia che appare nell'editor mostra ogni piastrella del pavimento nella mappa. Per aggiungerne altri, fai clic su un riquadro vuoto o fai clic con il pulsante destro del mouse per rimuovere un riquadro esistente. Tenere premuto Maiusc ti consentirà di fare clic e trascinare per disegnare più tessere e il menu a discesa in alto a sinistra dell'editor ti consentirà di impostare la dimensione del pennello. Come prima, tutte le modifiche apportate non saranno visibili fino a quando non eseguirai nuovamente il rollio della mappa.

Costruisci la tua planimetria come preferisci. Personalmente il mio si presenta così:


Premi Esc o fai di nuovo clic sull'opzione FloorTiles per disabilitare il disegno.

Potresti notare che il dettaglio DrawFloor ha alcune opzioni aggiuntive. Per lo più non vorrai cambiarli perché vuoi che il pavimento corrisponda al bioma, ma in alcuni casi potresti voler cambiare la struttura del pavimento (ad esempio se vuoi aggiungere un piano diverso all'interno di un edificio). Per fare ciò, seleziona uno dei floorLayers vuoti e scegli la texture che desideri. Quindi, con il cursore del mouse sul floorLayer, fare clic sul pulsante di disegno. Puoi anche sostituire la texture di quel floorLayer con una texture personalizzata, includendo un JPG in Wildermyth\mods\ \risorse\siti\immagini.

Pareti

Le pareti sono disegnate allo stesso modo dei pavimenti. Espandi il dettaglio DrawWalls, quindi fai clic sulle piastrelle e disegna dove vuoi i tuoi muri. Proprio come i pavimenti, i preset shortBiome, midBiome e tallBiome utilizzeranno qualsiasi bioma con cui viene generata la mappa, ma puoi anche scegliere pareti specifiche a seconda dell'effetto desiderato. La maggior parte delle impostazioni del muro non dovrebbe essere modificata, ma opzioni come hasWallsCaps e isBoundary potrebbero essere utili. Passa il mouse su ciascuna opzione per vederne una descrizione.

Se desideri più tipi di pareti, puoi creare dettagli DrawWalls aggiuntivi per ogni tipo di parete. Per fare ciò, passa il mouse sulla categoria dei dettagli e seleziona MapDetail_DrawWalls.

Porte

I muri sono ottimi per impedire alle persone (o ai mostri) di attraversare un'area, ma cosa succede se vogliamo lasciarli passare comunque? Possiamo farlo con un'incredibile nuova tecnologia chiamata "Porta". Aggiungi MapDetail_Door all'elenco dei dettagli, quindi fai clic sulle posizioni sotto la voce Porta per posizionare le porte. Posizionando porte su muri esistenti rimuoverà automaticamente il muro in modo che la porta possa essere attraversata. Le porte possono occupare una singola tessera o ridimensionarsi per adattarsi a più tessere (sebbene alcuni stili di porta abbiano una dimensione minima). L'opzione di stile determina l'aspetto della porta e, come i muri, se desideri stili di porte diversi, puoi creare più dettagli MapDetail_Door.


Le porte hanno un paio di opzioni utili: isOpen ti consente di impostare la porta in modo che sia già aperta all'inizio della missione. Bloccato impedirà ai giocatori o ai mostri di interagire con la porta (questo può essere combinato con isOpen per creare una porta che sia permanentemente aperta).

Fulmini, paesaggi, lampade, detriti

Con i pezzi di base della tua mappa a posto, diamo un'occhiata all'aggiunta di dettagli per rendere lo spazio più interessante.

Il modo rapido

Nell'ultima sezione, potresti aver posizionato dei muri per creare un edificio recintato. Utilizzando MapDetail_InteriorRegion, possiamo popolare rapidamente il tuo edificio con illuminazione e scenografie. Aggiungi semplicemente MapDetail_InteriorRegion, seleziona i riquadri e dipingi l'area all'interno del tuo edificio.


Ripeti la mappa...


E proprio così, il tuo edificio ha l'illuminazione interna e uno scenario posizionato casualmente! Ma non abbiamo ancora finito. Per prima cosa, potresti aver notato che ci sono oggetti che non corrispondono alla struttura prevista. Possiamo controllarli con alcune delle impostazioni di InteriorRegion.

Molte delle opzioni in InteriorRegion ti consentono di controllare quale tipo di scenario può essere generato e con quale frequenza, utilizzando un numero compreso tra 0.0 e 1.0. Ad esempio, l'impostazione di useMonsterScenery su 0.0 significherà che questa regione non genererà mai oggetti scenici creati da mostri (come i tentacoli blu della Gorgone). Modifica queste impostazioni a tuo piacimento e ripeti il ​​roll per vedere le modifiche. Puoi anche utilizzare forbidLampsAndScenery per impedire la generazione di oggetti su determinate tessere pur mantenendo l'effetto di illuminazione interna. Infine, puoi usare forbidTheseSceneryAndLamps per specificare pezzi esatti di scenario che non vuoi mai selezionare casualmente.

Per un metodo ancora più veloce per creare spazi interni, puoi usare MapDetail_House. Aggiungi i dettagli alla tua mappa, disegna un rettangolo largo sette tessere e l'editor creerà immediatamente un accogliente cottage. Questo strumento offre molto meno controllo rispetto ad altri metodi, ma i risultati sono molto rapidi.

Nota: le pareti laterali della casa sono definite da qualunque dettaglio di DrawWalls venga prima nell'elenco dei dettagli. Per modificare lo stile dei muri, crea un MapDetail_DrawWalls, imposta lo stile del muro che desideri, quindi fai clic sulla freccia su su quel dettaglio finché non si sposta sopra tutti gli altri dettagli di DrawWalls nella tua mappa.

Il modo avanzato

Le opzioni di cui sopra ti permetteranno di aggiungere rapidamente dettagli alla tua mappa, ma ci sono opzioni aggiuntive per coloro che desiderano un controllo più specifico. Per l'illuminazione, puoi utilizzare MapDetail_DrawIndoorLighting. Funziona in modo molto simile a InteriorRegion, ma consente di impostare una specifica quantità di luce per piastrella.


Quando disegni le tessere con DrawIndoorLighting, noterai un cursore di opacità nella parte superiore dello schermo. Ciò ti consente di impostare la quantità di luce applicata a una piastrella specifica. Puoi anche disegnare sopra le tessere per aggiungere più opacità a quella tessera (cioè con l'opacità impostata su 0.1, facendo clic su una tessera due volte ne imposterà l'opacità su 0.2).

Ci sono anche una serie di strumenti per creare scenari e lampade, con un controllo maggiore rispetto al passaggio precedente. Il più approfondito di questi è MapDetail_RandomScenery. Aggiungilo ora alla tua mappa.

Nota: fai attenzione a non utilizzare alcun dettaglio della mappa con la parola "Deprecato" accanto ad esso. In termini di sviluppo del gioco, "Deprecato" significa che questa opzione non è più supportata ed è stata sostituita da qualcos'altro. Alcune delle funzioni deprecate dell'editor di mappe sono ancora presenti, ma questo tutorial si concentrerà solo su quelle ancora destinate ad essere utilizzate.

La prima impostazione in RandomScenery è whereToSpawn e ci sono tre opzioni:

  • ovunque genererà uno scenario sull'intera mappa.
  • area specifica ti consente di definire un'area in cui può generarsi uno scenario casuale (proprio come InteriorRegion)
  • posizioni esatte ti consente di scegliere tessere specifiche in cui lo scenario verrà sempre generato.

Questo strumento è molto simile a InteriorRegion come spiegato sopra, ma contiene alcune opzioni aggiuntive. In particolare, scenarioDensity ti consente di impostare un numero compreso tra 0.0 e 1.0 per controllare la quantità di scenario casuale posizionata nella tua area di spawn. C'è anche l'impostazione drawForbidScenery, che ti consente di definire le tessere in cui lo scenario NON dovrebbe generarsi. Fai attenzione a usare questa opzione, poiché bloccherà lo scenario generato non solo dal MapDetail corrente, ma anche da tutti i MapDetail sotto quello corrente nell'elenco dei dettagli.

Il modo in cui imposti il ​​tuo scenario dipende da te. A scopo dimostrativo, ho aggiunto un dettaglio RandomScenery per generare uno scenario interno all'interno della mia struttura e un secondo dettaglio RandomScenery per generare uno scenario esterno su tutte le tessere esterne. Ho anche tracciato un percorso di tessere proibite attraverso le corsie principali del layout della mappa per evitare che diventino troppo disordinate.

Inoltre, aggiungerò un dettaglio RandomLamps per generare lampade all'interno della mia struttura e un secondo dettaglio RandomLamps per generarne alcuni all'esterno vicino alle porte. Funziona proprio come RandomScenery.


La nostra mappa ora ha un bell'aspetto! Ma prima di passare alle regioni di spawn, diamo un'occhiata rapidamente a Debris.

Cosa sono i detriti? Bene, è questa roba:


Anche se potrebbe non sembrare importante, alcune abilità possono dargli fuoco e il fuoco si diffonderà tra le tessere di detriti, quindi ha implicazioni di gioco. Usando MapDetail_Debris, possiamo avere un certo controllo su di esso. MapDetail_Debris ci offre due opzioni: globalDebrisChance e drawDebrisChance. Il primo è predefinito a 0.1 e di solito può essere lasciato così. drawDebrisChance ci consente di dipingere le piastrelle con detriti; simile a quando disegniamo l'illuminazione, l'opacità può essere impostata per definire la probabilità che i detriti si generino su quella tessera. Questo è utile soprattutto quando si crea l'aspetto di qualcosa che è stato distrutto (ad esempio una sezione di muro crollata).

Tutto sulle regioni di spawn

SpawnRegions controlla dove si generano giocatori e nemici. Gestiscono anche cose come tessere di rinforzo e tessere di fuga.

Generazioni di giocatori

Crea una SpawnRegion e imposta le tessere su esattoTiles, quindi disegna dove vuoi che si generino i personaggi eroi. Per far apparire gli eroi qui, imposta il ruolo su "attaccante" (sebbene questo possa sembrare sbagliato per una missione di difesa, in tutti i tipi di missione il giocatore è sempre considerato l'attaccante).

Puoi scegliere di disegnare una grande area di spawn connessa o più aree disconnesse. Se fai quest'ultimo, noterai che tutti gli eroi si generano attorno allo stesso gruppo di tessere invece di diffondersi a tutti. Per correggere questo splitGroupsIntoSeparateRegions dovrebbe essere impostato su false. Anche questo sembra controintuitivo, ma sembra esserci un bug con gli spawn dei giocatori in cui splitGroupsIntoSeparateRegions fa l'opposto di ciò che dice.

Progenie nemiche

Quindi, crea un'altra SpawnRegion, imposta le tessere su esatteTiles e imposta il ruolo su difensore. Questa sarà l'area di spawn per i nemici. Quindi, fai clic sul pulsante Dup su questa regione di spawn per duplicarla. Imposta la priorità di utilizzo della nuova regione di spawn su 1. Ciò ti consentirà di definire un'area di spawn da utilizzare meno frequentemente, solo quando ci sono più nemici che aree di spawn.

Nota: il suggerimento per usePriority lo dice superiore la priorità viene utilizzata per prima. Sebbene ciò sia vero per la maggior parte dei tipi di missioni, un bug nelle missioni di difesa dall'incursione fa sì che utilizzi l'ordine opposto. Zero è la priorità più alta e ogni numero successivo ha priorità più bassa.

Rinforzi e fuga

Quando ci sono più nemici in una missione di quanto sarebbe giusto combattere, quei nemici saranno tenuti in riserva fino a quando alcuni dei nemici esistenti non saranno uccisi. Questi nemici verranno generati da una SpawnRegion con l'utilizzo di Spawn ritardato. Vai avanti e crea un'altra SpawnRegion, imposta il suo ruolo su defender e l'utilizzo su delaySpawn. Queste aree dovrebbero generalmente trovarsi attorno al bordo della mappa, ragionevolmente lontane dagli spawn del giocatore.

Se gli eroi stanno perdendo il combattimento, hanno la possibilità di ritirarsi raggiungendo una tessera fuga. Crea una SpawnRegion con il ruolo impostato su attaccante e l'utilizzo impostato su escape. Queste tessere si trovano spesso ai margini della mappa e la loro distanza dagli spawn del giocatore determinerà quanto sia difficile per un eroe raggiungerle.

Nota: puoi utilizzare l'opzione drawForbidScenery nei dettagli di RandomScenery per impedire che lo scenario venga posizionato sopra queste tessere.

Conclusione

Congratulazioni! La tua mappa è pronta per giocare! Prima di pubblicare quella mod e rilasciarla al mondo, alcune considerazioni finali:

  • Metti alla prova la tua mappa: È importante avere un'idea di come si sente la tua mappa durante il gioco. Anche se sembra fantastico dall'editor, potrebbero esserci problemi durante la riproduzione. Usa la guida Wiki di Wildermyth sui test per scoprire come garantire che la tua mappa appaia in una campagna. https://wildermyth.com/wiki/Testing
  • Impara dai migliori: Tutte le mappe che giochi nel gioco sono disponibili nell'editor. Se hai visto un certo effetto o una situazione in una mappa che vuoi usare nella tua, carica la mappa esistente nell'editor e guarda di persona. È anche solo un ottimo modo per imparare come sono fatte le mappe; tutto ciò che ho scritto in questo tutorial l'ho imparato guardando le mappe esistenti e usandole come riferimento per crearne di mie.
  • Lascia un feedback: Se mi sono perso qualcosa, o ho commesso un errore, o hai altre domande, chiedi pure qui sotto! Sono felice di aggiornare questa guida se c'è qualcosa che posso fare per renderla più utile.

Felice costruzione!

Lascia un tuo commento

ArabicEnglishFrenchGermanItalianJapaneseKoreanPortugueseSpanish