![]() | ||
![]() | ||
InformationenÜbersichtNews Änderungsprotokoll WeltenDunladanEndurias Das SpielAnmeldenNutzungsbedingungen Roadmap AllgemeinesÜber EvergorePresse Fansites Suche Rebirth Engine Evergore-TeamImpressumMitarbeiter |
Evergore Rebirth Game EngineWas ist die Evergore Rebirth Game Engine?
Evergore wird nicht wie die meisten Browserspiele durch PHP Scripte, einer externen
Datenbank und einem Webserver betrieben. Eine eigens entwickelte C++ Engine verarbeitet
alle Webseiten-Anfragen (HTTP-Requests) und die Speicher-residente Datenbank ermöglichst
schnellsten Zugriff auf die Spieldaten.
Technik: WebserverAlle HTTP Anfragen werden, wie von jedem Webserver auch, über einen Socket angenommen. Funktionen verarbeiten die Anfragen und erstellen die angeforderte Webseiten. Die Verarbeitung der Anfragen läuft bewusst Single-Threaded (nacheinander). Dies ermöglicht eine saubere Verarbeitung, ohne dass es durch parallel laufende HTTP-Requests zu spielinternen Exploit-Situationen kommen kann. Durch die extrem schnelle Verarbeitung der Anfragen (<1ms je Webseite) bringt diese Art der Verarbeitung keine Gefahren mit sich. Im Vergleich dauerte ein HTTP-Request in Evergore mit PHP, Apache2 und mySQL etwa 400 bis 600 ms. Technik: Datenverwaltung
Die spielinternen Daten liegen auf der Festplatte in XML Dateien vor. Wir haben
uns bewusst für diese Art der Speicherung entschieden, da hier eine sehr leichte
objektorientierte Datenverwaltung möglich ist. Beim Start der Engine werden die
Daten aus den XML Dateien via STL Containerklassen (C++ Standard Template Library)
in Speicher geladen und verwaltet.
Technik: Exception HandlingDie Rebirth Game Engine besitzt neben dem normalen Exception Handling auch ein zusätzliches Signal Handling, was unvorhergesehene Fehler abfängt und diese durch eine bestimmte Funktion behandelt. Falls ein Fehlersignal auftritt, sichert die Engine automatisch die Spieldaten (in XML Dateien auf der Festplatte) und beendet sich anschließend selbst (Shutdown). Jede durchlaufene Funktion und Objektmethode fügt eine Zeile mit zusätzlichen Informationen in einen Puffer, der im Falle eines Shutdown ausgegeben wird. Technik: Daemon Prozess
Ein Dämon (Überwachungsprozess) überprüft in einem festgelegten Intervall, ob
der Engine Prozess noch läuft. Falls dies nicht der Fall ist, wird die Engine
mit den zuletzt gespeicherten Spieldaten automatisch neu gestartet.
Vergleich und Fazit
Um die 3 Welten Ankrador, Bandrakon und Dunladan betreiben zu können benötigten
wir vor der Rebirth Game Engine zwei Server, die nahezu ausgelastet waren.
| EinführungErste SchritteAnleitung RPG-Guide Geschichte DokumentationVölkerLernfaktoren Eigenschaften Fähigkeiten Handwerk Magiesystem Städte Geländearten Götter E-WorksArtworkSonstigesEvergore-ShopLinks Link-Us |