Schlagwort-Archiv: Remake

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!

superfroghd1Vor 20 Jahren erschien der Amiga-Klassiker Superfrog von Team17. Das lustige Plattformspiel mit der fröhlichen kunterbunten Grafik konnte sich vom Gameplay und vom Leveldesign her problemlos mit der Konsolenkonkurrenz Super Mario und Sonic messen. So verwundert es nicht, dass sogar ein kleiner Seitenhieb auf den deutlich bekannteren blauen Igel im Spiel mit eingebaut ist.

Den amphibischen Superhelden musste man zunächst über Stock und Stein durch einen Zauberwald steuern, vorbei an Bienen, Schnecken und sonstigem Getier. Später ging es unter anderem durch ein Spukschloss, eine Pyramide, einen Zirkus, frostige Eishöhlen und eine Weltraumstation, immer auf der Suche nach seiner Herzensdame, die von einer bösen Hexe entführt worden war. Als Sidekick dabei hatte Superfrog seinen treuen Begleiter Spud, den er nach den Gegnern werfen konnte, wenn ihm danach war. Außerdem konnte der tapfere Frosch in einigen Situationen fliegen, was hilfreich war, um Stachelfallen zu überqueren.

Superfrog erschien im März 1993 für den Commodore Amiga, das CD32 und für IBM-PC. Nicht nur wegen der witzigen Spielideen und der putzigen Grafik, aber auch musikalisch, dank der genialen Modulkompositionen von Allister Brimble brannte sich mir Superfrog wahrscheinlich für die Ewigkeit ins Gedächtnis. Das ist wohl auch der Grund dafür, weshalb ich unbedingt seine Kickstarter-Kampagne unterstützen wollte. Er arbeitet bereits an Neuinterpretationen seiner alten Superfrog-Leveltunes, und auf diese bin ich schon sehr gespannt.

Leider ist er nicht an dem inzwischen angekündigten Superfrog HD-Remake beteiligt, so dass weder die Originalmusik, noch neue Songs von ihm dabei sein werden. Das ist aber kein großes Problem für mich, weil ich ohnehin von dem Projekt enttäuscht bin, noch bevor es veröffentlicht wurde. Die Beispielillustrationen sehen zwar sehr nett aus und orientieren sich sehr stark am Original, allerdings musste ich mich gedanklich ein wenig erbrechen als ich las, dass das Spiel nur für PS3 und PS Vita erscheinen wird – es also ein vollständig Sony-exklusives Remake sein wird. Na danke, ihr Spaßvögel. Ich bin als treuer Fan zum Jubiläum also scheinbar nicht eingeladen, dafür aber natürlich die ganzen Konsolenkiddies. Aber ist vielleicht besser so. Wenn es auf dem PC gelandet wäre, dann vermutlich ausschließlich via Steam und mit Always-Online und dem ganzen Mist.

superfroghd2Laut Aussage von Team17 kamen unter den Fans am häufigsten Nachfragen bezüglich eines Superfrog-Remakes. Nun denn. Ich habe das Original geliebt und unzählige Male durchgespielt, daher wollte ich in jedem Fall einen kleinen Artikel zur Ankündigung schreiben. Diese ist zwar nicht topaktuell, sondern scheinbar bereits vom Februar, aber mir ist das Thema leider eine Weile entgangen, so dass ich das nachreichen musste. Egal, ich freue mich sehr auf meine Allister-Brimble-CD und werde wohl (auch zwangsläufig) einen weiten Bogen um das HD-Remake machen (bis ich es in 15 Jahren ganz frech von einer Abandonware-Seite ziehen und in einem Emulator spielen werde, höhö).

Bestimmt ist das alte Amiga-Original sowieso viel besser, so wie das bei Originalen eben meistens ist. Und jetzt trinke ich ne Flasche Lucozade und hüpfe ein wenig auf Bäumen herum.

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.

enigmalogoVoller Freude präsentiere ich mal wieder einen kleinen News-Beitrag auf meinem Blog, der sich meiner Headergrafik als würdig erweist und sie ausnahmsweise nicht gar so deplatziert wirken lässt: Fast sechs Jahre hat es gedauert, nun können OXYD-Fans endlich aufatmen, denn Enigma ist wieder da, in der neuen Version 1.20.

Enigma ist ein hervorragendes und einzigartiges Esprit-, OXYD-, OXYD2-, Oxyd Magnum-, Sokoban-, usw. -Kombi-Remake, das so viele großartige Kistenverschiebe-, Puzzle-, Denk- und Geschicklichkeitsspiele vereint, wie man sich kaum vorstellen kann. Alleine als Atarianer wird man unendlich viel Freude daran haben, weil es sich spielt wie die alten Dongleware-Meisterwerke. Der Suchtfaktor ist auch heute noch enorm. Wenn ich durch meinen exzessiven OXYD-Konsum in Kindheitstagen nicht längst immunisiert wäre, würde ich dem Charme von Enigma wahrscheinlich Tag und Nacht erliegen. In der Hinsicht verhält sich das bei mir vielleicht ein bisschen wie mit Obelix und dem Zaubertrank.

enigma120Da sich die neueste Version nun wirklich sehr lange Zeit gelassen hat, gibt es tatsächlich eine ganze Stange an Änderungen, darunter beinahe 1500 neue Levels für alle möglichen Spielarten. Auch einige bekannte Dongleware-Levels sind neu hinzugekommen, wie man schon am Screenshot erkennen kann. Darüber habe ich mich persönlich am meisten gefreut. Außerdem gibt es einige neue Musikstücke, neuerdings sogar im laufenden Spiel wenn man das möchte. Viele neue Steine und Spielobjekte wurden implementiert, es gibt viele grafische Verbesserungen, und eine komplett neue API, wobei letzteres wohl nur den Entwicklern und Leveldesignern auffallen wird.

Die neuen Download-Pakete kann man ab sofort auf der Enigma-Webseite herunterladen. Mac-Benutzer müssen sich leider noch ein wenig gedulden, für den Anfang gibt es nur Windows-Binaries und den Quelltext zum selbst kompilieren. An dieser Stelle nochmals der Hinweis darauf, dass Enigma auf Grund der Reverse-Engineering-Leistung hinter der sogenannten „Oxydlib“ die alten Dateiformate der Ur-OXYDs laden und interpretieren kann, genauer gesagt die Original-Sounds und die Landschaftsdaten, so dass sich schnell ein noch wesentlich authentischeres Spielerlebnis für Fans einstellt. Die importierten Landschaften der Originale funktionieren aber nur eingeschränkt, da auch nach all den Jahren noch längst nicht alle Spielelemente im Remake umgesetzt sind.

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.