Beiträge mit tag "Spacola Eclipse

spacolabooks_sidebar

Spacola Eclipse WIP v0.25: Still a long way to go

0

Mein treuester “Spacola Eclipse”-Fan hat sich soeben bei mir erkundigt, wie es denn mittlerweile um mein kleines Remake steht. Wie es der Zufall wollte, konnte es kaum einen besseren Zeitpunkt geben, mich das zu fragen. Nach mehreren Wochen fauler Abstinenz gelang es mir gestern und heute tatsächlich für ein paar Stunden einige Dinge am Code zu ändern und Kleinigkeiten von der To-Do-Liste zu streichen. Zeit für mich, meinen ereignislosen Blog mit Dev-News zu füttern.

spacolabrechnungAuf der linken Seite kann man dazu eine Abbildung sehen. Was auf den ersten Blick wie zweimal exakt derselbe Screenshot aussieht, ist in Wirklichkeit eine Gegenüberstellung von Original (oben) und Remake (unten). Ja genau, dieser kleine Aspekt hat mich bestimmt drei Stunden meines Lebens und so einige Nerven gekostet. Es handelt sich im Spiel um den Teil der “Kontoabrechnung”, also die Grafik, die man zu sehen bekommt, sobald man einen Level erfolgreich beendet hat. Hier werden jeweils gelieferte Waren in bare Münze umgerechnet und anschließend kann man schon den nächsten Level beginnen.

Es waren die vielen kleinen Dinge, die die Arbeit so langwierig machen. Pixelgenaue Abstände, Schriftzeilenhöhe, richtige Zentrierung, originalgetreues Timing, Sounds, HUD-Events während der Animation (Highscore!), sukzessives Entfernen der Sprites aus dem Inventar, dabei gleichzeitiges Hochzählen des Punktestands. Und nein, ich habe nicht einfach nur eine große Grafik eingebunden, alles wird dynamisch gezeichnet. Die Unterschiede sind marginal, aber sie sind (leider) da.

Falls sich jemand wundert, wieso auf dem unteren Screenshot das Abrechnungsergebnis nicht mit dem tatsächlichen Score übereinstimmt: Die Berechnung ist leider noch hartkodiert. Ein Fake, ein Test, nur zum Vergleichen. Alles andere ist echt.

Die zweite größere Neuerung ist, dass die Highscore jetzt vollständig in eine Datei gespeichert und beim nächsten Spielstart auch von dort wieder ausgelesen wird. Jetzt fehlt eigentlich “nur” noch der Dialog zur Eingabe des Namens, dann wäre auch der ganze Highscore-Kram fix und fertig. Aber den Spaß hebe ich mir vermutlich doch für ein anderes Mal auf.

Bereits mit Version 0.23 kam der zweite Gegnertyp hinzu, der zwar komplett eigenständige Sprites hat, sich aber (Copy & Paste sei dank) fast genauso verhält wie der erste Gegnertyp. Ist im Moment eben noch work in progress. Außerdem gibt es jetzt die Geschwindigkeitsstufen für Hyperspeed und natürlich “Ridiculous Speed” in Anlehnung an den Filmklassiker Spaceballs. Anfang April habe ich noch die komplette Vektorarithmetik zusammengefasst, umgeschrieben und in eine eigene Klasse ausgelagert. Damit habe ich drei Dinge erreicht: 1.: eine konsistente Implementierung der Bewegung von Spielobjekten. 2.: jede Menge überflüssiger oder redundanter Code, der jetzt rausgeflogen ist. 3.: um die 20 Klassen mussten angepasst werden, damit der Code seit der Änderung wieder kompilierbar wurde.

Achja, wir haben jetzt Ingame-Musik und die lässt sich in der Konfiguration sogar an- und abschalten. Der Song ist zwar nicht optimal, aber er ist so ziemlich der passendste, den ich bisher finden konnte. Ich werde da mal noch weitersuchen. Zuletzt kann ich noch erwähnen, dass die Raketentriebwerke der Piratenschiffe jetzt auch Partikel sprühen, wenn sie Schub geben. Das sieht deutlich wuseliger aus als noch in der letzten Version. Vor einigen Wochen hatte ich mal ein neues Preview-Video angekündigt. Ich denke, ich werde meine Ankündigung daher etwas relativieren und mit dem Video warten, bis es wieder spektakuläre Änderungen gibt.

