Beiträge mit tag "Remake

Spiel

Durchgespielt: Another Metroid 2 Remake

0

am2r_1

Urlaubszeit: Zeit, um vielleicht doch mal wieder ein völlig belangloses Spiel durchzuspielen. Vor einigen Monaten wünschte ich mir in meinem Bericht zu Super Metroid noch, jemand möge sich doch erbarmen, ein ähnlich grandioses Spiel auch für andere Plattformen abzuliefern. Es stellte sich heraus, dass tatsächlich jemand drauf und dran war: AM2R – Return of Samus bzw. Another Metroid 2 Remake ist ein seit nahezu 10 Jahren in Entwicklung befindliches Remake des Gameboy-Klassikers „Metroid II: Return of Samus“. Das Spiel das bei uns 1992 erschien – sagt man – ist eines der besten für den Gameboy überhaupt, und ein Vorbild unter anderem in Sachen Storytelling und Atmosphäre. Doch leider ist das Spiel technisch mit seiner extrem niedrig aufgelösten Grünstufen-Grafik und den quäkenden Gameboy-Sounds sehr schlecht gealtert, und Nintendo hat bisher kein Interesse gezeigt, ein Remake in der Art des 2004 erschienenen Metroid: Zero Mission zu veröffentlichen. Doch sie haben ohne es zu wissen einen findigen argentinischen Programmierer mit just jenem NES-Metroid-Remake dazu ermuntert, auch das alte Gameboy-Spiel im modernen 2D-Metroid-Stil aufleben zu lassen.

Beinahe ein Jahrzehnt schraubte dieser Mensch mit Hilfe des GameMakers an seinem Remake, komponierte Neuinterpretationen alter Metroid-Musikstücke, übernahm Grafiken und Spielmechaniken aus den neueren Spielen, entwarf die Levelkarten, tüftelte an der Gegner-KI und vieles mehr. Das kostenlose Remake sollte ein Tribut an Nintendo und an die fantastischen 2D-Metroid-Spiele werden. Rechtzeitig zum 30-jährigen Jubiläum von Metroid am 6. August wurde das fertige AM2R schließlich in der Version 1.0 veröffentlicht. Viele Onlinemedien berichteten darüber, das Remake wurde größtenteils mit Begeisterung und mit Erstaunen über diese Leistung empfangen. Offenbar war das etwas zuviel Aufmerksamkeit, denn nur einen Tag später machten die Anwälte von Nintendo of America dem Treiben ein Ende. Sie forderten, das Spiel nicht länger zum Download anzubieten, da es Nintendos Urheberrechte verletze. Zur Erinnerung: Nintendo ist der Verein, der es seit 2004 nicht gebacken bekommt, einen brauchbaren Metroid-Nachfolger zu produzieren. Nintendo ist der Verein, der das 30-jährige Jubiläum von Metroid selbst komplett verpennt hat. Das verspätete Geschenk zum Jubiläum an die Fans ist jetzt also die Vernichtung eines der großartigsten Remake-Projekte.

am2r_2

Die Community ist verständlicherweise ziemlich angepisst, der Ärger über Nintendos erbarmungslose Paragrafenreiter-Politik ist groß. Die Fans WOLLEN ein neues 2D-Metroid, doch Nintendo ist weder bereit es ihnen zu geben, noch sind sie bereit zu akzeptieren, wenn andere den Job gratis übernehmen. Nun, der Entwickler selbst macht das Beste aus der Situation: Er habe möglicherweise den richtigen Stein ins Rollen gebracht. Da das Spiel ohnehin schon im Internet ist, kann Nintendo es jetzt auch nicht mehr effektiv entfernen lassen. Der Programmierer werde das Spiel außerdem „privat“ weiterhin mit Updates versorgen: Inzwischen gibt es auch schon die Version 1.1. Zu Deutsch: Die Fans scheißen auf das was die Japaner ihnen vorschreiben wollen.

