Schlagwort-Archive: Sternenatlas

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.

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.

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 Internet ist eine gigantische Schatzkiste. Das konnte ich in den letzten Jahren bei vielen Gelegenheiten immer wieder feststellen. Dieses Mal konnte ich eine ganz besondere Rarität ergattern, die ich schon seit meiner Kindheit haben will. Noch dazu stellte sich heraus, dass besagte Rarität in einem außergewöhnlich guten Zustand ist, praktisch kaum benutzt. Meine Sammlung wird damit endlich komplett, nach lächerlichen 21 Jahren.

Eigentlich bin ich überhaupt kein Sammler und Raritätenjäger, ich habe gar nicht das Geld oder den Platz, um mir eine entsprechende Sammlung aufzubauen, und so mancher hat sein ganzes Haus voller Spielerelikte, Konsolen, Handhelds, ungeöffneter Originalversionen, Handbücher, alter Homecomputer, und was weiß ich noch alles. Ich bin aber in gewisser Hinsicht etwas ähnliches, nämlich Verfechter der Informationsfreiheit und Informationserhaltung, ganz im speziellen im Bereich alter Spiele bzw. historischer Software, auch für Systeme, die längst nicht mehr existieren. Sehr gerne beschäftige ich mich darunter mit den auf dem Atari ST bekannten Kugel- oder Murmelspielen von Meinolf Schneider (OXYD-Reihe), sowie von Martin Hintzen und Jürgen Verwohlt (Thriller- und Shocker-Reihe). Mit diesen Spielen verbinde ich eine sehr spannende und angenehme Kindheit. Ich war eines von jenen Kindern, die keinen Nintendo hatten, aber dafür alle möglichen Computer – zum Glück, denn mit Computern kann man doch soviel mehr machen als mit Spielekonsolen.

Gerade vor wenigen Tagen führte ich ein einstündiges Telefoninterview mit Martin Hintzen über seine aktive Zeit als Spieleentwickler für den Atari ST. Ich konnte ihm so einige Interna über seine Spiele, und nebenbei so manche interessante Anekdote entlocken. Das ist einer der Gründe, warum ich derzeit wieder in einem richtigen Atari-Fieber bin. Nun ist es mir – wider Erwarten – tatsächlich gelungen, etwas zu erwerben, was inzwischen kaum noch zu bekommen ist: ein Exemplar von „Das Oxyd 2 Buch„. Daneben habe ich mir jeweils ein zusätzliches Exemplar von „Das OXYD-Buch“ und dem „Spacola Sternenatlas“ bestellt, schon alleine weil meine alten Exemplare etwas abgegriffen sind (um es mal harmlos auszudrücken). Die Bücher waren teilweise deutlich teurer als der ursprüngliche Verkaufspreis, aber das konnte mich nicht abhalten, diese seltene Gelegenheit zu nutzen. Jetzt besitze ich alle drei Dongleware-Bücher für den Atari ST. Oh Internet, gelobet und gepreiset seiest du.

Wer die Spiele nicht kennt und sich jetzt fragt, welche interessanten Geschichten in diesen Büchern stehen könnten, den muss ich enttäuschen. Die Bücher bestehen aus zwei Teilen: Zum einen fungieren sie als Handbuch für das jeweilige Spiel, zum anderen bestehen die Bücher zu 90% nur aus Kopierschutzcodes, also seitenweise Kolonnen aus Ziffern und Buchstaben, die man eingeben musste, wenn das Spiel danach fragte. Mehr ist das nicht. Warum also für so einen alten unnützen Krempel soviel Geld ausgeben? Genau. Weil halt. Aus zwei Gründen ist es absolut unsinnig, diese Bücher heute noch zu kaufen: 1. Es gibt gecrackte bzw. kopierschutzfreie Versionen der OXYD-Spiele im Netz. 2. Es gibt Enigma, einen freien OXYD-Klon für alle möglichen modernen Betriebssysteme. So, und auf der anderen Seite trifft das auf Spacola schonmal nicht zu, denn davon gibt es meines Wissens keine gecrackte Version. Wie auch, die „Codeabfrage“ ist derart intelligent mit dem Gameplay verknüpft, dass man sich das Spielen ohne Buch schon rein prinzipiell sparen kann. Zum anderen ist es einfach die Nostalgie an diesen Büchern, die mich reizt. Außerdem haben sie einen gewissen Seltenheitswert, denn die Zielgruppe war relativ klein und entsprechend wenige Exemplare sind jeweils in Umlauf gekommen, vermutlich nur wenige tausend Stück.

Und was mache ich mit meiner Beute nun? Keine Ahnung. Tag und Nacht bewundern. Einscannen und als PDF aufbereiten. Von der Staubschicht befreien, einschweißen und in einer Glasvitrine ausstellen. Wenn ich eine hätte. Wahrscheinlich kommen sie einfach nur ins Regal. So richtig habe ich mir das noch nicht überlegt.

SpacolaCodeJetzt da ich sowieso schon im Retrofieber bin: Vor zwei Tagen hatte ich die Idee, mich an einem Remake des Dongleware-Klassikers Spacola von Meinolf Schneider zu versuchen. Ich wollte das Spiel endlich für moderne Betriebssysteme wiederauferstehen lassen und was eignet sich für so eine wenig hardwarehungrige Anwendung besser als Java? So gibts das Spiel wenigstens für Windows, Linux und den ganzen Rest. Außerdem gibt es sonst kein Spacola-Remake.

Ursprünglich dachte ich, ich würde sowieso nach zehn Minuten die Geduld verlieren, was auch beinahe geschah. Am ersten Tag hatte ich es nach zwei Stunden kaum geschafft, mit meinem Code ein Fensterchen zu öffnen. Inzwischen arbeite ich aber schon drei Tage daran und das kleine Raumschiff fliegt schon munter durch den nett animierten Sternenhimmel. Grafikausgabe, Spritehandling und die Maussteuerung sind beinahe fertig implementiert. Wenn das in dem Tempo weitergeht, kann ich demnächst die ersten Gegner in meine Levels setzen. Kaum zu glauben wieviel Trigonometrie nötig ist, um eine halbwegs passable Steuerung hinzubekommen.

Wann es eine spielbare Version geben wird, kann ich im Moment noch nicht sagen. Nicht einmal ob ich das Spiel wirklich fertigschreiben werde. Aber derzeit sieht alles ganz gut aus, ich komme schneller voran als gedacht.