Schlagwort-Archive: Atari ST

spacolaalpha039

Uff, ganz schön staubig hier auf meiner Webseite. In drei Wochen keinen einzigen Beitrag geschrieben, nicht einmal einen ganz kleinen. Und wer hat Schuld? Die Politik selbstverständlich! Solange in Deutschland der Konsens ist, dass 55 Stunden als Wochenende ausreichen, werde ich immer an Zeitnot leiden. Ich finde, zwischen Freitag und Samstag und zwischen Samstag und Sonntag müsste jeweils ein Entkaterungstag eingefügt werden, denn sonst verbringt man mitunter das halbe Wochenende ungenutzt mit einem Eimer neben dem Bett und hofft, dass sich das Zimmer endlich aufhört zu drehen.

Ich weiß, ich müsste viel mehr daran arbeiten, praktisch den ganzen November habe ich es komplett ruhen lassen. Es gibt endlich wieder Neuigkeiten von meinem kleinen Spaßprojekt SPACOLA Eclipse: Ein paar Stunden meines Wochenendes hat es gekostet, und mit Version 0.39 wird das Spiel endlich multilingual. Nun hat man im Menü die Wahl zwischen Deutsch und Englisch, und die Sprache lässt sich (fast) jederzeit ändern. Die Ingame-Texte werden dabei ausgetauscht und sogar die Swing-GUI ändert sämtliche ihrer Beschriftungen ganz fix per Mausklick. Damit habe ich doch tatsächlich einen der ersten Feature Requests von zwei nicht-deutschsprachigen Dongleware-Fans erfüllt, die die Originaltexte leider kaum verstehen können und sich zumindest eine englische Version gewünscht hatten.

Nun ist es dank vieler kleiner und einiger großer Änderungen sehr leicht möglich, mit einem einfachen Texteditor zusätzliche weitere Übersetzungen für das Spiel zu schreiben, vorausgesetzt jedoch, sie kommen mit dem lateinischen Alphabet aus oder können in dieses überführt werden. Der Dongleware- sowie der GEM-Font, der in meinem Remake verwendet wird, kennt leider nur diese Zeichen. Viele weitere Stunden Pixelei in GIMP wären nötig, um weitere Buchstaben hinzuzufügen, was ich mir vorerst sparen möchte. Wer will, darf sich diese Arbeit natürlich gerne auch selbst machen. Freiwillige vor, die Rohmaterialien zum Basteln gibts auf Anfrage.

Es gibt jetzt ein kleines „Module“-Menü, in dem man vorerst nur den GEM-Texteditor starten kann. Dieser wird neuerdings in der Spiel-Engine ausgeführt und muss nicht mehr umständlich per Debug-Einstellung gestartet werden. Damit lassen sich später einmal zusätzliche Module wie einen Leveleditor, eine Gesamt-Levelkarte oder einen Skript-Editor während des Spiels aufrufen um in Echtzeit Änderungen vorzunehmen. Auch für den geplanten Multiplayer-Modus böte sich hier Platz für interessante Extras.

Wird bald eine downloadbare Testversion veröffentlicht? Noch nicht. Nur Geduld. Leider kann ich hier keinen „Early Access“ anbieten, wie das bei Indie-Spielen ja neuerdings üblich ist, außer jemand bezahlt mich fürs Entwickeln. Oder möchte doch jemand spenden? Bevor es zum ersten Beta-Release kommt, will ich noch den LevelConfig-Parser und den Levelgenerator fertigstellen, die die Originalkonfiguration der Atari ST-Vorlage einlesen und interpretieren können. Wenn das mal steht, werden die Levels endlich nicht mehr vollständig per Zufallsgenerator erstellt, sondern nach den Bauplänen der 64 Ur-Levels. Im Moment bin ich bei knapp 17000 Zeilen bzw. 810 Kbyte Quellcode angelangt, verteilt auf 143 Klassen.

