Zend - The PHP Company


Fallstudien


Zend Platform macht Server fit für zehntausende Online-Seeräuber

Überblick

Mit dem webbasierten Multiplayer-Spiel „Dogs of the Seas“ feiert die deutsche Spieleschmiede CORE Engineering aus Lüneburg große Erfolge: Seit November 2005 können Spieler online in ihrem Browser eine Karriere als Pirat in der Karibik starten und sich mit tausenden anderen Mitspielern im Freibeuten, Handeln und Anhäufen von Schätzen messen. Obwohl erst im März 2006 Marketingaktivitäten gestartet wurden, hat das Massively Multiplayer Online Role-Playing Game (MMORPG) bereits mehr als 60.000 registrierte Nutzer, von denen über 10.000 täglich die Server bevölkern. Dieser wachsenden Popularität kann das komplett in PHP programmierte Spiel nur durch eine stabile und skalierbare Serverumgebung Herr werden. Als Produktionsumgebung kommt dabei Zend Platform auf inzwischen elf Dual-Opteron-Servern zum Einsatz.

Software-Piraterie – powered by Zend

Core Engineering

Hinter „Dogs of the Seas“ steht die Lüneburger Software-Schmiede Core Engineering, die ursprünglich auf internetbasierte Datenbanklösungen spezialisiert ist. Im Jahr 2002 gründete man dort die Spieleentwicklungsabteilung Core Labs, mit dem Ziel, browserbasierte Online-Spiele zu entwerfen und dabei das Know-How aus den „ernsthaften“ Projekten des Unternehmens zu nutzen. Dogs of the Seas gehört zu den so genannten Browsergames, also Spielen, die sich ohne Installation komplett im Browser spielen lassen. Im Gegensatz zu anderen solcher Games handelt es sich jedoch um ein in Echtzeit ablaufendes, ausgewachsenes Multiplayer- Strategie- und -Rollenspiel, das es in punkto Spieltiefe und 2D-Grafik durchaus mit normalen PC- oder Konsolentiteln aufnehmen kann. Gewürdigt wurde dies bereits dadurch, dass Dogs of the Seas beim Deutschen Entwicklerpreises 2005 als einziges Browsergame nominiert war und in der Kategorie „Bestes Strategiespiel, national“ den dritten Platz erreichte. Browsergames bieten viele Vorteile: Sie kommen zum einen ohne Vertrieb, Zwischenhandel und physische Verpackung und Datenträger aus. Zum anderen können die User das Spiel überall spielen, also zu Hause, im Internet Café oder sogar in der Arbeit, und benötigen dafür keine teure Hardware. Damit liegt Dogs of the Seas in zwei großen Wachstumsmärkten: Online-Spiele und Browsergames.

Aus dem Entwicklungslogbuch...

Core Labs startete im März 2004 die Entwicklung von Dogs of the Seas als Browser-Spiel. Thema ist die piratenbevölkerte Karibik vor 300 Jahren. Ziel war es, ein Multiplayer- Spiel zu schaffen, bei dem die Spieler sowohl gegeneinander kämpfen und sich messen konnten, als auch miteinander über Community-Funktionen agieren und kommunizieren konnten. Schon früh fiel dabei die Entscheidung, das Spiel komplett in PHP zu realisieren, da sich die Programmiersprache als de-facto-Standard für webasierte Anwendungen etabliert hat und schnelle Entwicklung ermöglicht. Bis August 2004 waren dann auch schon die ersten Grundfunktionen der Game Engine fertig gestellt: Markt und Tauschhandel, das Kampfsystem, die Wegfindung, et cetera. Im März 2005 stand dann eine erste frühe Betaversion des Spiels zur Verfügung, das zunächst von 300 bis 400 Nutzern getestet wurde und auf gehosteten Servern lief. Gleichzeitig begannen die Kooperationsverhandlungen mit Online- Diensten für den deutschsprachigen Vertrieb. Mit einem Partner zusammen stieg in den folgenden Wochen die Anzahl der Beta-Tester auf bis zu 4.000 an, was jedoch schnell zu Performance-Engpässen auf dem Server führte. Dennoch entschied man sich, mit Hochdruck an dem Projekt weiterzuarbeiten, um zur Games Convention im August 2005 in Leipzig eine erste voll spielbare Version vorstellen zu können.

