Dieser Beitrag ist als ein Nachtrag zum Vorigen gedacht, und soll in Worten fassen, was halt nun “anders” ist.
In erster Linie fällt bei der Installation auf einem PHP4-System auf, dass das ganze nicht funktioniert. Das ist vollkommen beabsichtigt, denn heute kam mit PHP 4.4.8 die letzte PHP4-Version heraus. In Zukunft wird nur noch PHP5 unterstützt, und der Nachfolger PHP6. Um optimal auf PHP6 vorbereitet zu sein, habe ich das System PHP5-spezifisch geschrieben und keine Funktionen genommen, die vielleicht nicht mehr weiter genommen werden, also als deprecated bezeichnet werden. Das resultiert in einer Abhängigkeit von PHP5 - Wer also kein 5 hat, braucht es auch nicht testen zu wollen.
Des weiteren ist das System nun Objekt-Orientiert gehalten. Zumindest inzwischen an den grössten Stellen. Das Zentrum stellt das Objekt “System” dar, das eine Zentrale Objekt-Registry bildet und das Schlüsselwort “global” überflüssig macht. Und das Zentrum für den Benutzer lst wohl das Objekt “Session”, das die ganze Session - inklusive einloggen und ausloggen - managed. Der User selbst ist im Objekt “Player” zu finden, das auf dem Objekt “User” aufbaut (Stellt die Grundlegenden Methoden bereit, wie getRace() oder sowas). Die magische Methode __construct() sorgt dabei für das einloggen und das laden des Benutzers gleichzeitig.
Als neue alte Features sticht sicher einmal das Itemsystem in die Augen. Die Waffen wurden aus der Tabelle “accounts” ausgelagert und sind nun Items, die ausgerüstet werden können im Inventar. Später sollen noch Skillmöglichkeiten auf die Waffentypen kommen, die rassenabhängig sind - nun ja.
Das PN-System wurde überarbeitet und der Quellcode verschönert, sowie die MoTD. Beide sind noch prozedural, da das die ersten Arbeiten waren, werden aber vor dem endgültigen Release ebenso nach OOP “konventiert”.
Ganz neu ist das erst kürzlich veröffentlichte Cache-System, das im Vorschaurelease allerdings deaktiviert ist. Das reduziert die Datenbankhits erheblich und vermindert auch den “Flaschenhals” MySQL. Ebenso ist, nicht ganz so neu, das Modulsystem, das Fans der Versionen 0.9.8 und jünger kennen werden. Es ist ähnlich gehalten wie dieses, aber ebenso Modular. Es sind Beispielmodule eingebunden für eine Stadt und das rundum, sowie für eine Rasse. Die Stadt basiert auf einer meiner Städte in der Engelsreich-Version, da ich “zu faul” war, um eine neutrale Stadt neu zu schreiben.

Eine grosse Änderung ist auch das Gildensystem. Sofort sticht einem ins Auge, oder eben nicht, dass es keine Gildenhäuser mehr gibt. Dafür ist die Anmeldung auch billiger. Dafür hat man mehr Einstellungsmöglichkeiten, man kann zum Beispiel den Tag im Chat vor den Namen stellen, oder hinten dran, oder ganz weglassen. Kenner des Gildensystems von Dasher werden das kennen

Die Gildenhäuser sind allerdings nicht ganz weggefallen. Natürlich nicht. Auch wenn es keine Gildenstrasse mehr gibt... Wie das geht? Ganz einfach. Eine Tabelle, die später noch administrierbar sein wird, speichert Hooks des Modulsystems für bestimmte Orte. Zum Beispiel ein Hook auf dem Marktplatz von Grossbasel, einer in der Freien Strasse und einer in der Stainenvorstadt. Das Haus kann man nun, auswählend, an irgend einem dieser drei Orte errichten und es sogar global für alle Nicht-Mitglieder öffnen (oder einfach ein seperater Text anzeigen lassen, wie, die Türe ist verschlossen). Das macht das gane etwas realistischer, als alle Häuser in eine Strasse quetschen zu wollen... PS: Das Wohnviertel soll so ähnlich funktionieren. *g*
Beim Anmelden fällt einem dann auch auf, dass es keine Titel mehr gibt. Nun ja, nicht mehr geben ist zuviel gesagt - ich dachte, da ich den Drachen sowieso gecancelt hab (Irgendwie doofe Geschichte...), bringt es auch nichts, Titel deswegen zu verdienen. Mein Plan ist deshalb, dass man sich, ähnlich wie im Spiel Guild Wars, Titel verdienen kann und die dann frei Auswählen kann im Profil. Gegen ein paar (Noch nicht existente) Spendenpunkte kann man sich dann auch einen eigenen Titel aussuchen, der in die Datenbank miteingefügt wird. Sogar Farbig darf er sein.
Ein weiterer, noch fehlender Punkt ist das Kampfsystem. Das ist etwas schwierig, vor allem mit meinen geplanten Änderungen, und zur Zeit mache ich ein Kampfobjekt für Nightborn. Erst dieses fertige Gerüst werde ich auch für das Engelsreich-Release verwenden (Natürlich 1.1.x-Code entfernen), da sich zweimal schreiben nicht lohnt. Viel ändern wird sich nichts - vielleicht werde ich sogar mehrere Gegner auf den Spieler loslassen. Wenns ja nun schon da steht... *g* Code umschreiben wird kein Problem sein, dann ist das ganze auch rechtens.
Nun - das war in etwa die Zusammenfassung der momentanten Lage. Wer mir helfen möchte, anhand diesem Release, dem sei gesagt, das ich in den nächsten Tage das Forum darauf vorbereite (Und endich mal auf Gold update). Man kann Bugfixs veröffentlichen, andere Vorschläge machen, etc. pp.. Wenn niemand helfen will, auch egal. Veröffentlicht wird das ganze so oder so - aber ich appeliere hier an den guten Willen der Programmierer, auch mal etwas zurück zu geben, die, die können

PS: Der Style meiner Engelsreich-Version wird niemals freigegeben. Das ist mein geistiges Eigentum und das Kennzeichen meiner Homepage. Sollte ich diesen Skin irgendwo anders, geklaut, sehen, dann werde ich wirklich sauer!