So viel zu tun, so wenig Zeit. Irgendwie finde ich es traurig, dass ich im Prinzip zu überhaupt nichts mehr komme, wenn ich nicht manchmal einfach ein Stoppschild aufstelle (und Leute enttäusche). Die Wochenenden sind bereits komplett verplant, bevor sie überhaupt angefangen haben, und unter der Woche geht ja sowieso nichts, wenn man erst um 21 Uhr sein täglich zu absolvierendes Alltagsprogramm abgespult hat. Aber genug Geheule für heute. Der nächste Urlaub kommt bestimmt.
Trotz allem ist es mir ein großes Vergnügen, die neuesten Fortschritte bei meinem kleinen Feierabend-Hobby-Projekt vorzustellen: Mein Dongleware-Remake Spacola Eclipse ist jetzt praktisch „spielbar“ in der Version 0.19. Das letzte Mal als ich nennenswert am Code arbeitete, war Anfang Juli. Vor einer Woche packte es mich dann endlich wieder, als ich mich der alten Sound-Problematik annahm. Nach langem Herumgebastele und mit der Unterstützung eines Indie-Spieleentwicklers konnte ich es zu meiner Zufriedenheit hinbiegen. Es geht tatsächlich, allerdings muss man sich um das Abspielen selbst kümmern. Der Sound funktioniert seitdem besser denn je und es sind viele Ingame-Samples dazugekommen. Dadurch hatte ich die nötige Motivation um auch andere Dinge anzupacken.
Im Anschluss schrieb ich lässig den Code für die Asteroiden und die Kollisionserkennung runter. Asteroiden kann man nun zerstören und mit dem Schiff an ihnen abprallen. Zugegeben, die Mathematik hinter dem „Abprall“-Effekt von Asteroiden, die wollte ich mir nicht mit dicken Mathebüchern herleiten. Da geht es um Drehung von Koordinatensystemen, damit man eine eindimensionale Kollision berechnen kann und den Abprallwinkel und die Abprallgeschwindigkeit beider Objekte bekommt. Gruseliges Zeug wenn man schnell fertig werden will. Für die Methode ließ ich mich bei anderen intelligenten Programmierern inspirieren. Es funktioniert noch nicht perfekt, aber immerhin.
In der Folge kamen weitere Powerups hinzu, so z.B. alle Schuss-Powerups und die Extraleben. An Stationen kann man jetzt andocken, so dass man entweder wüst beschimpft wird, oder das Sonnensystem vom Spiel als erfolgreich abgeschlossen beendet wird. Ja genau, endlich kann man im Spiel vorankommen und die Levels zumindest gewinnen. So kann man nach und nach alle Sonnensysteme auf der Übersichtskarte abhaken. Verlieren kann man bisher noch nicht, da das Sterben noch nicht implementiert ist und es weiterhin noch keine Gegner gibt (kommt, kommt!). Die Sektoren sind bisher alle zufallsgeneriert, was leider nicht ganz richtig ist, da das Original-Spacola hier gewisse Konfigurationen kennt, die in die Levelgenerierung mit einfließen. Auch der Zielsektor ist fest nach einem bestimmten Schema berechnet und nicht komplett dem Zufall überlassen. Für den Moment muss es aber so gehen.
Die Preis-, Fahndungs- und Bonuslisten sind fast fertig. Die Preise stimmen alle und die Screens sind alle eingebaut, aber bisher sind eben nur die Sprites für die Lieferartikel eingebunden – die Sprites für Gegner und andere Hindernisse fehlen noch. Ebenfalls fehlen die animierten Sprites für das Beschleunigen des eigenen Raumschiffs. Zur Vereinfachung habe ich stattdessen zwei Partikelstrahler-Objekte bei den Triebwerken platziert, die beim Beschleunigen Pixelpartikel emittieren. Sieht eigentlich sehr viel besser aus als im Original, aber es bleibt am Ende natürlich nicht so. Vermutlich lasse ich diesen Effekt für spätere Versionen drin.

Also gut, ich gebe es zu. Ich habe im Moment nicht so wahnsinnig viel zu schreiben. Warum sollte ich mir also irgendein Thema aus dem Ärmel schütteln müssen, nur damit hier etwas steht? Stattdessen schreibe ich lieber über die Dinge, die sich hier tatsächlich tun. Daher gibts hier an Stelle von weltpolitisch relevanten Dingen diesmal „nur“ wieder ein kleines Update von der Front der Indie-Spieleentwicklung in Sinsheim Süd. Wer nun genervt mit den Augen rollt, der sollte vielleicht besser nicht weiterlesen. Aus meiner Sicht ist es schon erstaunlich genug, dass ich selbst noch nicht die Geduld verloren haben. Sieht mir nicht ähnlich.
Da das Spiel nun wieder zu 85% auf dem Stand ist, den es mit der alten Architektur hatte (wobei wohl um die 1000% mehr Features hinzugekommen sind), kann man das Spiel nun zur Laufzeit der Applikation beliebig oft starten, stoppen oder einfach pausieren. Den Ton kann man auch jederzeit ein- oder ausschalten. Der berühmte „Kaffee“-Knopf aus dem Levelauswahl-Bildschirm beendet das Spiel nun ebenfalls. Viele Grafiken wurden hinzugefügt oder ersetzt. Auch bekam die Anwendung nun einen Splash-Screen, der vor dem Spiel angezeigt wird. Sogar eine Dummy-Highscore-Liste ist eingebaut. Was soll ich also sagen? Auch mit kleinen Schritten kommt man irgendwann zum Ziel, und wenn es nur drei Zeilen Code sind, die ich im Schnitt täglich schreibe.

Die größte Besonderheit ist, dass ich mein kleines Dongleware-Museum nun mehr oder weniger vervollständigt habe. Von vormals sechs Spielen bin ich inzwischen bei 16 Spielen angelangt. Ich habe mich nun doch dazu entschlossen, die Liste so weit zu komplettieren, dass nun alle Systeme eingebunden sind, und zusätzlich sämtliche Spiele, die eigentlich nur von Dongleware verkauft aber nicht entwickelt wurden. Außerdem habe ich nun auch die späteren Werke (1995 aufwärts) des Verlages in die Rubrik eingefügt. Die Downloads fehlen noch, aber die werde ich nach Belieben Stück für Stück hinzufügen, je nachdem wieviel Zeit ich aufbringen kann. Die Beschreibungen könnten an der einen oder anderen Stelle optimiert werden, aber das gibt sich. Es war schwer genug zu manchen Spielen überhaupt etwas Schriftliches zu finden, vieles davon ist im Netz fast komplett in Vergessenheit geraten. Keine Garantie, dass die Angaben alle stimmen, aber ich habe mich mehrfach vergewissert. Falls jemandem Fehler auffallen, nehme ich Hinweise sehr gerne entgegen.
Das nächste ganz ganz kleine Update. Mehr lässt die Arbeit zeitlich leider nicht zu. Und wenn man dann um über 9000 Uhr nach Hause kommt, dann verpulvert man seine wenige Freizeit auch noch mit irgendwelchen Blog-Seiten und Artikeln. Hach, es ist schon ein schwieriges Leben manchmal.