Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03284.jsonl.gz/926

Navigation: Table of Contents, Index, next: Nulligarchy User Manual, prev: Ambush, up: PBEM Games
Diese Dokument dokumentiert den aktuellen Stand der Entwicklung der Python/Tk-Version vom Oligarchie-Host und dem dazu passenden Python/Tk Client Argus. Ich arbeite im Moment nicht mehr an diesem Code, obwohl die Idee von Oligarchie weiterhin aktuell bleibt. Zuwenig Zeit, zuwenig Interesse. Design und Source Code des Spiels werden hiermit unter der GPL veröffentlicht. Eine viel einfachere Implementation dieses Designs existiert als Nulligarchie.
Source Code: argus.tar.gz
Übersicht:
Oligarchie ist ein Spiel um Beziehungen und Macht. Oligarchie ist die Herrschaft der wenigen. Als Spieler übernimmt man die Rolle solcher Oligarchen. Da die Oligarchen sowieso schon mächtig sind und automatisch ein starkes Beziehungsnetz aufbauen, werden den Spielern automatisch alle lästigen und lanweiligen Aufgaben abgenommen.
Die Beziehungen der Oligarchen werden automatisch gepflegt: Führt man für einen anderen Oligarchen einen Auftrag aus, verbessern sich die Beziehungen, ignorieren sich die Oligarchen, verblassen die Beziehungen, werden Oligarchen angegriffen oder beobachtet ein Oligarch, dass Freunde angegriffen werden, verschlimmern sich die Beziehungen.
Oligarchen können Kämpfer, Priestermagier, Landherren oder Seefahrer sein. Je länger ein Oligarch lebt, umso besser kann er kämpfen oder zaubern. Auch dies geschieht automatisch und unabhängig von den Aktionen der Spieler. Man muss sich weder um ständige Übung noch um benötigte Rohstoffe kümmern.
Es bleiben die wirklich spannenden Aufgaben: Priestermagier erschaffen Artefakte, mit denen Kämpfer besser kämpfen können. Kämpfer besorgen den Priestermagiern die nötigen Materialien. Seefahrer transportieren Kämpfer auf der Suche nach seltenen Materialien, Landherren sammeln mächtige Kämpfer um sich, um ihre Burgen zu sichern. Oligarchen können Priestermagier anbeten und sie so mächtiger machen. Als Gegenleistung verpflichten sich die Priestermagier dazu, den Oligarchen in Zeiten der Not beizustehen.
Damit Oligarchen auch selbstständig agieren können, werden alle Verpflichtungen durch Verträge geregelt: Jeder Oligarch kann Angebote anschlagen und jeder Oligarch kann Angebote akzeptieren. Die Kontrolle, ob derartige Verpflichtungen erfüllt wurden und die entsprechende Entlöhnung ist auch automatisiert.
Spieler führen nur wichtige Personen: Oligarchen. Die Oligarchen kümmern sich nur um die spannenden Aufgaben im Leben. Das Spiel bietet Anreiz zur Spielerinteraktion: Reisen, Handel, Beziehungen. Die Macht eines Oligarchen ist unabhängig vom Aufwand, die ein Spieler in das Spiel steckt. Allein das Alter des Oligarchen zählt.
Oligarchen führen ein Leben unabhängig von den Spielern: Oligarchen haben Freunde und Feinde, Oligarchen können von Computerprogrammen gesteuert werden. Spieler wirken in diesem Sinne wie Ehrgeiz auf Oligarchen: Spieler geben einem Oligarchen Emotionen, Ziele, Interessen.
Wenn ein Spieler mit dem Spiel beginnt, erhält er den Spielstand eines Oligarchen vom Host zugeschickt. Diesen Spielstand kann man mittels eines Clients lesen. Bis zum nächsten ZAT (Zug Abgabe Termin) hat man nun Zeit, um sich seinen Zug zu überlegen. Mit dem Client werden die Befehle für den Oligarchen zusammengestellt und an den Host zurück geschickt.
Die wichtigsten Eigenschaften eines Oligarchen sind:
Für einen Kampf werden zuerst die Kampfstufen der Kämpfer festgelegt. Sie besteht aus der eigenen Stufe / 5, der Stufe des verwendeten Artefaktes (es wird immer das Artefakt mit der höchsten Stufe verwendet), und der Zauberstufe (diese gibt es nur bei Priestermagiern und wird im nächsten Abschnitt beschrieben).
Die Kämpfe werden von den Oligarchen mit der geringsten Kampfstufe begonnen. Sie treten am zum Duell gegen den gegnerischen Oligarchen mit der nächsthöheren Kampfstufe (oder einen zufällig bestimmten Oligarchen mit gleicher Kampfstufe). Im Duell gewinnt der Oligarch mit der höheren Kampfstufe; seine Kampfstufe wird allerdings wegen allfälliger Erschöpfung reduziert. Dieser wird wie folgt bestimmt: Es seien X und Y die Kampfstufen der Duellisten, wobei Y etwas grösser als X sei. X wird auf 0 reduziert, Y wird auf Y * (Y - X) / (Y + X) reduziert.
Beispiel: Arndt ist Stufe 24 und hat ein Schwert +3, Irina ist Stufe 42 und hat eine Peitsche +5. Die Kampfstufe von Arndt ist 7, die Kampfstufe von Irina is 13. Arndt verliert und Irinas Kampfstufe wird auf 13 * 6 / 20 = 3.9 reduziert.
Dies wird so lange wiederholt, bis ein Oligarch keinen gegnerischen Oligarchen mehr findet; offensichtlich bilden all verbleibenden Oligarchen eine Allianz. Die besiegten Oligarchen werden Anteilmässig als Gefangene an die Oligarchen der Sieger-Allianz verteilt. Der Besitz der gefangenen Oligarchen wird an ihre neuen Herren übergeben.
Gefangene Oligarchen teilen ihrem Sieger alles mit, was sie wissen. Gefangene Oligarchen können freigelassen oder getötet werden. Tote Oligarchen werden automatisch in der Region begraben, in der sie getötet werden. Hier können sie noch einige Zeit lang durch einen Zauberspruch wiedererweckt werden.
Jeder Oligarch kann an einen anderen Oligarchen beten. Hierdurch wird jede Runde etwas Manna an den angebeteten Oligarchen abgegeben. Als Priestermagier kann man dieses Manna im Kampf verwenden, oder für Zaubersprüche einsetzen.
Da im Normalfall sehr viel Manna benötigt wird, gibt es die Möglichkeit, anderen Priestermagiern ein Manna-Quota einzurichten, welches diese bei Bedarf bis zum angegebenen Betrag anzapfen können.
Im Kampf bezieht ein Priestermagier soviel Manna wie möglich. Das gesammelte Manna gibt die Zauberstufe, welche zusätzlich zur eigenen Stufe und der Stufe des verwendeten Artefaktes zählt. Priestermagier sind im Kampf also sehr mächtig. Für einen Priestermagier ist es allerdings ungünstig, wenn alliierte Priestermagier sich in Kämpfe verwickeln lassen, da dies den Manna Vorrat start schmälert.
Neben dem Kampf kann man Manna auch noch für folgende Zaubersprüche einsetzen:
Ein Beispiel für einen solchen Zauber ist die Erschaffung oder Verstärkung eines Artefaktes mit weiteren Materialien, Teleportation, und die Zerstörung von Burgen und Schiffen.
Befindet sich der Besitzer einer Burg nicht in der gleichen Region wie sein Burg, kann jeder Landherr die Burg übernehmen.
Pro Region darf es nur eine Burg geben. In Regionen ohne Burg kann jeder Landherr eine Burg erbauen.
Nur Oligarchen in der Region, welche als Freunde des Besitzers der Burg gelten, befinden sich auch tatsächlich innerhalb der Burg. Oligarchen innerhalb der Burg können keine Oligarchen ausserhalb der Burg angreifen, und Oligarchen von ausserhalb können keine Oligarchen innerhalb der Burg angreifen. Um den Kampf zu erzwingen, muss die Burg mittels Magie zerstört werden.
Um mit einem Schiff mitzureisen, muss man denselben Bewegungsbefehl wie der Schiffsherr geben. Wenn man ein Freund des Schiffsherren ist, wird man automatisch mitgenommen, ansonsten misslingt die Bewegung und man bleibt zurück.
Auf der Karte gibt es keine Seeregionen, somit sind Begegnungen auf hoher See ausgeschlossen. Alleine entlang der Hafenstädte entlang der Küste können sich Feinde aufhalten. Hierbei gilt, dass sich der Oligarch mit dem schnelleren Schiff dem Kampf entziehen kann, falls er in derselben Runde wegsegelt. Die Flucht mit dem Schiff ist die einzige Möglichkeit, einem Kampf zu entfliehen. Auf dem Landweg ist die Flucht nicht möglich.
Wichtig. Werden aufgelistet. Automatisch verbessert (Verträge werden erfüllt) oder verschlechtert (Angriffe auf Freunde). Verwässern mit der Zeit.
Treffen sich zwei Freunde (beiderseitige Loyalität > 5), tauschen die beiden Oligarchen Informationen aus:
Erinnerungen werden automatisch verwaltet.
In jeder Region ist ersichtlich, welche Verträge angenommen werden können. Ein Vertrag enthält eine Belohnung für die Annahme des Vertrages (diese kann auch null sein), eine Belohnung für die erfolgreiche Ausführung des Vertrages (diese kann auch null sein), eine Frist, innert der man den Vertrag erfüllen muss, den Urheber des Vertrages sowie eine Liste von auszuführenden Befehlen, welche man eingeben muss, damit der Vertrag als erfüllt gilt. Die Erfüllung des Vertrages wird automatisch kontrolliert. Die Auszahlung der Belohnung erfolgt automatisch sobald sich Auftraggeber und Auftragnehmer in derselben Region befinden. Gemeinsam mit der Auszahlung der Belohnung verbessern sich die Beziehungen zwischen Auftraggeber und Auftragnehmer.
Jeder Oligarch besitzt eine Liste selbst angenommenen Verträge und eine Liste der eigenen Verträge, welche von anderen Oligarchen angenommen wurden.
Handel wird mittels Verträgen abgewickelt.
Argus ist ein Oligarchie Client. Argus wird in den Metamorphosen des Ovid von Saturnia zur Bewachung der in eine Färse verwandelten Io eingesetzt:
Hundert Augen bedeckten das Haupt des Argus: von diesen
Pflegten im Wechsel nur zwei zum Schlaf sich zu schließen, die anderen
Blieben ihm offen und standen so immer getreulich auf Posten.
Argus ist der Oligarchie Client der tausend Fenster: Wo nur möglich
wurde darauf geschaut, dass man auf Information doppelklicken kann, um
weiterführende Fenster zu öffnen. Nachdem man dann ein paar duzend
Fenster auf dem Bildschirm hat, dürfte man ein Gefühl für die Probleme
des Argus bekommen...
:)
Argus ist ein Programm, welches vollständig in Python entwickelt worden ist. Dies hat die Entwicklung start vereinfacht; zudem läuft Argus überall, wo auch Python läuft; da Python auf sehr Betriebsystemen läuft, ist Argus sehr portabel. Argus läuft unter anderem auch auf Windows, Linux und Mac Plattformen.
Die passende Version von Python holt man sich am einfachsten vom Web: http://www.python.org. Argus benötigt zudem Tcl/Tk, welches auch vom Web (www.scriptics.com) geholt werden muss, falls es nicht zusammen mit Python ausgeliefert wird. Das Python Packet für Windows enthält beispielsweise Tcl/Tk, so dass keine weiteren Schritte nötig sind.
Nachdem Python und Tcl/Tk installiert worden sind, muss man das Argus Packet in einem eigenen Verzeichnis auspacken und die Auswertung auch in dieses Verzeichnis kopieren. Fertig!
Der Start von Argus erfolgt entweder durch einen Doppelclick auf die
Datei
argus.py. Falls dies nicht möglich ist, muss
Python über die Kommandozeile gestartet werden:
python argus.py
Die Kommandozeile kann man durch starten von Programmen wie
xterm,
Eterm,
command oder
cmd eingeben.
Wenn Argus startet, muss man als erstes eine Auswertung oder eine Spielstanddatei angeben. Beide Dateiformate werden von Argus gelesen. Ein normaler Spieler von Oligarchie wird allerdings kaum in den Kontakt mit Spielstand-Dateien kommen, so dass im weiteren immer davon ausgegangen wird, dass Argus mit einer Auswertung gestartet wird.
Falls Argus mit einer Auswertung gestartet wird, ist der Oligarch der Auswertung definiert. Anderenfalls existiert kein Oligarch der Auswertung.
Aufgrund der Auswertung kann Argus entscheiden, in welchen Sprachen überhaupt gespielt werden kann. Der Spieler muss sich nun für eine der Sprachen entscheiden. Argus wird versuchen, möglichst alle Texte in dieser Sprache anzuzeigen.
Falls die Auswertung Regionen auf verschiedenen Karten enthält, muss der Spieler noch die Karte auswählen, welche verwendet werden soll.
Das Argus Hauptfenster zeigt die Karte mit allen bekannten Regionen und Verbindungen. Die Anzeige der Regionen und Verbindungen kann über das Kontextmenü an und ausgeschalten werden. Das Kontextmenü öffnet sich, wenn man mit der rechten Maustaste auf die Karte klickt.
Falls ein Spielstand auf diese Art betrachtet wird, kann man die Datei
im Hintergrund editieren und dann mittels des
Rescan Punktes im
Kontextmenü neu einlesen. Nur das Hauptfenster wird neu
initialisiert; etwaige anderen Fenster müssen neu geöffnet werden,
damit die Änderungen an der Datei berücksichtigt werden.
Durch den Menüpunkt
Beenden wird Argus beendet und alle Argus
Fenster schliessen sich.
Durch einen Doppelklick auf eine Region wird ein Regionenfenster geöffnet.
Die Auswertung ist ein XML Dokument; der Spielstand des gesamten Spieles wird im genau gleichen Format gespeichert. Die Auswertung referenziert bestimmte Bilder mit Namen, ohne aber das Dateiformat zu spezifizieren. Jeder Client muss die Bilder selbstständig zur Verfügung stellen. Möglicherweise existieren lokale Kopien der Grafikdateien, oder der Client ist in der Lage, sich die entsprechenden Bilder vom WWW zu besorgen.
Dieses Dokument beschreibt Version 1.0 des Formates.
Hier sollte eine DTD stehen...
Es folgt eine Liste von XML Elementen, welche im Spielstand, in einer Auswertung, oder in Oligarchie-Befehlen auftreten können.
Liefert den Spielstand oder die Auswertung. Der Spielstand sichert das gesamte Spiel, die Auswertung ist der Teil des Spielstandes, der für einen einzelnen Oligarchen extrahiert wird.
In einer Auswertung gibt es einen Oligarch der Auswertung,
aus dessen Sicht die ganze Auswertung generiert wurde. Alle
Informationen im
world Element sind Tatsachen, welche vom
Oligarch der Auswertung in dieser Runde gesehen wurden. Innerhalb des
oligarch Elementes wird abgespeichert, was der
entsprechende Oligarch sonst noch weiss; diese Information
ist veraltet (beispielsweise der damalige Besitzer eines Artefaktes,
welches einmal gesehen wurde).
iddes Oligarchen der Auswertung (falls eine Auswertung)
Liefert Namen von Objekten in verschiedenen Sprachen. Dieses Element
kann innerhalb folgender Elemente auftauchen:
oligarch,
artefact,
material,
currency.
Weder die Länge der Namen noch die Anzahl Sprachen werden limitiert. Namen können im Laufe des Spieles nicht geändert werden. Im Moment gibt es noch keine Möglichkeiten, zu einem bestehenden Objekt Namen in weiteren Sprachen hinzuzufügen.
Liefert die Namen der Sprachen. Für Sprachen gelten die üblichen ISO
codes (
de Deutsch,
en Englisch,
fr Französisch) gemäss ISO 639, "Codes for the
representation of names of languages". Jeder client sollte seinen
Benutzern erlauben, die Sprachen in eine Prioritätenliste aufzunehmen,
so dass, wenn möglich, die Namen in der vom Benutzer gewünschten
Sprache angezeigt werden.
Liefert die Namen der Berufe, welche ein Oligarch haben kann. Es gibt genau vier Berufe; sie haben die Codes "fighter", "sorcerer", "landowner" und "mariner".
Definiert die Gegenstände, welche es im Spiel gibt. In einer Auswertung werden nur die Gegenstände aufgeführt, welche der Oligarch auch tatsächlich kennt.
Liefert Währungen (Geld) oder Materialien mit Namen. Es gibt keine
fixe Umrechnung zwischen den einzelnen Währungen. Der einzige
Unterschied zwischen Geld und Materialien ist, dass Materialien für
Artefakte verwendet werden können. In einer Auswertungen werden nur
die Dinge aufgeführt, welche der Oligarch der Auswertung kennt, im
world Element aufgeführt.
"money"(Geld) oder
"material"(Material) sein.
Liefert ein Artefakt mit Namen, ehemaligen Besitzern und verwendeten Materialien. Der Bonus eines Artefaktes ist gleich der Anzahl verwendeter Materialien.
Liefert Geld, Material und Artefakte eines Oligarchen oder einer Region, Material eines Artefaktes, oder die Oligarchen, Burgen oder Schiffe in einer Region.
Diese Beziehungen werden durch
has Elemente dargestellt
anstatt durch Schachtelung der entsprechenden Elemente. Bei den
entsprechenden Erinnerungselementen (
knows,
artefactmemory,
oligarchmemory,
castlememory und
shipmemory) können die
Beziehungen nicht durch Schachtelung dargestellt werden.
iddes Dinges
Liefert den Besitzer und vorherige Besitzer von Dingen: Artefakten,
Burgen und Schiffen.
owner Elemente tauchen in den
Elementen
artefact,
castle und
ship auf. Reihenfolge ist wesentlich: Der erste
owner war der erste Besitzer. Der letzte
owner muss das Ding nicht unbedingt mehr besitzen; der
letzte
owner bezeichnet nur denjenigen, der das Ding
zuletzt besass.
iddes Oligarchen
Die nachfolgenden Elemente beschreiben die Umwelt der Oligarchen. In Auswertungen erscheinen alle Elemente stark gefiltert, welche sich nicht in derselben Region wie der Oligarch der Auswertung befinden.
Liefert den Namen einer Region, den Namen der Karte, sowie die Koordinaten der Region auf der Karte, plus eventuell weitere besondere Fähigkeiten der Region.
Aus dem Namen der Karte kann ein Client den Dateinamen der passenden
Grafikdatei konstruieren, indem eine passende Endung angehängt wird.
Lautet der Name der Karte beispielsweise
Atlantis, so kann ein
möglicher Dateiname
atlantis.png lauten. Die Koordinaten
der Region bezeichnen eine rechteckige Fläche auf der Karte. Die
Eckpunkte x1, y1, x2 und y2 sind Prozentangaben, wobei (0,0) links
oben liegt. Falls die Karte also 400 pixel breit ist, und x1 den Wert
25 hat, so entspricht das 100 pixel vom linken Rand.
iddes seltenen Materials, welches man in der Region erhalten kann. Das Material wird demjenigen Oligarchen gegeben, welcher sich am längsten in der Region aufgehalten hat.
turnAttribut des
worldElementes) ohne Rest durch
rate_timeteilen kann, ist es soweit.
Liefert die Verbindungen zu Nachbarregionen. Tritt nur innerhalb von
region Elementen auf.
worldElementes aufgeführt)
knowsElement)
Liefert Name, Zustand und ehemalige Besitzer einer Burg. Der aktuelle
Besitzer ist derjenige Oligarch, der im letzten
owner
Element aufgeführt wird. Sollte sich dieser nicht mehr in der Region
befinden oder gefangen genommen worden sein, so kann sich jeder
Landherr zum zum neuen Besitzer machen.
Elf27, so kann ein möglicher Dateiname
elf27.pnglauten.
Liefert Name, Zustand und ehemalige Besitzer eines Schiffes. Der
aktuelle Besitzer ist derjenige Oligarch, der im letzten
owner Element aufgeführt wird. Sollte sich dieser nicht
mehr in der Region befinden oder gefangen genommen worden sein, so
kann sich jeder Seefahrer zum neuen Besitzer machen.
Elf27, so kann ein möglicher Dateiname
elf27.pnglauten.
Für eine Auswertung gilt:
agentAttribut und mit einer gefilterten Liste von Elementen aufgeführt:
knows,
artefactmemory,
oligarchmemory,
castlememoryund
shipmemorywerden nur aufgeführt, falls der betreffende Oligarch ein Freund des Oligarchen der Auswertung ist. Die entsprechende Information wird für den Oligarch der Auswertung automatisch auf den letzten Stand gebracht. Damit Information mit nicht befreundeten Oligarchen ausgetauscht werden kann, muss man das
infoElement verwenden. Das
nameElement anderer Oligarchen wird immer aufgeführt.
idAttribut und
nameElementen aufgeführt. Alle weitere Information entnimmt der Oligarch der Auswertung den eigenen
oligarchmemoryElementen. Es kann vorkommen, dass kein entsprechendes
oligarchmemoryElement vorhanden ist: Falls der Oligarch beispielsweise mit einem
ownerElement referenziert wurde, gibt es ausser dem Namen keine weitere Informationen.
Liefert Namen und weitere Informationen zu einem Oligarchen. Am
meisten Information gibt es, wenn der Oligarch der Auswertung
aufgeführt wird. Am wenigsten Information gibt es, wenn der Oligarch
nur als ehemaliger Besitzer eines Dinges bekannt ist; in diesem Fall
werden nur
id und
img Attribute aufgeführt.
Im
oligarch Element selber wird es allerdings immer
name Elemente geben.
iddes Oligarchen, an den das produzierte Manna abgegeben wird
prisoner_ofist die
ideines Oligarchen) oder tot und begraben (
prisoner_ofist die
ideiner Region).
Elf27, so kann ein möglicher Dateiname
elf27.pnglauten.
Das Gedächtnis von Oligarchen speichert Informationen über andere Oligarchen, Artefakte, Burgen, Schiffe, Regionen und die Verbindungen zwischen Regionen. Information wird aus dem Gedächtnis gestrichen, sobald der Oligarch sich in derselben Region wie die betreffenden Objekte befindet. Informationen werden neu im Gedächtnis gespeichert, sobald sich der Oligarch von den betreffenden Objekten trennt.
Liefert die Beziehung zu einem Oligarchen. Dieses Element tritt nur
innerhalb von
oligarch Elementen auf. Die so
aufgeführten Oligarchen werden auch innerhalb des
world
Elementes aufgeführt.
Falls sich ein Oligarch in derselben Region wie der Oligarch der
Auswertung befindet, wird das entsprechende
oligarchmemory Element automatisch auf den neuesten Stand
gebracht. Falls sich ein befreundeter Oligarch in derselben Region
wie der Oligarch der Auswertung befindet, werden alle auf den
neuesten Stand gebracht.
Am meisten Information gibt es, wenn ein befreundeter Oligarch in
derselben Region aufgeführt wird. Am wenigsten Information gibt es,
wenn der Oligarch nur als ehemaliger Besitzer eines Dinges bekannt
ist; in diesem Fall wird nur das
ref Attribut aufgeführt.
Mittels
ref Attribut lassen sich allerdings aus dem
entsprechenden
oligarch Element noch mindestens das
img Attribut sowie
name Elemente finden.
iddes Oligarchen
iddes letztbekannten Aufenthaltes
prisoner_ofist die
ideines Oligarchen) oder tot und begraben (
prisoner_ofist die
ideiner Region).
Liefert die Erinnerung an ein Artefakt. Dieses Element tritt nur
innerhalb von
oligarch Elementen auf. Die so
aufgeführten Artifakte werden auch innerhalb des
world
Elementes aufgeführt. Dort werden allerdings alle Elemente ausser
name herausgefiltert.
iddes Artefaktes
iddes letztbekannten Aufenthaltes
Liefert die Erinnerung an eine Burg. Dieses Element tritt nur
innerhalb von
oligarch Elementen auf. Die so
aufgeführten Burgen werden auch innerhalb des
world
Elementes aufgeführt. Dort werden allerdings alle Elemente ausser
name herausgefiltert.
idder Burg
iddes letztbekannten Aufenthaltes
Liefert die Erinnerung an ein Schiff. Dieses Element tritt nur
innerhalb von
oligarch Elementen auf. Die so
aufgeführten Schiffe werden auch innerhalb des
world
Elementes aufgeführt. Dort werden allerdings alle Elemente ausser
name herausgefiltert.
iddes Schiffes
iddes letztbekannten Aufenthaltes
Liefert Referenzen auf bekannte Regionen, Ausgänge und Materialien.
Die hier aufgeführten Regionen und Ausgänge werden auch innerhalb des
world Elementes aufgeführt. Dort werden allerdings alle
Elemente ausser
name herausgefiltert.
Das
knows Element listet alle Memory Elemente auf, welche
sich im Laufe der Zeit nicht ändern können, also auch kein
age oder
region attribut benötigen.
Regionen, Ausgänge und Materialien ist entweder bekannt oder nicht.
Es gibt keine veralteten Informationen.
ideiner Region oder eines Ausganges
Die folgenden Elemente zeigen an, wie Befehle eingegeben werden und in welcher Form die Rückmeldung stattfindet. Befehle wurden entweder vollständig oder gar nicht ausgeführt.
Setzt die Befehle für einen Oligarchen. Dies ist an mehreren Stellen interessant:
oligarch
planElement enthält alle Befehle, welche noch auszuführen bleiben (dies kann man durch
waitElemente erzwingen)
contract
planElement enthält alle Befehle, welche ausgeführt werden müssen, damit der Vertrag als erfüllt gilt.
new_order
planElement enthält alle Befehle, welche in einer Runde ausgeführt werden sollen.
Liefert die in der letzten Runde erfolgreich ausgeführten Befehle.
Die Auflistung der Befehlselemente entspricht dem
plan
Element. Innerhalb eines
done Elementes werden die
Befehle in der Reihenfolge aufgelistet, in der sie ausgeführt wurden.
Tritt nur innerhalb eines
oligarch Elementes auf.
Liefert die Befehle, welche in der letzten Runde nicht ausgeführt
werden konnten. Tritt nur innerhalb eines
oligarch
Elementes auf. Es wird keine Erklärung für den Fehler geliefert.
Mittels Verträge können Beziehungen zwischen Oligarchen aufgebaut werden. Jeder erfüllte Vertrag verbessert die beidseitigen Beziehungen zwischen Auftraggeber und Auftragnehmer. Auch Handel wird über Verträge abgewickelt.
Liefert einen Vertrag mit Namen, Auftraggeber, Belohnung und
Befehlsliste. Das
contract Element kann, je nach Status,
innerhalb verschiedener Elemente auftreten:
region
oligarch
contractElemente werden so bald wie möglich belohnt. Hierzu müssen sich Auftraggeber und Auftragnehmer in derselben Region befinden.
plan
Es ist möglich, den Vertrag nur einem einzelnen Oligarchen anzubieten. Es gibt keine Möglichkeit, den Vertrag einer Gruppe von Oligarchen anzubieten.
iddes Auftraggebers
iddes Oligarchen, der den Auftrag annehmen darf; default ist null,
contractElemente in einem
regionElement werden allen Oligarchen gezeigt
Liefert die Belohnung für die Annahme und für die Ausführung eines
Vertrages. Das
pay Element tauch nur innerhalb von
contract Elementen auf. Innerhalb eines
contract Elementes können beliebig viele
pay
Elemente auftauchen.
before, wird die Belohnung bei der Annahme des Vertrages ausbezahlt; falls
after, wird die Belohnung ausgezahlt, sobald das
contractElement kein
planElement mehr enthält und sich Auftraggeber und Auftragnehmer in derselben Region befinden. Default ist
after.
iddes Dinges (Geld, Material, Artefakt oder gefangener Oligarch)
Acceptiert einen Vertrag.
iddes Vertrages
bidElement des Vertrages wiederholt wird, falls man den Vertrag bekommt; default ist 1
Bezeichnet die Elemente eines Planes innerhalb eines Vertrages, welche
überboten werden können. Das Überbieten geschieht mittels
bid Attribut im
accept Element.
Das
bid Element kann nur in einem
plan
Elementen auftauchen, das Teil eines
contract Elementes
ist.
Die Oligarchie-Befehle bestehen aus XML Dateien mit einem
new_order Element. Rückmeldungen erfolgen erst mit der
nächsten Auswertung mit
done und
error
Elementen. Falls eingeschickte Befehle nicht als XML Dokument geparst
werden können, werden sie ignoriert. Der Host schickt eine
entsprechende Email zurück.
Liefert die Befehle, welche für einen Oligarchen in dieser Runde
ausgeführt werden sollen. Dieses Element wird von Clients per Email
an den Host geschickt. Der Inhalt des
new_order
Elementes ersetzt alle zuvor eingegangenen
new_order
Elemente.
iddes Oligarchen
rewrite, werden das bestehende
planElement des Oligarchen durch das enthaltene
planElement ersetzt. Default wird Inhalt des enthaltenen
planElementes and den Inhalt des bestehenden
planElementes angehängt.
Setzt die neue Email Adresse des Oligarchen. Dieses Element tritt nur
innerhalb des
new_order Elementes auf.
Setzt das neue Passwort des Oligarchen. Dieses Element tritt nur
innerhalb des
new_order Elementes auf.
Attackiert einen Oligarchen.
iddes Oligarchen
Befreit einen gefangenen Oligarchen.
iddes Oligarchen
Töten einen gefangenen Oligarchen.
iddes Oligarchen
Wechselt falls möglich den Beruf.
profdes neuen Berufes
Baut eine neue Burg, falls in der aktuellen Region noch keine Burg
steht. Nur Landherren können Burgen bauen. Der Erbauer der Burg wird
automatisch der Besitzer der neuen Burg. Das
build_castle Element muss
name Elemente
enthalten. Der Name kann später nicht mehr geändert werden.
Übernimmt eine Burg, falls der Burgbesitzer nicht in der aktuellen Region ist. Nur Landherren können Burgbesitzer werden.
idder Burg; default die Burg der aktuellen Region
Übergibt den Besitz einer Burg an einen anderen Oligarchen. Nur Landherren können Burgbesitzer werden.
idder Burg; default die Burg der aktuellen Region
iddes neuen Besitzers
Baut eine neues Schiff, falls die Region Zugang zu Wasser hat. Nur
Seefahrer können Schiffe bauen. Der Erbauer des Schiffes wird
automatisch der Besitzer des neuen Schiffes. Das
build_ship Element muss
name Elemente
enthalten. Der Name kann später nicht mehr geändert werden.
Übernimmt ein Schiff, falls der Schiffsbesitzer nicht in der aktuellen Region ist. Nur Seefahrer können Schiffsbesitzer werden.
iddes Schiffes
Übergibt den Besitz eines Schiffes an einen anderen Oligarchen. Nur Seefahrer können Schiffsbesitzer werden.
iddes Schiffes
iddes neuen Besitzers
Die nun folgenden Befehle gelten erst für nachfolgende Runden und werden nicht mehr ausgeführt. Hiermit lassen sich Befehle für zukünftige Runden eingeben.
Deklariert einen nicht befreundeten Oligarchen für eine Runde zum Freund.
iddes Oligarchen
Liefert Informationen an eine nicht befreundeten Oligarchen (mit
befreundeten Oligarchen wird alle Information automatisch
ausgetauscht). Enthält beliebig viele
knows,
artefactmemory,
oligarchmemory,
castlememory und
shipmemory Elemente.
Falls der empfangende Oligarch sich nicht in derselben Region befindet, muss der empfangende Oligarch ein Priestermagier sein.
iddes Oligarchen, default sind alle Oligarchen der Region; es ist nicht möglich, eine Gruppe von Oligarchen anzugeben
Mit diesem Befehl reist der Oligarch in eine andere Region. Als
Parameter gibt man die
id eines Ausganges aus der
aktuellen Region an. Dieser Ausgang muss dem Oligarchen bekannt sein,
dh. innerhalb des
oligarch Elementes muss es ein
knows Element geben, welches das verlangte
connect Element referenziert.
Es kann geheime Verbindungen zwischen zwei Regionen geben. Solche Verbindungen erlernt man von Freunden. Wenn Oligarch A sich in einer Region befindet, in der es eine geheime Verbindung gibt, und sich in derselben Region ein Freund B aufhält (dh. B hat eine Beziehung Stufe 5 oder höher zu A), so erfährt A automatisch von der geheimen Verbindung.
Um Wasser-Verbindungen zu benutzen, muss man den
sail
Befehl verwenden. Der
sail Befehl sieht gleich aus wie
der
go Befehl.
ideines bekannten Ausganges
Der
sail Befehl sieht genau gleich aus wie der
go Befehl. Die Beschränkungen auf bekannte Ausgänge gilt
für Wasser-Verbindungen
FIXME
Damit man den
sail Befehl verwenden kann muss man
entweder den Beruf
Seefahrer haben und ein Schiff in der Region
besitzen, oder zusammen mit einem solchen Seefahrer reisen. In diesem
Fall müssen beide denselben Befehl eingeben. Der
sail
Befehl funktioniert für Wasser-Verbindungen zwischen zwei Regionen.
Es kann auch geheime Wasser-Verbindungen
zwischen zwei Regionen geben.
Mit Manna lässt sich nicht nur kämpfen; mit grösseren Mengen Manna lässt sich auch sonst gut zaubern.
Transferiert automatisch jede Runde das vorhandene Manna an einen anderen Priestermagier.
iddes Oligarchen
Dieses Element tritt innerhalb von zwei Elementen auf:
oligarch
plan
iddes Oligarchen
Teleportiert den Priestermagier zu einem anderen Oligarchen. Andere Oligarchen können nicht teleportiert werden.
Kosten: 100 Manna.
iddes Oligarchen
Verwendete Materialien werden mit
has Elementen
angegeben. Der Name wird mit
name Elementen angegeben
und kann später nicht mehr geändert werden. Die Anzahl verschiedener
Materialien bestimmt automatisch die Stufe des Artefaktes.
Kosten: 50 Manna pro Material.
Verbessert ein Artefakt mit weiteren Materialien. Die neuen
Materialien werden mit
has Elementen angegeben.
Kosten: 50 Manna pro Material.
iddes Artefaktes
Zerstört eine Burg.
Kosten: Genausoviel Manna wie der Unterhalt der Burg plus magischer Schutz der Burg
idder Burg
Schützt eine Burg.
Kosten: Variabel; die Mannamenge wird für den Schutz der Burg verwendet.
idder Burg
Erweckt einen Oligarchen wieder zum Leben. Der erweckte Oligarch ist automatisch gefangener des Priestermagiers, der Ihn zum Leben wieder erweckt hat.
Kosten: 500 Manna.
iddes Oligarchen
Liefert Informationen über die Oligarchen, welche in der aktuellen Region begraben sind.
Kosten: 100 Manna.
Befehle werden nach Phasen gruppiert ausgeführt. Zuerst werden für alle Oligarchen die Befehle der Phase 1 ausgeführt, dann werden für alle Oligarchen Befehle der Phase 2 ausgeführt, etc. Die Reihenfolge der Oligarchen ist undefiniert. Die Reihenfolge der Befehle einer Phase ist ebenfalls undefiniert.
address, passphrase,
sail
Nachdem der Host alle Befehle verarbeitet hat, werden alle Auswertungen generiert und an die Spieler verschickt. Hierbei wird versucht, die mail per PGP verschlüsselt, falls dies möglich ist.
Als Email Filter wird
procmail eingesetzt. Das bedeuted,
dass alle Email Befehle an den Host im Subject (Betreff) von
Emails an den Host stehen müssen.
Folgende Email Befehle werden vom Email Filter erkannt:
addressElement ändern.
Alle Email Befehle werden vom Email Filter bestätigt.
Falls ein Oligarch nicht der Kontrolle eines Menschen unterliegt, werden seine Interessen durch einen Roboter wahrgenommen. Es gibt Roboter mit verschiedenen Persönlichkeiten. Neue Roboter Source Codes in C, Java, Perl oder Python nehme ich gerne entgegen. Es ist mir leider nicht möglich, optionale Bibliotheken zu installieren
Roboter bekommen auf STDIN Ihre Auswertung präsentiert und müssen
passende Befehle auf STDOUT schreiben. Fehler sollen auf STDERR
geschrieben werden und werden meistens ignoriert...
:)
Navigation: Top, Table of Contents, Index, next: Nulligarchy User Manual, prev: Ambush, up: PBEM Games