Merchant Seas

Top  Previous  Next

Mike D, einer unserer Multiplayer Experten, hat ein schönes 2D MMO Spiel geschrieben.

 

F: Wieviel Zeit haben Sie gebraucht, um das Spiel zu erstellen und wann soll es veröffentlicht werden?

A: Ich begann Anfang September mit der Arbeit an Merchant Seas, kurz nachdem die erste Version meines vorigen Multiplayer Projektes Powerplay veröffentlicht wurde. Damit hat es knapp 5 Monate gedauert. Ich studiere nebenher und arbeite halbtags, so dass ich in diesen 5 Monaten nicht nonstop entwickeln konnte.

Es ist immer schwer vorauszusehen, wann ein Projekt veröffentlicht wird, aber ich strebe eine erste Version im März an, damit ich etwas Feedback bekomme und auch Probleme angehen kann, die erst auftreten, wenn eine gewisse Anzahl an Spielern zugleich online ist. Dann kann ich weitere Features hinzufügen und später verbesserte Versionen veröffentlichen.

 

F: Vor einigen Monaten wurde schon eines ihrer Projekte im AUM vorgestellt. Was ist das Geheimnis Ihrer Produktivität?

A: Ich fühle mich schlecht, wenn ich in meiner Freizeit nichts Produktives tun kann. Ich kann stundenlang am Computer spielen und habe danach nichts vorzuweisen. Wenn ich aber ein Spiel entwickle, lerne ich immer dazu und habe vielleicht ein fertiges Projekt im Portfolio, wenn ich es abschließe.

Ich war aber nicht immer so produktiv. Ich verwende GameStudio seit 7 Jahren und komme erst langsam an den Punkt, an dem ich die Projekte fertigstellen kann. Ich habe gelernt, mir realistische Ziele zu stecken.

 

F: Warum haben Sie ein kostenloses 2D Multiplayer Onlinespiel entwickelt?

A: Die Entscheidung ein MMO zu schreiben fiel als ich ein paar Jahre mit MySQL gearbeitet hatte und zuversichtlich war, damit ein größeres Projekt stemmen zu können. Ich wollte mich nach meinem letzten Multiplayer Projekt auch weiterentwickeln. Es gibt mehrere Gründe, warum es ein 2D Spiel ist, aber hauptsächlich aus schierer Notwendigkeit. Ich wollte etwas mit einem stimmigen, professionellen Look und das ist mit einem begrenzten Budget in 3D nur schwer hinzubekommen. Ich fand einige kostenlose bzw. günstige 2D Ressourcen, die gut zu dem Stil passten, der mir vorschwebte. Und ich mache das Spiel kostenlos, weil ich möchte, dass möglichst viele Spieler teilnehmen und mir Feedback geben. Es ist schwer genug, Spieler für Low Budget Spiele zu finden, auch wenn sie kostenlos sind.

 

F: Wieviele Spieler können gleichzeitig Merchant Seas spielen?

A: Das ist eine gute Frage, die ich vermutlich erst nach der Veröffentlichung beantworten kann. Ich bin aber optimistisch, da MySQL mehr als geeignet dafür ist, viele Queries in relativ kurzen Zeitabständen zu bewältigen. Der Code kommt auch gut mit Queries zurecht, die etwas länger dauern, also dürften auch Spieler aus einem anderen Kontinent lagfrei spielen können. Ich habe aber auch eine im Nachhinein anpassbare Schranke der Spielerzahl eingebaut, falls Probleme auftreten sobald mehr als X Spieler eingeloggt sind.

 

F: Ich weiß, dass Sie eine Datenbank zusammen mit dem kostenlosen MySQL Plugin von Joozey verwenden. Hatten Sie irgendwelche Probleme damit?

A: Joozeys Plugin hat von Anfang an gut funktioniert. Das einzige Problem damit war, dass GameStudio im wesentlichen "einfror", während die Queries durchgeführt wurden, wodurch das Spiel mitunter stotterte. Joozey suchte nach einer Lösung mit mehrläufigen MySQL Queries, was aber zu seltsamen, nicht erklärlichen Abstürzen führte. Nach viel Debugging gelang es mir schließlich, die Ideen von Joozey zu vollenden und GameStudio stottert nun nicht mehr, wenn die Query läuft.

 

F: Wie haben Sie die dynamischen Wetterübergange (Regen, Wolken, Tag / Nacht) in 2D implementiert?

A: Es gibt dafür einige Variablen in der Datenbank, eine in der die aktuelle Spielzeit steht und eine andere für das Wetter. Alle paar Minuten wird die Zeit erhöht und das Wetter zufällig geändert. Jeder im Spiel sieht das Gleiche, wenn es also Nacht ist und regnet, ist dies für alle Spieler so.

Die Wolken, der Regen und die Dunkelheit sind einfach bildschirmgroße Panels, die ein- und ausgeblendet werden und die manuell animiert werden. Für mich haben sich dabei keine Einbußen in der Framerate ergeben, man kann die Animationen aber optional abschalten, falls User mit älteren Rechnern Probleme haben.

 

F: Wie funktioniert das "dynamic cloud layer" Feature?

A: In der Datenbank kann das Wetter "klar", "leicht bewölkt" oder "stark bewölkt" sein. Davon hängt ab, wie transparent die Wolken sind. Für die Animation habe ich mehrere Bilder, die von links nach rechts über den Bildschirm scrollen. Wenn ein Bild komplett vom Bildschirm verschwunden ist, wird es wieder ganz nach links verschoben und der Prozess beginnt nahtlos von vorne.

 

F: Welchen Rat würden Sie einem Anfänger geben?

A: Versuchen Sie sich nicht an einem MMO! Denken Sie sich das kleinste und simpelste Spiel aus, das Sie sich vorstellen können und versuchen Sie zunächst, das gut zu implementieren. Es ist immer besser ein kleines Projekt fertigzustellen als ein großes aufzugeben.

 

Vielen Dank, Mike.