Natürlich musste ich mir dieses Spiel einmal gründlich ansehen. Schon da es das erste komplette Metroid für den PC ist. AM2R macht im direkten Vergleich mit Metroid Fusion und Metroid: Zero Mission einen ähnlich professionellen Eindruck. Die Musik wirkt sehr stimmig, und die schön gepixelte 16-Bit-Grafik wärmt das Herz jedes Konsolennostalgikers. Ich bin äußerst beeindruckt, dass AM2R nativ in 320×240 Pixeln läuft und nur hochskaliert wird. Dazu gehört irgendwo Mut und ein Sinn für Authentizität. Wer aber darüber hinaus eine originalgetreue Nachbildung von Metroid II erwartet, wird leider enttäuscht. Das Remake-Projekt orientiert sich eher frei an der Vorlage. Manche Gebiete kommen einem schon sehr bekannt vor, bei anderen klingelt dafür überhaupt nichts. Die Handlung und die meisten Bossgegner sind gleich geblieben, wurden lediglich modernisiert. Samus Aran fliegt auf den Heimatplaneten SR388 der Metroids, um die Viecher dort endgültig zu beseitigen. Dabei muss sie in jedem neu geöffneten Areal eine vorgegebene Anzahl an Metroids besiegen, bis durch Erdbeben neue Schächte freigelegt werden. So gerät Samus immer tiefer in den Untergrund des Planeten, wo immer gruseligere Metroid-Mutationen warten, bis sie schließlich der Metroid-Queen gegenübersteht.

am2r_3

Der finale Kampf gegen die Metroid-Queen war quälend lang, mühsam und hat mich etliche Nerven gekostet, aber beim sechsten oder siebten Anlauf habe ich es doch noch geschafft. Dass es in AM2R am Ende nicht noch eine haarsträubende Fluchtsequenz gibt (die wurde schon zur Mitte des Spiels abgefrühstückt), kam mir gerade recht, so konnte ich meinen Triumph auf mich wirken und meinen wahnsinnig hohen Puls wieder sinken lassen. Die obligatorische Statistik zeigte mir eine Durchspielzeit von 8:23 Stunden, und offenbar fand ich stolze 84% der Gegenstände. Einige zusätzliche Verstecke waren mir zwar bekannt, aber die Speed-Booster-Moves, die man dafür hätte ausführen müssen, waren mir dann doch zu abgedreht. Ein komplettes Bonus-Gebiet habe ich leider übersehen, aber fairerweise sollte man anmerken, dass AM2R es direkt darauf anlegt, dass es nicht gefunden wird.

Im Verlauf des Spiels sind mir genau zwei große Bugs aufgefallen, die allerdings beide bereits von anderen fleißigen Spielern gemeldet wurden. Einer dieser Bugs sorgt dafür, dass Baby-Metroids plötzlich in der Wand verschwinden und sich daher die Türen nicht mehr öffnen lassen, so dass wieder zum letzten Spielstand zurückgekehrt werden muss. Das Remake bringt einige Grafikaspekte moderner 2D-Indie-Spiele ein, darunter Lichteffekte, echtes Alphablending, und natürlich Partikeleffekte, aber das ganze fügt sich gut ins Spiel ein. Samus bewegt sich im Remake wesentlich schneller und agiler als im Original, was hauptsächlich den Modernisierungen aus den neueren Metroid-Spielen geschuldet ist, so wurde auch hier dem bekannten Pacing aus z.B. Metroid Fusion der Vorzug gegenüber dem gemächlichen Ur-Metroid gegeben. Das ganze Paket wird durch ein Logbuch abgerundet, eine Art Metroid-Lexikon, das während des Spiels immer abrufbar ist, und auch Schwachstellen einzelner Bossgegner offenbart.

am2r_4

Ich bin durchweg beeindruckt von AM2R, sowohl von der Leistung des alleinigen Entwicklers, als auch vom Ergebnis selbst, das zwar keine perfekte Metroid II-Reinkarnation ist, und sicherlich auch kein perfektes Metroid-Spiel, aber dafür eine spannende Erfahrung und eine gute Gelegenheit, noch einmal in das echte Metroid-Spielgefühl einzutauchen. Jedem Metroid-Fan kann ich dieses wirklich liebevolle Remake nur empfehlen. Zuviel Arbeit und Herzblut ist in dieses Projekt eingeflossen um es jetzt einfach in der Versenkung verschwinden zu lassen. Mit Hilfe des Dateinamens „AM2R_10.zip“ und ein wenig Suchmaschinenmagie solltet ihr problemlos in der Lage sein, das Spiel zu finden. Wobei die neue Version 1.1 sogar direkt im Forum des Projekts als Download angeboten wird. Ihr werdet die spaßige Metroid-Hatz nicht bereuen. Auf dem PC. Ohne Nintendos Segen.

Spacola_Disks1

SPACOLA Eclipse WIP 0.57

0

