De commandantengids

Eigen kaarten en mods

Speel kaarten die je zelf maakt, deel ze met vrienden als je host en verander de spelregels: het .petalmap-formaat, elk veld, de controles en een voorbeeld.

Blader door de gids

Sinds Petalwar 0.5.29 kun je kaarten spelen die je zelf maakt en kaarten die andere spelers je geven. Host je een potje op zo’n kaart, dan stuurt het spel de kaart naar iedereen die meedoet. Een kaart kan ook een paar spelregels veranderen: hoe snel er gebouwd wordt, hoeveel je verdient, wat eenheden kosten en waarmee je begint. Het is de eerste stap naar mods. Sinds 0.5.30 heeft het spel ook een kaarteditor, willekeurige kaarten en de communitykaarten, en werken eigen kaarten in elk onderdeel van een potje: Change map in de lobby, replays en bewaarde gepauzeerde potjes.

Een eigen kaart is één klein tekstbestand waarvan de naam eindigt op .petalmap. Er zit geen level en geen artwork in, alleen een beschrijving: waar de bases staan, waar de rivier loopt, waar de meren, mesa’s, eilanden en stenen bruggen zijn, waar de extra kristalafzettingen liggen en waar de wegen lopen. Als het potje begint, bouwt het spel daaruit de grond, bossen, rotsen en bruggen, volgens dezelfde regels als zijn eigen kaarten. Een ingebouwde kaart die naar een bestand is geëxporteerd, speelt precies zoals het origineel.

Een eigen kaart spelen

  1. Open Skirmish, of Multiplayer en dan Host game.
  2. Scroll voorbij de ingebouwde kaarten naar het kopje Custom maps.
  3. Kies een kaart en begin zoals altijd.

Er komen twee voorbeeldkaarten met het spel mee: Foxtail Fork, met de hand geschreven, die ook alle vijf regels verandert, en Sedgewater Narrows, de ingebouwde kaart, geëxporteerd naar een bestand.

Je eigen kaarten gaan in je kaartenmap. Open folder onder het kopje Custom maps opent hem. Zet er .petalmap-bestanden in en druk op Rescan. Het spel maakt de map aan de eerste keer dat je die pagina opent.

Waar je kaartenmap staat
SpelKaartenmap
Mac, vanaf de schijfkopie~/Library/Application Support/Epic/Petalwar/Saved/Maps
Mac, een zip-build voor het team~/Library/Containers/com.petalwar.game/Data/Library/Application Support/Epic/Petalwar/Saved/Maps
Windows, vanaf de volgende build%LOCALAPPDATA%\Petalwar\Saved\Maps

Een kaart met een fout erin krijgt een rood kaartje dat zegt wat er mis is en waar (zie Controles en limieten). Sommige dingen werken anders op een eigen kaart:

Samen met vrienden spelen

Je hoeft het bestand naar niemand te sturen. Komt een vriend in je lobby, dan vraagt het spel van je vriend het jouwe om de kaart, en het jouwe stuurt hem over de eigen verbinding van het potje. Dat werkt op je thuisnetwerk en via petalwar.com als je speelt met de code van een potje. Het spel van je vriend controleert of het precies jouw bestand heeft ontvangen en bouwt dan de grond. Een kaart versturen duurt ongeveer een seconde.

Je eigen kaart maken

De makkelijkste manier is de kaartbouwer op deze site: teken de kaart, los op wat de controles aanwijzen en download het bestand naar je kaartenmap. Hij begint met een lege weide, met een van de twee voorbeelden, met elke communitykaart of met een willekeurige indeling, en hij opent elke .petalmap die je hebt. Wil je er liever met de hand een schrijven, kopieer dan een voorbeeld en pas het aan:

  1. Open je kaartenmap met Open folder.
  2. Kopieer FoxtailFork.petalmap uit de voorbeelden van het spel naar die map. Op een Mac staan ze in Petalwar.app/Contents/UE/Petalwar/Content/CustomMaps (rechtsklik op de app en kies Toon pakketinhoud), en op Windows in Petalwar\Content\CustomMaps naast het spel.
  3. Geef je kopie een andere naam, open hem in een editor voor platte tekst (TextEdit in de modus voor platte tekst, Kladblok, VS Code) en verander de "title".
  4. Bewerk hem, sla hem op en druk in het spel op Rescan.
  5. Klik op zijn kaartje. Het spel test de kaart meteen, en het kaartje wordt rood als hij niet speelt.