“Zend Platform ist die ideale Lösung für PHP-basierte Online-Games. Es hilft uns, die Kapazitäten unserer Server besser auszunutzen, auszubalancieren und zu skalieren. Gleichzeitig unterstützt uns PHP Intelligence dabei, den Programmcode ständig zu optimieren.”

Jan Rehde Geschäftsführer Core Engineering GmbH

Stapellauf mit Jungfernfahrt ohne Zend Platform

Die Games Convention sollte der erste große Meilenstein für Dogs of the Seas werden – doch bei Core Engineering war man sich bewusst, dass vorher die Server-Defizite gelöst werden mussten. „Wir erwarteten während der Messe einen großen Ansturm auf unsere Server, da unser Projektpartner im Vorfeld schon groß für das Spiel getrommelt hatte. Wir mussten eine Lösung finden, mit der unsere bestehenden Hosted Server viel mehr Last bewältigen konnten“, schildert Jan Rehde, Geschäftsführer von Core Engineering das Problem. „Daher entschlossen wir uns, Zend Platform in der 30-Tages-Testlizenz auszuprobieren – mit vollem Erfolg.“ Nach der Messe arbeitete man dann mit Hochdruck am letzten Feinschliff und peilte eine Veröffentlichung des Spiels noch im Jahr 2005 an. Im November 2005 ging das Spiel mit dem ersten Release offiziell online, jedoch immer noch auf gehosteten Servern und ohne Zend Platform. Durch die Massen an gleichzeitigen Anfragen, die in Echtzeit zu bewältigen waren, wurden erste Flaschenhälse sichtbar: Die Server waren nicht optimal installiert und es gab nur einen virtuellen Cluster, keine dedizierten Maschinen. Gleichzeitig stiegen die Spielerzahlen rasch an, so dass an Weihnachten 2005 die Last so groß war, dass das Spiel zu Spitzenzeiten quasi unspielbar geworden war. Und das, obwohl immer wieder zusätzliche Server dazu gemietet wurden. „Durch die reine Aufstockung der Serverkapazitäten konnten wir den Ansturm der Spieler nicht abfangen – die Maschinen arbeiteten zu ineffizient und es stand kein vernünftiges Clustering und Load-Balancing auf PHP-Ebene zur Verfügung“, so Jan Rehde.

(Kein) Fluch der Karibik

Nach den Erfahrungen im Weihnachtsgeschäft entschied sich Core Labs, eine komplett eigene Server-Infrastruktur zu konzipieren und aufzubauen. Zum Einsatz kommen nun elf Server von Angstrom mit Dual Opteron 270-CPUs mit jeweils 2,04 Gigahertz Taktfrequenz und acht Gigabyte Speicherkapazität sowie Linux als Betriebssystem. Gleichzeitig implementierte man auf allen Servern Zend Platform, um Betrieb und Wartung der PHP-Skripte zu vereinfachen und die Ausführung zu beschleunigen. Diesen Roll-Out konnte Core Labs mit Unterstützung von Zend in weniger als acht Wochen realisieren. Von Zend Platform zeigen sich die IT-Verantwortlichen von Core hellauf begeistert: „Allein die Performance von Skripten stieg um 60 Prozent. Gleichzeitig können die Server mehr Anfragen parallel abarbeiten“, so Jan Rehde. „Sehr gut funktioniert auch das Session Clustering, mit dem sich Nutzer-Sitzungen beliebig zwischen den Servern verlagern lassen. Da die Spieler oft lange am Stück online sind, ist es für unsere Lastverteilung sehr wichtig, dass wir die Sessions auf diese Weise handhaben können.“