Berichte über das Ende von SuccessDenied sind stark übertrieben. Ich hatte in letzter Zeit weder besonders viele Themen über die ich schreiben wollen würde, noch war ich überhaupt in der Stimmung, etwas zu schreiben. Beruflich bin ich zur Zeit unabkömmlich. Hinzu kommt, dass ich seit meiner letzten Erkältung vor über fünf Wochen zwar längst nicht mehr krank bin, aber leider auch nicht richtig gesund. Wieder einmal schleppe ich einen wirklich besonders hartnäckigen, unproduktiven Husten mit mir herum. Mehrmals täglich inhaliere ich daher mit meinem Kompressor-Druckluftinhalator Kochsalzlösung mit Mucosolvan, schmiere mich mit Mentholsalbe ein, trinke Hustenlöser, nehme Tropfen ein – die ganze übliche Palette eben, ohne dass irgendetwas davon irgendwie helfen würde. Mit meinen guten Genen bin ich schon sehr gesegnet.

Aber: Wenn die Gesundheit eines Tages zurückkehrt, bin ich sicher, dass ich auch meine gute Laune zurückerhalten werde. In der Zwischenzeit ein kleines Update zum SPACOLA Eclipse Remake-Projekt. Das Projekt steht ganz und gar nicht still, sondern wird wöchentlich mit Änderungen und Neuerungen versehen. Die aktuelle WIP-Version 0.57 vom Juli bringt wieder viele kleine neue Funktionen mit, und sogar eine größere. Aber auch ein paar Änderungen der vorhergehenden Versionen dürfen hier nicht unerwähnt bleiben. Der nüchterne Screenshot soll einen Einblick in das Debug-Menü geben, das ich um einige Einträge erweitert habe. Beim Testen sind die vielen Kommandos äußerst hilfreich, sonst spielt man sich dumm und dämlich, wenn man zum 50. Mal dieselbe Stelle im Code geändert hat.

spacolaeclipse57

Remake-Technik

Die 2D-Grafikengine zeigt jetzt bei Bedarf ein paar Dinge an, die das Original nicht hatte: Sektorgrenzen, Hüllkreise, Objekttypen, Spielernamen (für den Multiplayer-Modus), außerdem natürlich die Partikeleffekte, Interpolation und Pixelvergrößerung. Mal davon abgesehen, erlaubt es das Remake, einige Limitierungen des Originals aufzuheben, die damals vermutlich aus Performancegründen nötig waren. Beispielsweise Objekte, die sich zu weit vom Spieler entfernt hatten, wurden im Original aus dem Spiel genommen. Heute könnte man diesen Löschmechanismus herausnehmen und dadurch eine persistentere Spielwelt bekommen. Der Dongleware-Fadein/Fadeout-Effekt, den ich vor ungefähr 4 Jahren mühsam implementiert hatte, war leider fehlerhaft. Inzwischen ist er eine absolut pixelgetreue Nachbildung.

Maforianer-Gegner fertig

Es hat lange gedauert und mir sind dabei viele graue Haare gewachsen: Der Maforianer, einer der ersten drei Gegner, ist mehr oder weniger komplett fertig. Das Bewegungsmuster dieses Gegners ist vermutlich eines der einfachsten im Spiel, aber bei weitem nicht so leicht nachzuimplementieren, wie man meinen möchte. Inzwischen bin ich an einem Punkt angelangt, wo mein Ansatz der Vorlage nahe genug kommt, so dass man es vorerst so lassen könnte. Dadurch bin ich auch auf die Spur eines neuen mathematischen Ansatzes für die Schiffsnavigation der Gegner gekommen – und habe zufällig auch die Lösung für das Problem mit dem Magnetismuseffekt gefunden. In der Folge bewegen sich die Gegner jetzt realistischer, und die Anziehung von Containern, Waren und Piraten sieht viel besser aus als vorher. Der Maforianer hetzt jetzt dem Spieler permanent hinterher, jagt ihm nach Möglichkeit die Lieferwaren ab und flieht damit zu seiner Piratenstation. Es ist noch nicht alles hundertprozentig, aber es ist besser als nichts. Fehlen für den ersten Level also nur noch zwei weitere Gegner, mal sehen wann mir das gelingt.

Abspann

Im Remake kann man sich – genau wie im Original – das „Zertifikat“, also die Siegerurkunde ausdrucken lassen, sobald man den letzten Level gewonnen hat. Zusätzlich gibt es im Remake nun einen echten Abspann (die Closing Credits), in dem viele beteiligte Personen genannt und Danksagungen zum Ausdruck gebracht werden. Diese kleine Erweiterung wollte ich in jedem Fall im Remake drin haben, denn sie macht ja schließlich auch nichts kaputt. Mir fällt tatsächlich nun außerhalb des laufenden Spiels nichts mehr ein, das ich noch nicht fertig habe. Eigentlich eine gute Nachricht.