In den kommenden Tagen wird es eine neue Video-Preview geben, die den aktuellen Entwicklungsstand demonstriert. In diesem werde ich auch die vielen kleinen Gameplay-Änderungen zeigen, die ich hier nicht extra erwähnt habe. Der Weihnachtsurlaub ist nicht mehr weit, dann kann ich mich mal wieder mehr um das ganze Thema kümmern.

Inzwischen hat sich meine Aufregung doch relativ schnell gelegt und ich kann jetzt über mein doppeltes Pech beim Spielekauf sogar lachen. Was sind denn schon 21 Euro, davon kann ein Hartz-IV-Empfänger nicht einmal zwei Wochen leben. Steam hat das Geld bestimmt viel nötiger als ich, also sollen sie das Geld meinetwegen behalten. Dafür erwarte ich jetzt an anderer Stelle aber irgendwann doppeltes Glück, möglichst noch dieses Jahr, sonst gibt es einen Satz heiße Ohren. Achja, Steam stinkt trotzdem.

aladin2

Für einen richtigen Blog-Beitrag fehlt mir mal wieder die Zeit, daher vertröste ich die Leser mit einem weiteren kleinen Status-Update. Es ist die alte Leier. In der Zwischenzeit habe ich das Dongleware-Museum um zwei wahrscheinlich letzte Einträge erweitert: Den Apple Macintosh-Emulator „Aladin“, sowie „ProTos“, jeweils aus den Jahren 1987 und 1989. Damit ist nach aktuellem Kenntnisstand meine Liste der Programme und Spiele, an denen Meinolf Amekudzi direkt oder indirekt beteiligt war, wieder komplett. Besonders viele Informationen konnte ich zu den Programmen bisher leider nicht aus den Untiefen des weltweiten Netzes herausfischen, gerade ProTos ist da ein echt harter Fall. Im Moment müssen also die Platzhalter reichen, die ich dafür angelegt habe. Ein ausführlicher Text folgt, sobald ich mehr weiß.

SPACOLA Eclipse. Im Juni habe ich ein neues Preview-Video angekündigt, im September ist es leider immer noch nicht da. Aber die Chancen stehen jetzt besser denn je: Wie erwartet, war mein zweiwöchiger Urlaub im August zwar leider viel zu kurz, aber äußerst produktiv. Es verging kaum ein Tag, an dem ich nicht die eine oder andere Kleinigkeit umsetzen konnte. Die Schwelle von 15000 Zeilen Code habe ich überschritten. Die aktuelle WIP-Version 0.37 bringt VIELE kleine und sogar ein paar größere Änderungen mit. Außerdem konnte ich einen Haufen Bugs beseitigen: Der Code für das Abprallen funktioniert endlich fehlerfrei, und das sieht jetzt sogar richtig lustig aus, dadurch bieten sich ganz neue Möglichkeiten. Mehr wird im Beitrag zum Video verraten. Möglicherweise noch im September, wenn ich die Zeit dafür finde. Es gibt noch so zwei oder drei Dinge, die ich bis dahin in das Spiel einbauen möchte.

Inzwischen laufen sehr konkrete Planungen, meinen guten alten PC durch ein Gerät der aktuellen Generation zu ersetzen. Mein treuer Rechner, der mich seit nunmehr fünfeinhalb Jahren fast anstandslos begleitet, sollte eigentlich spätestens zu seinem vierten Geburtstag abgelöst werden, aber finanzielle Gründe haben das seitdem erfolgreich verhindert. Der Core 2 Duo E8400 reicht heute leider nicht mehr so ganz. Vier Kerne sind längst Standard. Und gerade die Grafikkarte – eine GeForce 9800 GTX+ – die bereits Anfang 2009 eigentlich nur Mittelklasse war, ist heute bei vielen Spielen überfordert, und hängt sich immer öfter unter Last auf. Von den 8 GB RAM, die ich seinerzeit eingebaut hatte, sind gerade noch 5 GB übrig, bedingt durch abgestorbene Riegel. Es wird wirklich Zeit für ein spürbares Upgrade. Spätestens zu Weihnachten wird es soweit sein.

