Repower

Aus KaroWiki
Zur Navigation springen Zur Suche springen

Der Repower Generator

Beschreibung

Der Repower Generator nimmt eine bestehende Karte und wendet eine Reihe von Transformationen auf diese Karte an, wie z.B. Spiegeln, Drehen, Vergrößern oder Verkleinern uvm. Die einzelnen Transformationen werden hintereinander durchgeführt. Die aus einer Transformation entstehende Karte wird wieder als Eingangskarte für die nächste Transformation verwendet usw. Welche Transformation in welcher Reihenfolge man durchführen möchte, kann man als Parameter einstellen.

Definitionen

Klumpenspec.
Viele Parameter bestimmen eine Anzahl, wie z.B. bei der Anzahl der Spieler, Anzahl der Zielepunkte usw. Bei diesem Generator ist die Anzahl aber nicht nur eine einzelne Zahl, sondern die Gesamtzahl kann in verschiedene "Klumpen" aufgeteilt werden. Statt 6 Startpunktte irgendwohin zu setzen, kann man auch 2 Klumpen à 3 Karos, oder auch 6 Klumpen mit einem Karo setzen. Deshalb besteht eine Anzahl immer aus klumzenzahl*klumpengröße. Möchte man nur einen Klumpen haben, kann man das auch weglassen und nur die Anzahl schreiben.
Beispiele
3*4 3 Klumpen à 4 Karos
5 Ein Klumpen à 5 Karos
1*5 s.o.
5*1 5 Klumpen mit nur einem Karo
3* Nicht erlaubt
Checkpointspec.

Das ist im Prinzip eine List von Klumpenspecs, die sich auf bestimmte Checkpoints beziehen. Ein Eintrag besteht aus: Checkpointlist:Klumpenspec, das bedeutet, dass der Klumpenspec für die angegebene Liste von Checkpoints gilt. Der Klumpenspec ist optional, wird er weggelassen, ergibt sich der Klumpenspec aus den aktuellen Positionen der Checkpoints.

Beispiele
2:3*4 Checkpoint 2 mit 3 Klumpen à 4 Karos
9:5 Checkpoint 9 mit einem Klumpen à 5 Karos
123789:1*5 Checkpoints 1-3 und 7-9 mit jeweils einem Klumpen à 5 karos
34:5*1,12:6 Checkpoints 3 und 4 mit 5 Klumpen mit nur einem Karo, Checkpoint1 und 2 mit 1 Klumpen à 6 karos
1234 Checkpoints 1 bis 4 ohne Änderung der Klumpengröße und Anzahl
Remap Spec

Die Spezifikation gibt für den Reamp Parameter (siehe unten) an, welche Karos in welche anderen Karos umgewandet werden (siehe Remap Transformation) . Also eine Menge s wird in eine Menge t umgewandelt, wobei die Karos aus t erstmal gleicheverteilt sind, man kann durch * getrennt eine andere Verteilung erzwingen (siehe Beispiele)

Beispiele
O:X Asphalt wird in Rasen umgewandelt.
O:X,X:O Asphalt wird in Rasen und Rasen in Asphalt umgewandelt.
ZY:W Schlamm Z und Schlamm Y wird in Wasser umgewandelt
X:LG Rasen wird im gleichen Verhältnis in Lava und Gold umgewandelt
X:L*10G*1,12:3,F:S,S:F Rasen wird in Gold und Lava umgewandelt, aber Lava wird 10 mal so häufig verwendet wie Gold. Außerdem werden noch Checkpoints 1 und 2 in Checkpoint 3 umgewandelt und Starts werden zu Zielen und Ziele zu Starts.
Tile Spec

Diese Spezifikation gibt für die Tile Transformation an, wie oft die Karten horizontal und vertikal wiederholt werden und wie sie verknüpft werden. Eine Tile Speziflation besteht aus Horizontale Anzahl*vertikale Anzahl. Mit dem Schrägstrich davon abgetrennt werden zwei Buchstaben geschrieben, die die Art der Verbindung der Karten, horizontal und vertikal angeben.

Es gibt 3 Arten der "Verbindern"

