Space Opera – Release 0.2

Die aktuellen Arbeiten liefen – von einem lästigen Bug abgesehen – recht gut. Weshalb auch recht schnell das  nächste Release von Space Opera kommt.

Folgende Funktionen wurden eingebaut:

– Das Umwandeln von Roherz in Metall ist im Spiel nun möglich. Die umwandlung beträgt dabei 5 Einheiten Roherz + 1 Einheiten Energie, ergeben 1 Metall. Metall wiederum ist ein wichtiger Baustoff für viele anderen Systeme.
– Einige Hilfetexte mit detailierten Informationen wurden eingebaut
– Der Fusionsreaktor eure Schiffs ist jetzt online. Aktiviert ihr ihn wird pro Sekunde 1 Deuterium in 10 Energie umgesetzt. Das Geschieht so lange bis der Kondensator sein Maximum von 100 Einheiten erreicht hat. Parralel werdet ihr immer noch über das Solarezellen System mit Energie Versorgt.

Sonstiges:
– Standartschriftyp wurde von „Quarts MS“ auf Arial geändert wegen besserer Lesbarkeit
– Der Ressourcenwandler und das Forschungsmenu sind anwählbar. Inhalt folgt.
– Blaue Buttons wechseln bei einem MouseOver zu Rot

Space Opera – Release

Ich habe mich dazu entschieden den den Stand vom 05.01.2012 zugänglich zu machen. Auf der rechten Seite des Blogs wurde ein neuer Kasten eingebaut. Dort könnt ihr die jeweils aktuelle Versionsnummer und das Release datum sehen. Darunter befindet sich der Downloadlink.

Die Spielsteuerung erfolgt über Maus und Tastatur.

Der bisher eingebaut Content umfasst:

– Scannen nach Ressourcen
– Scannen auf folgenden Feldern:
Weltraum
Deuterium dünn, Deuterium dicht
Roherz dünn, Roherz dicht
– Ressourcen:
Energie
Deuterium
Roherz
Frachtraum
– Sammeln von Ressourcen:
Deuterium
Roherz
– Ein Testspielfeld
– Bewegung des Spielers über W,A,S,D

Weiterer Content wird mit jeder neuen Version eingefügt.

Space Opera – Die Spielkarte II

Im letzten Eintrag habe ich die Spielkarte von Space Opera vorgestellt. In der Zwischenzeit habe ich mir die Finger wund getippt, aber seht selbst:

Wir fangen am besten oben links an: Dort werden die Ressourcen angezeigt die aktuell dem Schiff zur Verfügung stehen. Von links nach rechts sind das:
Energie, Deuterium, Roherz und Frachtraum.

Weitere Ressourcen werde ich nach dem Start der Alpha einbauen.

Energie wird wohl das wichtigste werden, jede Bewegung  jede Handlung wird Energie verbrauchen. Energie werdet Ihr aber auch nicht unendlich anhäufen können. Die Kondensatoren im Schiff die als Energiespeicher dienen haben auch irgendwann ihre Sättigung erreicht.

Deuterium ist quasi der Treibstoff für den Hauptreaktor des Schiffs. Wird Deuterium gesammelt und verbraucht, wird der Energievorrat aufgefüllt. Sollte euch das Deuterium ausgehen seit ihr nicht zwangsläufig Handlungsunfähig. Ein Notstromsystem das über eine Art Solarzellen in der Panzerung läuft, versorgt euch weiterhin mit Arbeitsstrom, wenn auch deutlich langsamer als über die Fusion mit Deuterium.

Roherz wird neben Energie auch eine weitere sehr wichtige Ressource werden. Immerhin wird praktisch alles was ihr baut aus Metall bestehen. Da Roherz alleine natürlich eine Schlechte Panzerung abgibt muss das Erz veredelt werden.

Der Frachtraum sollte eigentlich selbsterklärend sein.Ihr könnt nicht an Volumen in euer Schiff einlagern als es selbst Volumen einnimmt. Energie wird allerdings nicht im Frachtraum eingelagert sondern wird wie oben erwähnt in Kondensatoren gespeichert.

Unter der Oberen Leiste wird eine Menuleiste eingebaut. Aktuell ist nur der Button für den Schiffskonfigurator vorhanden. Diesen könnt ihr euch als eine Mischung aus Baumenu und Inventar vorstellen. Ich hatte euch das im Eintrag „Space Opera – Baumenu“ schon kurz gezeigt. Weitere Menus wie Ressourcen veredeln umd das Forschen werden noch eingebaut.

Die Spielkarte kennt ihr schon, rechts daneben befindet sich dann einmal die Info über Feld auf dem das Schiff gerade steht. Darunter habt ihr die Möglichkeit nach Ressourcen zu scannen. Ist der Scann erfolgreich,  wird angegeben wie viel Ressourcen ihr aktuell auf dem Feld abbauen könnt. Ihr trefft eure Auswahl wie viel Ressourcen ihr abbauen wollt und startet dann einfach.Ist das aktuelle Feld leer, könnt ihr auf ein anderes wechseln und weiter sammeln – zumindest bis der Frachtraum voll ist 😉 .

