Schlagwort-Archive: Spacola

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

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.

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

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.

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.

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.