Timings

Timings sind mir seit einigen Monaten ein großes Ärgernis gewesen. Nachdem ich am Anfang meistens gesagt habe „Diese oder jene Animation läuft ungefähr 4 Sekunden“ und das dann auch so eingebaut habe, ging ich nun endlich dazu über, die exakte Anzahl Frames zu zählen. Wenn dann beispielsweise 270 Frames herauskommt, muss ich das wiederum umrechnen auf die Zielframerate von aktuell 50 fps. Das wären dann etwa 187 Frames, damit die Animation genauso lange läuft. Ähnlich verhält es sich mit den Konstanten für Gegnerverhalten: Wenn ein bestimmter Gegner 120 Frames braucht, um sich um 180 Grad zu drehen, dann braucht derselbe Gegner im Remake dafür nur noch 83 Frames. Und da sich die Framerate beliebig einstellen lassen wird, muss diese Berechnung wiederum variabel sein. Zusammengefasst habe ich viel Zeit damit verbracht, die Dinge, die eigentlich schon fertig waren, nun auch bezüglich der Original-Timings anzupassen.

Gegner-Deployment und -Redeployment

Das Deployment und Redeployment von Gegnern ist nun wesentlich näher am Original. Alle paar hundert Frames wird ein Gegner in der Station generiert. Dann beginnt dieser sich zu drehen, und zum Spieler auszurichten. Wenn die Ausrichtung stimmt, gibt er Schub und beginnt die Jagd. Dafür gibt es eine Gegner-Warteschlange, die sich aus den Anweisungen der Gegnerkonfigurationen im Levelskript zusammensetzt, und es gibt die Redeployment-Warteschlange für Gegner, die gestohlene Ware abgeliefert haben. Leider verstehe ich den Zusammenhang mit den Levelskripten noch nicht so ganz, daher ist die Unschärfe hier sehr groß. Ich kann aktuell nur nachbilden was ich sehe, und viel sehe ich nicht.

Es sind wie gesagt viele Kleinigkeiten, die nach und nach besser werden. Das Ziel für den ersten komplett spielbaren Level ist schon sichtbar, jetzt heißt es dranbleiben und das Tempo steigern. Die zwei verbliebenen Gegnertypen (für Level 1) werde ich wohl in Kürze angehen müssen, und mich zur Not auch damit anfreunden, wenn das Ergebnis dann nicht perfekt wird.

Spacola_Disks1

SPACOLA Eclipse WIP 0.54

0

spacolaeclipse054

Seit Oktober kein Lebenszeichen von SPACOLA Eclipse, und auch das versprochene neue Vorschau-Video hat inzwischen drei Monate Verspätung? Ja, das klingt eindeutig nach mir. Aber ich kann Entwarnung geben: Bislang war ich eigentlich „nur“ zu faul, euch mittels Blog-Beiträgen auf dem laufenden zu halten, und auch das Produzieren, Schneiden und Hochladen des Videos war mir bisher zu mühselig. Dennoch bearbeite ich jeden Monat durchschnittlich 40 „Issues“ an dem Spiel, so dass es immer weiter vorangeht. Sogar an diesem Wochenende habe ich wieder eine ganze Stange an unliebsamen Problemen behoben, die mich schon recht lange stören.

Mit unliebsamen Themen meine ich solche Codeänderungen, die sich nicht auf das Gameplay auswirken, über die es sich daher eigentlich auch nicht lohnt, in einem Beitrag zu schreiben. Die Vortex-Klasse kann jetzt die Animationen der Sterne und Spielobjekte darstellen, außerdem ist die Animation des Wurmlochs selbst jetzt deutlich näher am Original. Die Displays in der HUD-Seitenleiste sind jetzt allesamt numerische oder hexadezimale „FlapDisplays“, also solche Anzeigen, bei denen die einzelnen Ziffern bei Wertänderungen erst nacheinander umklappen – genau wie im Original. Daneben gibt eine ganze Menge an Änderungen bezüglich der Programmablaufkontrolle. Was passiert z.B. wenn man im Intro F5 drückt, oder ESC im Levelauswahlbildschirm? Wie lange wird das Hauptmenü angezeigt und wohin soll das Programm dann springen? Genau solche Dinge musste ich stundenlang im Originalspiel analysieren und ins Remake einbauen. Das ist wahnsinnig viel kleinfitzeliger Kram, der aber leider nötig ist.