Alles im allen nimmt Space Opera langsam aber sicher Form an 🙂 ich freue mich drauf euch bald mehr zeigen zu können.

Space Opera – Die Spielkarte

Was ?! schon wieder 2 Monate rum und ich hab mal wieder nichts geschrieben? Das muss ich ändern, bevor das Jahr komplett rum ist. Das schöne ist, ich kann nicht nur von was reden ich kann auch mal ein weiteres Bild zeigen:

Auch wenn das Bild auf den ersten Augenblick wenig beeindruckend ist, zeigt es das ich einige weitere Probleme aus dem weg habe Räumen können.
Das offensichtlichste ist: Es gibt endlich ein Spielfeld. Das bedeutet aber auch das ich endlich mein Laden und Speichern Problem in den Griff bekommen habe. Das Kleine Schiffsymbol mitten in der Karte lässt sich auch über die W,A,S,D Tasten steuern. Was auch sehr wichtig ist: Es verlässt die Karte nicht.
Quasi als Nebenprodukt ist auch noch ein Karteneditor als separates Programm heraus gekommen.
Jetzt kann ich endlich weiter am Content arbeite und muss mich zumindest über diese Grundlagenprobleme keine sorgen mehr machen.

Space Opera – Baumenu

Lange war es ruhig hier auf dem Blog, nach einer Pause und einigen stressigen Wochen arbeite ich wieder intensiv an Space Opera weiter.

Getreu dem Motto „Back to the roots“ habe ich den 3D Part komplett gestrichen und Arbeite aktuell rein 2D. Ein Segen wie sich heraus gestellt hat.

Das GUI das ich schon für den 3D Part erstellt kann ich Problemlos weiterverwenden. Um allerdings im nachhinein keine Probleme zu bekomme habe ich einen etwas älteren stand als Basis genommen an dem ich weiter arbeite.

Aktuell arbeite ich am Baumenu der Fregatte:

Die Bilder sind soweit alles Dummy´s. Grafische Pracht hat gerade keine Priorität. Aktuell ist das Schiff in 3 Bereiche aufgeteilt. Bug, Rumpf und Antrieb. Eventuell kommt noch eine vierte Sektion hinzu für Support.

Der Status den man hier auf dem Screen sieht ist bereits sehr weit. Mit den 3 Buttons unten lassen sich jeweils neue Schiffssektionen auswählen. Die werte sind ebenfalls hinterlegt so das eine neue Bugsektion andere Werte bringt als die aktuelle.

Ebenfalls habe ich eine Vorschaufunktion eingebaut. Schwebt die Maus über einen Button, wird die aktuelle Sektion gegen die neue Sektion ausgetauscht. Ebenfalls ändern sich dann die Werte. Im Späteren Spiel sollen auch die unterschiedlichen Sektionen grafisch auffallen, nicht nur durch die Werte.

Der kleine graue kasten in der Antriebssektion deutet es schon an, die einzelnen Sektionen lassen sich auch noch mit verschiedenen Modulen aufrüsten. Beispielsweise einen Leistungsstärkeren Reaktor der mehr Energie für die Bordsysteme Bereitstellt. Diese Energie verbrauchen die anderen Module.

Ich habe hier auch etwas mit Hilfetexten Experimentiert und freute mich wie einfach die Grundlegende Funktion dafür einzubauen war.

Was ich hier noch fertig bauen muss ist die Auswahl eines neuen Moduls. Dann noch die Modulslots verteilen und eine Bauwarteschlange schreiben.

Klickspiel und EVE Online – Produktionsmanager

Phu … der Monat ist fast rum und ich habe noch gar nichts geschrieben.

Das kann ich so nicht stehen lassen.

Also was hat sich bisher getan:

Die Überarbeitung meines Klickspiels läuft weiter. Es ist allerdings äußert zäh sich mit diesem riesigen GameStatesample von MSDN herumzuärgern.

Als kleiner Stimmungsmacher habe ich mir ein altes, eingemottetes Projekt wieder hervorgeholt.
Der EVE Online Produktionsmanager.

Ein Blick auf das noch unfertige GUI

Es gibt für EVE gefühlte Tausende Manager wie meinen. Warum das ganze also?
Weil es mir Spaß macht. Bisher habe für solche
Berechnung ein Exceltool gehabt. Ich finde mein Manager sieht schon mal deutlich schicker aus als Excel 😀

Wo stehe ich aktuell mit dem Tool? Das GUI ist zu etwa 75% fertig. Bei der Positionierung bin ich mir noch etwas unschlüssig ob ich das so machen will.
Wie man schön sehen kann habe ich den Explorerbaum für Amarr aufgeklappt. Für die Amarr muss ich stand Heute noch die benötigten Ressourcen für die Battleships eintragen, dann habe ich zumindest die Amarr T1 Schiffe komplett.

