Schlagwort-Archive: Atari ST

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.

Neuer Eintrag für das vielfach gelesene Entwicklertagebuch: Hallo Fans, ich habe eine Kleinigkeit in Bezug auf mein Java-Remake SPACOLA Eclipse zu vemerken. Nachdem ich in der letzten Version bedauerlicher- aber nötigerweise nur unbedeutende Dinge vorstellen konnte, wollte ich dieses Mal einige neue Features für das Gameplay implementieren. So in den letzten Tagen geschehen. Ein Screenshot sagt dabei mehr als tausend Worte.

alpha033

Der Screenshot ist mir leider nicht besonders gelungen, ich hätte da gerne ein paar Gegner im Bild gehabt und so. Screenshots zu machen ist nämlich eine echte Kunst, habe ich festgestellt, und oft ist es schwierig, im richtigen Moment den „Auslöser“ zu drücken. Nun sei es drum, jenes kleine Bild demonstriert gleich mehrere Aspekte, die kürzlich mehr oder weniger fertig geworden sind:

1. Der Spieler kann jetzt theoretisch jedes beliebige Raumschiff lenken (also auch Piratenschiffe), mittlerweile insgesamt sechs an der Zahl. Nützlich wird so etwas für etwaige Fuchsjagd-Multiplayer-Modi oder sowas, also überall da wo jemand die Rolle der fiesen Gegner übernehmen möchte. Im Screenshot ist es eines der Gegnerschiffe, die erst nach Level 8 oder später auftauchen.

2. Komplette Minenfelder sind endlich im Spiel: Dazu habe ich die beiden Standardminen eingebaut, wovon eine nur unter Beschuss explodiert, die andere einen Annäherungssensor hat, der die Mine bei Spielerkontakt zur Detonation bringt. Wenn man da versehentlich hineinfliegt, geht auf dem Bildschirm wirklich die Post ab.

3. Der Station-Trapper, der eine beliebige Raumstation mit einer ganzen Batterie an Minen eines beliebigen Typs bestückt. Die Klasse kennt alle möglichen Defaults für SPACOLA-typische Formationen (unterschiedlich aufgebaute Minenfelder, wie sie eben im Spiel vorkommen), oder man gibt selbst Werte wie Anzahl Elemente, Abstand und Radius vor. Als kleine Erweiterung kann man Minen nicht nur kreisförmig wie im Original, sondern auch in rechteckiger Formation um eine Station platzieren (im Screenshot rechts oben zu sehen), was im Original so niemals vorgekommen ist. Für einen Leveleditor eine vielleicht ganz nützliche Funktion.

4. Explosionen mit Trümmerteilen (Debris explosions) sind endlich fertig, so wie diese im Original von Minen oder bestimmten Piratenschiffen erzeugt wurden. Explodiert eine Mine, so werden viele sich drehende Trümmerpartikel freigegeben, die dem Spieler sogar schaden können. Einzelne Partikel teilen sich dabei auf und verglühen nach einer Weile. Diesen Mechanismus hinzubekommen, da habe ich eine Weile basteln müssen. Das Zeichnen aller Trümmerexplosionen mit den vielen Partikeln habe ich dabei sogar rekursiv implementiert: Wenn die Monochrom-Grafikengine eine Partikelexplosion zeichnen soll, ruft dieselbe Methode sich selbst nochmals mit jedem einzelnen Trümmerteilchen auf. Toll, dass man sowas mal in der Praxis verwenden kann.

dev_snapshot_smallLeider fehlt noch mindestens das „Game Over“ und die Eingabe der Highscore, daher noch immer keine spielbare Demo. Ich denke als nächstes müsste ich mich auch mal um Turrets, also Abwehrgeschütztürme von Stationen kümmern, aber dazu könnte ich tatsächlich mal ein oder besser zwei Wochen Urlaub gebrauchen. Aber immerhin habe ich das Dongleware-Museum Anfang der Woche mal um einige Einträge erweitert, ein paar Beschreibungen ergänzt, Tippfehler korrigiert und Screenshots ersetzt. Manche Dinge muss ich noch einpflegen, dazu komme ich hoffentlich noch. Für Fans lohnt sich ein Blick.

Für ganz Neugierige hänge ich hier noch einen kleinen Eindruck meiner Entwicklungsumgebung an, also das Ding, das ich mir manchmal stundenlang anschaue und merkwürdigen Text eingebe, damit irgendwann hoffentlich mal ein Spiel rauskommt. Ob der Plan aufgeht, wird sich Ende des Jahres vielleicht mal zeigen.