Der erste Vormittag des ersten Urlaubstages ist schon fast vorbei, da wollte ich die vielen montagmorgendlichen Stunden, denen ich bereits jetzt nachtrauere, nicht gänzlich unproduktiv stehen lassen. Um mal wieder so richtig gepflegt abzuhängen und gar nichts zu tun, war doch eigentlich schon das vergangene Wochenende da. Es ist jetzt an der Zeit, mal wieder einen Gang hochzuschalten und Dinge abzuarbeiten. Mal davon abgesehen, dass ich nach fast einem Jahr nun einen Kleiderschrank bestellt habe (Adios, Umzugskartons!), sowie ein wenig Hardware für mein zukünftiges neues generalüberholtes Homeoffice, habe ich in den letzten Tagen fast jeden Abend zumindest einige wenige Codezeilen in mein kleines Spieleprojekt investiert. Das am wenigsten Uninteressante dürfte die Tatsache sein, dass ich inzwischen sämtliche Artworks des SPACOLA Sternenatlas „restauriert“ habe.

spacolaguide1

Dazu habe ich alle entsprechenden Buchseiten mit relativ hoher Auflösung eingescannt und die Zeichnungen ausgeschnitten. Darunter waren fünf große Illustrationen von Wolfgang Keller aus Karlsruhe (der zusammen mit seiner Frau Gaby Keller bei den diversen OXYD-Spielen unter den Landschaftsgestaltern bzw. Betatestern gelistet wird), als auch zwölf kleinere Abbildungen, die die einzelnen Powerups darstellen. Zusätzlich habe ich 18 Sprites (Gegner etc.) aus dem Buch eingescannt, die aber allesamt direkt im Spiel vorkommen, und daher nicht von mir grafisch bereinigt werden müssen. Mir ist allerdings aufgefallen, dass im Handbuch die Seitenleiste gezeigt wird, wie sie wohl in einer früheren Version des Spiels ausgesehen haben muss: Die Powerup- und Status-Anzeige fehlt hier völlig, die Extraleben werden dafür in doppelte Breite angezeigt. Mein größtes Interesse galt aber den Zeichnungen.

Das Problem waren hauptsächlich das leicht angegilbte Papier, und die Tatsache, dass die Buchseiten beim Scannen deutlich durchscheinen, so konnte man etwa Text spiegelverkehrt lesen, der eigentlich auf der Rückseite steht. Zum Glück bin ich heute nicht mehr ganz hilflos im Umgang mit GIMP. Schlüssel zum Erfolg war der vorsichtige Einsatz des selektiven Gauß’schen Weichzeichners, der unscharfen Maskierung, und zuletzt die Anwendung von Schwellwerten, um alle Farbtöne zwischen Schwarz und Weiß auszuschalten. Das Ergebnis waren einige einwandfreie Schwarzweißgrafiken. Die Tatsache, dass das Bild nun nicht mehr aus Millionen Graustufen und endlos weichen Übergängen bestand, äußerte sich auch extrem deutlich am Platzbedarf der PNG-Datei: Aus 6,42 MByte wurden so 106 KByte. Das sind kaum 2 Prozent der ursprünglichen Dateigröße. Wohlgemerkt ohne die Auflösung zu verringern oder die Qualität zu reduzieren.

spacolaguide2

Selbstverständlich war genau das aber nun der nächste logische Schritt, denn die Auflösung war mit 2700×1700 Pixeln viel zu hoch. Die Vorlage der Originalbilder war meines Erachtens gerade mal 640 Pixel breit, also die übliche ST-Monochrom-Auflösung. Die bereinigten Scans musste ich daher völlig ohne Interpolation (denn sonst wären wieder weiche Übergänge berechnet worden) auf ein Viertel verkleinern. Pixelidentisch würde es so niemals werden, das war mir klar, aber wenn man die rohen Scans zum Vergleich hernimmt, kommen die pixeligen Kanten schon recht nah. Bei den Zeichnungen ist das ganz gut gelungen, bei den Piktogrammen der Powerups leider nicht so gut.