Nachtrag vom 02.06.: Heute war ich ebenfalls ein bisschen fleißig: Der Spieler kann jetzt mit aktiviertem Schildgenerator von gegnerischen Schiffen abprallen (so wie bei Asteroiden bisher schon) oder sich von den Piraten bestehlen lassen, wenn er ohne Schild unterwegs ist. Allerdings fehlt den Piraten noch die nötige Intelligenz um das Diebesgut auch abzuliefern. Wenn der Spieler keine Ware mehr im Inventar hat, kann er den Level jetzt nicht mehr beenden. Mal sehen, vielleicht kümmere ich mich heute noch darum, dass die Gegner auch zurückfeuern können.

Nachtrag vom Nachtrag: Keine drei Stunden später ist es dann soweit: Die Gegner können jetzt aus allen Rohren zurückballern. Und als Spieler muss man sich ganz schön in Acht nehmen. Das macht das Gameplay nun tatsächlich um einiges hektischer als zuvor. Vor allem aber macht es das Gameplay um einiges sinnvoller, denn so nähert sich das Spiel langsam einem ansatzweise vorzeige- und spielbaren Zustand. Hurra!

Musik

SuccessDenied sucht den Superstar

0

spacolamusik

Kommen wir nun zu etwas völlig anderem. Heute versuche ich mich als Dieter Bohlen und beleidige irgendwelche wildfremden Leute mit niveaulosen Schmähungen, wie man sie sonst nur auf Hauptschulpausenhöfen zu hören bekommt. Der Titel der Artikels sagt eigentlich fast schon alles. Und das was er nicht sagt, will ich in aller Kürze erklären: Die nächste WIP-Version des Atari ST Remakes SPACOLA ECLIPSE wird (vorerst probeweise) zusätzlich zur Original-Titelmusik von Jürgen Piscol auch noch während des Gameplays Musik bieten, damit es im Pixel-Weltall nicht ganz so still ist. Ja, die neueste Enigma-Version hat mich zu dieser Entscheidung bewegt. In den Originalen von Dongleware gab es aus Gründen der Performance keine digitale Musik während des Spiels zu hören – die 8 MHz des ST reichten gerade so für die Animationen und die Soundeffekte, und schon damals musste Meinolf Schneider programmiertechnisch tief in die Trickkiste greifen, damit bei der begrenzten Hardwareleistung alles flüssig lief. Bei der heutigen Rechenpower ist das keine Herausforderung mehr, da kann man problemlos aus dem Vollen schöpfen und muss sich noch nicht einmal um saubere Programmierung und Optimierungen kümmern.

Ich bin gerade dabei, zu testen, ob Ingame-Musik bei meinem Remake sinnvoll ist und ob ich es dabei belassen werde, wenn es gut zusammenpasst. Offen ist dabei noch sehr vieles, zum Beispiel welche Art von Musik in diesem Fall am besten passt. Daher hier der (zeitlich unbegrenzte) Aufruf: Falls sich jemand unter der halbwegs musikalischen Leserschaft meines Blogs dazu berufen fühlt, dann würde ich mich freuen, wenn er/sie völlig unverbindlich ein wenig basteln und mir kleine Musikstücke oder Soundschnipsel zusenden könnte. Ich bin für alles dankbar. Aber auch diejenigen, die musikalisch nicht so begabt oder aktiv sind, können helfen, indem sie Vorschläge machen. Mit viel Resonanz rechne ich nicht, aber wer weiß schon was sich ergibt.