Een kaartbestand is strikte JSON. Zet tekst tussen "dubbele aanhalingstekens" en scheid items met komma’s, met geen komma na de laatste. Commentaar is niet toegestaan, decimalen krijgen een punt (1.5, nooit 1,5), en het bestand moet als UTF-8 zijn opgeslagen.

De indeling. Elke kaart is een vierkant van 8 km breed. Afstanden zijn in meters, en posities zijn paren [x, y], met [0, 0] in het midden. Gezien in het spel met het noorden boven (de minimap, de camera van een startplek die naar het noorden kijkt, de geschilderde kaarten) is +x links en −x rechts. Deze gids noemt links west en rechts oost, zoals op elke kaart: x loopt van +4000 aan de westrand (links) tot −4000 aan de oostrand (rechts), en y van −4000 aan de zuidrand (onder) tot +4000 aan de noordrand (boven). Bij de randen loopt de grond op tot kliffen, dus niets staat verder dan 3450 m naar het westen of oosten of verder dan 3675 m naar het noorden of zuiden.

De getallen in een bestand en de regels van het spel zijn dezelfde als in Petalwar 0.5.29; alleen de namen zijn veranderd (de gids van 0.5.29 noemde +x oost). De kaartbouwer tekent de kaart zoals het spel hem toont.

Wat elke kaart sowieso krijgt. Op elke startplek zet het spel de Heartbloom en zijn vijf bloembladen neer, de startgebouwen en het startleger, zes kristalafzettingen en een klein wegennet, allemaal gedraaid volgens de facing van de startplek. Rond elke basis maakt het een thuisweide van 360 m vlak. Het voegt ook bossen toe (weg van wegen, afzettingen, hellingen, water en weides), rotsen langs de oever, bloemen, wegstenen en voorraadkisten. Het waterpeil ligt op −8 m.

Alle velden

Alleen petalmap, title en seats zijn verplicht. Elk veld dat het spel niet kent, is een fout, zodat een verkeerd gespelde naam wordt opgemerkt in plaats van stilletjes genegeerd.

De velden op het hoogste niveau van een .petalmap-bestand
VeldWat het is
petalmapDe versie van het formaat: altijd 1.
titleDe naam in de menu’s, de lobby en de minimap, 1 tot 60 tekens. author (tot 60) en description (tot 400) zijn optioneel.
scenery"pine" (dennen- en sparrenbossen, de standaard) of "canopy" (loofbomen met brede kruinen, met rotspartijen langs de randen van de mesa’s).
mirroredNoisetrue spiegelt de kleine hobbels in de weide en de bossen door het midden, zodat een kaart voor twee spelers met tegenover elkaar liggende startplekken eerlijk is.
seats2 tot 8 startplekken, elk met een base-punt (binnen 3200 m van het midden), een facing, tot 24 extra deposits waar dan ook op de kaart, en tot 12 roads van 2 tot 64 punten. Bases moeten minstens 900 m uit elkaar liggen. Wegen zijn geschilderde zandpaden waar geen bomen op groeien; eenheden zoeken nog steeds zelf hun weg.
riverEén rivier dwars over de kaart, met bruggen. {} geeft de standaard: van noord naar zuid, kronkelend, drie bruggen. De velden zijn axis ("north-south" of "east-west"), de bochten amp1, period1, amp2 en period2, de halve breedte width, widthAmp en widthPeriod, en crossings (de posities van de bruggen langs de rivier; [] betekent geen). bridgeLengthScale rekt de bruggen op voor een brede rivier. Een brug ligt altijd over de middellijn van de kaart (gecentreerd op y = 0 bij een oost-westrivier, op x = 0 bij een noord-zuidrivier) en is 210 m lang bij schaal 1, dus zet elke oversteek waar de rivier die lijn kruist op een smal stuk: bij een veelvoud van period1 en period2 ligt de rivier weer op de lijn, en bij een veelvoud van widthPeriod is hij het smalst. Een brug die in het water eindigt, wordt geweigerd, met de lengte die hij nodig zou hebben.
lakeEén meer: center, radius (50 tot 3000 m), irregularity (0 rond, 1 baaien en landtongen) en shorePhase.
tributariesTot 12 kanalen op het waterpeil van de rivier, elk een line van punten met een halfWidth. Handig voor een inham voor een Naval yard, of een slotgracht.
outcropsTot 40 mesa’s met een platte top waarop je kunt bouwen: center, de stralen rx en ry, height (2 tot 120 m) en de kant van de ramp. De klif houdt voertuigen tegen, en één helling van 160 m klimt niet steiler dan 1 op 4. Houd de grond aan de voet vrij.
islandsTot 12 eilanden (center, rx, ry, phase). Eén eiland maakt van de rest van de kaart zee, dus elke basis en elke afzetting moet op een eiland liggen.
stoneSpansTot 12 hoge stenen viaducten van a naar b, 60 tot 6000 m lang, met een width en een height voor het dek. Schepen varen door de bogen. Laat beide uiteinden ruim binnen mesatoppen eindigen die precies even hoog zijn als het dek, anders kunnen voertuigen er niet op of af.
rulesHet moddeel: zie De regels veranderen.