Und wieso der Aufwand überhaupt? Ganz klar: Die Strichzeichnungen, die ich so hervorbringe, will niemand sehen. Ich würde die Bilder gerne auch ins Remake einbringen, zum Beispiel in einer integrierten Hilfedatei bzw. Online-Anleitung. Das Handbuch selbst habe ich ja schon vor Monaten komplett abgeschrieben, weswegen ich auch den Text in modifizierter Form verwenden könnte. Nicht dass ich für irgendwas davon schon die Erlaubnis hätte, aber man weiß ja nie was kommt. Das Cover des Sternenatlas habe ich ebenfalls schon vor Monaten aufwändig digitalisiert und vollständig restauriert, schon allein weil ich nichts von dem (wenigen) Material ungenutzt lassen möchte. Einzelne Schriftzüge kann man hinterher immer noch problemlos ändern.

Eine E-Mail von meinem Blogger-Kollegen Oli – ein gleichgesinnter Atari-ST-Fan und ebenfalls Programmierer – nehme ich heute zum Anlass, einen kleinen Softwarearchäologie-Report zu verfassen. Er sprach mich auf einen alten ZX81-Emulator an; ein Emulator für den Atari ST, den ich seit bestimmt 20 Jahren nicht mehr gesehen habe, und mit dem ich einige der interessantesten Erinnerungen aus meiner Kindheit verbinde. Den Artikel schreibe ich freilich aus der Sicht von jemandem, der das Programm als Kind verwendet hat, und nicht etwa von jemandem, der professionell damit umgehen kann.

ZX81 Emulator: Ein sehr kreatives Tastaturlayout

ZX81 Emulator: Ein sehr kreatives Tastaturlayout

Ich erinnere mich noch sehr gut an dieses kleine aber großartige PD-Programm von Christoph Zwerschke, das zum ersten Mal im Oktober 1990 auf der Beilagediskette des TOS-Magazins veröffentlicht wurde. Ich war kaum sieben Jahre alt und hatte schon ganz grob begriffen, was ein Emulator ist. Dieser hier emulierte einen Sinclair ZX81 – ein kleiner Homecomputer aus England (von dem namensgebenden Erfinder Sir Clive Sinclair), der zum Zeitpunkt meiner Geburt bereits veraltet und Anfang der 90er praktisch museumsreif war. Wenn man den Emulator startet, bekommt man einen Begrüßungsbildschirm zu sehen, und dann nur noch ein Eingabefenster. Das war schon damals nicht unbedingt besonders einladend, wenn man grafische Benutzeroberflächen (wie TOS) gewohnt war, aber ich kannte zum Glück den GFA-BASIC-Interpreter, und der sah ähnlich spartanisch aus. Keine Ahnung, wie ich darauf gekommen bin (vielleicht habe ich ja wirklich die README-Datei gelesen), aber mit der Eingabe von LOAD „“ offenbarte sich mir eine fantastische Welt primitiver BASIC-Spiele, und das war für mich in dem Alter das Beste an dem Emulator.

Mein Vater schüttelte den Kopf als er diese äußerst altbackene Klötzchengrafik sah, und er wunderte sich, wie ich damit soviel Spaß haben konnte, wo der ST doch so tolle hochauflösende Monochromspiele und knallbunte Farbspiele hatte. Möglicherweise war das der Moment, in dem ich endgültig erkannte, dass Spielspaß praktisch nichts mit Grafik zu tun hatte, und mit Sound schon gar nicht, denn den gab es sowieso nicht: Der ZX81-Emulator blieb immer stumm. Keine Frage, ich liebte mein Highway Patrol 2, mein Cadaver, und mein Double Dragon, und all die anderen tollen Spiele, die ich in meiner Diskettenbox hatte, aber der ZX81-Emulator löste mit seiner merkwürdigen Schwarz-Weiß-Zeichensatz-Grafik eine wirklich kaum zu beschreibende Faszination bei mir aus.