In meiner Vorstellung passt als Hintergrundmusik eine eher instrumental-meditativ-unaufdringliche, eingängige (monotone), repetitive, also betont wenig melodiöse, rhythmische, elektronische Musik, aber vielleicht lasse ich mich ja durch meine persönliche Präferenz zu sehr beeinflussen. Vielleicht passt wilde Gitarrenmusik oder Hiphop ja doch besser, aber irgendwie bezweifle ich das. Ich denke da zum Beispiel an die musikalischen Klangwelten von Klaus Schulze, Jean Michel Jarre, und Vangelis. Oder gleich was “Chippiges” mit 8-Bit-Charme? Es muss ja gar keine qualitativ besonders hochwertige oder filigrane Komposition sein, denn schon mit recht wenig kann man viel erreichen, wenn es die richtige Stimmung vermittelt. Es sollte eben irgendwie zu dem futuristischen Weltraum-Ambiente passen, vielleicht sogar angelehnt an den Stil der Titelmusik. Ob es etwas Hektischeres oder was Ruhigeres sein sollte, da bin ich mir auch nicht sicher. Vor allem aber sollte es in seinem Gesamtwirken zurückhaltend sein, sich dem Gameplay und den Soundeffekten unterordnen, und das möglichst “seamless”: Also wenn die Musik in Schleife abgespielt wird, wäre es schön, wenn das zumindest nicht unangenehm auffiele. Die ideale Hintergrundmusik müsste so um die 6-7 Minuten lang sein. Länger wird selten jemand in einem Level verbringen. Sinnvoll ist es wohl außerdem, dass es mehrere Songs gibt, die abwechselnd oder je nach Level verwendet werden, und die in Summe gut zueinander passen.

Wenn es funktioniert, und es tatsächlich Einsendungen gibt, dann kann ich die Wahl auch gerne per Voting den Blogbesuchern überlassen. Der Lohn wäre am Ende also die Verwendung DEINER Musik im (hoffentlich irgendwann) fertigen Remake. Nicht mehr und nicht weniger. Geld kann ich keines bieten, weil das Spiel voraussichtlich nichts kosten wird. Und selbst wenn es keine (brauchbaren) Einsendungen gibt, und davon gehe ich aus, dann schaue ich mich einfach selbst mal im Bereich der freien CC-Musik um, und bitte einen fähigen Komponisten höflichst um die Verwendungserlaubnis für seine Werke. Auch hier bin ich offen für Empfehlungen.

Einsendungen am besten per E-Mail an v.hoehnelcontactgmail.com. Kommentare, Vorschläge und Fragen dürfen auch gerne direkt an diesen Artikel angehängt werden. Die ersten Ergebnisse präsentiere ich euch im nächsten WIP-Preview-Video zur Version 0.23 in wenigen Wochen.

ATARI

Spacola Eclipse unter Linux und Spielemuseum

5

spacolalinuxDer erste Testlauf von Spacola Eclipse auf einem Nicht-Windows-System vor einigen Tagen verlief erfreulicherweise irgendwie sehr ereignislos. Auf einem Gerät mit Linux Mint ließ ich das Spiel einmal für wenige Minuten laufen. Probleme gab es überhaupt keine. Die Performance war einwandfrei, es gab keine Fehler oder Hänger, die Grafik war nicht irgendwie verschoben, sogar die Soundeffekte und die Musik wurden korrekt abgespielt. Auch wurden die Logdateien korrekt erstellt. Damit kann ich also nun erstmals verkünden, dass die Platformunabhängigkeit garantiert ist, und dass das Spiel nicht nur unter Windows läuft. Ich lehne mich nun auch mal etwas aus dem Fenster und behaupte, dass es dann auch keine Schwierigkeiten mit Mac OS geben sollte, aber selbstverständlich wird das ebenfalls noch ausführlich getestet, wenn denn die Zeit dafür reif ist.

Die Projektseite wurde kurz zuvor nochmals aktualisiert und um die Hinweise bezüglich der aktuellsten WIP-Version 0.22 erweitert. Die Erkenntnisse über den Linux-Test folgen dort in einigen Tagen. Die Entwicklung an der Version 0.23 beginnt sobald ich die Zeit dafür entbehren kann. Ich habe schon so einige Ideen, was ich demnächst umsetzen muss und was oberste Priorität hätte. Es gibt außerdem in Bezug auf den Sternenatlas für Spacola einige neue Informationen, die ich vielleicht in einem der kommenden Beiträge näher erläutern würde. Darüber hinaus hat der Header der Seite ein kleines Update erhalten, so dass die Seite etwas mehr nach Spiel aussieht. Schon länger spielte ich mit dem Gedanken, man müsse dort mehr vom Spiel zeigen. Und wo ich schon dabei war, hat das gute alte Dongleware-Museum ebenfalls einen neuen Header bekommen, der auch mit dem passenden Firmenlogo glänzt.