Dafür habe ich endlich die Bedingung für das erfolgreiche Beenden des Spiels implementiert. Sobald alle 64 Levels abgeschlossen sind, wird das Zertifikats-Modul ausgeführt, welches es im finalen Spiel erlaubt, das persönliche Zertifikat anzuzeigen oder auszudrucken. In der Testphase wird hier allerdings nur eine Meldung angezeigt, dass es sich noch um eine Testversion handelt. Zusätzlich habe ich das Verifikations-Modul eingebaut, das im Original verwendet wird, um beim Laden von Savegames zu prüfen ob der Spieler auch wirklich den Sternenatlas besitzt. Im Remake wird dieses Modul zwar nicht direkt benötigt, aber es gehört eben trotzdem dazu. Tatsächlich funktioniert die Prüfung sogar perfekt, denn SPACOLA Eclipse beinhaltet seit einigen Monaten den kompletten Inhalt des Sternenatlas. Möglich wurde das durch die Unterstützung eines Hackers, der das Originalspiel mit einem Disassembler dazu gebracht hat, alle 29568 Codes auszuspucken.

Auch erscheint nun beim Klick auf „Neues Spiel“ ein kleines Menü, in welchem man den Spielmodus (dargestellt durch eine entsprechende Grafik) auswählen kann. Im Moment ist das nur das Monochrom-Remake mit dem Codenamen „SPACoLASSIC“. Im Verlauf von späteren Versionen gibt es hier auch die verbesserte Farbversion und den Multiplayer-Modus zur Auswahl. Das eingebaute Cheat-„Navigationssystem“ (der Richtungspfeil) zeigt nun nette kleine Icons an den Pfeilen, um zu verdeutlichen wohin der Pfeil eigentlich deutet. Denn neuerdings wird dem Spieler nicht nur die Richtung zum Ziel ausgewiesen, sondern auch zu bestimmten Powerups.

Ach, Moment. Eine große Gameplay-Änderung habe ich dann doch zu vermelden: Der Minenleger ist fertig. Dieser äußerst unangenehme Gegner fliegt im Spiel auf den Spieler zu und wirft ihm eine Mine direkt vor die Füße. Das Teuflische an diesen Gegnern ist, dass wenn sie vom Spieler zerstört werden, sie diesen mit einer weiteren Mine oft noch mit in den Tod reißen können. Doch auch hier gibt es leider eine Beobachtungsungenauigkeit von mindestens 20%, so dass ich nicht garantieren kann, dass die Bewegungen oder das Schießverhalten wirklich genau wie im Original sind. Aber besser wird es leider nicht.

Weiterhin peile ich den Oktober als Termin für eine erste richtig gut spielbare Version an. Ob diese Version dann das komplette Spiel beinhalten wird oder doch nur den ersten Level, das mache ich davon abhängig wie gut ich bis dahin vorankomme.

Spacola_Disks1

SPACOLA Eclipse WIP 0.49

0

Wieder einmal in drei Wochen nicht einen einzigen Beitrag geschrieben. Aber heute schaffe ich es. Ich habe ein freies Wochenende, ich habe Motivationsmusik laufen, ich habe Kaffee gemacht, ich muss mich nur noch konzentrieren! Tschakka! Nein, SuccessDenied wird nicht eingestampft, aber die Zahl der regelmäßigen Beiträge hat sich leider wieder einmal reduziert. Beruflich bin ich zur Zeit derart eingespannt, dass ich abends nur noch froh bin, wenn ich nichts mehr machen muss. Manchmal wundere ich mich selbst, wie ich überhaupt noch zu etwas komme. Nunja, in acht oder neun Wochen ist ja schon wieder Urlaub. Bis dahin versuche ich möglichst viel auf Autopilot unterwegs zu sein.

Trotz all der Widrigkeiten arbeite ich weiterhin im kleinen und im ganz kleinen Rahmen an meinem SPACOLA-Remake. In genau einem Jahr soll die Monochromversion fertiggestellt sein. Das ist ein sportliches Ziel, wenn man sich vor Augen führt, dass ich seit fünf Jahren an dem Spiel bastle, und mir täglich mehr Dinge auffallen, die ich leider nicht richtig hinbekommen oder komplett vergessen habe. Die To-Do-Liste wird erstaunlicherweise niemals kürzer, nur noch länger und länger. Die aktuelle Version 0.49 vom Oktober 2015 hat die 30000 Zeilen übersprungen. Hier eine kleine, unvollständige Liste der Dinge, die kürzlich hinzugekommen sind:

Kollisionsauflösung

