Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

19.10.2015, 15:17

[Projektvorstellung] Empires in Space

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.

(Link)



Es gibt verschiedene Sachen, die mich motiviert haben das Spiel zu schreiben:
Ich liebe 4X Spiele, 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 muß. 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 erforschen
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 Einflußbereich mit anderen Mitteln zu vergrößern...
  • Produktion/Forschung durch Kolonieumbau optimieren
  • RPG Texte veröffentlichen (es gibt sogar Spieler die einzig deswegen solche Spiele zocken)
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" bei dem 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 "Kriegsmaschinerie 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:

Empires in Space

Techniken und Tools

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.

Das Team
Seit etwas mehr als einem Monat ist der Designer Thomas Dittrich Teil des Teams, demnächst werden also die Spielgrafiken sukzessiv ausgetauscht werden. Ich selber habe Informatik studiert und bin im ERP-Bereich angestellt. Zum Glück nicht mehr in der Projektarbeit sondern in der Produktentwicklung.

Wer möchte mitmachen
Wir brauchen noch eine Storywriterin/einen Storywriter. Voraussetzung: 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...
Empires in Space
MMO 4X, Rundenbasiert
HTML5/TypeScript/Javascript/CSS/C#/SQL

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Skratti« (19.10.2015, 15:26)


Toa

Alter Hase

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

2

19.10.2015, 19:30

Ich fände einen Gäste-Account praktisch. Mir ist das nänmlich immer zu umständlich einen Account zu erstellen, um nur mal eben Feedback zu geben. Grüße T0a
"Das ist ein Minkovski Raum, manche Menschen nennen ihn auch Weltraum" Prof. Dr. Jürgen Wambach, Theoretische Physik, TU Darmstadt | Meine Homepage

3

19.10.2015, 21:35

Danke schon mal fürs nette Feedback :)
Das Transfer-Fenster ist uralt und hat eine Überarbeitung nötig. Mehrere Güter auf einmal transferieren geht, allerdings nur soweit es die Lagerkapazität der Schiffe/Kolonien zulässt.

Bis vor eineinhalb Jahren gab es tatsächlich zwei Demo-Versionen die ohne Accounterstellung auskamen. In einer fing man von vorne an, in der anderen waren etwa 1000 generierte Spieler mit jeweils einer halbwegs ausgebauten Kolonie und mehreren Schiffen platziert, und man bekam einen von diesen Accounts zugewiesen. In der Zwischenzeit beansprucht eine größere Instanz jedoch gerne mal 300mb Arbeitsspeicher oder mehr, und deswegen sind die Demos deaktiviert (und auch mangels Interesse). Sobald mehr Besucher auf die Seite kommen reaktiviere ich die Demos.


Wer es testen möchte kann um die Anmeldung zu verkürzen auch gerne eine fake-email-adresse nutzen - es wird noch keine Autorisierungsmail veschickt.
Das Passwort ist mit Salt versehen und nur gehasht gespeichert (sage ich nur dazu, da sich die fehlende Autorisierungsmail ja nicht sehr professionell anhört).
Empires in Space
MMO 4X, Rundenbasiert
HTML5/TypeScript/Javascript/CSS/C#/SQL

Cologny

Frischling

Beiträge: 54

Wohnort: Köln

Beruf: Maschinenbauingenieur

  • Private Nachricht senden

4

20.10.2015, 16:59

Feedback

Hallo, erst mal vorab ein Kompliment für das bisher geleistete...und das alleine, Respekt! Ich habe es noch nicht getestet aber der Screenshot sieht so aus als ob da Potenziel drin steckt wenn es noch grafisch aufgepeppelt wird...

Zuerst habe ich nen kleinen Schreck bekommen als ich die Überschrift las, denn wir entwicklen ja auch gerade eine Weltraumspiel, eine gewisse Ähnlichkeit ist auch vorhanden, aber dein Spiel geht doch ins wirkliche Massive Multiplayer, unseres nicht denn dies würde bei uns zu Endlospartieen führen was wir nicht möchten. Wie lange dauert eine Partie be Empires in Space schätzungsweise?

Hast du schon Ideen wie die den Premiumaccount relaisieren möchtest ohne InGame Vorteile zu verteilen? Ich stelle mir das recht schwierig vor...

Wie wirst du die Finanzierung der Server realisieren wenn es komplett kostenlos ist?

Nach deinen Angaben/ Spielbeschreibung hört es für mich so an dass wer länger am Rechner sietzt auch viel höhere Chancen hat das Spiel zu gewinnen? Oder sehe ich das falsch? Ich finde das dabei nicht unbedingt als Nachteil, ich finde es nur bei den MMOS immer so ernüchternd, wenn man Zeit investiert und andere sind einfach besser/ weiter/ stärker weil sie länger vor dem Bildschirm hocken...

Aber das Projekt gefällt mir wirklich sehr sehr gut, hätte ich nicht selber ein Projekt würde ich mich sehr gerne bewerben ;-) Spielen werde ich das in jedem Fall mal...

Grüße Cologny
CtG-Team

5

20.10.2015, 20:42

Das mit dem Schrecken kenne ich, ging mir vor etwa 2 Jahren genauso als FreeCiv Online heraus kam.

Eine Runde dauert etwa 3 bis 4 Monate. Ich bin noch am Überlegen ob ich parallel ein Endlosspiel anbiete. Mich selbst interessiert es nicht so sehr, aber es gibt einige Spieler die das mögen.

Bei VGA Planets waren gehostete Spiele entweder für Spieler ohne Lizenz, hier war der TechTree stark reduziert. Andere gehostete Spiele waren für Spieler mit Lizenz, und der TechTree war vollständig vorhanden. Im Netz geistert die Zahl von 70.000 verkauften Lizenzen rum (á 20 Dollar).
Ich selber habe mit der Idee gespielt es ähnlich zu machen. Hatte sogar überlegt den gleichen Spielinhalt für "normale" Spiele und "Premium"-Spiele zu nutzen. An einem Premium-Spiel mitzumachen hätte dann einfach die Herausforderung, mit aktiven, erfahrenen Mitspielern/Konkurrenten auf einer Karte zu sein.

Aber vermutlich werde ich vorerst auch das weglassen und einfach nur ein "Premium" Kennzeichen vergeben.
Spieler werden Ingame damit gekennzeichnet ob sie "Spieler" oder "Premium Spieler" sind. (Zudem gibt es noch Pirat KI, Alien KI, Separatisten KI usw). Ich denke wenn einem das Spiel Spaß macht, man dort mit Freunden in einer Allianz ist und einige der Mitspieler das "Premium Spieler" Kennzeichen haben, wird man selber es auch haben wollen.

Der Server ist die nächsten 2 Jahre noch von Microsoft gesponsort (BizSpark). Im Worst Case gehe ich wieder Vollzeit arbeiten um den Server zu finanzieren - bin momentan auf 32 Stunden damit ich Montags an Empires in Space arbeiten kann. Und ganz so teuer ist der Server zudem auch nicht.


Zur zu investierenden Zeit: Es gibt nur eine begrenzte Menge an möglichen Aktionen pro Tag, und das wichtigste (Gebäude bauen, Forschen , evtl ein weiteres Raumschiff bauen) geht schnell von der Hand. Auch eine neues Kolonieschiff losschicken geht recht schnell. InGame-Nachrichten zwecks Diplomatie und Handel können natürlich beliebig viel Zeit in Anspruch nehmen.

Einen Unterschied macht es beim Krieg führen. Defensiv kommt man vermutlich mit dem gleichen Aufwand hin wie in Friedenszeiten. Allerdings macht es ja erst richtig Spaß wenn das selbst aufgebaute Reich auf dem Spiel steht - wenn ein Spieler dann keine Lust hat ein paar Minuten mehr zu investieren wäre er bei Empires in Space vermutlich nicht gut aufgehoben.

Krieg führen ist in Empires in Space allerdings nicht Normalzustand, sondern eine Kriegserklärung muss vom Aggressor explizit durchgeführt werden. Das kam bisher zwar in jeder Partie vor, betroffen waren aber nur Spieler die Spaß an der Herausforderung hatten.

Es geht mir sogar tatsächlich viel zu friedlich zu - ich würde mich freuen wenn ein paar Spieler die sich schon kennen dazukommen, eine Allianz gründen und versuchen gemeinsam den Rest aufzumischen ;)

Schau es dir mal an. Darfst auch gerne Sachen recyclen die du dort siehst und die dir gefallen. Ich hatte z.B: bis vor 4 Wochen alle Listen (Schiffe, Kolonien usw) in eigenen Fenstern eingeblendet und nicht am linken Rand. Das neue Design hat den Vorteil das es den Platz besser ausnutzt, und das Tablets/Smartphones sehr gut mit dem Layout klar kommen.
Empires in Space
MMO 4X, Rundenbasiert
HTML5/TypeScript/Javascript/CSS/C#/SQL

Cologny

Frischling

Beiträge: 54

Wohnort: Köln

Beruf: Maschinenbauingenieur

  • Private Nachricht senden

6

01.11.2015, 12:17

Passwort vergessen

Hallo, es fehlt beim Login die Möglichkeit sich sein Passwort zusenden zu lassen....ich habe mein nämlich vergessen!!! :-)

7

01.11.2015, 14:38

Habe dir eine Nachricht mit neuem Passwort zugeschickt.
Da bislang etwa 12 aktive Spieler dabei sind, war die Nachfrage noch nicht groß den Reset einzubauen. Wird aber bald zusammen mit einer neu entworfenen Login-Seite kommen.
Empires in Space
MMO 4X, Rundenbasiert
HTML5/TypeScript/Javascript/CSS/C#/SQL

8