3D-Monster-Labyrinth: Vor dieser Kreatur habe ich mich gefürchtet

3D-Monster-Labyrinth: Vor dieser Kreatur habe ich mich gefürchtet

Eine ganze Menge Spiele lagen dem Emulator bei, alle in Form von (kaum lesbaren) BASIC-Quellcodes. Mit dem Befehl RUN wurde das geladene Programm gestartet. Das waren ganz unterschiedliche Spiele: Night Driver, eine schwierige Rennsimulation, oder Varianten von Hangman und Centipede gab es, außerdem mit Hamurabi ein zahlenlastiges Resourcen-Management-Spiel, das ich kaum verstand. In Olympiade musste man abwechselnd die Tasten 5 und 8 drücken, damit der eigene Läufer immer schneller wurde, und mit der Taste 0 konnte man dann abspringen (beim Weitsprung). Viele Stunden Spaß hatte ich mit Mazogs, dessen Omikron-Äquivalent Maziacs ich schon kannte – ein Labyrinth voller Riesenspinnen, in dem man eine Schatztruhe finden musste. Daneben gab es mit Star Trek ein aufwändiges Weltraumspiel mit Handlung, an dem ich mich immer wieder versucht habe, obwohl ich noch etwas zu jung war, um die Rätsel zu verstehen.

Es gab noch diverse Programme, die etwa Schaltpläne generierten, oder einen Biorhythmus berechneten. Das hat mich damals aber alles nicht so interessiert. Spannend war noch das Spiel Animals, eine Umsetzung von „20 Questions“. Ohne die Theorie hinter Binärbäumen zu kennen, hatte ich natürlich Schwierigkeiten mir vorzustellen, wie der Computer am Ende praktisch jedes Tier erraten kann. Das mit Abstand gruseligste Spiel war das 3D-Monster-Labyrinth. Der Spieler musste ein zufällig generiertes Labyrinth in der Ich-Perspektive durchlaufen, während am anderen Ende des Labyrinths ein Monster umherirrt, das seinerseits den Spieler sucht. Ich kann bis heute nicht sagen ob das Monster sich in Echtzeit bewegt, oder doch nur rundenbasiert, aber ihm versehentlich zu begegnen, hat mich immer wieder erschreckt. Es war auf jeden Fall ein tolles Beispiel für ein sehr simples Spiel mit Suchtfaktor, das im besten Fall zweckmäßige Grafik und absolut keinen Ton hatte. Also entweder war ich schon damals wirklich verloren, oder diese Spiele hatten einfach einen gewissen Reiz.

Star Trek: Klötzchenwelten mussten mit Hilfe des Ziffernblock erforscht werden

Star Trek: Klötzchenwelten mussten mit Hilfe des Ziffernblock erforscht werden

Kaum zu glauben, aber wahr: Christoph Zwerschke, der Entwickler des ZX81 Emulator, ist sogar noch mit einer eigenen Webseite im Internet vertreten (letzte Änderung allerdings im März 2001!), und er bietet dort die letzten Versionen seiner alten ST-Programme an, darunter natürlich auch dieser wunderbare Emulator. Extra für ein paar Screenshots habe ich daher den ST-Emulator angeworfen, um nach über 20 Jahren den ZX81-Emulator anzuwerfen, um dessen grobpixelige Spiele mal wieder anzuwerfen und digital abzulichten. Quasi eine kleine Emulatorception. Oder Retro im Quadrat. Und tatsächlich, ich konnte mich noch an so manches Bedienungsdetail erinnern. Und mit der HELP-Taste kann man sich ja im Notfall noch das Tastaturlayout einblenden lassen. Vielleicht spiele ich nochmal kurz eine Runde 3D-Monster-Labyrinth. Retroflash in 3 … 2 … 1 …

