Schlagwort-Archive: Remake

Endlich fertig mit dem Video. Mensch, war das ein Act. Ich bin froh, dass es dieses Jahr wirklich noch geklappt hat, wo ich das Ding doch schon seit Monaten ankündige. Hier also das neueste Preview-Video zur aktuellen Version 0.39 meines Spiele-Remakes SPACOLA Eclipse, das einige neue Spielelemente seit dem letzten Video demonstrieren darf. Da ich unbedingt auch die Mehrsprachigkeit zeigen wollte, ist wieder ein Teil des (relativ langen) Intros dabei – genervte Zuschauer können da natürlich ohne schlechtes Gewissen vorspulen bis zum spannenderen Teil. Das ziemlich genau zehnminütige Video ist mit kleinen Einblendungen versehen, die auf neue Aspekte hinweisen.

[youtube width=“660″ height=“490″]https://www.youtube.com/watch?v=i5SrUHE0FOE[/youtube]

Ich hoffe die kleine Ballerei sieht inzwischen schon deutlich mehr nach Spiel aus, obwohl es sich natürlich weiterhin eher im Rahmen einer „Techdemo“ bewegt. Hier der Text zum YouTube-Video:

Enjoy the SPACOLA Eclipse WIP v0.39 Preview, which shows the current development state as of December 2014.

SPACOLA Eclipse is my own small remake of the classic Atari ST Dongleware game Spacola – a top down 360° 2D space shoot’em up. Spacola was released in 1991 and was developed to be played in the ST monochrome high resolution (640×400). The remake is written entirely in Java (17.700 LoC atm) and doesn’t even use any major game frameworks/libraries.

This project aims primarily for a 100% remake accuracy (with a few enhancements here and there – which you can choose to enable), and beyond that, there are plans for a completely colorized version and HD resolutions.

Please keep in mind, although I’m working (well, now and then) on this game for over 4 years, it is still considered „early alpha“. Lots of stuff is totally unfinished, many things aren’t even in the remake yet. E.g. all enemy AI is a dummy – in no way do they resemble original enemy behaviour. The game probably won’t be finished in the upcoming year, but I really keep working on it.

Thanks for watching.

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.

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 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.