Pen & Paper - Rollenspiel > Pen & Paper - Spielleiterthemen
Das grosse Steppenturnier - Wie erschlägt SL ein Organisationsmonster?
torben:
Danke schon mal für die Rückmeldungen.
Vielleicht zuerst noch was zum Hintergrund des Turniers: Der Veranstalter ist böse (tm) und hat bereits Einfluss über 6 Reiche. 5 Reiche stehen unter dem Einfluss einer anderen Macht und 7 Reiche sind noch "frei". Dem Veranstalter geht es beim Turnier darum, möglichst viele freie Reiche für seine Sache zu gewinnen und vielleicht sogar ein paar "gegnerische" Reiche abzuwerben. Die SCs sind wie auch 3 weitere Reiche neutral und für den Veranstalter eigentlich nicht von Bedeutung. Umgekehrt sieht das natürlich anders aus. Das Turnier ist also ein Anlass, um die Anführer der Reiche an einen Tisch und unter die eigene Knute zu bringen.
@Weltengeist:
Ja ich kann mir gut vorstellen, dass meine Eckpunkte noch nicht wirklich klar machen, was ich mir im Idealfall vorstelle. So war's auch, als ich das mit Chatgpt versucht habe, da musste ich auch immer wieder "nachbessern" mit den Anforderungen.
Ich habe schon mehrere Turniere mit verschiedensten Disziplinen durchgespielt, aber noch nie in solchen Dimensionen (so viele Teams und so viele Disziplinen). Und da habe ich mich gefragt, wie ich den Aufwand für das reine Turnier einigermassen überschaubar halten kann und es trotzdem nicht einfach "gescripted" ist.
Normalerweise bedeutet so ein Turnier für mich, dass ich
- Namen für die Wettkämpfer aufschreibe
- Allen Wettkämpfern Werte zuweise, die für die Disziplinen, die denen die antreten, relevant sind. Dabei ist wichtig, dass es wirkliche Spezialisten gibt, also super im Reiten aber eine Niete im Bogenschiessen usw.
- Mir überlegen, wie ich die Gewinner bei reinen NSC-Wettkampfpaarungen ermittle, ohne dass ich dort alles auswürfle
- Mir überlegen, wie ich den Eliminations-Baum aufbaue, damit die SCs möglichst weit kommen können und am Ende auf die "interessanten" Gegner stossen können, die selbst sehr gut in den jeweiligen Disziplinen sind
Wenn ich diese Punkte alle miteinander kombiniere, bedeutet das bei 22 Reichen mit je maximal 15 Wettkämpfern einen riesigen Aufwand. Dazu kommt, dass sich das Spiel eigentlich eher um das Turnier herum abspielt, also tagsüber wird gekämpft, abends wird im Festzelt Politik gemacht.
Bei den Turnieren geht es den Spielern durchaus darum, sich mit NSC messen zu können, also solche Wettkämpfe, an denen sie beteiligt sind, auszuspielen. Aber eben, in Runde 1 wären das 64 Paarungen, von denen nur die 6 mit SC-Beteiligung auszuspielen wären, usw. Im Spiel wäre es also die SC-Kämpfe durchzuspielen, Ergebnisse eintragen und - klick - das Programm errechnet, wer die anderen Gewinner der Runde sind, wobei es Kämpfer mit höheren Siegeschancen als ihre Gegner gibt, aber trotzdem der Zufall entscheidet, wer gewinnt.
Nun fände ich es irgendwo spannend, wenn nicht ich die Wettkampfpaarungen erstellen und die Gewinner auswürfeln müsste, sondern das automatisiert wäre, am besten noch mit der Möglichkeit, auch manuell eingreifen zu können. Auch die genauen Werte der NSC könnte man in einem gewissen Rahmen per Zufall genieren lassen (da ich ja zu Beginn noch nicht weiss, welcher NSC im Verlauf der Disziplin gegen welchen SC antreten wird).
Kurz und knapp: Ich hätte gerne das Gefühl, einige Dinge steuern zu können, aber gleichzeitig alles, was "unwichtig" ist, an eine Zufallsmaschine auslagern zu können, die im besten Fall auch noch schön Buch führt.
Mir macht z.B. nur schon die Erstellung der Eliminations-Bäume Mühe, da eigentlich die Stärksten gegen die Schwächsten starten sollten, damit sich die starken Kämpfer nicht schon am Anfang gegenseitig eliminieren. Wenn ich da einfach setzen könnte, dass die SC frühestens im 8tel-Finale aufeinandertreffen können und der Rest automatisch erstellt würde, wäre das schon eine grosse Hilfe.
Mein Problem ist wohl auch, dass ich bei der Sache wie vor einer Wand stehe und das Ding einfach nicht zu fassen bekomme.
@Dimmel:
Danke für Dein Angebot. Ich habe wie oben geschrieben selbst schon mehrere Turniere durchgespielt, die aber einfach nicht so gross waren.
Als Ablauf am Tisch hätte ich mir vorgestellt:
- Der Turniertag beginnt, die Disziplinen und Runden bekannt gegeben werden und dann die Kämpfe der SC ausgewürfelt werden. Bei den reinen NSC-Paarungen die Gewinner per Knopfdruck ermittelt und dann gleich die Paarungen für die nächste Runde per Zufall erstellt.
- Die Turnierleitung (böse tm) sagt aufgrund der Wettkampfergebnisse, wer beim Abendessen wie nah beim Gastgeber sitzt, wo dann Politik gemacht wird (Allianzen schmieden, gegen andere Reiche hetzen,...) Dort und auch zwischen den Disziplinen findet ein Grossteil des Spieles statt.
- Am nächsten Tag dasselbe, aber natürlich mit anderen Disziplinen und weiteren Verstrickungen nach den Wettkämpfen...
@Jiba:
Hast Du eine Vorstellung oder ein Beispiel, wie diese Zufallstabellen aussehen könnten, denn ich kann mir das grade nicht so richtig vorstellen?
@klatschi:
Die Modellierung des Turniers fände ich eigentlich schön.
Dein Ansatz mit den Qualitätsstufen gefällt mir. Wenn ich das richtig sehe, müsste man die QS-Punkte aber nicht nur auf die Wettkämpfer pro Mannschaft verteilen, sondern auch auf die Disziplinen pro Wettkämpfer, richtig?
Also z.B.
Alrik hat Nahkampf 6, Fernkampf 3, Reiten 5, Lyrik 12, Seilziehen 4 = 30 total
Amoniak hat Nahkampf 16, Fernkampf 4, Reiten 2, Lyrik 1, Seilziehen 7 = 30 total
Soweit klar, das müsste man dann halt einmal für alle durchschreiben (oder Excel in einer Tabelle per Zufall machen lassen).
Ich fände es eben interessant, wenn Alrik im Seilziehen gegen Amoniak gewinnen könnte, auch wenn der eigentlich um 3 besser ist, aber die Chance dafür ist halt geringer. Nur wie mach ich es, dass ich das jetzt in Runde 1 nicht für 58 Paarungen händisch auswürfeln muss?
[Edit] Ah, halt, wenn nur 3 QS-Stufen, wäre es eher
Alrik Nahkampf 2, Fernkampf 2, Reiten 3, Lyrik 3, Seilziehen 2 = 12
Amoniak Nahkampf 3, Fernkampf 2, Reiten 1, Lyrik 1, Seilziehen 3 = 10
Hm, gäbe es dann eine maximale QS-Zahl pro Wettkämpfer (nicht dass einer dann 15 Punkte für sich verbraucht)? [/Edit]
Auch die Idee, aus der QS einen Wert zu ermitteln gefällt mir gut, das könnte schön schnell gehen.
Ja, Challonge habe ich auch schon gesehen, aber für grössere Bäume muss man glaub zahlen und ich bin mir nicht ganz sicher, ob ich da dann nicht doch die Ergebnisse alle selbst eintragen muss oder ob es quasi eine Simulation macht und selbst die Gewinner bestimmt und einträgt.
Eliminations-Brackets mit 128 Teilnehmern habe ich schon einige gefunden.
Grüsse
torben
sma:
Ich würde wohl so vorgehen (mein Python ist total eingerostet):
Erstelle eine Liste mit den 20 Disziplinen.
disciplines = ["Wettreiten", ...]
Erstelle eine Liste mit zufälligen Namen und erstelle für jeden Namen einen Teilnehmer (ich nehme ein Dictionary statt Exemplaren von Klassen).
realms = ["R1", ...]
names = {
"R1": (
["Alrik", ...],
["Allgemein", ...],
),
...
}
participants = [{"n": random_name(*names[r]), "r": r}
for _ in range(d(10)+4) for r in realms]
Wenn du zu jedem jeweils Tabellen mit typischen Namen hast, baust du zu jedem Reich z.B. W10+4 (also 5 bis 15) Namenspaare aus Vor- und Nachname (ich brauche dazu ein paar Hilfsfunktionen).
def random_name(n1, n2): return f"{pick(n1)} {pick(n2)}"
def pick(lst): return sample(lst, 1)[0]
def sample(lst, n=None): return random.sample(lst, n or len(lst))
def d(n): return random.randint(1, n)
Ordne jetzt jedem Teilnehmer N=1W20 Disziplinen zu, indem du jeweils die Liste der Disziplinen mischt und dann die ersten N nimmst. Ordne jeder dieser Disziplinen eine Qualitätsstufe mit 1W6 (1=schlecht, 6=gut) zu.
for p in participants:
p['d'] = {di: d(6) for di in sample(disciplines, d(20))}
Füge dieser Liste jetzt noch SCs hinzu (ich erkenne sie daran, dass ihre QS -1 ist:
participants.append({"n": "SC1", "r": "Rx", "d": {"Dy": -1, ...}})
...
Für den Wettstreit, gehe nun alle 20 Disziplinen durch und Suche für jede Disziplin eine Liste alle Teilnehmer, die darin geübt sind, d.h. eine Qualitätsstufe haben. Ist die Liste leer, mache mit der nächsten Disziplin weiter. Ansonsten: Mische diese Liste. Sie kann eine ungerade Anzahl von Teilnehmer enthalten. In diesem Fall nimm den ersten Teilnehmer, er oder sie kommt weiter. Alle anderen wettstreiten nun paarweise gegeneinander, indem ihre QS verglichen wird, siehe unten. Wiederhole dies, bis die Liste nur noch einen Teilnehmer hat. Dies ist der Gewinner.
for di in disciplines:
ps = sample([p for p in participants if di in p['d']])
while len(ps) > 1:
ps2 = []
if len(ps) % 1:
ps2.append(ps.pop())
for (p1, p2) in zip(ps[::2], ps[1::2]):
ps2.append(p1 if fight(p1, p2) else p2)
ps = ps2
if len(ps) > 0:
print(f"Gewinner von {di} ist {ps[0]['n']} aus {ps[0]['r']}")
else:
print(f"{di} hat keinen Gewinner")
Um die QS zu vergleichen könnte man 1W6+QS würfeln und den höheren suchen. Bei Gleichstand, entscheidet 1W2 zufällig. An dieser Stelle kann man auch erkennen, dass es ein SC ist (weil QS gleich -1 ist), der da kämpft und interaktiv nach dem Kampfergebnis fragen, statt es per Zufall bestimmen.
Kurna:
Eine allgemeine Bemerkung zum Turnier. Es liest sich so, als ob du jede Runde die Paarungen zufällig erstellen möchtest. Man könnte es alternativ auch so machen, dass der ganze Turnierbaum schon klar ist (d.h. wie z.B. bei einem Tennisturnier). Das hat den Vorteil, dass du alle Äste schon im Vorfeld soweit berechnen lassen könntest, bis SCs involviert sind. Das könnte den Verwaltungsaufwand während der Spielrunde senken.
Es hätte aber den zweiten Vorteil, dass es mehr Intrigen erlaubt. Ein SC könnte z.B. heimlich NSC A gegen NSC B helfen, weil er weiß, dass A eigentlich schwächer ist und er selbst (oder ein anderer SC) später im Verlauf auf den Sieger dieser Paarung treffen wird. NSCs könnten natürlich ähnliche Pläne haben etc.
torben:
Das geht ja schnell hier :)
klatschis Idee mit der vereinfachten Qualitätsstufe gefällt mir schon mal gut, wenn man es doch nicht in ein Programm reinbringen können sollte, resp. nur teilweise automatisieren würde. Ich glaube, da müsste ich dann pro Reich ein Raster erstellen und dann pro Kämpfer die QS pro Disziplin eintragen, damit der einzelne Teilnehmer nicht einfach im allem entweder QS 1, 2 oder 3 hat, sondern etwas differenziert ist (sind die SC ja auch, z.B. gut im Nahkampf, Flasche in Lyrik):
NahkampfFernkampfLyrikReitenSeilziehenAlrikAlrimAlribAlrilAlrob
Dabei wäre es dann aber cool, wenn die Tabelle durch eine Funktion nach Zufall ausgefüllt werden könnte und wenn man dann immer noch manuell nachsteuern kann, wenn's einem nicht ganz passt. Nur wie viele Punkte pro Disziplin? Da aus 22 Teams maximal 128 Wettkämpfer zugelassen werden, sind es in der Regel die besten 5 bis 6 pro Team, die in einer Disziplin antreten. Und die nächste Frage, was ist die Maximalpunktzahl, die ein Wettkämpfer in allen Disziplinen zusammengezählt auf sich vereinen kann?
Im zweiten Schritt wäre dann die Tabelle nach den Besten pro Disziplin zu ordnen und dann kommt die SChwierigkeit, diese Namen in einem Turnierbaum so zu verteilen, dass zuerst die Besten gegn die Schlechtesten antregen (wobei die schlechteren SCs auch schlechtere Gegner am Anfang haben dürften) und die SC erst möglichst spät gegeneinander drankommen können.
Im dritten Schritt wäre dann eine automatisierte Ermittlung der reinen NSC-Gefechte toll, bei der die Gewinner dann direkt in den Turnierbaum eingetragen werden und damit die nächste Runde schon klar ist.
Wenn Ihr andere, einfachere, bessere, schnellere umfassendere oder sonstige Ideen habt, bitte gerne weiter her damit :)
@sma:
Vielen Dank für die Programmierhinweise. Leider bin ich in Sachen programmieren nie über Qbasic in der Schule (vor 30 Jahren) hinausgekommen und kann daher leider so ein Programm nicht selbst schreiben. Chatgpt hatte mir Lösungsmöglichkeiten in Python für all meine Anforderungen präsentiert, aber 1) konnte ich nicht nachvollziehen, ob die auch wirklcih funktionieren und 2) konnte ich sie nicht zusammennsetzen und ein lauffähiges Programm daraus machen. Und das ganze Programm wollte CHatgpt dann doch nicht schreiben.
Die Namen der Wettkämpfer habe ich mir übrigens schon aus den Fingern gesaugt (ziemlich uninspiriert, aber wenn dann einer heraussticht, kann man ihm ja einen besseren Namen geben, in erster Linie geht's ja vorerst noch nur um die Unterscheidbarkeit).
@Kurna:
Der Turnierbaum kann ja im Vorfeld immer nur für die erste Runde erstellt werden, denn ab da kommt's dann drauf an, wer die Runde gewinnt. Aber ja, so kann man sehen, ab wann wer gehen wen antreten könnte. Mein Problem ist da vor allem, die erste Runde so zusammenzustellen (64 Paarungen), dass die Besten zuerst mal gegen die Schlechtesten antreten, damit sich nicht gleich zwei Champions in der ersten Runde gegenseitig rauswerfen, während ein Honk weiterkommt, der gegen einen anderen Honk kämpfen musste.
Es geht also darum, bei der Erstellung der ersten Paarung eine Setzung vorzunehmen resp. einfliessen zu lassen.
Und wie gesagt, wenn das automatisiert wäre und auch die Ermittlung der Sieger in den reinen NSC-Wettkämpfer automatisiert wäre, dann wäre man schon sehr viel schneller unterwegs und könnte sich um das eigentliche Spiel sowie die Runden mit SC-Beteiligung kümmern.
Liebe Grüsse
torben
Maarzan:
Würfeln? Best 3of4W6, weil ja wohl die Besten aus den entsprechenden Ländern antreten, ggf aus 5W6 falls ein Land besondere Traditionen hat.
Die Länder werden wohl wissen (aber ggf. taktieren?) wer die eigenen Besten sind und daher sollen sie ihre 6? Starter selbst in Reihenfolge bringen - sprich die Länder sortieren nach diesem für den Wettbewerb relevanten Wert. Dann werden entsprechend die Teilnehmer nach Landesliste gerankt zugeteilt, sprich 1en gegen 6en , 2en gegen 5en und 3en gegen 4er.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln