Jump to content
Unity Insider Forum

Space Opera


Recommended Posts

Space Opera hat als reines Lernprojekt für C#.net angefangen. Hat sich allerdings, wie es so ist mit Dingen die Spaß machen, zu einem Hobbyprojekt entwickelt. Das Spiel hat diverse Stadien mit genügend Irrungen und Wirrungen erleben. Zu beginn setzte ich neben C# auf XNA, was dann seitens Mircosoft eingestellt wurde. Danach wechselte ich auf MonoGame, was auch recht gut lief. Leider war ich irgendwann an einen Punkt angekommen wo ich mehr zeit mit dem Testen der GUI verbracht habe als am Content zu arbeiten. Nach einigen Frust darüber bin ich zu Unity umgestiegen und versuche das Projekt - wiedermal - neu aufzubauen.

Hintergundstory: Der Spieler verkörpert eine Prototyp KI welche einen neuen Sprungantrieb testen soll. Der Langstreckensprung funktioniert zwar, doch der eintauchpunkt weicht ein wenig  ab und das KI Schiff erscheint an einer völlig falschen stelle im Raum und rammt einen Asteroiden. Durch einen Zufall übersteht einen teil Reparatursysteme und ein Notfall RTG den Crash und beginne über mehrer Jahrzehnte die Reparatur des nahezu völlig zerstörten Schiffes. Eine unbekannte Zeit später sind ausreichend Systeme wiederhergestellt um den schwer in Mitleidenschaft gezogenen KI Kern neu zu starten. Ihr wisst nicht wo ihr seidt, wie viel Zeit vergangen ist und alle Quantenkommunikationslinks zu anderen KI´s sind tot.

Status des Projekts:
Kurz und Schmerlosz: Pre Alpha, teils verbuggt und mit zu wenig Content um sich länger als 2 Minuten damit beschäftigen zu können.

 

Die Entwicklung der Vorgängerstufen kann z.B. hier nachverfolgt werden:

MyCsharp - SpaceOpera

Hier mal ein Bild der aktuellen Karte.

FullScreen.thumb.png.79203652fe469bd5556d73a6fdd3d938.png

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 weeks later...
  • 3 months later...

Space Opera | Phase 0
Einer meiner vielen Fehler bei der Entwicklung von Space Opera ist sicherlich das es keinen wirklichen Grund gab das ganze überhaupt zu spielen.

Ich versuche jetzt diesen Kritik Punkt zu lösen in dem ich quasi zum ersten Mal etwas Story mit rein bringen. Der Spieler erhält also e nach diesem Hinweis aus dem Freundeskreis, habe ich etwas versucht dagegen zu unternehmen. In Form eines Dialoge – ebenfalls etwas neues – gibt man den Spieler ein Ziel zu dem er fliegen soll.

Der noch unfertige Dialog kann bereits auf dem Nightlybuild getestet werden.

Sobald alle Ziele der Phase 0 abgeschlossen sind, wird auch ein Release für Win64 erzeugt. Dank Unity wäre auch Mac und Linux denkbar wenn das jemand wünscht.

Nightlybuild:
http://www.bradley-labs.de/download/SO/index.html
Ziele:
http://bradley-labs.de/ziele/

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der erste Testlauf einer Kartengenerierung mit PerlinNoise ist erfolgreich abgeschlossen.

Etwas mehr fein Tuning beim Algorithmus und mehr als 3 Kartenfeldtypen sollten es aber schon sein sonst ist das nicht sehr ansehnlich. Aber immerhin, es funktioniert und geht ins nächste NightlyBuild.

PerlinNoiseTest.png

Link zu diesem Kommentar
Auf anderen Seiten teilen

Im Moment arbeite ich an dem Basiskampfsystem, aber Hauptsache es gibt mal einen Anfang.

Nichts besonders großartiges, einfach 2 Waffen mit unterschiedlichen Werten und 2 Gegner typen.

Für Phase 0 und noch ein paar Phasen weiter wird das ganze ziemlich statisch sein und eher an eine abgespeckte version von FTL  erinnern.

 

 

battle01.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es ist soweit, das erste Release von Space Opera mit Unity3d ist fertig.

Ich habe mich sehr bewusst dafür entschieden, bei Space Opera mehr in die breite zu gehen, statt wie bisher in die tiefe mit den Features. An meinem eigentlichen Endziel, eine möglichste komplex simulierte Spielwelt, wird das nichts ändern. Ich schlage nur einen anderen Weg dahin ein.

Letztlich soll es sich auch Lohnen ein paar Minuten mit dem Spiel zu verbringen.

Alle Punkte in Phase 0 sind jetzt abgeschlossen und im Spiel vorhanden. Das spiel beginnt auch mit einem kleinen Dialog mit einem Schiffsreparatursystem. Über einen klick mit der rechten Maustaste kommt man im Dialog weiter.

Die Steuern erfolgt wie bisher auch über die Steuerung WASD.

Der aktuelle Release Stand kann über den NightlyBuild direkt im Browser gespielt werden.

Als alternative dazu gibt es noch den Win64 Download.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Eines der Ziele für Phase 1 sind 2 neue Kartenfeldtypen. Da eines davon ein Nebelfeld sein wird, habe ich beschlossen, dass ich auch den aktuellen Feldtyp noch etwas weiter überarbeiten werden. Dabei ist einmal ein allgemeiner Test entstanden, wie so ein Feld aussehen können und dann noch ein kleiner Test in Sachen Farbe.

FogTest.pngFogTest_02.pngFogTest_03.png

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 weeks later...

Aktuell macht mir eines meiner Ziele für Phase 1 ungewöhnliche Kopfschmerzen. Dabei ist mal ausnahmsweise nicht die Technik das Problem, sondern wie ich ein Interface gestalte.

Konkret geht es um eine Detailansicht das aktuellen Spielerschiffes. Neben einem Bild des Spielerschiffes sollen dort auch noch die verbauten Module und eine Statistik über die Schiffswerte angezeigt werden. Bisher hatte ich da immer sehr ‚konservative‘ Ansätze gewählt.

Zum Beispiel hier ohne jegliche Bilder, dafür mit reichlich Platz für Text und einem kombinierten Baumenü:
Module.png
SO_0.11.0_003.png

Bei dieser sehr frühen Version, damals noch mit XNA und Schiffs Färberei war sehr viel Platz für das Bild verwendet worden:
SO_0.7.0.0_0007.png

Da ich mit beiden Varianten nicht wirklich glücklich bin, erstelle ich gerade ein MockUp mit dem Ich versuche beides etwas zu vereinen. Dem Spieler ein Bild vom eigenen Schiff zu geben, auf der anderen Seite möglichst viel Raum für Daten einzuräumen.
ShipInfoMockUp.png

Daher mal für mich zum Sammeln von Inspiration: Was waren Spiele Interfaces die euch angesprochen haben?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nachdem ich jetzt ein paar Feedback Runden hinter mir habe, ist ein ganz brauchbarer Prototyp entstanden. Im nächsten Arbeitsschritt muss ich jetzt das ganze noch mit Leben füllen und einiges an Bildern Pixeln.


Hier die Version in 1280 x 800 was ich für mich als Minimum definiert habe.
ModuleSmall.png
Hier eine Version 2560 x 1080
ModuleBig.png
Ich denke ich habe es geschafft das die Übersicht in beiden Größen gut zu überschauen ist.

Ob alle Module dann auch final in ihren Kategorien bleiben, muss ich noch sehen. Es kann auch gut sein, das weitere Kategorien dazu kommen.

Falls jemand noch Vorschläge hat, nehme ich diese gerne an.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 weeks later...

Phu, ein ganz schönes Stück Pixelarbeit und etwas Code liegt hinter mir. Das ist zumindest das, was ein Spieler sehen wird. Im Hintergrund sind noch einige Vorbereitungen und Überarbeitungen notwendig gewesen.

Tatsächlich hat gerade das Erstellen der Grafiken die meiste Zeit in Anspruch genommen.

Download
http://bradley-labs.de/download/space-opera-phase-1/

Was waren die Ziele von PHASE 1?
Detaillierte Schiffsinformationen
Eines der Ziele war die Schiffsdetails in einer übersichtlichen Form darzustellen und mir Zeitgleich eine gute Basis für weitere ausbauten zu geben. Ich denke, das Ziel konnte ich erreichen. In einem kleinen Feature Preview Video wurde das bereits angerissen.

 

Zufalls generierte Ressourcenmenge auf Feldern
Eine kleine Sache, die recht schnell ging, durch einen Zufallsgenerator wird die Ressourcenmenge auf einem Feld bestimmt. Auch das ist nur eine erste Ausbaustufe. Die Art der Sensoren soll hier deutlich zum Tragen kommen.

2 weitere Kartenfelder Typen (Dichtes Asteroidenfeld & Dichtes Nebelfeld)
Um etwas mehr unterschied zu bekommen, habe ich 2 weitere Feldtypen erstellt. Insgesamt gibt es nun 5 verschiedene Typen in Space Opera:

Weltraum
Dünner Nebel
Dichter Nebel
Dünnes Asteroidenfeld
Dichtes Asteroidenfeld
Dazu noch unterschiedliche Versionen eines einzelnen Felds. Ich denke, damit ist es mir gelungen die Karte nicht so eintönig zu machen, wie Sie zu Beginn war.

Ungeplantes
Etwas unplanmäßig habe ich bei einer der Umstellungen auch die Möglichkeit des Modding’s eingebaut. Das Modding selbst habe ich fest im Blick gehabt, nur wollte ich es eigentlich nicht jetzt schon angehen.

mddong.png
Wer es also wünscht kann im Unterordner von Space Opera dem Pfad : “SpaceOpera_DataStreamingAssets” folgen und findet dann die abgebildeten Dateien.

Beim generieren der Karte werden diese Dateien mit eingelesen und Sie enthalten alle Modulwerte die ein Schiff beschreiben.

Ich möchte dazu irgendwann im laufe des Jahres einen kleinen Editor heraus bringen mit dem man diese Dateien verändern kann. Da es sich aber um XML Dateien handelt die man mit jedem guten Texteditor öffnen kann. Sollte es jetzt schon kein Problem sein damit ein wenig herum zu Spielen.

Es gibt allerdings noch 2 Ausnahmen. Der Waffenschaden ist noch hardcodiert, ebenso wie der Laderaum. Da es auch noch kein Bausystem gibt, wird es auch nicht möglich sein andere Module zu verbauen.

Leider ist bei dieser Aktion der Nightlybuild kaputtgegangen. Das WebGL stellt sich (noch etwas) zickig an die XML Dateien von der Webspace lesen. Das Problem wird in nächster Zeit angegangen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Phase 1 von Space Opera ist abgeschlossen und auch die WebGL Version des Nightlybuilds ist so umgestellt worden das er wieder spielbar ist. Zeit einen Blick auf Phase 2 zu werfen:

Englisch und Deutsche Lokalisation
Dazu brauche ich eigentlich nicht viel zu sagen. Space Opera soll in mindestens 2 verschiedenen Sprachen spielbar sein.

Da ich hier das Rad nicht neu erfinden will, habe ich nach einer einfachen Lösungen gesucht. Die Lösung habe ich hier gefunden:
https://youtu.be/yHOV9Jyyrrc

Letztendlich reduziert sich das ganze auf eine Fleißarbeit.

Gefechtsmanöver
Die aktuellen Gefecht sind noch sehr sehr statisch. Der erste Schritt um das aufzubrechen, wird das Einführen von Gefechtsmanövern sein. Damit verbunden kommt auch etwas Energiemanagement ins Spiel.

Im folgenden Beitrag hatte ich ein komplexeres Kampfsystem und ein entsprechendes Energiemanagement beschrieben. Da will ich wieder hin.
http://bradley-labs.de/2015/04/19/space-opera-release-090/

Neue Gegnertypen
Eigentlich eine klare Sache. Das Spiel braucht noch ein paar unterschiedliche Gegner. Ein paar Ressourcen am Ende eines Gefechts, als Belohnung wäre natürlich auch nicht schlecht.

Fog of War
Auch hier etwas das ich den in den alten Versionen drin hatte. Nicht zu wissen was hinter der nächsten Ecke liegt, kitzelt ja immer ein wenig den Forscherdrang.

Link zu diesem Kommentar
Auf anderen Seiten teilen

HeyHey.

Also erstmal finde ich es klasse wie ambitioniert du an deinem Projekt arbeitest.
Das schaffen nicht viele.

Ansonsten finde ich die Spielidee sehr gut und es lässt sich da sicherlich einiges machen.
Ich bin gespannt wie es weiter geht.

Ich hab mir das Spiel natürlich auch einmal angeschaut.
Leider hatte ich null Ahnung was ich machen soll. 🤦‍♂️
Evtl. wäre es möglich eine kleine Anleitung zu schreiben, dann schau ich da gerne öffter mal rein.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Übersetzung ist jetzt zu 98% durch.
Nach dem Kompilieren sind mir noch 2-3 stellen aufgefallen die nicht passen.

Die Übersetzung wurde maschinell erstellt durch https://www.deepl.com/de/translator, da mein Englisch leider nicht so gut ist.
Wer möchte, kann sich den aktuellen Build hier anschauen:
http://bradley-labs.de/nightlydirect/

Anmerkungen/Vorschläge/Verbesserungen nehme ich gerne mit auf.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...
×
×
  • Neu erstellen...