Een waarde buiten het bereik wordt geweigerd, met het bereik waarin hij moet liggen, zodat de foutmelding je gaandeweg de grenzen vertelt.

De regels veranderen (mods)

Voeg een rules-object toe om het potje anders te laten spelen. Elke vermenigvuldiger gaat van 0.25 tot 4, en 1 verandert niets. De regels zijn hetzelfde voor elke speler en voor de ingebouwde AI.

De regels die een kaart kan veranderen
RegelWat hij verandert
buildTempoHoe snel bouwen, upgrades, raketten en de productie van fabrieken gaan. Bij 2 duurt alles half zo lang.
economyTempoAlle inkomsten: extractors, generatoren, converters.
unitCostDe prijs in materie en energie van elke eenheid, niet van gebouwen en niet de bouwtijden.
startingMatterDe materie waarmee je begint (normaal 900) en de opslag van je basis voordat je er meer bijbouwt (normaal 1.000).
startingEnergyDe energie waarmee je begint (normaal 2.400) en de opslag van je basis voordat je er meer bijbouwt (normaal 3.000).

Het kaartje van de kaart en de lobby laten zien wat de regels veranderen. Wil je een ingebouwde kaart met andere regels spelen, begin dan bij het geëxporteerde bestand (Sedgewater Narrows zit bij het spel) en voeg een rules-blok toe. Petalwar 0.5.30 voegt er nog zeven toe: unitHealth, unitDamage, unitSpeed, unitRange, structureCost, structureBuildTime en structureHealth, ook elk van 0.25 tot 4. De kaartbouwer heeft ze; Petalwar 0.5.29 weigert een bestand dat ze gebruikt, dus laat ze weg uit een kaart voor 0.5.29.

Controles en limieten

Als het spel je kaartenmap doorzoekt, leest het elk bestand en meldt het de eerste fout met regel en kolom, bijvoorbeeld a comma before } (trailing commas are not allowed) (line 12, column 3), of seats[0].bsae is not a field of seats[0] (spelling? the fields are: base, facing, deposits, roads).

Als je op een kaartje klikt, past het spel zijn regels toe op de kaart, wat ongeveer een halve seconde duurt. Elke brug moet aan beide uiteinden droge grond bereiken, elke thuisweide moet droog, open en vlak zijn, en elke extra afzetting moet op droge, redelijk vlakke grond staan die een engineer kan bereiken. Elke basis moet vanaf elke andere bereikbaar zijn, over land of over water. Een kaartje dat niet slaagt, zegt “Does not play:” en waarom. Het spel onthoudt de uitkomst van elk bestand, dus een ongewijzigd bestand wordt niet twee keer getest.

Een gast leest alleen de kaart die een host stuurt. Een kapot of opzettelijk schadelijk bestand wordt met een melding geweigerd, en kan het spel van de gast niet laten crashen.

Limieten van een eigen kaart
WatLimiet
Bestandsgrootte256 KB (de voorbeelden zijn 1,5 tot 6 KB)
Startplekken2 tot 8
Extra afzettingen24 per startplek
Wegen12 per startplek, elk 64 punten
Mesa’s40
Eilanden, zijrivieren, stenen viaductenelk 12
Vermenigvuldigers van regels0.25 tot 4
Kaartgroottealtijd 8 km

