1w6 - Ein Würfel System - Einfach saubere, freie Rollenspiel-Regeln

TextRPG

strict warning: Only variables should be passed by reference in /www/htdocs/w0062791/1w6-drupal/modules/book/book.module on line 559.
Bild von Drak

Das TextRPG Modul bietet eine Skriptumgebung für textbasierte Computerrollenspiele und interaktive Geschichten.

Es wurde so entworfen, dass die als Code geschriebenen Geschichten ähnlich aussehen wie Drehbücher oder Theaterskripte.

Im deutschen Python Forum habe ich dazu ein schnelles Beispielskript geschrieben, das zeigt wie eine schon recht komplexe Geschichte umgesetzt wird. Ein Beispiel für nichtlineare Geschichten gibt es im Quellcode.

Dazu gibt es ein interaktives Tutorial (als TextRPG Skript geschrieben), das beim Download mitgeliefert wird (tutorial_de.py). Einfaches (doppelt) anklicken sollte es starten (zumindest auf GNU/LInux und MacOSX - wenn es nicht klappt, schreib mir bitte!).

Zur Umsetzung von Geschichten bietet das TextRPG Modul dabei einige einfache Funktionen:

  • story()
    gibt den Text aus, der ihr übergeben wird.

  • answer = ask()
    Stellt die Frage in den Klammern und weist answer den Textwert der Antwort des Nutzers zu.

  • save(chars=[])
    Speichert eine Liste von Charakteren. Beim nächsten laden der Charaktere werden sie die neuen Werte haben.

  • give_exp(char, amount=0)
    Einem Char Erfahrungspunkte geben, die automatisch verteilt werden. Das Ergebnis wird als Textdialog angezeigt.

  • get_experience(chars=[], amount=0)
    Einer Gruppe von Charakteren die gleiche Erfahrung geben. Das Ergebnis wird als gemeinsamer Textdialog angezeigt.

  • exit()
    die Geschichte beenden (eine Standard-Python Funktion).

Zusätzlich definiert es die Klasse Char() über die Charaktere erzeugt werden können, die wiederum einige Praktische Möglichkeiten liefern.

Einige der Hauptmöglichkeiten sind:

  • char = Char(source="tag:1w6.org,2008:Name")
    einen Charakter erzeugen. "source" ist im tag-Format: "tag:" + (url oder email-adresse) + "," + Jahr (yyyy) + ":" + Name des Chars).

  • char.say()
    den Charakter sprechen lassen (wie story(), nur mit Charakternamen vor der Ausgabe und dem Vorteil, dass bei einer Umsetzung in eine GUI Umgebung genutzt werden kann, dass der Char spricht).

  • char.ask()
    den Charakter fragen lassen (wie ask(), s.o.).

  • char.check_skill(skill_name, MW=9, related_skills=[name, name, ...], related_attributes=[name, name, ...], mods=[])
    prüft, ob der Char eine bestimmte Fertigkeitsprobe schafft. Wundmali u.ä. sind direkt drin. Mods ist eine Liste von Zahlen: pos. und neg. Modifikatoren auf die Probe.

  • char.compete_skill(other, skill_name, self_mods=[], other_mods=[])
    Lässt den Char in der gewählten Fertigkeit (skill) gegen den anderen Char antreten. Wundmali u.ä. sind direkt drin.

  • char.battle(other)
    startet einen Interaktiven Kampf gegen einen anderen Charakter.

  • char.fight_one_roll_battle(other)
    startet einen kurzen nicht-interaktiven Kampf mit dem Ein Wurf System. Einer der Charaktere ist danach kampfunfähig.

  • char.active
    enthält die Information, ob der char aktiv ist (also fähig zu handeln).

  • char.alive
    enthält die Information, ob der char lebt.

  • char.die()
    tötet den char.

Weiterhin können jegliche anderen Python Befehle und Module genutzt werden, da die Skriptdateien einfache Python Dateien sind.

Zusätzlich zu seiner einfachen Syntax ist es so entworfen, dass eine Umsetzung eines eigentlich für eine Textausgabe geschriebenen Skriptes in eine GUI-Umgebung extrem einfach sein sollte (nur eine Zeile zu ändern). Was gehen sollte, sobald es ein Backend für eine GUI-Umgebung gibt.

Viel Spaß beim Skripten! - Drak

Dieser Text ist mir was wert: Flattr this ?

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.
CAPTCHA
Bist du ein biologisches Wesen? (4 Zeichen, Groß- und Kleinschreibung zählt!)
Image CAPTCHA
Enter the characters shown in the image.
Inhalt abgleichen
Über 1w6
Downloads
GNU General Public License v3
GNU General Public License v3
Flattr this ?

Benutzeranmeldung

CAPTCHA
Bist du ein biologisches Wesen? (4 Zeichen, Groß- und Kleinschreibung zählt!)
Image CAPTCHA
Enter the characters shown in the image.

Kommentare

Woran wir gerade arbeiten



„Dass man alle abs­trak­ten Werte benennt, macht den Ein­stieg wun­der­bar ein­fach und intuitiv.“
— Tim Charzinski in der Rezension bei den Teil­zeit­helden
    was Leute sagen…