Die Gegnerschiffe im Originalspiel können (bis auf eine einzige Ausnahme) sich im Flug niemals gegenseitig berühren, sie können lediglich mit dem Spieler und den Asteroiden kollidieren, durch andere Entitäten fliegen sie immer hindurch. Auch die Asteroiden selbst fliegen immer durch andere Asteroiden hindurch. Inzwischen habe ich meiner kleinen 2D-Engine einen Algorithmus verpasst, der es erlaubt, unter Spielobjekten wechselseitig auf Kollisionen zu prüfen. Mit steigender Anzahl der Objekte steigt der Rechenaufwand leider enorm, das Spiel wird spürbar langsamer, daher muss gewährleistet sein, dass diese Methode nur auf eine überschaubare Anzahl von Objekten angewandt wird. Hinzu kommt, dass eine Kollisionserkennung bzw. -vermeidung leider nicht ausreicht, wenn die Objekte z.B. von der Schwerkraft permanent in dieselbe Richtung gezogen werden. Schnell ergibt sich so die Situation mehrfacher Überlagerungen, oder von Objekten, die gerade durch Anwendung des Abprallvektors wiederum in ein anderes Spielobjekt hineingeschoben werden.

Es musste eine Methode zur aktiven Kollisionsauflösung gefunden werden, die auch in einer großen Ansammlung von Spielobjekten funktioniert. Einige aufwändigere Algorithmen dazu habe ich mir angesehen, leider waren diese in meinem Fall nicht gut umsetzbar. Im Endeffekt versuchte ich mich mittels Trial and Error selbst an einer Lösung. Im Prinzip werden nun für jeden Frame alle auftretenden Kräfte ausgerechnet und schrittweise auf die Objekte angewandt. Jedes Objekt wird dabei nur so weit bewegt, bis eine Kollision auftreten würde, anschließend wird immer die Richtung korrigiert. Wenn am Ende des Updates doch eine Kollision erkannt wird, die sich trotz aller Vorsicht nicht vermeiden ließ, dann werden auf die „Streithähne“ jeweils Penalty Forces angewandt, also Strafvektoren, die die Objekte mit Schwung auseinanderspringen lassen. Das Ergebnis ist fast vergleichbar mit dem, was etablierte 2D-Physik-Engines leisten können.

spacolaeclipse049

OXYD-Rotoren als Spaßgegner

Um mein kleines 2D-Physik-Experiment zu testen musste ich kurzfristig einen Spaßgegner ins Spiel einbauen, der definitiv miteinander reagiert. Im Dongleware-Klassiker OXYD gab es mit dem Rotor einen solchen Gegner. In ein oder zwei Landschaften gab es die Situation, dass zwei Rotoren gemeinsam die Spielerkugel jagten. Die drehenden Rotoren stießen sich dabei jeweils voneinander ab, wenn sie versuchten, denselben Punkt zu erreichen. Im SPACOLA-Remake werden die drehenden Rotoren nun von den Stationen losgeschickt, und sie werden direkt vom Raumschiff des Spielers angezogen. Die Anzahl gleichzeitig existierender Rotoren habe ich dabei stark erhöht, um zu testen, ob die Abstoßung auch im Pulk einwandfrei funktioniert. Das Ergebnis ist wirklich nett anzusehen und wirkt dank passendem OXYD-„Glas“-Soundeffekt auch sehr authentisch.

Stationsanimationen fertig

Alle zehn Stationsanimationen sind nun komplett fertiggestellt, die bisher bestehenden wurden verbessert. Die Timings habe ich Frame für Frame aus dem Original übernommen, dazu habe ich stundenlang Bildchen im Emulator mitgezählt und jeweils die Anzahl notiert. Dafür kann ich jetzt garantieren, dass das Remake sich in dieser Hinsicht absolut nicht mehr vom Original unterscheidet. Tests mit den jeweiligen Soundeffekten zeigen, dass die Animationen wirklich perfekt passen.

Neues Titel-Artwork und Swing-GUI

Ich habe ein neues Titel-Artwork entworfen, da mir die Abstände zwischen den Buchstaben noch nicht gefallen haben. Wenn ich schon dabei war, wollte ich die Grafik des Schriftzugs diesmal perfekt gestalten, so dass ich daran nie mehr etwas ändern müsste. Der Schriftzug wirkt jetzt plastischer, die Abstände sind optimiert, und sogar der Schattenwurf wurde an die Vorgaben im großen Dongleware-Vorbild OXYD angelehnt. Zusätzlich habe ich den Dongleware-Font invertiert und mit einem schwarzen Rand versehen, damit es ebenfalls näher am Original ist. Die Swing-GUI habe ich mit dem Dongleware-Font und mit einem einheitlichen Hintergrund etwas aufgehübscht. Doch das Ziel ist damit noch lange nicht erreicht. Ein einheitliches Optionsmenü fehlt weiterhin.