Een volledig voorbeeld

De kleinste kaart die speelt, is twee bases op een open weide:

{
  "petalmap": 1,
  "title": "Open Meadow",
  "seats": [{"base": [0, -2500]}, {"base": [0, 2500], "facing": 180}]
}

Foxtail Fork, het met de hand geschreven voorbeeld, heeft twee bases tegenover elkaar aan weerszijden van een rivier die van oost naar west loopt, twee bruggen, een mesa op elke flank, drie extra paren afzettingen per kant en een sneller spel:

{
  "petalmap": 1,
  "title": "Foxtail Fork",
  "author": "Petalwar",
  "scenery": "pine",
  "mirroredNoise": true,
  "seats": [
    {"base": [0, -2600], "facing": 0,
     "deposits": [[-1500, -1700], [-1424, -1700], [1500, -1700], [1424, -1700], [0, -1250], [-2600, -2300]],
     "roads": [[[0, -2600], [0, -1900], [-900, -1000], [-900, 0]],
               [[0, -2600], [0, -1900], [900, -1000], [900, 0]],
               [[0, -2600], [-1500, -2350], [-2600, -2300]]]},
    {"base": [0, 2600], "facing": 180,
     "deposits": [[1500, 1700], [1424, 1700], [-1500, 1700], [-1424, 1700], [0, 1250], [2600, 2300]],
     "roads": [[[0, 2600], [0, 1900], [900, 1000], [900, 0]],
               [[0, 2600], [0, 1900], [-900, 1000], [-900, 0]],
               [[0, 2600], [1500, 2350], [2600, 2300]]]}
  ],
  "river": {"axis": "east-west", "amp1": 200, "period1": 900, "amp2": 30, "period2": 300,
            "width": 70, "widthAmp": 90, "widthPeriod": 900,
            "crossings": [-900, 900], "bridgeLengthScale": 1.25},
  "outcrops": [
    {"center": [-2500, -900], "rx": 420, "ry": 300, "height": 52, "ramp": 90},
    {"center": [2500, 900], "rx": 420, "ry": 300, "height": 52, "ramp": 270}
  ],
  "rules": {"buildTempo": 1.5, "economyTempo": 1.25, "unitCost": 0.8,
            "startingMatter": 1.5, "startingEnergy": 1.5}
}

De oversteken bij −900 en 900 vallen op de period1 van 900, de period2 van 300 en de widthPeriod van 900, dus beide bruggen liggen waar de rivier de middellijn kruist, op zijn smalst. De tweede startplek is de eerste, een halve slag gedraaid: bij elk punt is het teken omgedraaid en de facing is 180 meer. Samen met "mirroredNoise": true maakt dat de twee helften gelijk. Voor drie of vier spelers draai je het hele patroon van elke startplek om het midden, met 120° of 90°.

Tips. Verander één ding tegelijk, druk dan op Rescan en klik op het kaartje. Geef de spelers iets om voor te vechten: paren afzettingen halverwege de bases, een mesa bij de middelste brug, een meer dat een vloot kan beheersen. De minimap wordt getekend uit je bestand, met water, rots, wegen en bossen, dus je ziet de indeling in één oogopslag.

In het spel sinds 0.5.30: een kaarteditor (Custom maps, dan New map, of Edit op een van je kaarten: startplekken, afzettingen, meer, rivier en bruggen, mesa’s, eilanden, stenen viaducten, wegen, symmetrie en de regels, met problemen in gewone woorden, Save en Test play); het kaartje Random map (een eerlijke kaart uit een seed, voor 2 tot 8 spelers, droog, met een rivier, een meer of eilanden, met Reroll en Keep); en Community maps (bladeren, downloaden en Share, dezelfde kaarten als op petalwar.com). Make a map in your browser opent de kaartbouwer.

Nog niet beschikbaar: eigen kaarten op iPhone en iPad.

Alle onderwerpen van de gidsGebouwengidsEenhedengids

Supreme Commander en Forged Alliance zijn handelsmerken van hun respectieve eigenaren. Petalwar is een onafhankelijk spel en is niet verbonden aan of goedgekeurd door de makers ervan of het Forged Alliance Forever-project.