Hi,
ich habe ein sehr umfangreiches Modul "wettkampf.php" entwickelt, das ich im folgenden vorstellen möchte. Das Modul selbst gebe ich noch nicht frei, weil die Arbeiten daran noch nicht abgeschlossen sind. Das heißt aber nicht, dass es noch nichts hergibt, im Gegenteil. Wer es schon einmal ausprobieren möchte, kann dies hier tun:
http://www.fair4all.de/logd/home.php?
(Anmerkung: Das unten erklärte Fest startet dort automatisch alle zwei Spieltage und dauert ebensolange).
Warum stelle ich es hier vor? Es ist ein Basismodul und ich möchte Euch dazu animieren, ausgehend von den eingeführten Fertigkeiten Ereignisse dafür zu schreiben!
Um zu erfahren, worum genau es geht und wie Ihr die Fertigkeiten einbinden könnt, lest bitte folgende Dokumentation:
I. Was ist dieses Modul?
II. Wie funktionieren die Fertigkeitsproben?
III. Was habe ich von den Fertigkeiten?
IV. Wie steigere ich die Fertigkeiten?
V. Wie sieht es mit weiteren Fertigkeiten aus?
VI. Aufforderung
I. Was ist dieses Modul?
Dieses Modul fügt ein umfangreiches Fertigkeitensystem in LoGD ein, die zudem in den passenden Wettkämpfen abgefragt werden. Folgende sieben Fertigkeiten sind verfügbar:
get_module_pref("bogen","wettkampf","$session[user][acctid]")
--> Bogenschießen
get_module_pref("kochen","wettkampf","$session[user][acctid]")
--> Kochen und Backen
get_module_pref("schleichen","wettkampf","$session[user][acctid]")
--> Schleichen und Verstecken
get_module_pref("schwimmen","wettkampf","$session[user][acctid]")
--> Schwimmen und Tauchen
get_module_pref("klettern","wettkampf","$session[user][acctid]")
--> Klettern
get_module_pref("reiten","wettkampf","$session[user][acctid]")
--> Reiten
get_module_pref("musik","wettkampf","$session[user][acctid]")
--> Musik und Gesang
Die Minimal- und somit Startwert beträgt jeweils 25, der Maximalwert 95.
II. Wie funktionieren die Fertigkeitsproben?
Es wird gegen 0-100 gewürfelt, wobei der Zufallswert vom effektiven Fertigkeitswert (FW) abgezogen wird. Ein effektiver FW entsteht nach Addition aller Modifikatoren (Boni für leichte, Mali für schwere Proben). Bei der Berechnung hat es sich als "zufälliger" erwiesen, 10 mal "e_rand(0,10)" zu setzen als einmal "e_rand(0,100)".
Anmerkung: Jede Rasse bekommt je zwei Fertigkeiten zugewiesen. Bei einer bekommt sie einen Bonus von 5, bei der anderen einen Malus von 5. Dies wird über die Modul-Settings modifizierbar und abfragbar sein, so dass jeder seine eigenen Rassen dort eintragen kann. Meine Liste sieht so aus und setzt unverändert drei selbstgeschriebene Rassen voraus (Vampire, Vanathy, Echsen):
"bonusbogen"=>"Rasse für Bonus Bogenschießen ,textarea|Elf",
"bonusklettern"=>"Rasse für Bonus Klettern ,textarea|Zwerg",
"bonuskochen"=>"Rasse für Bonus Kochen und Backen ,textarea|Echse",
"bonusmusik"=>"Rasse für Bonus Musik und Gesang ,textarea|Vanathy",
"bonusreiten"=>"Rasse für Bonus Reiten ,textarea|Mensch",
"bonusschleichen"=>"Rasse für Bonus Schleichen und Verstecken ,textarea|Vampir",
"bonusschwimmen"=>"Rasse für Bonus Schwimmen und Tauchen,textarea|Troll",
"malusbogen"=>"Rasse für Malus Bogenschießen ,textarea|Troll",
"malusklettern"=>"Rasse für Malus Klettern ,textarea|Elf",
"maluskochen"=>"Rasse für Malus Kochen und Backen ,textarea|Vanathy",
"malusmusik"=>"Rasse für Malus Musik und Gesang ,textarea|Zwerg",
"malusreiten"=>"Rasse für Malus Reiten ,textarea|Echse",
"malusschleichen"=>"Rasse für Malus Schleichen und Verstecken ,textarea|Mensch",
"malusschwimmen"=>"Rasse für Malus Schwimmen und Tauchen,textarea|Vampir",
Und ja, das mit dem Klettern-Bonus bei den Zwergen meine ich ernst ;-)
Beispiel für eine Schwimmenprobe:
1. Modifikator:
Entweder: Ruhiger See, in dem man fast stehen kann: $mod=30;
Oder: Reißender Fluss mit Stromschnellen: $mod=-30;
und Rassenmodifikator.
2. Die eigentliche Probe:
//Rassenmodifikatoren ermitteln
$bonus=get_module_setting("bonusschwimmen","wettkampf");
$malus=get_module_setting("malusschwimmen","wettkampf");
$userrace=$session[user][race];
if ($userrace==$bonus) $rassenmod=5;
if ($userrace==$malus) $rassenmod=-5;
//Effektiven FW ermitteln
$schwimmen=get_module_pref("schwimmen","wettkampf","$session[user][acctid]")+$mod+$rassenmod;
//Limit von 95 einhalten, weil immer etwas schiefgehen kann
if ($schwimmen>95) $schwimmen=95;
//Die Probe
$probe=$schwimmen-e_rand(0,10)-e_rand(0,10)-e_rand(0,10)-e_rand(0,10)-e_rand(0,10)-e_rand(0,10)-e_rand(0,10)-e_rand(0,10)-e_rand(0,10)-e_rand(0,10);
Denkbar wäre auch eine Kombinationsprobe, bspw. Bogenschießen vom Pferd aus:
$reiten=get_module_pref("reiten","wettkampf","$session[user][acctid]");
$bogen=get_module_pref("bogen","wettkampf","$session[user][acctid]");
$fw=($reiten+bogen)/2;
ODER bei unterschiedlicher Gewichtung der Einzelfertigkeiten
(bspw. besonders einfaches Ziel, aber voller Galopp):
$mod1=50;
$mod2=-30;
$reiten=get_module_pref("reiten","wettkampf","$session[user][acctid]")+$mod1;
$bogen=get_module_pref("bogen","wettkampf","$session[user][acctid]")+$mod2;
if ($reiten>95)$reiten=95;
if ($bogen>95)$bogen=95;
$fw=($reiten+bogen)/2;
3. Nun gibt es mehrere Möglichkeiten:
a.
$probe>=0
--> Die Probe ist ganz simpel bestanden worden.
$probe<0
--> Die Probe ist ganz simpel mißlungen.
b.
Es werden qualitative Unterschiede gemacht:
$probe>=50
--> bspw. besonders gut gelungen (schneller geschwommen, geklettern, geritten, besser gekocht, etc.)
$probe=0
--> Gerade so gelungen, aber immerhin (nicht schnell geritten, aber durchs Ziel gekommen, etc.)
$probe>=-50
--> bspw. misslungen (nicht nur vom Fluss mitgerissen, sondern ertrunken / schwer vom Pferd gestürzt, etc)
etc.
c. Es wird ein Duell ausgerechnet:
Eine Wache erhält einen FW von 50 für Wahrnehmung und bekommt die
Schleichen-und-Verstecken-Probe des Spielers als Modifikator:
Probe Wache: 20
Probe Spieler: 25
Ergebnis: -5
--> Spieler knapp unentdeckt geblieben
Probe Wache: 30
Probe Spieler: 25
Ergebnis: 5
--> Spieler knapp entdeckt (oder auch: weiß, wo sie jetzt suchen muss, bekommt dann Bonus)
Probe Wache: 40
Probe Spieler: -10
Ergebnis: 50
--> Spieler entdeckt, keine Fluchtmöglichkeit
Probe Wache: -40
Probe Spieler: 10
Ergebnis: -50
--> Spieler völlig unentdeckt
Probe Wache: -25
Probe Spieler: -25
Ergebnis: -50
--> Spieler völlig unentdeckt, weil sich beide absolut unfähig angestellt haben
etc.
III. Was habe ich von den Fertigkeiten?
Jede Menge Erweiterungsmöglichkeiten! Es ist möglich, eine Vielzahl von Ereignissen so zu verändern, dass sie nicht mehr dem puren Zufall unterliegen. In der Praxis ist es doch so, dass die meisten Spieler anfangen, bestimmte Ereignisse oder einzelne Auswahlmöglichkeiten zu meiden, wenn sie eine Ahnung davon bekommen (oder nachgeschaut)
haben, wie groß die Erfolgswahrscheinlichkeit ist. Wenn ich jedoch vor einem der obigen Beispielereignisse stehe und meine Werte kenne, weiß ich einzuschätzen, was sinnvoll ist und was nicht. Den reißenden Fluss würde ich mit einem Wert < 70 tunlichst vermeiden.
IV. Wie steigere ich die Fertigkeiten?
Dieses Modul läuft zweiphasig: entweder auf dem "Platz der Völker" findet gerade kein Fest statt, so dass die Ausbilder anwesend sind; oder es findet eines statt, während dessen in jeder Fertigkeit variantenreiche Wettbewerbe ausgetragen werden (inkl. Bestenlisten, Rekordlisten und Preisen). Die Ausbilder sind wie bei den Boni angegeben den Völkern zugeteilt und erhöhen ihre Preise in mehreren Stufen, je nachdem wie gut man bereits ist (einstellbar).
Zudem gibt es Limits: Steigerungsversuche/Tag, erfolgreiche Steigerungen/DK, Grenzwert, ab dem sich die Wahrscheinlichkeit erhöht, dass man nach einem DK einen Fertigkeitspunkt einbüßt (Verfall durch die Wiedergeburt, damit niemand auf ewig einen Wert von 95 in allen Fertigkeiten behalten kann ohne etwas dafür zu tun).
V. Wie sieht es mit weiteren Fertigkeiten aus?
Grundsätzlich ein guter Gedanke. Aber zum einen soll das System gerade am Anfang überschaubar bleiben und zum anderen gibt es gar nicht mal so wenige Fertigkeiten, die sich nicht verwerten lassen. Fertigkeiten wie z.B. "Schmieden" oder richtige Waffenfertigkeiten würden Veränderungen des Ausrüstungs- und sogar Kampfsystems mit sich bringen, die nicht auf die leichte Schulter genommen werden dürfen. Viele andere Fertigkeiten hingegen hören sich zwar gut an, sind aber bei näherer Betrachtung
exotisch und nur wenig universell einsatzbar. Es soll gelten, dass möglichst viele Spieler etwas davon haben.
Daher plädiere ich dafür, dass zunächst einmal die von mir vorgesehenen Fertigkeiten ausgeschöpft werden. Erst dann sollte man darüber nachdenken, Ausbildermodule für dieses Modul zu schreiben (bzw. sie in eigenständigen Modulen unterzubringen, z.B. geistige Fertigkeiten in einer Schule oder Universität).
VI. Aufforderung
Programmiert Ereignisse für die Fertigkeiten! Sie tragen viel zum Spielspaß bei, weil sie endlich durchschaubar werden, und es lassen sich Dinge damit verwirklichen, die bislang nicht denkbar waren. Außerdem erhöht es die Langzeitmotivation, wenn man seine Werte steigern und sich mit anderen messen kann.
Anmerkung: Die FWs werden ab sofort aus den User-Prefs des Moduls "wettkampf" ausgelesen!