spacolaeclipse049_2

Magnetismus-Code verbessert

Den Magnetismus-Code habe ich deutlich verbessern können. Die Lösung des Problems war nicht, den Code physikalisch korrekt zu gestalten, wie ich das zuerst versucht habe, sondern – im Gegenteil – eine eher unlogische Herangehensweise. Objekte, die magnetisch angezogen werden, werden nicht mehr ausschließlich in Richtung des „Magneten“ beschleunigt, sondern vollziehen zusätzlich dessen Bewegung iterativ nach. Dadurch wird eine weichere Anziehungsbewegung ermöglicht, und es wird verhindert, dass Objekte wie Satelliten immer um den Mittelpunkt kreisen. Die exakten Werte versuche ich allerdings weiterhin durch Ausprobieren und Korrigieren herauszufinden.

Spacola_Disks1

SPACOLA Eclipse WIP 0.47

2

spacolaeclipse047

Gestern auf den Tag genau vor fünf Jahren tippte ich die ersten 50 Quellcodezeilen von etwas, das ein paar weiße Pixel auf einem schwarzen Hintergrund bewegte. Heute sind es ziemlich genau 28.500 Zeilen mehr, und es sind leider immer noch weiße Pixel auf schwarzem Hintergrund. So ein Pech aber auch. Nein, heute ist es ein Spiel, das einem originalgetreuen SPACOLA-Remake tatsächlich sehr nahe kommt. Originaltreue ist mir am wichtigsten. Ich verändere nur Details, die mir sinnvoll erscheinen und sich nicht vermeiden lassen. Jede zusätzliche Änderung, jedes weitere witzige Extra wird immer optional sein. Im Moment arbeite ich mich recht fleißig durch die vielen offenen Punkte, und darauf möchte ich in diesem Update-Artikel zu sprechen kommen.

Levelparser/Levelgenerator und Kampagnenmodus

Der Parser für die Levelkonfiguration mit dem Levelgenerator sind weitgehend fertig. Der Parser liest die Original-Levelskripte ein, teilt die Anweisungen im Skript in Tokens und Parameter ein und „interpretiert“ diese, indem er dem Levelgenerator Anweisungen gibt, wie das nächste Level aufgebaut werden muss. Das funktioniert schon perfekt für Level 1. Ab Level 2 aufwärts werden allerdings weitere Befehle eingeführt, die ich erst noch verstehen und vor allem einbauen muss. Damit ist der Kampagnenmodus jetzt theoretisch vorhanden und benutzbar, und wird auch mit jedem weiteren umgesetzten Befehl besser.

Spielen ohne Spacola Sternenatlas

Zwei Änderungen, die nötig sind um das Spiel ohne Buch sinnvoll spielen zu können, habe ich nun umgesetzt. Im Levelauswahl-Bildschirm kann man mit dem Mauszeiger über die Levels fahren und rechts im Statusfenster wird jetzt das darin befindliche erste Sektor-Powerup eingeblendet. Dieses musste man sonst aus dem Buch herauslesen. Ohne das Buch hätte man aber keine Möglichkeit mehr, diese an sich wichtige taktische Entscheidung noch zu treffen, darum hilft das Remake hier nach. Die zweite Änderung, die mir wichtiger ist: Wie soll der Spieler erfahren, wohin es die Waren auszuliefern gilt? Im Jahre 1991 hatte ich dazu das Buch mit der richtigen Seite aufgeschlagen an der oberen Kante unter die Tastatur geklemmt, um die Tabelle immer sofort griffbereit zu haben. Mit dem Finger konnte ich so Zeile und Spalte entlangfahren und schon ging es los. Ohne das Buch muss ich den Zielsektor logischerweise direkt rechts einblenden, was auch der Fall ist. Aber um die Sache spannender zu gestalten, experimentiere ich im Moment damit, dem Spieler den Zielsektor nur zeitverzögert zu verraten, so dass man sich erst noch ein paar Sekunden alleine mit der Spielwelt befassen muss, ehe man sich auf die Reise macht. Derzeit sieht es so aus, dass rechts in der Leiste eine Art „Dekodierung“ angezeigt wird, die nacheinander die X- und Y-Koordinate „entschlüsselt“. Das wäre meine Idee, wie man diesen Aspekt sci-fi-mäßig ohne Buch umsetzen könnte, ohne es noch simpler zu machen.