Insgesamt konnte Core durch den Wechsel auf neue Server und Zend Platform einen Leistungszuwachs um 500 Prozent messen. Denn die Skriptsprache PHP ist durchaus anfällig für großen Overhead im Quelltext – gleichzeitig lässt sich mit Code-Analyse und –Tuning aber auch viel Performance zurückgewinnen. „Zend Platform hilft uns sehr bei der Analyse von Bottlenecks in der Anwendung. Wir prüfen damit regelmäßig den Code und optimieren ihn ständig, um mit bestehender Hardware mehr Leistung zu erzielen“, erklärt Jan Rehde. „Gerade wenn man Programmcode von verschiedenen Entwicklern konsolidiert und Verbesserungsmöglickeiten zurückmeldet, entsteht ein ständiger Optimierungsprozess.“

Da im März 2006 die ersten richtigen Marketingaktivitäten angelaufen sind und sich inzwischen bis zu 10.000 Spieler am Tag in der Karibik tummeln, muss jedoch trotzdem in neue Server investiert werden. Doch dank Zend Platform sind solche Ausbauprojekte seltener nötig und lassen sich einfacher bewerkstelligen. So ermöglicht Zend Platform eine automatische Übernahme der Konfiguration von einem Server auf den anderen. Auch Updates und Bugfixes des Spiels lassen sich mit Platform stark automatisieren, so dass für die Spieler möglichst kurze Ausfallzeiten entstehen. Angesichts der vielen Erleichterungen und Leistungszuwächse durch Zend Platform bescheinigt Core Labs der Software einen sehr guten Return on Investment.

“Zend Platform hilft uns sehr bei der Analyse von Bottlenecks in der Anwendung. Wir prüfen damit regelmäßig den Code und optimieren ihn ständig, um mit bestehender Hardware mehr Leistung zu erzielen.”

Jan Rehde Geschäftsführer Core Engineering GmbH

Neue Ziele im Visier

Nach dem erfolgreichen Launch von Dogs of the Seas hat Core Engineering schon das nächste Projekt in Planung. Thema und Inhalt sind noch geheim, aber es wird definitiv wieder in PHP programmiert. Und Zend Platform will Core Engineering-Kapitän Jan Rehde beim nächsten mal gleich von Anfang an mit an Bord nehmen.

Darum hat sich Core Engineering für den Einsatz von Zend Platform entschieden

Dogs of the Seas, ein Multiplayer-Online-Spiel mit Piratenszenario, wurde komplett in PHP realisiert. Damit zehntausende von Spielern gleichzeitig ohne Verzögerungen spielen können, setzt Entwickler Core Labs auf Zend Platform als Produktionsumgebung. Zend Platform nutzt die Serverkapazitäten optimal aus, beschleunigt und stabilisiert die PHP-Ausführung, erleichtert das Aufsetzen neuer Server und ermöglicht das Clustering der Maschinen. Core Labs nutzt Zend Platform außerdem, um den Programmcode der verschiedenen Programmierer zu konsolidieren, zu analysieren und fortlaufend zu optimieren. Mit diesen Maßnahmen konnte eine Leistungssteigerung von 500% erreicht werden.

Über Core Labs

Core Labs aus Lüneburg, Deutschland wurde 2002 von Craig Mathias und Jan Rehde gegründet. Der Hintergrund als Entwickler von großen, Datenbankbasierenden Softwarelösungen, die vollständig über das Internet zugänglich waren, legte den Grundstein für die Entwicklung der NX Game Engine für MM-OG Spiele. Die Technologie erlaubt hochqualitative Multiplayerspiele in fortdauernden Spielewelten im Browser, ohne dass zusätzliche Software nötig ist.

Weitere Informationen zu Core Labs und der Core Engineering GmbH finden Sie unter www.corelab.com.

Download Download als PDF