Eine reichlich produktive Woche liegt hinter mir. Ein paar müßige Woche mussten nämlich ausgeglichen werden, jedenfalls im Bereich der Spieleentwicklung. Aber seit Montag konnte sich meine Entwicklungsumgebung nicht über zuwenig Aufmerksamkeit beklagen. Es gibt daher schon wieder einen kleinen Update-Bericht zu SPACOLA Eclipse.

spaclipse034

Als erstes möchte ich bekanntgeben, dass ich eine gedankliche Schwelle überschritten habe: Ich bin mir jetzt hundertprozentig sicher, dass ich das kleine Retro-Spieleprojekt eines Tages wirklich zum Abschluss bringen muss. Nachdem ich bisher stets darauf hingewiesen habe, dass ich keine Garantie dafür geben werde, dass ich meine kaum spielbare Monochrom-Demo nicht eines Tages doch noch aus plötzlichem Desinteresse wieder einstampfe, bin ich nun sicher, dass mir das nicht mehr passieren kann. Zuviel Mühe, Zeit und Erfahrung stecken inzwischen in dem bald 13000 Zeilen langen Quellcode.

Außerdem ist das zwar noch weitestgehend unfertige Spiel längst mit einem tatsächlich recht drolligen Gameplay gesegnet. Auf dem Bildschirm wuseln und explodieren schon eine ganze Menge Raumschiffe hektisch umher, ballern aus allen Rohren, Geschütztürme verfolgen aufgeschreckt jede Bewegung des Spielers. Selbst die winkenden Männchen in den Raumstationen trinken schon gierig ihre Cola, wenn man sie mit der wertvollen Ware beliefert. Mit maximalem Schub versucht man der Anziehungskraft schwarzer Löcher zu entkommen, oftmals vergeblich. Ja tatsächlich, Geschütztürme und schwarze Löcher sind in dieser Woche fertig geworden.

Ich habe endlich meine neue Vortex-Klasse für Strudel- bzw. Wirbeleffekte (z.B. Intro-Animation und Gameover-Animation) in Betrieb genommen. Für den Wirbeleffekt (logarithmische Spirale) und für die Gravitationsberechnung schwarzer Löcher musste ich mir wieder mal eine ganze Menge Mathematik anschauen. Selten habe ich soviel über irgendwelchen Formeln gebrütet wie die letzten Tage, aber es hat sich ausgezahlt. Der Effekt ist wirklich spannend und funktioniert sehr gut. Den neuen Code für die Gravitation konnte ich auch gleich für zwei Sammler-Powerups und für die Container einbauen, so dass das Thema auch abgehakt wäre. Von seiner eigenen Code-Kreation brutal über den Haufen geschossen oder ins Nirvana gezogen zu werden, das macht einen auch irgendwie stolz.

Aber ich will niemandem etwas vormachen: Die Todo-Liste wird eher länger statt kürzer. Für jedes Feature, das ich mühsam umsetze, fallen mir zwei neue ein. Und das schließt Ideen für Erweiterungen und Bugs nichtmal ein. Alle paar Monate meldet sich mal ein SPACOLA-Fan bei mir, was mich immer ganz besonders freut. Manchmal ist das sogar die nötige Motivation, die ich brauche, um mich nach faulen Phasen mal wieder ins Gefecht zu stürzen. Und ich bin noch optimistisch, dass das Projekt Ende des Jahres wirklich vorzeigbar wird! Bis dahin wird es noch ein weiteres Gameplay-Video geben, das alle neuen Funktionen demonstriert und dass man nun sogar das Spiel verlieren und seinen Highscore-Eintrag hinterlassen kann. Wenn die vielen Spielmechaniken mal irgendwann alle fertig implementiert sind, dann kann ich mich endlich um das wirkliche Spieldesign kümmern, also um die Levels, das Feintuning, ein korrektes Gegnerverhalten, uvm.