Seit etwa fünfeinhalb Jahren entwickel ich in meiner Freizeit Empires in Space. Es fehlen zwar noch einige Komfort-Features und ein paar Inhalte, aber da der Rest inklusive Endszenario drin ist, mache ich nun einen Soft Launch.
Empires in Space enthält ungefähr die Features und Spielumfang eines klassischen 4X Spieles (Civilization, Master of Orion, Age of Wonders uws), mit einem für Massive Multiplayer Online Spiele angepasstem Regelwerk.
Es gibt verschiedene Sachen, die mich motiviert haben das Spiel zu schreiben:
Ich liebe 4X Spiele, und auch Spiele die nur entfernt in das 4X Genre fallen - neben Civilization also auch Total War, Europa Universalis etc.
Der Multiplayer-Modus hat in einigen dieser Spiele Spaß gemacht, allerdings ist dies meist schwer zu organisieren. Da ich drei Kinder habe und fast Vollzeit arbeite, fehlt definitiv die Zeit für LAN Parties.
Trotzdem würde ich gerne mit Freunden (auch mit denen, die in anderen Städten leben) zocken, allerdings nichts was zu viel Zeit konsumiert oder zu dem ich mich explizit verabreden muss. Meistens kann ich abends 15 Minuten zocken, manchmal auch ein paar Stunden, es kann aber auch sein, dass ich für zwei Wochen ohne PC im Urlaub bin.
Diese Anforderungen finde ich bisher in keinem Spiel vereint und um diesen gerecht zu werden, habe ich ein eigenes Spiel programmiert: Empires in Space.
Inhalt
4X (Explore, Expand, Exploit, Exterminate)
Forschungsbaum und Schiffsdesigner
Güter (ungefähr so wie in der Anno-Reihe) zum Schiffbau, Gebäudebau und Handel zwischen Spielern
Nachrichtenaustausch, Kommunikationsthreads, Allianzen
Spielerzahl pro Karte: mal schauen was der Server schafft. 500 Requests pro Sekunde sollten dank Multithreading und Asnyc-IO mühelos möglich sein. Lasttests werden irgendwann folgen. Momentan gilt einfach nur - je mehr desto besser. Die aktuelle Karte hat Anfangspositionen für 230 Spieler, mit ~800 Sonnensystemen und etwa gleich vielen besiedelbaren Welten können ca 100 Spieler gut unterkommen. Es gab aber auch schon größere Karten mit 40000 Sonnensystemen.
Umsetzung MMO
Der Server läuft permanent, egal ob Spieler eingeloggt sind und Einheiten bewegen, bauen oder nicht. Es findet alle 4 Stunden eine Rundenauswertung statt. Bewegungspunkte von Schiffen summiert sich bis zu fünf Runden auf. Montagepunkte auf Kolonien summiert sich etwa bis zu 10 Runden auf. Güter auf Kolonien summieren sich solange auf wie der Lagerplatz reicht - meistens mehrere Wochen. Forschungspunkte summieren sich unbegrentzt auf.
Wer sich abends einloggt, kann also meistens:
- -Mit Scoutschiffen die Umgebung erforschen
-Ein paar Gebäude bauen
-Eine oder mehrere Forschungen erfoschen
- -mehr Scoutschiffe bauen
-Handelsschiffe bauen und Handel betreiben
-mit seinen Mitspielern interagieren
-Kriegsschiffe bauen und versuchen seinen Enflußbereich mit anderen Mitteln zu vergrößern...
-Produktion/Forschung durch Kolonieumbau optimieren
Jeder kann Hilfsschiffe dorthin schicken und dabei helfen, das Projekt abzuschließen. Die Hilfsschiffe sind jedoch ziemlich langsam und müssen halt erst quer durch die Galaxie zum Ziel geschickt werden. Wenn mehrere Parteien parallel ihr Teamprojekt beginnen zu bauen, ist ziemlich viel Konfliktpotenzial vorhanden:
- -Unbeteiligte "überreden" beim eigenen Projekt zu helfen
-Hilfsschiffe, die zu anderen Projekten unterwegs sind und nicht genügend Eskorte haben, abfangen
-Krieg erklären, um ein Team von dem Ziel "Projekt fertigstellen" auf "Kriegsmaschienerie bauen" hinzulenken
erstes/einziges MMO-Spiel welches das klassische 4X umsetzt
läuft auf Tablets und evtl. später Smartphones
4X mit Player Generated Content (Allianzen, Bündnisse, Kriege, Intrigen, Handel etc.)
Free to Play und kein "Pay to win", keine Werbung
Ich werde eventuell Premium accounts erwerbbar machen. Die würden aber keine Ingame-Vorteile bieten. Falls die Spielerzahl es zulässt, hoste ich dann mehrere Spiele parallel, das normale so wie es jetzt ist und solche, die nur mit Premiumaccount betreten werden können.
Das ist aber alles noch Zukunftsmusik...
Wer es also ausprobieren möchte und mir vielleicht sogar Feedback geben mag, ist gerne eingeladen:
http://www.EmpiresInSpace.de
Techniken, Tools und das Team
Grafiken sind bisher mit Inkscape und Blender erstellt.
Browserseitig ist Typescript mit JQuery und ein wenig JQuery UI genutzt. Alles nach Generierung des JS Codes noch durch den Closure Compiler gejagt.
Die WebApp lädt sich beim Seitenaufbau alle Spielregeln und alle Daten des Benutzers (Schiffe, Kolonien, Kontakte, Fog of War, bekannte Sterne etc.). Bei Aktionen die nur anzeigen und nichts ändern (Scrollen, Listen anzeigen), wird meist nicht mehr mit dem Server kommuniziert.
Der Webserver macht fast gar nix, reicht die Anfragen nur mit der aktuellen SessionID an einen Spielserver (C#) durch.
Der Spielserver hat alle Spieldaten in Listen / ConcurrentDictionaries und ähnlichem. Die Anfrage sperrt die zu verändernden Objekte, macht die Änderungen, schreibt asnychron in die DB und gibt die Objekte wieder frei.
Seit etwas mehr als einem Monat ist der Designer Thomas Dittrich Teil des Teams, demnächst werden also die Spielgrafiken sukzessiv ausgetauscht werden.
Und zuletzt:
Wir brauchen noch eine Storywriterin/einen Storywriter. Vorraussetzung : Das 4X Spielprinzip sollte gekannt und gemocht werden, und natürlich werden die Texte SF lastig sein. Alpha Centauri ist ein gutes Beispiel in welche Richtung es gehen wird, was die Story-Einblendungen angeht. Gerne wird auch Hilfe beim Benennen von Gütern, Schiffsmodulen, Gebäuden, Tutorial-Einblendungen, etc. angenommen.
Feedback und Kritik
Ja bitte :)
Auch gerne zu dieser Projektvorstellung. Bin ja "nur" Entwickler und keine Marketing-Mensch...