04.11.2015, 22:07

Nun kann ich auch noch etwas Rat gebrauchen:
Empires in Space soll ja 1000+ Spieler unterstützen. Da ich Angst vor Ingame-Spammern hatte, hatte ich folgendes Feature implementiert:
Spieler sehen in der Spielerliste nur diejenigen anderen Spieler, zu denen sie räumlich Kontakt aufgenommen haben. Auch in der Server_Datenbank ist dies natürlich abgespeichert und in den Fällen in denen es drauf ankommt dagegen geprüft.

Nun gibt es noch ein weiteres Feature: Raumstationen bzw Gebäude die als Kommunikationszentrum dienen, so in der Art eines einzelnen ForumThreads. Diese Threads sieht man auch nur wenn man einmal mit einem Schiff vor Ort gewesen ist. Und hier ist implementiert, das alle Spieler die eine solche Station besuchen , die Kontaktdaten zu allen anderen Spielern bekommen die schon da waren.


Insgesamt stört mich dieses ganze Feature mit "Kontakt nur wenn räumlicher Kontakt da war" nun. Es stellt einen erheblichen Overhead dar, und schränkt Spielerkommunikation stark ein. Spieler die sich Privat kennen, können in den ersten Tagen keinen Kontakt miteinander aufnehmen wenn sie sich noch nicht getroffen haben.
Und zuletzt funktioniert das ganze auch noch nicht mal so richtig: Sollte ein Kommunikationszentrum besonders stark genutzt werden, so werden alle aktiven Spieler jeweils ein Scoutschiff dorthinschicken, und somit sowieso Kontakt zu jedem anderen haben.
Und andererseits sind Spieler, die solch eine Station noch nicht besucht haben, von der Galaxieweiten Kommunikation ausgeschlossen (evtl. unwissentlich) und es somit fehlt ein wichtiger Baustein der Interaktion.

Meine Idee ist also, die ganzen Einschränkungen bezüglich Kontaktaufnahme zu entfernen und jedem Spieler von Anfang an Zugang zu der einen, zentralen, neutralen Kommunikationsstation zu gewähren. Die anderen Kommunikationszentralen die von Spielern im LAufe des Spieles gebaut werden um als AllianzThread, RPG-Thread/ Handels-Thread oder sonstwas dienen müssten weiterhin räumlich besucht werden (weil ich das Feature an der Stelle sehr gut finde).

Was haltet ihr davon. Habt ihr aus Online-Spielen Erfahrung mit Spammern gemacht? Oder war das ganze Premature Optimization?
Empires in Space
MMO 4X, Rundenbasiert
HTML5/TypeScript/Javascript/CSS/C#/SQL

Superwayne

Treue Seele

Beiträge: 242

Beruf: Student & App Entwickler (Xamarin)

  • Private Nachricht senden

9

04.11.2015, 23:16

Ich finde die Idee von verschiedenen Channeln ganz gut. Zum Beispiel einen allgemeinen Channel für auf das Spiel bezogene Inhalte (vielleicht auch mehrere, damit nicht zu viele Spieler in einem Channel gleichzeitig schreiben?) und einen Plauderchannel für alles andere. Ohne Kontrolle (durch Moderatoren) ist das aber natürlich schwierig. Da kann der Hauptchannel schnell dazu genutzt werden, um Waren anzubieten.

Auf jeden Fall finde ich eine ignore Funktion sehr wichtig. Ob temporär (nur bis zum nächsten log-out) oder permament (vielleicht beides?) ist erstmal nebensächlich, aber manchmal möchte ich einfach nichts von bestimmten Spielern hören ;)

10

17.11.2015, 13:42

Ich habe letztens mit einem Tileset für Weltraum-Nebel experimentiert. Das Tileset hat aus einem Innenfeld und etwa 42 Randfeldern bestanden.
Letztendlich bin ich auf ein sehr viel einfacheres Verfahren umgeschwenkt, das ziemlich gute Ergebnisse liefert.

Momentan wird eine einzige Nebelgrafik genutzt, die halbtransparent ist und weit über das eigentliche Nebelfeld hinausgezeichnet wird:


(Link)


Das eigentliche Feld ist 60x60 px groß, die Grafik ist 180x180 px groß und wird insgesamt über 3x3 Felder gezeichnet, wobei das eigentliche Nebelfeld das zentrale ist.
Da man in dem Bild noch ziemlich starke Muster im Nebel sieht, kamen zwei weitere Optimierungen dazu:
Der Nebel wird nun über 4x4 Felder gezeichnet (die linke obere Ecke ist um 1,5 Felder nach links oben verschoben), und zusätzlich wird die Nebelgrafik um (id % 8 ) * 45 Grad gedreht, wobei id eine eindeutige NebelId pro Nebelfeld ist.



(Link)
Empires in Space
MMO 4X, Rundenbasiert
HTML5/TypeScript/Javascript/CSS/C#/SQL

Werbeanzeige