hintzenverwohltheader 200x84Und die wichtigste Neuheit zum Schluss. Das Dongleware-Museum hat einen kleinen Zwillingsbereich bekommen: Ich feiere die Einweihung des Hintzen & Verwohlt Spielemuseum (im Menü unter “Spielemuseum” konsolidiert) zu den Spielen von Martin Hintzen und Jürgen Verwohlt, das ich schon sehr lange geplant hatte, aber nie umsetzen konnte. Und es half ja nichts, ich musste mir die Arbeit doch irgendwann machen. Es wird sich vermutlich noch einiges an den Beschreibungstexten ändern, aber die Hauptsache ist, dass das Museum jetzt äh … “begehbar” ist. Da ich vielleicht die einzige verbliebene Informationsquelle zu diesen Spielen im Netz bin, halte ich es nun für meine Pflicht, dort alles zusammenzutragen, was man so über diese Atari ST-Klassiker wissen muss. Auf der entsprechenden Seite wird es zwar erwähnt, doch hier auch nochmal der Aufruf an jeden Fan der Spiele: Wer irgendetwas an Informationen beitragen kann, die mir bislang fehlen, der möge sich gerne bei mir melden. Ich werde dann alles entsprechend in die Seite einpflegen.

spacolabooks_sidebar

Spacola Eclipse WIP v0.22

0

Das erste Update im neuen Jahr zum aktuellen Entwicklungsfortschritt meiner SPACOLA-Neuimplementation. Im Moment habe ich einen guten Lauf und kann fast täglich immer mal wieder ein bisschen an meinem kleinen Spielewerk arbeiten. Das muss genutzt werden, solange es noch anhält, denn so wie ich mich kenne, wird das nämlich die letzte Meldung in der kommenden Zeit sein. Die neueste WIP-Version enthält rund 50 Änderungen. Eigentlich hätten es noch einige mehr sein müssen, denn meine ToDo-Liste quillt inzwischen über, doch letzten Endes muss man irgendwann mal einen Cut machen. Hier also das Ergebnis der letzten Tage in visueller Form:

spacolaeclipse022

Richtig erkannt. Das HUD auf der rechten Seite ist komplett fertig und dort gibt es so einige Informationen abzulesen. Soweit möglich, habe ich alles wie im Original beibehalten. Was rausgeflogen ist, ist die Angabe zur Buchseite, der Galaxie und des Sonnensystems, denn diese Angaben werden künftig nicht mehr nötig sein. Dafür ist eine neue Anzeige hinzugekommen, die dem Spieler den Weg weist. Also genau das, was er vorher aus dem Buch ablesen musste. Entsprechend habe ich mir die Freiheit genommen, die Symbole in der Anzeige etwas anzupassen, um diesen Umstand hervorzuheben.

Eine weitere große Baustelle ist somit endlich abgeschlossen. Ein wichtiger Stützpfeiler des Original-Spielegrundgerüsts ist in langwieriger Handarbeit aufgestellt worden. Man fühlt sich manchmal wie eine Art Restaurateur für antike Uhren oder sowas. Pixel für Pixel muss das Original fein säuberlich zerlegt und untersucht und dann im Remake detailgetreu nachgebildet werden. Am Gameplay hat sich freilich wieder einmal wenig getan, denn darum werde ich mich wahrscheinlich erst kümmern, wenn alle übrigen Grundfunktionen von SPACOLA übertragen sind.

