Seite 1 von 1

[Projekt] Empires in Space

Verfasst: 19.10.2015, 16:51
von Skratti
Im Anschluss an die DevMania möchte ich mein Projekt Empires in Space auch hier präsentieren.
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.

Bild

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
Wer mehr Zeit investieren möchte könnte
  • -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
Als Spielziel ist ein Teamprojekt - Globale Transzendenz - implementiert. Dabei baut ein Spieler (passende Forschung vorausgesetzt) ein Grundgerüst in Form einer speziellen Raumstation für das Teamprojekt, z.B: bei sich im Orbit einer seiner Kolonien. Ab dem Zeitpunkt ist allen Spielern diese Station + Fortschritt und Koordinaten bekannt.
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
Unique Selling Points
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...

Re: [Projekt] Empires in Space

Verfasst: 20.10.2015, 10:30
von Schrompf
Schon auf der Devmania gesehen, sieht eigentlich interessant aus. Das Konzept der akkumulierenden Aktionspunkte finde ich richtig gut, damit muss man nicht in jedem Zug dabei sein. Kann man dann während eines laufenden Spiels einsteigen, ohne das etablierte Spieler einen gleich plattmachen können?

Re: [Projekt] Empires in Space

Verfasst: 20.10.2015, 11:08
von Skratti
Ja, man kann definitiv später einsteigen.
Forschungen werden billiger je mehr Spieler diese Forschung schon erforscht haben - dadurch kann man ganz gut zu den anderen aufholen.
Das Spiel ist momentan noch sehr friedlich, da ein paar der Rohstoffe zu großzügig erwirtschaftet werden, kein Platzmangel besteht usw. Erst durch Knappheit wird ein Aufbauspiel interessant.
Und selbst der Konflikt der seit einem Monat auf der Cygnus-Karte stattfindet hat trotz größerer Schlachten zu noch keiner Grenzverschiebung geführt. Vermutlich weil die Belagerungszeit für eine ausgebaute Kolonie bei ungefähr 6 Tagen liegt, wodurch Gegenangriffe machbar werden.

Die Cygnus-Karte läuft vermutlich noch zwei Wochen, die neue Messier 83 Karte ist ja gerade erst gestartet. Auf dieser ist das Balancing schon ein wenig angepasst so dass manche Sachen knapper vorhanden sind, und es wird im Laufe der nächsten Woche weiter angepasst. Allerdings sind soweit ich es abschätzen kann nicht die ersten paar Forschungen und Gebäude betroffen, sondern nur die Sachen die sowieso erst später freigeschaltet sind.

Re: [Projekt] Empires in Space

Verfasst: 30.08.2016, 17:58
von Skratti
Eine neue Runde startet gerade.
Wer also Lust auf ein rundenbasiertes MMO 4X (Slow time) hat, darf gerne reinschnuppern.

Ich würde mich zudem wirklich über Test-Feedback freuen - je negativer, desto besser ;)
Die "normalen" Spieler sagen halt nix, sondern kommen einfach nicht wieder. Ihr kennt das ja wahrscheinlich...

Die Startseite ist komplett überarbeitet - selbst die darf also getestet werden.

Im Spiel selbst sind ein paar kleinere Features wie z.B. Tooltips für das Canvas-Element hinzugekommen, und ein größeres das den Spielinhalt stark ändert:
Nun kann man seine eigene Zivilisation ein wenig customizen und Schwerpunkte setzen.
Außerdem habe ich aus der 5 Monate dauernden letzten Runde die Lehre gezogen das 5 Monate (momentan) einfach zu lang ist, und Forschungszeiten sowie ein paar andere Werte drastisch reduziert.

Die neue Runde wird dann hoffentlich schnell und actionreich...
Trotzdem sollte, wie bisher, ein einzelner Login am Tag ausreichen (wenn man nicht mehr Zeit investieren kann oder möchte).

https://www.EmpiresInSpace.com

Re: [Projekt] Empires in Space

Verfasst: 30.08.2016, 19:30
von marcgfx
habe mal wieder reingeschaut. ich weiss nicht so ganz was ich machen soll, habe einfach mal einen planeten kolonisiert und ein paar gebäude errichtet. da gabs für mich dann schon fragen wieso ich gewisse gebäude nicht mehr errichten konnte. dann habe ich mal die 3h gewartet und nichts passierte. habe eben bemerkt ich musste mich ausloggen und wieder einloggen, damit die nächste runde begann...

Re: [Projekt] Empires in Space

Verfasst: 30.08.2016, 19:57
von Skratti
Ich vermute das deine Kolonie nicht mehr genug Konstruktionspunkte hatte.
Ich könnte in den Tooltip über der Gebäudeauswahl die Baukosten integrieren. Die kann man auch per Rechtsklick abrufen (momentan die einzige Stelle im Spiel wo es überhaupt einen Rechtsklick gibt).
Zusätzlich evtl eine Warnmeldung wenn man eines der Gebäude die rot umrandet sind anklickt, in der Art "nicht genügend Konstruktionspunkte/Baumaterial". Oder die Meldung kommt in den Tooltip, so wie es zuletz in der Forschung reingekommen ist (Bereits erforscht, Kann erforscht werden, Noch nicht erforschbar).

Das mit dem neu Einloggen lag daran, das ich zwischendurch den Server leider neu starten musste (neue Progammversion hochgeschoben). Dein Client hatte ab da keine Verbindung mehr zum Server. Normalerweise versuche ich das immer so zu takten, das keine Session verloren geht...

Hier scheint auch eine Fehlerroutine im Client zu fehlen, die einen redirect zur Indexseite durchführt wenn die Verbindung weg ist...

Danke schon mal für das Feedback, das gibt ja gleich neue Sachen die ich in die Todo-liste packen kann :)

Re: [Projekt] Empires in Space

Verfasst: 01.09.2016, 01:43
von marcgfx
auf meinem laptop ist mir eben folgendes aufgefallen: obwohl ich nichts mache fängt der pc an richtig heiss zu laufen. anscheinend renderst du dauernt mit 60fps obwohl nichts läuft. wäre super für den akku wenn du nur bei updates zeichnen würdest.