C Cut Die zu verknüpfenden Karten werden rechts und links (bei horizontaler Verknüpfung), bzw. unten und oben (bei vertikaler Verknüpfung) so lange verkleinert, bis Asphaltflächen aneinanderstoßen.
A Asphalt Zwichen der Asphaltfläche, die am weitesten rechts und der die am weitesten links liegt, wird eine Asphaltstraße der Breite 4 (das lässt sich nicht konfigurieren) eingebaut. Bei vertikaler Verknüpfung zwischen der am weitesten unten und am weitesten oben liegenden Asphaltfläche.
N Nix Hier werden die Karten nicht verknüpft, sondern sie bleiben getrennt. Es entstehen also mehrere gleichartige und unabhängige Kartenareale in einer Karte. (Vielleicht nicht so interessant, aber eben möglich)
Beispiele
3*4/AC Die Eingangskarte wird horizontal 3 mal und vertikal 4 mal wiederholt.
Die entstandene Karte ist also insgesamt 12 mal so groß. Die Karten werden horizontal mit Asphaltstrecken verbunden und vertikal durch Verkleinern der Grenzfläche bis die Asphaltflächen aneinander angrenzen.



Die Transformationen

  • Spiegeln (Kürzel: "I")
Die Karte wird horizontal und/oder vertikal gespiegelt.
Parameter
Name Beschreibung Default
Spiegelung X-Achse Horizontal spiegeln. Aus
Spiegelung Y-Achse Vertikal spiegeln. Aus
  • Skalierung
Die Karte wird horizontal und/oder vertikal gestreckt oder gestaucht. Achtung: Beim Verkleinern der Karte kann es passieren, dass wichtige Karos (z.B. Startpunkte oder Ziele) herausfallen. Das kann man aber später bei der Neuverteilung von Karos wieder korrigieren.
Parameter
Name Beschreibung Default
Skalierung X-Achse Angabe in Prozent 100 (keine Größenänderung)
Skalierung Y-Achse Angabe in Prozent 100 (keine Größenänderung)
  • Rotation (Kürzel: "R")
Die Karte wird um einen bestimmten Winkel im Uhrzeigersinn gedreht.
Parameter
Name Beschreibung Default
Drehwinkel Angabein 360 Grad Schritten 0 (Keine Drehung)
  • Neuverteilung von Karos.
Startpunkte, Zielpunkte und Checkpoints können neu verteilt und oder die Anzahl angepasst werden.
  • Verteilung der Startpunkte
Wird dieser Parameter angeschaltet, werden die Startpunkte (d.h. die Startpunkte, die nach den vohergehenden Transformationen vorhanden sind) neu in der Karte verteilt. Die Anzahl und Art kann im Parameter "Spieler" eingestellt werden
Parameter
Name Beschreibung Default
Neuverteilung der Startpunkte Wenn angeschaltet, werden die Startpunkte per Zufall an eine neue Stelle geschoben, andernfalls bleiben sie wo sie sind Aus
Spieler Anzahl der Spieler (= Startpunkte). Es handelt sich um eine Klumpenspec. (siehe oben) Ist die Neuverteilung ausgeschaltet, werden die Klumpen an die Stellen gelegt, an denen auch bisher die Startpunkte liegen. Es wird dann nur ggfs. die Anzahl geändert. Wird nichts eingegeben, wird die Anzahl der Klumpen und ihre Größe nicht geändert. Leer
  • Verteilung der Zielpunkte
Identisch mit der Verteilung der Startpunkte, nur dass es um Zielpunkte geht.
Parameter
Name Beschreibung Default
Neuverteilung der Zielpunkte Wenn angeschaltet, werden die Zielpunkte per Zufall an eine neue Stelle geschoben, andernfalls bleiben sie wo sie sind Aus
Ziele Siehe Parameter Spieler, oben Leer
  • Verteilung der Checkpoints
Im Prinzip identisch mit der Verteilung der Start- und Zielpunkte allerdings können (müssen) im Parameter "Checkpoints" die Klumpenspec für mehrere Checkpoints angegeben werden.
Parameter
Name Beschreibung Default
Neuverteilung der Checkpoints Wird dieser Parameter angeschaltet, werden die Checkpoints per Zufall neu verteilt,
die im Checkpoints Parameter angegeben sind. Alle anderen bleiben wo sie sind.
Aus
Checkpoints Ist eine Checkpointspec (siehe oben). Gibt an, welche Checkpoints in welcher Anzahl
vorhanden sein sollen. ggf. mit Neuverteilung
Leer
  • Remap

Mit der Remap Transformation können Karos einens bestimmten Typs in ein anderes Karo umgewandelt werden, z.B. könnte Asphalt in Rasen und Rasen in Asphalt umgewandet werden, um quasi eine "inverse" Karte zu bekommen.

Parameter
Name Beschreibung Default
Remap Gibt an, welche Karos wie umgewandelt umgewandet werden. Siehe oben Remap Spec. Leer
  • Tile

Mit der Tile Transformation können Karten wie Kacheln aneinander gehängt werden. Dabei kann man auswählen, wie oft die Karten horizontal und vertikal wiederholt werden sollen. Außerdem kann man noch angeben, wie die einzelnen Karten miteinander verbunden werden, (siehe Tile Spec)