Außerdem hinzugekommen ist ein deutlich umfangreicheres und besseres Logging mit Logdatei, es gibt Statusmeldungen (z.B. für Schilde, Highscore und die diversen Geschwindigkeitslevels), es gibt Punkte für zerstörte Gegner sowie einen richtigen Punktestand. Entsprechend habe ich die Fake-Highscore-Liste durch eine richtige Highscore ersetzt, die nun dynamisch im Spiel generiert und verändert werden kann. Die Introschleife arbeitet nun korrekt und exakt so wie im Original. Zuvor wurde das Intro einfach immer wieder von vorne abgespielt. Es gibt jetzt Events, z.B. Extraleben, neuer Highscore, oder die Shield-Shutdown-Warnung. Zuletzt habe ich den Algorithmus für den Wurmloch-Effekt (Level-Intro), den ich mir damals selbst ausgedacht habe, durch einen mathematisch “korrekteren” Algorithmus ersetzt, der auch viel einfacher funktioniert (Stichwort: logarithmische Spirale). Thank you internets!

58 Klassendateien, 9 Pakete, über 6100 Nettocodezeilen (SLOC), 574 Funktionen, 146 Bilddateien, 24 Audiodateien, zusammengepackt in ein 4,0 MB Archiv. So langsam nimmt das kleine Spaßprojekt, das ich angefangen habe ohne zu wissen, ob ich morgen überhaupt noch darauf Lust habe, fast schon Ausmaße an, die einen Rückzieher unmöglich machen. Es wäre inzwischen irgendwie zu schade, wenn ich das Projekt nun nicht zuende führen würde. Was als ödes Fenster mit einem Sprite in der Mitte und ein paar Pixelsternen außenrum begonnen hat, hat sich zu etwas entwickelt, was sich schon ein bisschen wie SPACOLA auf dem Atari ST spielt.

spacolabooks_sidebar

Spacola Eclipse v0.21 Video Preview

0

Es lebt! Spacola Eclipse ist zwar noch lange nicht fertig, aber ich habe den ersten Meilenstein erreicht: Der erste Gegnertyp fliegt im Spiel herum und man kann schon jede Menge Zeug kaputtballern. Die Gegner können sich zwar noch nicht richtig wehren, aber immerhin nerven sie schon gewaltig. Zur Feier der neuen WIP-Version 0.21 gibt es heute die ersten Preview-Videos, also vollständig bewegte Eindrücke des Spiels. Ich habe endlich eine Desktop-Capture-Software gefunden, die nicht nutzloser Shareware-Müll ist und sogar halbwegs flüssige Bewegungen UND Sound aufnehmen kann.

Das erste Video zeigt das Gameplay des Remakes. Das Intro wird hierzu natürlich abgebrochen. Die schlechte Bildqualität und die ruckelige Grafik bitte ich zu entschuldigen. Das Capture-Programm ist zwar gut, aber leider trotzdem nicht optimal. Der stark verlustbehaftete YouTube-Codec tut dann sein übriges. Das Spiel läuft vollständig flüssig bei (künstlich limitierten) 52 fps und verbraucht nur sehr wenige Ressourcen.

Das zweite Video ist nun naturgemäß nicht so spannend. Es soll im Grunde eigentlich nur zeigen, wie genau ich das Original-Intro in meinem Remake imitiert habe, da ich alles, so weit es mir möglich ist, pixelidentisch halten will. Das Spiel im Demo-Modus würde dann also bisher folgendermaßen aussehen:

Für Späteinsteiger: Spacola Eclipse ist mein kleines Java-Remake (bzw. im Moment eher: Re-Implementation) des Atari ST-Spiels SPACOLA, das 1991 von Dongleware veröffentlicht wurde. Das Ziel ist eine (zunächst) möglichst exakte Nachbildung des Originals für viele moderne Platformen (Windows, Mac OS, Linux, iOS, Android) und in zweiter Instanz die Erweiterung des Spiels um bessere Grafiken, neue Sounds, einen Mehrspielermodus und neue sinnvolle Features.

Softwareentwicklung

Spacola Eclipse WIP v0.19

0

spacoleclipse019So 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.

Success Denied Symbol

Leicht verändertes Artwork

0

Im Moment schreibe ich an einigen Film-Kurzkommentaren über ausgewählte Literaturverfilmungen, die ich mir in letzter Zeit angesehen habe. Diese werde ich in den kommenden Wochen so nach und nach veröffentlichen. Gut Ding will bei mir offenbar etwas mehr Weile haben, daher gibt es zur Zeit wenig Neuigkeiten.

