Der Goldene Weg
"Der Goldene Weg" (DGW) ist ein Labyrinthspiel. Jedoch gibt es große Unterschiede gegenüber dem, was man gemeinhin unter einem Labyinthspiel verstehen mag.
DGW ist ebenso wie andere Labyrinthspiele kein "Spiel" im Sinne von Spaß und Unterhaltung, sondern im Sinne von Denksport. DGW ist ein Knobelspiel, es ist Gehirntraining, etwas, an dem sich die Intelligenzbestien (oder solche wie mich) den Geist wetzen können. Es übt den Spieler in räumlicher Vorstellung, Erinnerung und Orientierung ebenso intensiv wie in logischer, kombinatorischer Strategie.
DGW stellt an den Spieler eine besondere Herausforderung: Nicht nur die Regeln, sondern sogar das Spielfeld ist eine mentale, völlig abstrakte Konstruktion. Wenn also ein DGW-Spieler dem anderen mitteilt: "87 in Thy Paradise!", dann erscheint das jedem, der das Spiel nicht spielt, wie Nonsense, und wirkliche Bedeutung hat es auch für einen DGW-Kenner nur dann, wenn er/sie schon in diesem Labyrinth gespielt hat, weiß, wie verdammt schwierig dieses ist und darin viel weniger GWP erreicht hat.
So, jetzt habe ich meine Leserschaft schon mal auf ein überschaubares Grüppchen reduziert. 
Es folgen nun die Kapitel: Das Spielprinzip in 10 Punkten / Inspirationen / Aktueller Stand des Projekts / Abschließende Fragen an Euch. Viel Spaß 
Das Spielprinzip in 10 Punkten
1. KEINE FESTLEGUNG ÜBER START UND ZIEL:
Gewöhnlich sind Start und Ziel markiert. Der Spieler weiß daher gleich, wo er beginnen und nach welcher Richtung er sich orientieren muss.
Bei DGW gibt es diese Festlegungen nicht. Der Spieler muss im Laufe seiner Versuche selbst erkennen, wo er besser beginnt, und er orientiert sich nicht nach dem Ziel, sondern anhand einer Art Richtschnur, deren mehr oder weniger über das Labyrinth verstreute Teilstücke er erst auffinden und quasi selbst aneinanderknoten muss.
2. DAS ZIEL IST NICHT UNBEDINGT ERREICHBAR:
Das Ziel in einem gegebenen Labyrinth lässt sich trotzdem ganz einfach berechnen, was natürlich automatisch durch das Programm geschieht.
Ergebnis dieser Berechnung ist allerdings nur ein bloßen Wert namens "Maximalstrength", während der Weg, überhaupt die Frage der Existenz eines Weges, auf dem jene Maximalstrength erreicht werden kann, Geheimnis der Labyrinthstruktur bleibt.
Aus diesem Grund geht es beim DGW nicht um den Erfolg, das Ziel erreicht zu haben. Die Herausforderung liegt vielmehr darin, ihm so *nahe wie möglich* zu kommen. Wird die Maximalstrength erreicht, und zwar ohne Repassagen [5], hat der Spieler den "Goldenen Weg" gefunden, oder, salopp gesagt, er hat das Labyrinth geknackt.
3. RÄUMLICHE LABYRINTHE:
DGW-Labyrinthe sind nicht flach, sondern dreidimensional. Jede Position kann also von und nach maximal sechs Seiten betreten bzw. verlassen werden. Daher wird eine Position auch als "Kubus" (Würfel) bezeichnet.
(Die Seiten eines Kubus' sind sogar intern durchgezählt wie beim Spielwürfel, was eine schnelle und einfache Algorithmetik erlaubt.)
Der Spieler kennt die Seiten als l (left/links), d (down/hinunter), b (back/nach hinten), f (forward/nach vorn), u (up/hoch) und r (right/rechts). Diese Kürzel begegnen ihm vor allem in der Pfadnotation, mit der er ständig zu tun hat. +3ruffd heißt zum Beispiel: Gehe drei Schritte nach rechts, dann einen hoch, dann zwei vor und einen hinunter.
Kuben können individuell auch andere, entfernte Kuben definieren, zu denen der Spieler springen kann ("Remote portages", kurz "Remports" oder "RP").
Außerdem können Randkuben mit denen der jeweils gegenüberliegenen Labyrinthseite verknüpft sein. DGW-Labyinthe sind also nicht nur räumlich, sondern sogar irgendwie rund.
4. DIE "STRENGTH" DES SPIELERS, EFFEKTIVE VERKNÜPFUNGEN:
Die Wegsuche ist wegen der fehlenden räumlichen Zieldefinition primär keine Sache der Orientierung. Stattdessen besitzt der Spieler eine realzahlige, nicht-negative Spielstatusvariable, die sogenannte "Strength" (Stärke; S).
Jeder Link ist mit einem von sechs möglichen Effekten belegt, die sich auf die Strength des Spielers auswirken, wenn er den Link passiert:
"+N": Erhöhung durch Addition, also S' = S + (N/p). "-N": Verringerung durch Subtraktion, also S' = S - (N*p). "*N": Vervielfachung durch Multiplikation, also S' = S * (N/p). "/N": Teilung durch Division, also S' = S / (N*p). "=" : Ohne Effekt, also S' == S "*1"|"/1": dito, aber p-sensitiv, also S' = S / p
N ist eine natürliche Zahl zwischen 1 und 999; p ist die "Penalty" (Straflast), die bei "gutem" Spiel genau 1 beträgt. Die Verbindungen nennen wir entsprechend ihrer Effekte "Ner Operand", beispielsweise "5er Summand" (Effekt: +5) oder "3er Divisor" (/3). Verknüpfungen ohne Effekt werden als "Simplinks" bezeichnet, deren p-sensitive Variante als "Badlinks".
5. GUTES SPIEL VERSUS STRAFLAST:
Die Penalty (auch: "penalty weight|burden") ist ebenfalls eine realzahlige Spielstatusvariable. Sie beträgt mindestens 1; dem Spieler vermittelt wird sie durch die kehrwertige "Health" (Gesundheit) = 100% / p.
Die Penalty repräsentiert das Ausmaß der Repassagen, also der Nutzung schon einmal passierter Verknüpfungen.
Remports sind nie p-sensitiv, da sie auch immer effektlos sind. Der Spieler kann beliebig oft Gebrauch von ihnen machen.
Gäbe es keine Penalty, könnten Schlaufenkonstellationen wie A +50 >> B retro *2 >> A für eine exzessive Erhöhung der Strength ausgenutzt werden, und der Sinn des Spieles wäre hinfällig. Die Alternative wäre ein rigoroses Verbot von Repassagen gewesen, aber das fände ich zu langweilig.
Auf wieviel die Penalty bei einer Repassage steigt, hängt von mehreren Faktoren ab:
Die Stärke des Effektes der repassierten Verknüpfung. Der kleinste Faktor gilt dabei als stärker als der größte Summand im Labyrinth. Analog verhält es sich mit Divisor und Subtrahend -- diese haben eine negative Stärke, weshalb die Repassage bei ihnen zu einer (leicht und alles andere als nachhaltig) sinkenden Penalty führt.
Wie oft dieselbe Verknüpfung repassiert wurde. Die dritte Wiederholung derselben Verknüpfung entspricht drei erstmaligen Wiederholungen verschiedener Verknüpfungen.
Wie viele Neupassagen seit dem Start bzw. der letzten Repassage gezählt wurden. Damit dieser Faktor bei ca. 1 bleibt, müsste jeder Repassage eine deutlich höhere Anzahl von Neupassagen vorausgehen als der vorigen.
Bei der ersten Repassage erhöht die Penalty immer auf die Effektstärke der benutzten Verknüpfung! Mit jeder Neu-Passage sinkt die Penalty kontinuierlich, schießt aber mit der nächsten Repassage sofort wieder hoch.
6. BEDINGTER ZUTRITT ZU KUBEN:
Es ist möglich, dass Kuben den Zutritt zu sich nur erlauben, wenn der Spieler bzw. Scout [8] bestimmte andere Kuben bereits oder noch nicht besucht hat. Die Bedingungen, die ein Kubus stellen mag, sind dabei zusammen mit ihren Rängen unveränderlicher Teil der Labyrinthstruktur.
Eine Bedingung wird immer bei Eintritt des Spielers geprüft, es sei denn, seine Strength überschreitet einen bestimmten, nämlich vom Rang der Bedingung abhängigen Wert. Je höher der Rang der Bedingung, desto höher muss die Strength sein, damit die Bedingung ignoriert wird.
7. DIE DREI GEBOTE:
Um das Ziel, also die Maximalstrength zu erreichen, die sich aus dem Produkt der addierten Summanden mit den multiplizierten Faktoren ergibt, also um den Goldenen Weg zu finden, befolge der Spieler drei Gebote, die sich aus den Punkten 4 und 5 ergeben:
1. Gehe nur positive Verknüpfungen, also Simplinks, Summanden und Faktoren. Meide Subtrahenden und Divisoren.
1. Gehe erst alle Summanden, dann alle Faktoren.
1. Widerstehe der Versuchung, positive Verbindungen wiederholt zu passieren. Die Strafbelastung ist sehr empfindlich.
Je besser der Spieler diese Gebote befolgt, desto höher fällt der Spielerfolg aus. Der Spielerfolg wird berechnet aus der Formel
E% = log(S) / log(Smax) x 100%.
Die E% werden offiziell abgerundet und haben die Einheit GWP (Goldwegpunkte).
100 GWP bedeuten, dass der Goldene Weg gefunden wurde, oder aber, dass es der Spieler wahrhaftig geschafft hat, der Strafbelastung zu trotzen und durch Repassagen die maximale Strength zu erreichen und vielleicht sogar überbieten.
Der Logarithmus bewirkt, dass eine Erhöhung der Strength mit Summanden anfangs überraschend viel, aber mit fortschreitendem Spiel immer weniger GWP bedeutet. Faktoren haben dagegen ein konstantes GWP-Delta.
Es ist ergo eine Sache der Disziplin, angesichts scheinbar immer wirkungsschwächerer Suche nach jungfräulichen Summanden nicht zu früh mit den Faktoren anzufangen.
8. SCOUTS:
Mit Scouts navigiert der Spieler im Labyrinth. Er kann beliebig viele Scouts -- jeweils mit eigener Strength, Penalty und Weghistorie -- anlegen und per Benennung "$startkubus.Nr" oder optional "$Label" zwischen diesen wechseln. Er kann sie verwerfen, kopieren, und den Spuren anderer Scouts entlang schicken.
Eine automatische Funktion der Scouts ist es, dass sie von einer Standposition aus in jede mögliche Richtung soweit gehen, wie ein Kubus den Zutritt zu sich (6) bzw. das Verlassen zur selben Richtung erlaubt. Kehrt der Scout nach der letzten erkundeten Richtung auf seine Standposition zurück, weiß er über jeden besuchten Kubus folgende Daten: a) Name des Kubus, b) Eintrittsrichtung, c) Entfernung vom Standkubus in Schritten, d) Effekt der Eintrittsverknüpfung, e) offene Richtungen dieses Kubus' und welche davon positiv sind, f) Anzahl der erfolgten Passagen der Eintrittsverknüpfung, g) ggf. grobe Auskunft über an Gegner verlorene Strength (9), h) und schließlich die Differenz zwischen der Strength auf dem jeweiligen Kubus zu der auf der Standposition, angegeben in E%.
Scouts können selbstverständlich jeder Zeit zurückgesetzt werden, ob n Schritte, zum n-ten Schritt oder einem bestimmten Kubus.
Ein besonderer Scout wird als "Pilot" bezeichnet. Während normale Scouts auf ihren Startkubus festgelegt sind, kann der Pilot frei im Labyrinth versetzt werden (Reset; Spur wird verworfen!) und eignet sich damit für freimütige Erkundungen unbekannter Gefilde, ohne dass man irgendwann den Überblick über zu viele ungewollt gespeicherte Anfänge verliert.
Möchte man die Pilotspur festhalten, genügt ein Kommando (im Prototypen "&"), um sie automatisch mit einem neuen normalen, festen Scout nachziehen zu lassen, so dass sie gespeichert wird.
9. MEHRSPIELERPARTIEN:
Bisher habe ich mich auf Einspielerpartien bezogen. DGW hat aber auch einen netzwerk- oder rundenbasierten Mehrspielermodus.
Im Mehrspielermodus gibt es zwei weitere Arten von Scouts, die fixiert sind, also nicht direkt manipuliert werden können:
Einen Master, anhand dessen Strength der Spieler mit den Mitspielern verglichen und gerankt wird.
sogenannte Kandidaten, also zu solchen ernannte Scouts, die exklusiv den Master "rufen" dürfen und die wie dieser an die Gegner übermittelt werden, sodass jene sie als mögliche Zugvarianten des Spielers in ihrer eigenen Strategie berücksichtigen können.
Die Kandidaten werden unterteilt in jene, die von einem anderen Kubus starten als die Masterspur (Restarter), und jene, die diese Masterspur fortsetzen (Advancer).
Der Krux der Kandidaten ist folgender:
Der Spieler muss beim Betreten von Master- und Kandidatenspuren stärkerer Gegner Strength an diese abgeben. Die Höhe des Transfers richtet sich nach der Differenz zwischen der eigenen und der Gegnerstrength im Verhältnis zur Gegnerspurlänge, also der Länge des Restarters bzw. von Master+Advancer.
In dem Fall, dass der Spieler die Gegnerspur nicht nur kreuzt, sondern um ein oder mehrere Verknüpfungen nachschreitet, werden die Differenzen jeweils von den Effektstärken(+1) der betroffenen positiven Verknüpfungen potenziert.
Für die abgegebene Strength, als Gegenleistung sozusagen, verdecken die stärkeren Gegner dem Spieler Zutrittsbedingungen der beteiligten Kuben. Welche, hängt dabei im Sinne von (6) natürlich von der aktuellen Gegnerstrength sowie dem Rang jeder Bedingung ab.
Nur Nichtkandidaten des Spielers werden unmittelbar durch Kandidierungen und Widerrufe der stärkeren Gegner beeinflusst, d.h. simulativ entstärkt. Kandidaten dagegen sind immun gegen Änderungen seitens der gegnerischen, leider auch dann, wenn sie eigentlich positiv für den Spieler sind, z.B. wenn der Gegner einen Kandidaten zurückzieht. Etwas Glück, Taktik und Gefühl für den richtigen Moment bringen den Spieler im Mehrspielermodus durchaus weiter.
Effektiv wird die Strength-Abgabe nur und erst dann ausgeführt, wenn der Spieler tatsächlich den Master nach dem betroffenen Kandidaten zieht.
Die Kandidierpraxis kann (und sollte) Beschränkungen unterliegen, die vor der Partie von den Spielern zu vereinbaren sind. So kann etwa festgelegt werden, wie viele Kandidaten ein Spieler bis zum nächstens Zug höchstens halten und wie oft er Kandidaturen widerrufen darf. Sind alle Kandidaturen vergeben und keine Widerrufe mehr möglich, *muss* der Spieler den Master nach einem dieser Kandidaten ziehen. Mit dem Masterzug werden die Plätze der Advancer wieder freigegeben, während die Kandidatur der Restarter bestehen bleibt und ggf. regulär wiederrufen werden muss.
Die Spieler können - und sollten - auch festlegen, wie lang ein Kandidat höchstens sein darf, bei Bedarf feinjustiert nach maximaler Anzahl der Richtungswechsel, der Schritte in dieselbe Richtung und/oder der RP-Nutzungen.
Außerdem gibt es zwei alternative Restriktionen, abhängig von der Art des Mehrspielermodus: Im Netzwerk gilt die Sperrzeit in Sekunden, die mindestens zwischen zwei Änderungen an den eigenen Kandidaturen vergehen muss, und die dadurch zeitliche Fairness garantiert (besonders, wenn Menschen gegen KI-Spieler antreten). Beim rundenbasierten Spiel an demselben PC wird dagegen angegeben, um wie viele Schritte ein Spieler seine Scouts insgesamt verändern darf, ehe der nächste an die Reihe kommt.
10. LABYRINTH-DESIGN:
Jeder kann DGW-Labyrinthe kreieren. Jedoch ist nicht zu empfehlen, die bei einem Spielstart eingelesene Definitionsdatei des Labyrinths direkt in einem Editor zu bearbeiten. Ab einer gewissen Kubenmenge wird die Sache nämlich undurchschaubar. Außerdem muss die Reihenfolge der Zeilen korrekt sein, denn die Datei wird sequentiell Zeile für Zeile im One-Pass-Verfahren verarbeitet.
Der Aufbau des Labyrinths wird sofort mit einer (aussagekräftigen) Fehlermeldung abgebrochen, sollte sich die definierte Struktur als unspielbar erweisen. Spielbarkeit definiert sich über folgende Kriterien:
Jeder Kubus hat seine eigene Position (keine Positionskonflikte)
Jeder Kubus hat einen eindeutigen, 2 bis 8 alphanumerische Zeichen langen Namen, der mit einem Kleinbuchstaben beginnt. (keine Namens-/Referenzkonflikte)
Jeder Kubus A ist mit jedem anderen Kubus B des Labyrinths so verknüpft, dass der Spieler, würde es die Strength und auch Remports nicht geben, von A >> ... >> B gehen könnte. (keine Lock-outs)
Besser sollte der Designer mithilfe von Tools an einem Labyrinth nach Lust und Laune herumschrauben, ohne sich ständig um die Integrität des Ganzen kümmern zu müssen. Die Erstellung der Definitionsdatei erfolgt dann automatisch durch das Tool. Können aufgrund nicht abgefangbarer Integritätsfehler nicht alle Kuben berücksichtigt werden, wird dies gemeldet und die betroffenen Kuben zusammen mit einem Hinweis unmittelbar auf dem Schirm und/oder als Kommentar am Ende der Definitionsdatei aufgelistet, so dass der Designer nachkorrigieren kann.
Ein solches Tool ist beispielsweise das kommandobasierte "gwmazor".
Der Designer hat bei Benutzung von gwmazor freien Gestaltungsspielraum. Er kann am Anfang die Größe des Labyrinths festlegen und dann darin beliebig viele Kuben kreieren, benennen und beliebig miteinander verknüpfen. Sowohl Kuben als auch einzelne Verknüpfungen kann er wieder löschen.
Die Effekte der Verknüpfungen kann er jederzeit ändern, und zwar sowohl pro Kubus ("Die Seiten l und u von Kubus 'xyz' neu belegen": s xyz lu) als auch für einen Pfad ("Belege den Pfad '+3ruffd' mit den Effekten +3,-1,*1... (zykl.)": p name+3ruffd +3,-1,*1).
Remports kann er genauso flexibel arrangieren wie Zutrittsbedingungen.
Natürlich kann er sich das bisher gebaute ansehen: von einem Kubus aus entweder einen oder fünf Schritte in jede Richtung (s name / td name), komplett in eine bestimmte (z.B. d name u), oder einen Pfad abschreitend (p name+3ruffd).
gwmazor bietet außerdem eine kennzahlenbasierte Analysefunktion. Zusammen geben diese Kennzahlen Auskunft über den Schwierigkeitsgrad des Labyrinths, bzw. in welchen Facetten die Schwierigkeit mehr, und in welchen weniger ausgeprägt ist. Die Kennzahlen sollten dazu auch als Beschreibung des fertigen Labyrinths dienen, damit der Spieler Auswahlkriterien hat und weiß, was ihn erwartet.
Inspirationen
Dreidimensionalität und Rundheit der Welt
Alternativen und Unmöglichkeiten, wenn es darum geht weiterzugehen.
"Der Weg ist das Ziel". In Anwendung auf DGW auch: Das Ziel ist der Weg dorthin.
Michael Ende: Die Unendliche Geschichte / Kap. 2 - Atréjus Berufung hat geschrieben: "Wo soll ich beginnen?", fragte [Atréju]. "Überall und nirgends", antwortete Caíron. "Von nun an bist du allein und niemand kann dir raten. Und so wird es sein bis zum Ende der Großen Suche - wie auch immer sie enden wird." (Hervorhebung von mir)
Penalty: Vergleicht man die Summanden und Faktoren mit Fast-food, Sahnetörtchen, dann verkörpert die Penalty dieselbe Konsequenz wie beim Verzehr von Etwaigem. Treibt man nicht zum Ausgleich Sport bzw. Denksport in Form der Suche nach neuen positiven, noch nicht passierten Verknüpfungen, kann es passieren, dass man die Strength-Leiter immer leichter runter- und immer schwerer raufkommt.
Mehrspielermodus:
Das Arm-Reich-Prinzip
etwas von Monopoly
Aktueller Stand und Zukunft des Projekts
Entwicklung einer text-/kommandobasierten Fassung in Perl. Wegen einer GUI weiß ich noch überhaupt nicht, wie eine solche aussehen könnte. Ein virtuelles 3D-grafisches Labyrinth mit entsprechender Steuerung halte ich in Anbetracht des Spielprinzips, das nicht den Fokus auf räumliche Orientierung legt, für kaum geeignet.
Die Module Maze_VM.pm (Labyrinthstruktur), Link.pm, Cube.pm, Cursor.pm (Scouts) grundsätzlich funktionstüchtig. Aber noch längst nicht vollständig.
Mehrspielermodus nur erst in Ansätzen implementiert.
Völlig unprofessionelle Codepraxis, wenn auch strict'ed. Plane einen Rewrite, bei dem ich die Richtlinien von Conway 2005 berücksichtigen will.
gwmazor funktioniert schon ganz prächtig. Es fehlen noch die Zutrittsbedingungen, diese fehlen sogar in der Definitionsgrammatik, denn es handelt sich hierbei um eine zwischenzeitlich verworfene Idee. Außerdem ist noch kein Verlass auf einige Teilanalysen. Das automatisch-diskrete Retrolinking muss noch flexibler gestaltet werden.
Veröffentlichung des Quellcodes unter der GPL und ggf. Beginn der Teamarbeit mit anderen nach dem Rewrite.
Bis dahin kann ich ja schon mal die Projektbeschreibung, da es ja doch ein etwas exotisches Projekt ist, den Kritikern zum Fraß vorwerfen.
Fragen an euch
Ist das Spielprinzip verständlich?
Wenn nein: Wo nicht?
Wie kompliziert ist es für euch?
Hättet ihr das Interesse mitzuarbeiten?
Würdet ihr DGW spielen?
Vorschäge, Anregungen, Kritik?
2004 – 2012 ubuntuusers.de • Einige Rechte vorbehalten