Caldari, Gallente und Minmatar fehlen da noch komplett.

Im Hintergrund habe ich etwa 10% der Berechnungen fertig. Ist aber im Endeffekt nur eine Fleißarbeit bis das Tool fertig ist.

Neuausrichtung

Das in letzter Zeit einige Rückschläge habe hinnehmen müssen bzw. das einiges nicht so Funktioniert hat wie ich wollte hatte man ja lesen können. Ebenso das sich bei mir einiges an Frustration über mein nicht-können angestaut hat. Das Gipfelte dann vor kurzen darin das mein Komplettes Wochenende im Eimer war.

So konnte und durfte das nicht weitergehen. Offensichtlich muss ich einen so jämmerlichen Eindruck gemacht haben das sich ein guter Freund genötigt sah mir den Kompass neu einzustellen.

Nunja … es gewirkt. Space Opera wird vorerst auf Eis gelegt.
Dafür wird ein altes Spiel was ich gaaaanz zu beginn Programmiert habe wiederbelebt und weiter ausgebaut.

Hier der Downloadlink zu ursprünglichen Version von „Klickspiel

Das Spielprinzip ist ziemlich simpel.
Man muss auf den sich bewegenden Punkt klicken. Schaft man das, bekommt man Punkte gut geschrieben. Schaft man das nicht, werden Punkte abgezogen. Bei 0 Punkten beendet das Spiel.

Ich möchte das Simple weiter ausbauen. Zuerst soll mal ein anständiges Hauptmenü erstellt werden. Dann drei Schwierigkeitsgrade, und was mir sonst noch so einfällt.

Viel Spaß bei Spielen 🙂

GameStateManager, Content Unload und Frustration

Durch Zufall habe ich ein ziemlich großes Problem in meinem aktuellen GamestateManager gefunden.

Vereinfacht gesagt ist ein GamestateManager ein Code der die verschiedenen Screens verwaltet. Wenn ich das Spiel starte, soll zuerst ein Screen kommen mit dem Titel des Spiels, dann einer für das Hauptmenu, im anschluß daran der für das Spiel, Laden, Speicher etc.

Jeder dieser Screens hat seinen eigenen Inahlt. Im Titelscreen ist das nur ein Hintergrund und ein kleiner Text für die Versionsummer.
Im Hauptmenu wird das dann schon komplexer, Bilder für Buttons und Rectangels um diese zu bedienen, dazu noch funktionen für das einfärben bzw. austauschen von Buttons. Nicht zu vergessen das daß anklicken eines Buttons wiederum einen neuen Screen auslöst.

All diese Bilder, Funktionen etc. benötigen Speicher. Nachdem man das Spiel gestartet hat, braucht man aber weder den Titelscreen, noch den Hauptmenuscreen. Diese sollten aus dem speicher entfernt werden. Dafür ist dann wieder der sogenannte Garbage Collector in C# zuständig.

Mein Problem ist jetzt allerdings: Klicke ich im GameScreen auf eine bestimmte freie Stelle, löse ich eine aktion aus die im HauptmenuScreen verbaut ist. Da GameScreen und HauptmenuScreen von ein andere getrennt sind, sollte eine solche reaktion unmöglich sein.

Die einzige Erklährung die ich dafür habe ist die, das daß Hauptmenu nicht aus dem Speicher entfernt wird.

Mitlweile habe ich mich damit abgefunden das ich wohl meinen gesamten Code zum dritten mal schreiben muss. Diesesmal aber erst, nachdem ich mir ein neues Sample zum GameStateManager angesehen habe.

Space Opera Concept Grafic

Da es nicht gut ist wenn ich mir den Kopf mit Laden & Speichern zermartere, hab ich mal mein altes Grafiktablett herausgekramt und mich mal an einer Concept Grafic für Space Opera versucht.

Immerhin ne nette Sache wenn man keine Lust hat direkt zu modellieren und das Programmieren einen ebenfalls gerade frustet.

Laden und Speichern die Xte …

Ich weiß wirklich nicht warum ich mich mit manchen Sachen so dermaßen schwer tue. Ich war am Anfang doch ziemlich Happy als es mir mit Hilfe eines Tutorials gelang eine einfache Binär Speicherung nachzubauen. Binär deshalb, weil ich mich mit den anderen Tutorials schwer getan habe. Mein Gedanke war dann, kannst du erst Binär Speichern sollte der weg zu XML nicht mehr schwer sein. Nach etwas herum experimentieren war ich dann so sicher darin das ich diese Funktion endlich in SO einbauen wollte.

Aus irgend einem Grunde hat der Compiler das dann verweigert. Immerhin hat er mir mitgeteilt das ich das ganze von Binär auf XML ändern soll. Das war auch soweit kein Problem. Nur poppten dann eine ganze Reihe an anderen Fehlermeldungen auf. So etwas ist einfach frustrierend.
Ich werde dann wohl weiter lernen müssen, irgendwann komme ich noch dahinter 😉