Post by Stefan ReutherIMHO ist es ein Tool wie dieses das, was dem PHost noch fehlt. Der PHost
ist zu textlastig, es fehlt ein Frontend.
Ist ja Freeware und das bleibt's auch.
Spätere Z-Master Versionen haben eine Spiele und Spieler DB und einen
MailRobo integriert, können Cron Jobs zum Hosten verwalten und alle
nötigen und unnötigen Webseiten erstellen.
Eine Webseite besteht aus einer oder mehreren SQL Abfragen und einem
HTML Template. In das Template werden dann die Daten, welche die
zugehörigen Datenbank Abfragen liefern, mittels Script eingebunden.
Dazu können alle Scriptsprachen, die für den Windows Scripting Host
eingebunden sind, benutzt werden.. Java Script, VB Script, Perl, Pyton
und Ruby ist wohl schon möglich..
Dadurch ist man sowohl was die Anzahl als auch den Inhalt oder das
Design der Webseiten betrifft absolut unabhängig.
Einfach ein Html Template und die zugehörige/n SQL Query/s erstellen
und schon wird auf Knopfdruck die Seite erstellt oder per ftp auf
einen Server geladen. Falls man SQL nicht kennt, es sind ja Beispiele
dabei und einfache DB Abfragen sind wirklich nicht so schwer und SQL
ist Standart.. da lernt man noch was. Dies, zusammen mit der grossen
Auswahl an Scripting Scrachen um die Daten in die Seiten einzubauen,
ist schon sehr flexibel find ich.
Das ist auch schon soweit fertig. In einem anderen Projekt hab ich das
so implementiert und es funktioniert prima.
Innerhalb von Z-Master wird nach jedem Game Hosting eine Befehlsfolge
abgearbeitet. Erstmal werden die neuen Daten in die DB eingetragen.
Danach kommen sowas wie Trigger.
Man kann sich das wie einen Hostlauf vorstellen. Nur werden keine
PData.hst etc. files geschrieben, sondern Datenbank Tabellen gefüllt.
Beispiel: Ein Spieler p1, Fed, sendet keine trn Files mehr ein.
- Es wird registriert, dass p1 für dieses Spiel
seinen Turn nicht gesendet hat und ein Flag in
einer bestimmten Tabelle wird gesetzt.
(Ich werde die Daten etwas redundant speichern,
damit die SQL Abfragen für die Templates einfach
bleiben.)
Weitere Aktionen wie Erinnerungs/Warn Mail
schicken kann man hier auch einfügen.
Das Template zur Erstellung der Game Page ist so ausgelegt, dass es
anzeigt, dass die Fed keinen Turn eingeschickt haben.
- Es wird getestet seit wievielen Turn dieses Flag
gesetzt ist. Wenn länger als x Turn, Datensatz
in Blacklist schreiben und Spieler in den
entsprechenden Tabellen löschen.
Das Template zur Erstellung der Game Page ist auch weiterhin so
ausgelegt, dass es nun einen freien Slot und einen Link zur JoinGame
Page, statt den Playernamen für die Fed anzeigt.
Oder.. Wenn das Spiel vorbei ist, greift z.B. ein anderer Trigger, der
eine Game History Seite erzeugt. Dort sieht man dann u.a., dass die
Fed Turn 1-7 von Player a gespielt wurden, dann bis Turn 10 unbesetzt
waren um dann von player b bis zum Schluss gespielt zu werden.
Oder man registriert jeweils die versenkte Schiffsmasse, Anzahl
Planets/Schiffe usw... ist die aktuelle grösser als die in einer
bestimmten Tabelle eingetragene, dann neue PlayerID dort eintragen.
Solche Trigger bekommen eine Ensprechung in der GUI, damit man sowas
für ein Duellgame z.B. abstellen kann.
Es kann dann ein HTml Template und zugehörige Datei mit der Query
geben, die eine Seite mit diesen Infos anzeigt.. Das wäre dann sowas
wie eine Rekordhalter Seite.
Wo immer ein Usereintrag angezeigt wird, kann das entsprechende
Template so ausgelegt sein, dass diese Info ausgewertet wird und ein
Spieler heisst dann nicht mehr nur Rudi Rabauke, sondern - Rudi
Rabauke - Herr der Planeten - wenn er derjenige ist, mit der grössten,
je erreichten Anzahl an Planeten in einem Spiel.
Am Schluss wird mittels der Templates und den Daten in der DB Daten
die Website aktualisiert und geänderte Seiten werden per ftp zum
Server geschickt.
Post by Stefan ReutherIch habe auch mal angefangen,
einen "Konfig-Wizard" in Java zu schreiben (ja, Christian, ich wollte
dir das Teil mal mailen...). Ein nettes Backend habe ich, fehlt nur noch
was buntes klickbares.
Hatte auch überlegt sowas wie einen Wizard zur Spielerstellung zu
integrieren. Habe mich aber dagegen entschieden, weil es mir
persönlich nicht so gefällt, linear durch Dialoge geführt zu werden.
Deshalb diese Methode.. also grob vorwählen und danach feintunen
können.
Post by Stefan Reuther- das Raster ist mir zu hell, erst recht, da die Planeten dunkelblau
sind. In PCC nehme ich eine gepunktete Linie in #555555.
Ja, die Map ist noch sehr beta und absolut nicht optimiert. Ich bin
aber schon dabei eine von Grund auf neue GUI und Map zu basteln. Das
Programm scaliert dann besser bei verschiedenen Auflössungen, die Map
ist zoombar und die Farben für die Objekte/Rassen lassen sich
einstellen.
Post by Stefan Reuther- das Programm beendet sich mit einer Fehlermeldung, wenn man auf einen
nicht existenten Gameslot klickt ("ggggggggggg").
Kenn ich.. ist schliesslich von Anfang an so drin ;)
Aber jetzt wirds gleich mal abgestellt.
Post by Stefan Reuther. alle Planeten zufällig verschieben (z.B. +/- 20 ly in jede Richtung)
Stimmt.. macht Sinn.
Post by Stefan Reuther. Planeten-Ids zufällig vertauschen
Kommt auf jeden Fall rein.
Post by Stefan Reuther. Karte um einen zufälligen Winkel drehen oder spiegeln
Damit wäre es auch als Helper Tool für Spiele mit diesem Orbiter Tool
zu gebrauchen.. naja, ein wenig mit Kanonen auf Spatzen geschossen.
Naja, ob ich jetzt einzelne Funktionen mittels CheckBox anhake und
dann mit einem anderen Button zusammen anstosse, oder jeweils
nacheinander auf einen Button klicke... eher letzteres da die
Funktionen ja auch einzeln Sinn machen.
Post by Stefan ReutherHintergedanke ist daß ein Host ein ExploreMap-Spiel aufsetzen kann.
Wer jetzt also der Meinung ist, die "neutral"-Map sei toll, kann sich
eine neue "neutral"-Map erstellen, die so ähnlich aussieht, aber von
den Spielern erst erforscht werden muß. Eventuell wäre das auch ein
Feature für AMaster allgemein.
Dann würde nat. auch ein Button in Z-Master genügen.
Post by Stefan ReutherSo, mal schauen, ob Mozilla+Hamster so tun, wie sie sollen,
Hamster ist ein wirklich gelungenes Delphi Projekt :)
Harry