Parameter
Name Beschreibung Default
Tile TileSpec, Gibt an, wie oft die Eingangskarte horizontal und vertikal wiederholt wird und wie die Karten verbunden werden Leer
  • Border

In dieser Transformation wird geprüft, ob die enstandene Karte oben, unten, rechts und links richtig mit nicht befahrbaren Karos abgetrennt sind. Falls nicht werden welche eingefügt. (Keine Parameter)

  • Check

Diese "Transformation" transformiert nichts sondern es findet eine zentrale Fahrbarkeitsprüfung statt. Es wird folgendes geprüft:

  1. Ist mindestens ein Start vorhanden
  2. Können von jedem Start aus alle Checkpoints und mindestens ein Ziel erreicht werden.
  3. Besteht der Rand aus nicht fahrbaren Karos
  4. Besteht die Gesamtgröße aus nicht mehr als 65536 Zeichen (oder war man zu größzügig bei Tile und Scale :-)

(Keine Parameter)

  • Actions

Dies ist ein übergeordneter Parameter, mit dem man angeben kann, welche Transformationen stattfinden sollen. Es können Transformationen weggelassen oder zusätzliche hinzugefügt werden. Die Transformationen werden über ein Kürzel angegeben. Die Reihenfolge der Kürzel entscheidet über die Reihenfolge der Transformationen:

Mögliche Transformationen
Kürzel Transformation
I Spiegeln
S Skalieren
R Rotation
D Neuverteilung (Start und/oder Ziel und/oder Checkpoints)
M Remap
T Tile
B Border
C Check
Parameter
Name Beschreibung Default
Actions Angabe der durchzuführenden Transformation, ein Buchstabe pro Transformation, eine Transformation kann bei Bedarf auch häufiger ausgeführt werden. Immer mit BC beenden (siehe Anmerkungen unten) ISRDMTBC

Anmerkungen

  • Es macht eigentlich keinen Sinn Transformationen wegzulassen. Per Default sind die Parameter aller Transformationen so eingestellt, dass die Transformation neutral ist, auch wenn sie stattfindet (z.B. Drehung um 0 Grad, oder Skalierung auf 100%. Aber man kann z.B. zum Rumprobieren mal das Remap weglassen, wenn man dort einen komplizierten Remap-Parameter eingegeben hat und man ihn erstmal nicht wieder löschen will.
  • Die Reihenfolge der Transformationen ist oft aber nicht immer irrelevant. Z.B. ist es nicht egal ob man eine Karte erst dreht und dann per Tile kachelt, oder erst kachelt und dann das Ganze dreht. Außerdem sind die Transformationen verlustbehaftet, d.h. das Ergebnis einer Transformation (insbesondere Verkleinerung und Rotation), insofern können leicht unterschiedliche Karten entstehen, wenn man erst dreht und dann skaliert oder umgekehrt. Mathematisch sollte das gleiche herauskommen (Wenn die Skalierung in X- und Y- Achse identisch ist).
  • Man kann Transformationen mehrfach ausführen lassen, obwohl das nur selten Sinn macht. Aber man kann mal ausprobieren, wie eine Karte aussieht, wenn man sie 8 Mal um 45 Grad dreht (indem man bei den Actions RRRRRRRR und beim Drehwinkel 45 einstellt). Bei Karte 1 erhält man als Ergebnis eine ziemliche Krumpelkarte, die noch rudimentäre Anklänge an die Original-Karte 1 hat.
  • Die Transformationen B (Border) und C(Check) sollten immer als letztes angegeben werden. Ich habe mir überlegt, es gar nicht zuzulassen, diese Transformationen wegzulassen, aber es gibt Fälle, in denen der Check einen Fehler ausspuckt, und man sehen will, wie die Karte aussieht und wo das Problem ist. Das kann man erreichen indem man das C am Ende weglässt, aber man sollte eine solche Karte dann nicht spielen.
  • Es kann sein, dass durch Verkleinerung (und in seltenen Fällen beim Drehen) die Startpunkte und/oder Zielpunkte verschwinden. (Z.B. bei der Skalierung der Karte 1 auf 75 oder 80 %). Um solche Karten dann doch spielbar zu machen, können ber Neuverteilung wieder Start und/oder Ziele eingefügt werden (allerdings nur an zufällige Stellen, wenn es nach dem Skalieren geschieht), deshalb ist es vielleicht besser vor der Skalierung mehr Starts und/oder Ziele einzufügen, damit nach der Verkleinerung noch welche da sind. .