Een handleiding voor het maken van aangepaste Incursion Defense-kaarten in Wildermyth en een algemene handleiding voor het gebruik van de Site Editor. Deze tutorial gaat specifiek over Incursion Defense-kaarten, maar bevat voldoende algemene kennis die nuttig zou moeten zijn voor iedereen die de site-editor wil leren kennen.
Sitelab
Laten we om te beginnen de editor openen door naar Tools > Editor openen in het hoofdmenu te gaan en vervolgens Site Lab te selecteren in het editormenu. Voordat we verder gaan in de Site Editor, laten we onze nieuwe mod maken door Mods te selecteren in de rechterbovenhoek en vervolgens op Create New Mod te klikken.
Zodra je je mod hebt gemaakt, wordt deze automatisch geselecteerd in de mod-lijst. Klik op Bevestigen om af te sluiten.
De basislay-out van de Site Editor heeft een hoofdvenster waar u de kaart zelf kunt bekijken, en het linkerpaneel waar we de componenten van onze kaart kunnen manipuleren. Bovenaan dit paneel hebben we een verscheidenheid aan editor-opties, maar de enige waar we ons zorgen over maken is "Plan". Plannen zijn de specifieke gegevens over uw kaartlay-out en objectplaatsing. We gaan een nieuwe maken, dus klik op Nieuw gevecht (CTRL+N).
Ga je gang en voer een gedenkwaardige ID in voor je gevecht. Al het andere op dit scherm kan veilig worden uitgeschakeld of genegeerd. Zoals je later zult zien, is alle logica voor Incursion Defense-kaarten al voor ons afgehandeld.
Zodra je je gevecht hebt gemaakt, zoek je ernaar in de vervolgkeuzelijst Plan en selecteer je het.
Schakel ten slotte het selectievakje "Set Pieces" uit. Hierdoor worden de achtergrondobjecten uit de omgeving verwijderd, zodat ze ons zicht op de kaart niet belemmeren.
Opmerking: u kunt in de verleiding komen om "incursionDefense" te selecteren in de vervolgkeuzelijst Opmaak. Door het formaat te wijzigen, verandert de spellogica achter onze kaart in de editor. In het geval van incursionDefense, de spellogica negeert ons momenteel geselecteerde plan en kiest in plaats daarvan een willekeurig plan uit de incursionDefense-pool, wat betekent dat elke keer dat u de editor opnieuw rolt, deze een andere kaart laadt. Tijdens het bewerken moet het formaat op 'aanval' staan, zodat de spellogica onze bewerking niet verstoort.
Missieplan
Het missieplan is een weergave van onze kaartgegevens (als je technisch geneigd bent, is dit slechts een JSON-bestand). Voordat we onze kaart gaan bouwen, moeten we eerst een aantal instellingen regelen. Klik voorlopig op het min-pictogram naast het detailgedeelte om het samen te vouwen. We gaan ons concentreren op alles tussen "declaredRoles" en "extraInfo".
Als je deze instellingen niet begrijpt, is dat oké. Dit is slechts informatie die de game nodig heeft om onze kaart correct in te stellen.
Klik eerst op de knop Nieuw item naast gedeclareerdRoles. Er hoeft hier maar één optie te worden ingesteld, namelijk 'zelf'.
Klik vervolgens op de knop Nieuwe invoer onder verklaardeEncounterResults driemaal. Stel de opties in op:
0: nederlaag
1: overwinning
2: ontsnappen
Dit zijn de drie manieren waarop een Incursion Defense-missie eindigt: ofwel de helden verslaan alle vijanden, de vijanden verslaan alle helden, of de helden ontsnappen van de kaart zonder alle vijanden te doden.
Klik op skipDefaultPlots en zet het selectievakje op True. Aangezien de logica voor Incursion Defense-kaarten al bestaat, willen we niet dat andere logica zich ermee bemoeit.
Klik op de knop Nieuw naast extraInfo. Dit voegt een optie toe met de naam "incursionDefense". Stel dit in op waar. Deze optie is erg belangrijk; het voegt onze kaart toe aan de pool van incursion defense-kaarten waaruit het spel kiest wanneer de speler een stad verdedigt tegen een inval.
Onder de detailslijst kunnen we de verschillende functies toevoegen die deel uitmaken van onze kaart. In het volgende gedeelte gaan we dieper in op elk onderdeel, maar om te beginnen is er één detail dat we moeten toevoegen. Beweeg uw muis over details, klik vervolgens op "Nieuw detail ..." en voeg MapDetail_Plot toe. Onder aan de detaillijst heb je nu een optie met het label Plot {}. Vouw deze optie uit en klik op het veld plotId. Selecteer in de lijst die verschijnt M_incursionDefense als uw plot. Dit bevat alle logica die nodig is voor invalverdedigingskaarten.
Opmerking: houd er rekening mee dat als je mod wordt geladen tijdens het spelen van een campagne en je nog niet klaar bent met het bouwen van je incursion defense-kaart, de game een foutmelding geeft en je terugbrengt naar het hoofdmenu als deze kaart probeert te laden bij het verdedigen van een dorp. Zorg ervoor dat u uw mod in uw campagnes uitschakelt totdat deze klaar en klaar voor gebruik is!
Vloeren, muren, deuren
Met al onze voorbereidingen uit de weg, is het tijd voor de goede dingen! Op dit moment ziet uw editorvenster er waarschijnlijk ongeveer zo uit:
De nieuwe kaart wordt geleverd met een aantal veelgebruikte details, zoals vloeren, willekeurige landschappen en spawn-regio's. Laten we voorlopig alles verwijderen, behalve de vloer, muren en de plot die we zojuist hebben toegevoegd. Om een item te verwijderen, beweegt u uw muis erover en klikt u op de X-knop. We zullen deze later weer toevoegen.
U zult merken dat wanneer u deze items verwijdert, ze niet van de kaart verdwijnen. Dit komt omdat de kaart slechts één keer wordt gegenereerd, wanneer deze wordt geladen. Om de laatste wijzigingen te genereren, moeten we: Opnieuw spelen, ofwel door op de knop Opnieuw rollen in de linkerbovenhoek van de editor te klikken, of door op Ctrl+R te drukken.
Veel beter!
Vloer
Vouw het DrawFloor detail uit en klik op floorTiles. Het raster dat in de editor verschijnt, toont u elke vloertegel op de kaart. Om meer toe te voegen, klikt u op een lege tegel of klikt u met de rechtermuisknop om een bestaande tegel te verwijderen. Als je shift ingedrukt houdt, kun je klikken en slepen om meerdere tegels te tekenen, en met de vervolgkeuzelijst linksboven in de editor kun je de grootte van het penseel instellen. Net als voorheen zijn eventuele wijzigingen die u aanbrengt pas zichtbaar als u de kaart opnieuw uitrolt.
Stel uw plattegrond samen zoals u dat wilt. Persoonlijk ziet de mijne er zo uit:
Druk op escape of klik nogmaals op de optie floorTiles om tekenen uit te schakelen.
Het is u misschien opgevallen dat het DrawFloor-detail een paar extra opties heeft. Meestal wilt u deze niet wijzigen omdat u wilt dat de vloer overeenkomt met het bioom, maar in sommige gevallen wilt u misschien de vloertextuur wijzigen (bijv. als u een andere vloer in een gebouw wilt toevoegen). Om dit te doen, selecteert u een van de lege vloerlagen en kiest u de gewenste textuur. Klik vervolgens met de muiscursor over de floorLayer op de tekenknop. Je kunt zelfs de textuur van die floorLayer omwisselen voor een aangepaste textuur, door een JPG op te nemen in Wildermyth\mods\ \activa\sites\afbeeldingen.
Muren
Muren worden op dezelfde manier getekend als vloeren. Vouw het detail DrawWalls uit, klik vervolgens op tegels en teken waar u uw muren wilt hebben. Net als vloeren, zullen de shortBiome-, midBiome- en tallBiome-presets het bioom gebruiken waarmee je kaart wordt gegenereerd, maar je kunt ook specifieke muren kiezen, afhankelijk van het gewenste effect. De meeste muurinstellingen mogen niet worden gewijzigd, maar opties zoals hasWallsCaps en isBoundary kunnen handig zijn. Beweeg de muisaanwijzer over elke optie om een beschrijving ervan te zien.
Als je meerdere soorten muren wilt, kun je voor elk muurtype extra DrawWalls-details maken. Om dit te doen, beweegt u de muisaanwijzer over de detailcategorie en selecteert u MapDetail_DrawWalls.
Deuren en deurkozijnen
Muren zijn geweldig om te voorkomen dat mensen (of monsters) door een gebied gaan, maar wat als we ze toch willen doorlaten? We kunnen dit doen met een ongelooflijke nieuwe technologie genaamd "Door". Voeg MapDetail_Door toe aan de detaillijst en klik vervolgens op locaties onder het item Deur om deuren te plaatsen. Door deuren op bestaande muren te plaatsen, wordt de muur automatisch verwijderd zodat de deur kan worden doorgelaten. Deuren kunnen een enkele tegel beslaan, of schalen om op meerdere tegels te passen (hoewel sommige deurstijlen een minimumafmeting hebben). De stijloptie bepaalt het uiterlijk van de deur, en net als muren, als u verschillende stijlen deuren wilt, kunt u meerdere MapDetail_Door-details maken.
Deuren hebben een aantal handige opties: met isOpen kun je de deur zo instellen dat deze al open is wanneer de missie begint. Vergrendeld zorgt ervoor dat spelers of monsters geen interactie kunnen hebben met de deur (dit kan worden gecombineerd met isOpen om een deur te maken die permanent open is).
Bliksem, Landschap, Lampen, Puin
Laten we, nu de basisstukken van je kaart op hun plaats zitten, kijken naar het toevoegen van details om de ruimte interessanter te maken.
De snelle manier
In het laatste deel heb je misschien wat muren geplaatst om een gesloten gebouw te maken. Met behulp van MapDetail_InteriorRegion kunnen we uw gebouw snel vullen met verlichting en landschap. Voeg eenvoudig MapDetail_InteriorRegion toe, selecteer tegels en schilder het gebied in uw gebouw.
Rol je kaart opnieuw uit...
En zo heeft uw gebouw binnenverlichting en willekeurig geplaatste landschappen! Maar we zijn nog niet klaar. Om te beginnen is het je misschien opgevallen dat er objecten zijn die niet overeenkomen met je beoogde structuur. We kunnen deze regelen met enkele van de instellingen van InteriorRegion.
Met veel van de opties in InteriorRegion kun je bepalen welk type landschap kan spawnen en hoe vaak, met behulp van een getal tussen 0.0 en 1.0. Als u bijvoorbeeld useMonsterScenery instelt op 0.0, betekent dit dat deze regio nooit landschapsobjecten voortbrengt die door monsters zijn gemaakt (zoals de blauwe Gorgon-tentakels). Pas deze instellingen naar wens aan en rol opnieuw om de wijzigingen te zien. Je kunt ook forbidLampsAndScenery gebruiken om te voorkomen dat objecten op bepaalde tegels spawnen terwijl je het effect van de binnenverlichting behoudt. Ten slotte kunt u forbidTheseSceneryAndLamps gebruiken om exacte stukken landschap te specificeren die u nooit willekeurig wilt selecteren.
Voor een nog snellere methode om binnenruimtes te creëren, kunt u MapDetail_House gebruiken. Voeg het detail toe aan je kaart, teken een rechthoek van zeven tegels breed en de editor zal direct een gezellig huisje creëren. Deze tool geeft veel minder controle dan andere methoden, maar de resultaten zijn erg snel.
Opmerking: de zijwanden van het huis worden bepaald door het detail van DrawWalls dat als eerste in de detailslijst staat. Om de stijl van de muren te wijzigen, maakt u een MapDetail_DrawWalls, stelt u de gewenste muurstijl in en klikt u vervolgens op de pijl omhoog op dat detail totdat het boven alle andere DrawWalls-details op uw kaart uitsteekt.
De geavanceerde manier
Met de bovenstaande opties kun je snel details aan je kaart toevoegen, maar er zijn extra opties voor degenen die meer specifieke controle willen. Voor verlichting kunt u MapDetail_DrawIndoorLighting gebruiken. Dit werkt op dezelfde manier als InteriorRegion, maar stelt je in staat om een specifieke hoeveelheid licht per tegel in te stellen.
Wanneer u tegels tekent met DrawIndoorLighting, ziet u bovenaan het scherm een schuifregelaar voor dekking. Hiermee kun je instellen hoeveel licht er op een bepaalde tegel wordt toegepast. U kunt ook over tegels heen tekenen om meer dekking aan die tegel toe te voegen (dwz als de dekking is ingesteld op 0.1, wordt door tweemaal op een tegel te klikken de dekking op 0.2 ingesteld).
Er zijn ook een aantal tools om decors en lampen te maken, met meer controle dan we in de vorige stap hadden. De meest diepgaande hiervan is MapDetail_RandomScenery. Voeg dit nu toe aan je kaart.
Opmerking: zorg ervoor dat u geen kaartdetails gebruikt met het woord 'Verouderd' ernaast. In termen van game-ontwikkeling betekent "Verouderd" dat deze optie niet langer wordt ondersteund en is vervangen door iets anders. Sommige van de verouderde kaarteditorfuncties zijn nog steeds aanwezig, maar deze tutorial zal zich alleen richten op degenen die nog steeds bedoeld zijn om te worden gebruikt.
De eerste instelling in RandomScenery is whereToSpawn, en er zijn drie opties:
- overal zal landschappen over de hele kaart voortbrengen.
- specifiek gebied laat je een gebied definiëren waar willekeurige landschappen kunnen spawnen (net als InteriorRegion)
- exacte locaties laat je specifieke tegels kiezen waar landschappen altijd zullen spawnen.
Deze tool lijkt erg op InteriorRegion zoals hierboven uitgelegd, maar bevat een paar extra opties. Het meest opvallende is dat je met sceneryDensity een getal tussen 0.0 en 1.0 kunt instellen om te bepalen hoeveel willekeurige landschappen in je spawn-gebied worden geplaatst. Er is ook de drawForbidScenery-instelling, waarmee je tegels kunt definiëren waar landschappen NIET mogen spawnen. Wees voorzichtig bij het gebruik van deze optie, want het blokkeert niet alleen de omgevingen gegenereerd door de huidige MapDetail, maar ook alle MapDetails onder de huidige in de detaillijst.
Hoe u uw landschap instelt, is aan u. Ter demonstratie heb ik een RandomScenery-detail toegevoegd om een interieurlandschap binnen mijn structuur te genereren, en een tweede RandomScenery-detail om een exterieurlandschap op alle buitentegels te genereren. Ik heb ook een pad met verboden tegels getekend door de belangrijkste rijstroken van de kaartlay-out om te voorkomen dat ze te rommelig worden.
Bovendien ga ik een RandomLamps-detail toevoegen om lampen in mijn structuur te spawnen, en een tweede RandomLamps-detail om wat buiten bij de deuren te spawnen. Dit werkt net als RandomScenery.
Onze kaart ziet er nu best goed uit! Maar voordat we verder gaan met het spawnen van regio's, laten we snel kijken naar puin.
Wat is puin? Nou, het is dit spul:
Hoewel het misschien niet belangrijk lijkt, kunnen sommige vaardigheden het in brand steken, en vuur verspreidt zich tussen puintegels, dus het heeft wel implicaties voor de gameplay. Met behulp van MapDetail_Debris kunnen we er enige controle over hebben. MapDetail_Debris geeft ons twee opties: globalDebrisChance en drawDebrisChance. De eerste is standaard ingesteld op 0.1 en kan daar meestal bij worden gelaten.
Met drawDebrisChance kunnen we tegels beschilderen met puin; vergelijkbaar met wanneer we verlichting tekenen, kan de dekking worden ingesteld om te bepalen hoe waarschijnlijk het is dat puin op die tegel zal spawnen. Dit is vooral handig wanneer u de indruk wilt wekken van iets dat is vernietigd (dwz een ingestort deel van een muur).
Alles over Spawn Regio's
SpawnRegions bepalen waar spelers en vijanden spawnen. Ze behandelen ook zaken als versterkingstegels en ontsnappingstegels.
Maak een SpawnRegion en stel tegels in op exactTiles, en teken vervolgens waar je wilt dat heldenpersonages spawnen. Om helden hier te laten spawnen, stelt u de rol in op "aanvaller" (hoewel dit misschien verkeerd lijkt voor een verdedigingsmissie, wordt de speler in alle missietypes altijd als de aanvaller beschouwd).
Je kunt ervoor kiezen om één groot, verbonden spawn-gebied of meerdere niet-verbonden gebieden te tekenen. Als je het laatste doet, zul je merken dat alle helden rond dezelfde groep tegels spawnen in plaats van zich naar ze allemaal uit te spreiden. Om dit op te lossen moet splitGroupsIntoSeparateRegions worden ingesteld op false. Dit lijkt ook contra-intuïtief, maar er lijkt een bug te zijn met speler-spawns waarbij splitGroupsIntoSeparateRegions het tegenovergestelde doet van wat het zegt.
Vijand spawnt
Maak vervolgens een andere SpawnRegion, stel tegels in op exactTiles en stel de rol in op verdediger. Dit wordt het spawngebied voor de vijanden. Klik vervolgens op de knop Dup op deze spawnRegion om deze te dupliceren. Stel de usePriority van de nieuwe spawnRegion in op 1. Hiermee kun je een spawn-gebied definiëren dat minder vaak moet worden gebruikt, alleen als er meer vijanden zijn dan spawn-gebieden.
Opmerking: de tooltip voor usePriority zegt dat: hoger prioriteit wordt eerst gebruikt. Hoewel dit geldt voor de meeste missietypen, zorgt een bug in incursion defense-missies ervoor dat het de tegenovergestelde volgorde gebruikt. Nul heeft de hoogste prioriteit en elk volgend nummer heeft een lagere prioriteit.
Versterkingen en ontsnapping
Wanneer er meer vijanden in een missie zijn dan redelijk is om te vechten, zullen die vijanden in reserve worden gehouden totdat enkele van de bestaande vijanden zijn gedood. Deze vijanden spawnen vanuit een SpawnRegion met het vertraagde Spawn-gebruik. Ga je gang en creëer nog een SpawnRegion, stel zijn rol in op verdediger en gebruik op vertraagdeSpawn. Deze gebieden moeten zich over het algemeen aan de rand van de kaart bevinden, redelijk ver weg van de spawns van de speler.
Als de helden het gevecht verliezen, hebben ze de mogelijkheid om zich terug te trekken door een ontsnappingstegel te bereiken. Maak een SpawnRegion met de rol ingesteld op aanvaller en het gebruik ingesteld op escape. Deze tegels bevinden zich meestal aan de rand van de kaart, en hun afstand tot de spawns van de speler bepaalt hoe moeilijk het voor een held is om ze te bereiken.
Opmerking: je kunt de optie drawForbidScenery in je RandomScenery-detail gebruiken om te voorkomen dat er landschappen bovenop deze tegels worden geplaatst.
Conclusie
Gefeliciteerd! Je kaart is klaar om te spelen! Voordat je die mod publiceert en aan de wereld vrijgeeft, enkele laatste gedachten:
- Test je kaart: het is belangrijk om een idee te krijgen van hoe je kaart aanvoelt om te spelen. Zelfs als het er vanuit de editor geweldig uitziet, kunnen er problemen zijn die je tegenkomt tijdens het spelen. Gebruik de Wildermyth Wiki-gids over testen om te leren hoe u ervoor kunt zorgen dat uw kaart in een campagne wordt weergegeven.
- Leer van de besten: alle kaarten die je in de game speelt, zijn beschikbaar in de editor. Als je een bepaald effect of een bepaalde situatie in een kaart hebt gezien die je in de jouwe wilt gebruiken, laad dan de bestaande kaart in de editor en ontdek het zelf. Het is ook gewoon een geweldige manier om te leren hoe de kaarten worden gemaakt; alles wat ik in deze tutorial heb geschreven, heb ik geleerd door naar de bestaande kaarten te kijken en die als referentie te gebruiken om mijn eigen kaarten te maken.
- Geef feedback: Als ik iets heb gemist, een fout heb gemaakt of als je nog vragen hebt, stel ze dan hieronder! Ik ben blij om deze handleiding bij te werken als ik iets kan doen om het nuttiger te maken.
Dat is alles wat we hiervoor vandaag delen Wildermythe gids. Deze handleiding is oorspronkelijk gemaakt en geschreven door Wracketier. Als we deze handleiding niet kunnen bijwerken, kunt u de laatste update vinden door deze te volgen link.