Dafür hatte ich heute wieder einige wenige Minuten meiner (un-)üblichen (un-)kreativen Schaffensphase:

spacolaeclipseartwork

Ich habe das Cover-Artwork für Spacola Eclipse ein wenig modifiziert und so die Stellen korrigiert, die mir bisher nicht gefallen haben, darunter der viel zu dunkle Schriftzug und die Sprites. Auch im (unfertigen) Spiel findet dieses Artwork in Form eines Splash-Screen beim Starten Verwendung, den ich ebenfalls ausgetauscht habe. Wer das Bildchen bisher noch nicht gesehen hat, der hat hiermit die Gelegenheit, genauer hinzusehen. Spacola-Fans dürfen mir gerne ihre Meinung kundtun. Bis ich einen echten Grafiker engagieren kann, bleibt sowieso alles provisorisch.

Was den Entwicklungsfortschritt des Spiels angeht: Die letzte große Sache, die ich erfolgreich implementiert habe, war der Radarschirm. Den habe ich praktisch ohne zu testen als Ganzes runtergeschrieben und das hat auch fast auf Anhieb funktioniert, wenn man mal von dem einen oder anderen Vorzeichenfehler absieht. Das ist jetzt allerdings auch schon wieder über fünf Wochen her, seitdem hat sich der Code kaum verändert. Aber es geht definitiv weiter. Nächste geplante Features: Asteroiden und Explosionen.

Softwareentwicklung

Spacola Eclipse WIP v0.15

2

spacola previewAlso 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.

Spacola Eclipse nimmt weiter Form an. Das Remake macht schon einen wirklich fertigen (falschen) Eindruck, wenn man sich das gesamte Drumherum des Spiels anschaut: das Fenster, das Intro, die Menüleiste mit den Optionen, das Hauptmenü, der Levelauswahl-Bildschirm und der Beginn des Levels. Erst wenn man einige Sekunden im Spiel herumfliegt, wird klar, dass hier noch viel fehlt. Das kommt daher, dass ich die letzten Tage den größten Wert darauf gelegt habe, dass die Applikation insgesamt “runder” und geschliffener aussieht und dass man im Menü Dinge auswählen kann, die sich direkt im Spiel auswirken.

spacolabooks sidebar1 200x195Da 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.

Wo wir gerade bei Codezeilen sind: Für die Eclipse IDE habe ich mir ein Code-Metrik-Plugin installiert, um den Arbeitsaufwand abschätzen zu können. Leider ist das Plugin wirklich gnadenlos, da es alle leeren Zeilen und Kommentarzeilen streicht, was natürlich nachvollziehbar ist. Nach Abzügen sind es also “nur” noch knapp über 3000 Nettozeilen an Code. Nunja, es gibt also noch viel Luft nach oben. Vermutlich sind wir bei 10000 Zeilen irgendwann fertig.

Die Projektseite hier im Blog wurde wieder einmal überarbeitet, angepasst und um neue Informationen ergänzt. Nur falls sich mal wieder irgendein Spacola-Fan dorthin verirren sollte, damit er einen halbwegs sicheren Eindruck vom aktuellen Entwicklungsstand bekommt. Bis ich mich wieder am Gameplay zu schaffen mache, muss ich allerdings noch so eine handvoll Bugs beseitigen.

Softwareentwicklung

Intro von Spacola Eclipse ist fertig

6

splash1 200x100Es war mehr Arbeit als ich gehofft hatte, aber deutlich weniger Arbeit als befürchtet: Das Intro von Spacola Eclipse ist fertig. Mit (fast) allem was dazugehört, also die Titel, das Monochrom-Fading mit Dithering, der Textbuilder mit Originalfont, und das Hauptmenü. Einzig die Fahndungs- und Bonuslisten fehlen noch, aber dafür fehlen mir auch noch die ganzen Sprites. Nun ist also der zweite größere Block in der Entwicklung fertig.

