EWS:NPC-Kämpfe und Schlachten
aus 1w6, der freien Wissensdatenbank
Dieses Modul existiert noch nicht ... dafür entsteht ein Programm, das die in Entwicklung befindlichen Regeln umsetzt.
| Inhaltsverzeichnis |
Schlachtfeld.py
Ich habe ein kleines freies Tool zum Abhandeln von Kämpfen geschrieben.
Es hat zwei Modi: redeslig (verbose) und Standard. Die Ausgabe sieht bisher wie folgt aus:
- "verbose" Modus, Drei gegen Zwei (https://rpg-tools-1d6.svn.sourceforge.net/svnroot/rpg-tools-1d6/schlachtfeld/docs/beispiel_ausgabe_drei_gegen_zwei.txt).
- Standard-Ausgabe, 1000 Menschen gegen 1200 halbwegs erfahrene Goblins (https://rpg-tools-1d6.svn.sourceforge.net/svnroot/rpg-tools-1d6/schlachtfeld/docs/beispiel_ausgabe_menschen_gegen_goblins.txt).
Eigenschaften
Folgende Eigenschaften hat das Skript:
- in Python geschrieben, also weitgehend unabhängig von der Plattform
- 2 Armeen, Größe frei wählbar (10.000 pro Seite sind rechentechnisch problemlos möglich, 100.000 geht auch noch recht fix)
- Erfahrung, Rüstung & Bewaffnung einstellbar
- Regeln: EWS, Ein-Wurf-System, einfache Überzahlregel, Kampfstile implementiert
- klassenbasiert, daher leicht erweiterbar
- Namensgenerierung erweiterbar. Aktuell verwenden wir Yould (http://ygingras.net/yould).
- Situationsmodifikatoren
- 3 Klassen von Kaempfern: Soldaten, Anfuehrer, Helden
Fuer Leute, die zu dem Projekt beitragen wollen zudem interessant:
- gut dokumentierter Code (laut Ohloh)
- einfach zu editierende Charakter- und Template-Dateien
Überzahlregel
- Es wird das Verhältnis der Größen der Streitmächte bestimmt
- Der Logarithmus zur Basis 1,2 wird ermittelt
- der Wert wird mit einer cutoff-Funktion versehen <math> 4 * frac{q}{1+frac{|q|}{8}} </math>
- Der Wert wird gerundet und
- Der Betrag des Wertes vom Wurf des zahlenmäßig unterlegenen abgezogen
Eine Überzahl sollte sich damit schnell bemerkbar machen, sich aber ab einer gewissen Größe verlaufen (Wie bekämpft man mit 1.000 Mann eine Truppe von 10 Leuten??)
Mögliche Erweiterungen
- Rüstung und Waffe stärker integrieren (TP-Abzug nicht nur über Wunden?)
- Schwere Wunden
- Flucht (ab einer gewissen Zahl Verlusten, Verletzten, Unterzahlverhältnis, usw.)
- Flucht einzelner Charaktere (Desertation).
- => Moral: Der Erfolg in der Schlacht ändert vielleicht den Bias.
- Gelände
- Schlachtreihen, d.h. Schrittweise Kämpfe (es treffen nicht immer alle gleichzeitig aufeinander)
- Strategie / Taktik (Führungspersönlichkeiten)
- Helden integrieren
- mehrere Gruppen unterschiedlicher Bewaffnung, Erfahrung, etc
- GUI
Technisches
- Eine erste Version ist als Download verfügbar: schlachtfeld-0.1-r12.tar.gz (http://dateien.1w6.org/schlachtfeld/schlachtfeld-0.1-r12.tar.gz)
- Und es hat jetzt auch eine Sourceforge Projektseite (http://sourceforge.net/projects/rpg-tools-1d6/).
- Subversion-Zugriff: svn co https://rpg-tools-1d6.svn.sourceforge.net/svnroot/rpg-tools-1d6
- Bei cia.vc gibt es Echtzeit-Infos zu der subversion-aktivität (http://cia.vc/stats/project/rpg-tools-1d6).
- Ideenentwicklung findet hauptsächlich in Sourceforge über Feature Requests (http://sourceforge.net/tracker/?group_id=199744&atid=970729) statt.
- Python Docs sind über die 1w6.org Webseite verfügbar: http://dateien.1w6.org/schlachtfeld/pydoc
Stil-Leitfaden
Hier entwickeln wir ein paar Programmier-Richtlinien für das Schlachtfeld. @Achim: Wenn du einige stabile Richtlinien einfügen willst, tu es einfach. - Arne 19:50, 2. Jul 2007 (CEST)
Zeichensatz für Dateien
Alle Dateien sollten in utf-8 kodiert sein.
Sie müssen auf der ersten oder zweiten Zeile einen Eintrag enthalten, der die Kodierung anzeigt. Beispiel:
# encoding: utf-8
Sie sollten auf der ersten Zeile den Aufruf für die Bash enthalten:
#!/bin/env python
Unicode
Alle Strings sollten als Unicode kodiert sein.
Übersetzung, Lokalisierung
Noch suchen wir nach einer passenden Lokalisierungslösung. In Gentoo-GNU/Linux fehlt pygettext.py