Alle Powerups fertig

Das „Kantinenruf“-Powerup wurde kürzlich von mir implementiert, und auch das Abfeuern von Lenkraketen funktioniert jetzt einwandfrei. Es sieht sogar schon recht witzig aus, wie die kleinen Lenkraketen zielsicher die Gegnerschiffe verfolgen und alles explodiert. Inzwischen kann ich also stolz vermelden: Alle 12 Original-Powerups sind funktional! Mit der Taste F12 kann man im Spiel neuerdings jederzeit Screenshots abspeichern lassen. War nicht wichtig, aber kam mir irgendwie selbstverständlich vor, dass der Client sowas können sollte. Außerdem merkt der Client sich jetzt endlich alle Einstellungen, die der Spieler vornimmt. So werden etwa Grafikeinstellungen in eine CFG-Datei persistiert und beim Programmstart geladen. Im Cheatmenü gibt es ein neues Untermenü für alle verfügbaren Powerups, die man hier einzeln anwählen kann. Das macht das Testen etwas einfacher.

Richtungspfeil und Testversions-Hinweise

Einen weiteren Cheat habe ich diese Woche verwirklicht: Einen Richtungspfeil am Bildschirmrand ähnlich wie in GTA, der immer den kürzesten Weg zu einem frei wählbaren Spielobjekt anzeigt, also z.B. die Zielstation. Sobald das Objekt sich dann mal tatsächlich auf dem Bildschirm befindet, zeigt der Pfeil auch direkt darauf. Dieser Pfeil wird in der klassischen Kampagne natürlich nicht enthalten sein, da er das Spiel zu sehr vereinfacht, aber ich fand es gut, dass ich sowas mal verfügbar habe für alle Fälle. Analog zu den Spezialhinweisen in der TOS-Demo von SPACOLA habe ich (pixelgenau positioniert versteht sich) auch in mein Remake einige Hinweise bezüglich seiner Unvollständigkeit hinterlegt. Das könnte man als erste Vorbereitung für einen öffentlichen Beta-Release werten, der definitiv in nächster Zeit nötig sein wird, wenn die Entwicklung in diesem Tempo weitergeht.

Präzise Messungen beim Schießverhalten

Das Schießverhalten des Spielerschiffes ist nun sehr viel näher am Original. Durch witzige Messmethoden habe ich versucht, herzuleiten, welche Parameter im Original verwendet werden. Hierzu muss ich Screenshots des Originals anfertigen, und dann die Distanz in Pixeln messen, die die abgefeuerten Schüsse in einer zuvor gezählten Anzahl an Frames zurückgelegt haben. Bei den 72 Hertz, die der Atari ST darstellt (wobei SPACOLA im Gegensatz zu OXYD nur jedes zweite Bild zeichnet, also eigentlich 36 fps), kann ich dann eine Umrechnung in Pixel pro Zeiteinheit als Schussgeschwindigkeit vornehmen, die ich im Remake wiederum verwende, um sie auf die gewählte Zielframerate aufzuteilen. Auch die Schussfrequenz bei Dauerfeuer konnte ich so mit Hilfe von Screenshots messen. Wenn beim Messen dann mal keine ganz krumme Zahl herauskam, wusste ich, dass ich auf der richtigen Spur bin. Die Herumrechnerei führt dazu, dass im Remake endlich deutlich authentischere Werte verwendet werden. Hierbei ist mir auch aufgefallen, dass das Weitschuss-Powerup anders als im Handbuch behauptet, die Schussgeschwindigkeit nicht erhöht, sondern die Kugeln nur weiter fliegen lässt.

Grafikbearbeitung abgeschlossen

In den vergangenen zwei Monaten habe ich die Original-Designvorlagen von SPACOLA wirklich ausgiebig analysiert, in stunden- und tagelanger Fleißarbeit ausgeschnitten, mit meinen eigenen Dateien etwa bezüglich Transparenz, Rotation und Reihenfolge verglichen und dadurch unzählige kleine und große Korrekturen an hunderten von Sprites vornehmen können. Dieser Prozess ist jetzt zu 99,9% abgeschlossen, und damit fallen die teilweise recht lästigen Pixeldoktoreien mit GIMP weg, und ich kann mich endlich vollkommen auf den Code konzentrieren. Mann, das wird ein Spaß. Aber der schwierigste und wichtigste Teil von allen kommt ja erst noch: Die Gegner-Intelligenz so wie im Original hinbekommen.

nach oben