Das Intro sieht nun genauso aus wie das im Original, bis auf ein paar Anpassungen bei den Titeln bezüglich des Remakes (mein eigener Name darf ja jetzt auch dort vorkommen). Mit der tollen Hintergrundmusik von Jürgen Piscol laufen die Titel und das Menü nun in Schleife, bis ich mir demnächst die Arbeit mache, Benutzereingaben für das Hauptmenü hinzuzufügen, damit man das Intro abbrechen kann. Ist schon toll zu sehen, wie das eigene Werk nun langsam anfängt zu leben und dem Original immer ähnlicher wird. Aus reinem Spaß an der Freude habe ich vor dem Splash-Screen sogar einen falschen GEM-Ladebildschirm mit echter TOS-Biene eingefügt, so als würde man gerade die ST-Version starten.

Dem grandiosen Fortschritt der Entwicklung entsprechend habe ich mir heute im Laufe des Vormittags auch die Arbeit gemacht, auf SuccessDenied.com die Spacola-Seite komplett zu renovieren und zu aktualisieren. Ich glaube so wird das ganze fürs Auge doch sehr viel ansehnlicher und vor allem übersichtlicher.

Im Moment überlege ich mir auch, die Intro-Schleife von Spacola Eclipse zumindest als Video hochzuladen, damit man einen ersten Eindruck gewinnt, wie nah sich alles am Original bewegt. Mal schauen, wenn ich kommende Woche mal zuviel Zeit habe.

Spiel

Neues Grundgerüst für Spacola Eclipse

0

Zur Zeit gibt es leider gar nicht soviel Neues zu berichten, daher gebe ich einfach mal einen kurzen Update-Bericht zum besten, über mein kleines Hobby-Spieleentwicklungs-Projekt Spacola Eclipse, dem Java-Remake des Ur-Spacola von 1991. Ich will ja nicht, dass noch Leute denken, dass das Projekt gestorben wäre, was es definitiv nicht ist. Hier kamen bisher eigentlich drei Probleme zusammen: Zum einen wenig Zeit. Dann noch eine komplett unkreative Phase, die mich immer sofort ins Schwitzen brachte, wenn ich die Entwicklungsumgebung auch nur versehentlich mit der Maus streifte.

Zuletzt war da ja noch die Sache mit der Neuimplementierung des kompletten Grundgerüstes, die ich vor einigen Monaten ankündigte. Das Spiel war in seiner Form einfach nicht mehr erweiterbar, weil ich einen Turm auf einem Fundament aus Designfehlern baute, der ins Wanken geriet, sobald man den Code anfassen wollte. Daher hab ich kurzerhand einfach alles abgerissen. Tja, und dann war das Spiel natürlich kaputt. Blöde Sache.

Diese Woche habe ich angefangen einige neue Designs für das Spiel zu basteln, darunter Splashscreens, ein neues Titelbild, und ein witziges Logo für eine fiktive Softwarefirma. Und auf einmal war die unkreative Phase weg. Ich habe mir das Trümmerfeld, das sich mal Quellcode nannte, vorgenommen, und beinahe innerhalb einer Nacht das neue Grundgerüst fertiggestellt, mit seiner eigenen kleinen komplett monochromen 2D-Grafikengine. Dazu viele nette Gimmicks, z.B. eine FrameStopWatch-Klasse, die nur dafür zuständig ist, die Framerate und die Anzahl der Spielweltupdates zu überwachen und dynamisch an die Leistung des Rechners anzupassen.

Endlich ist das Grundgerüst richtig objektorientiert und das Programm besteht nun aus deutlich mehr Klassen als vorher, so dass jede Klasse ihre eigene ganz spezielle Aufgabe übernimmt. Nun, bei aller Geilheit für Objektorientierung, optisch hat sich an dem Spiel logischerweise fast gar nichts geändert, außer, dass es jetzt eben in der Theorie deutlich effizienter bzw. schneller läuft. Erwähnenswert ist vielleicht noch, dass ich die hässliche Java-Kaffeetasse durch ein provisorisches Icon ersetzt habe. Spielbar ist es daher noch nicht, aber immerhin bewegt sich schon wieder was:

spacolaeclipse008

nach oben