Archiv der Kategorie: News

spaclipse042_2

Bevor hier tatsächlich noch Schimmel ansetzt, belästige ich die werte Leserschaft lieber nochmal mit den aktuellsten Vorgängen in Bezug auf die Webseite und SPACOLA Eclipse. Hierzu habe ich mir eine kleine Liste bereitgelegt, die ich jetzt in einem mehr oder weniger kurzen Artikel abfrühstücken möchte. Am liebsten hätte ich die Gelegenheit genutzt, meine Meinung zur kürzlich angekündigten st-computer-Ausgabe kundzutun, doch wie es scheint, bekommen die Käufer die Februar-Ausgabe frühestens Mitte März, daher wird das wohl noch etwas dauern.

Stattdessen habe ich die Aufmerksamkeit für mein kleines Dongleware-Museum in kreative Energie umgewandelt und einige Einträge hinzugefügt bzw. erweitert. Hinzugekommen ist das wenig bekannte Spiel „The Dragon’s Power“, das von Dongleware 1994 vertrieben wurde, von welchem ich erst vor wenigen Monaten erfuhr. Ebenfalls ist mir entgangen, dass ich doch tatsächlich eines der Schneider’schen TOS-Gimmicks vergessen habe: Das Accessory „Blackhole“, das den Papierkorb in ein schwarzes Loch verwandelt. Es war eigentlich nur eine Beilage zum TOS-Gimmick „Trashy“. Die Beschreibungen der Gimmicks habe ich zusätzlich erweitert und mir auch die Quelltexte der kleinen Programme abgespeichert. Einen Teil der Codes kann ich vielleicht in das Remake-Projekt einbringen.

Besonderen Dank möchte ich an dieser Stelle übrigens einer Leserin des Blogs aussprechen, die mir aus heiterem Himmel ihr OXYD-Buch (guterhalten), und das passende Spiel auf CD per Post geschickt hat. Das war eine äußerst schöne Überraschung. Eine kleine Aufwandsentschädigung habe ich ihr dafür natürlich zukommen lassen. Meine Dongleware-Büchersammlung wurde auch durch einen weiteren SPACOLA Sternenatlas vergrößert, den ich für nicht einmal vier Euro bestellen konnte. Der Einband ist leider ein wenig beschmiert, und auch kleine Eselsohren waren wie erwartet drin, aber ich denke ich kann mich nicht beklagen. Damit habe ich nun also vier SPACOLA-Codebücher in meinem Besitz. Einem weiteren Leser und fleißigen Bolo-Spieler ist es zu verdanken, dass ich bei nächster Gelegenheit eine kleine Levelgalerie für Bolo (1995) und Dia-Bolo einweihen kann. Diese ist zwar nicht ganz vollständig, aber was nicht ist, kann ja noch werden. Der nächste Urlaub ist insoweit schon verplant.

Was gibts über SPACOLA Eclipse zu sagen? Der Fortschritt ist unverändert langsam, aber beständig. Der Zähler steht jetzt bei 20.000 Java-Codezeilen. Jeden Tag bemühe ich mich um ein oder zwei Änderungen, ein paar Fehler zu beheben, ein paar Grafikdateien zu korrigieren, etc. Die Februar-Version steht ganz im Geiste der Originaltreue und Platzersparnis. Ich habe herausgefunden, dass das PNG-Dateiformat sogar 1-Bit-Farbtiefe kennt (echt monochrom!) und habe sämtliche 700+ Grafikdateien einzeln umgewandelt und neu gespeichert. Am Ende hatte ich 64 Kilobyte von 415 gespart. 15% unnötige Daten entfernt, also wenn das nichts ist. Außerdem ist es mir gelungen, mit einem Hexeditor und viel Geduld in mühsamer Kleinstarbeit den SPACOLA-Rentenbescheid aus einem Memory-Dump des ST-Spiels zu extrahieren, und zusätzlich (endlich byte-genau) fast alle SDD-Sounddateien, also exakt so wie sie vor der „Kopierschutz-Kompression“ aussahen. Anschließend habe ich die Soundbibliothek meines Remakes so erweitert, dass sie die Original-8-Bit-PCM-Dateien importieren und verwenden kann. Damit wäre ich wieder einen kleinen Schritt näher am Atari-Vorbild.

spaclipse042_1

Nachdem ich mich also im Februar weitestgehend nur um die Technik unter der Haube gekümmert habe, ist diesen Monat wieder mal das Gameplay dran. Die letzten Tage gelang es mir, alle 14 Minenfeld-Konstellationen aus den Levels des Originals zu analysieren und in meinem Code umzusetzen. Nun steht dem geplanten Parser für die Levelkonfiguration der ST-Version nicht mehr viel im Wege. Das Level-„Skript“ habe ich inzwischen zu etwa 80% entschlüsselt, nur einige wenige Parameter, die etwa das Standardverhalten der Gegner ändern, oder Häufigkeitsmodifikatoren sind mir leider nicht ganz klar. In meinem Analyseprozess ist mir übrigens aufgefallen, dass die Entwickler in ihrer Levelkonfiguration eindeutig einen Fehler gemacht haben: In Level 14 müssten laut Skript sämtliche Sektoren mit Minenfeldern ausgestattet sein, doch da taucht kein einziges auf. Das Problem ist, dass sich dort im Skript jemand vertippt hat, so dass gar keine Minenfelder erzeugt werden. Im Debugger konnte ich bereits nachstellen, dass sich das Level deutlich ändert, wenn man den Tippfehler im Speicher korrigiert. Wenn ich nicht von dem Spiel besessen wäre, wäre das wahrscheinlich nie jemandem aufgefallen.

Jetzt stehe ich vor einer merkwürdigen Entscheidung: Tippfehler im Remake korrigieren und das Level so nachstellen, wie die Entwickler es sich eigentlich gedacht hatten – oder Tippfehler beibehalten, und das Level so nachstellen, wie es das Originalspiel auch wirklich dargestellt hat? Vor einem ähnlichen Problem stand vor einigen Jahren der Entwickler des Dungeon-Keeper-Remakes „KeeperFX“, der bei seiner Reverse-Engineering-Odyssee herausgefunden hat, dass die Bullfrog-Programmierer einen ganz blöden Fehler im Zusammenhang mit dem „Machtwort“-Zauberspruch nie richtig beheben konnten. In der Folge war der Zauberspruch viel schwächer als er eigentlich sein müsste. Nachdem er den Fehler nun also gefunden und im Remake behoben hatte, und der Zauberspruch plötzlich genau die Wirkung zeigte, wie es von Anfang an gedacht war, war das Balancing im Spiel leider total im Arsch. Logisch: Das Spiel war immer nur mit dem „verkrüppelten“ Zauberspruch getestet und feingeschliffen worden. Tatsächlich gibt es im Remake nun die Möglichkeit, den Fehler für die Originalkampagne wieder zu „aktivieren“, um das bekannte Spielbalancing nicht zu verändern. Vielleicht sollte ich das Problem auch via Optionsmenü lösen, und so dem Spieler die Entscheidung überlassen.

stcomputer

Der Atari STE wurde vor kurzem 25 Jahre alt. So einen hatten wir viele Jahre bei uns rumstehen, bis 2002 hat er uns aktiv begleitet. Aber das etwas größere und rundere Jubiläum feiert jetzt der bekannte Vorgänger, den ich ebenfalls in bester und schönster Erinnerung behalten habe: Der Atari ST ist 30 Jahre alt geworden – für mich und viele andere Fans ein Grund zum Feiern. Anlässlich dieses Jubiläums wird in der kommenden Februar-Ausgabe der ältesten Atari-Fachzeitschrift auch die Geschichte der ST-Spiele näher beleuchtet. Das Magazin st-computer erschien insgesamt von 1986 bis (man höre und staune) 2004. Nach langer Pause wurde es nun im vergangenen Jahr wiederbelebt und erscheint seitdem zweimonatlich.

Erhältlich ist das Heft als kostenfreier PDF-Download. Es gibt allerdings auch die Möglichkeit für wenig Geld sogar an eine echte Print-Ausgabe zu kommen. Leider ist die Auflage extrem gering. Im Moment sind es nur 40 gedruckte Exemplare. Da der Auftrag an die Druckerei nur in Zehnerschritten erhöht werden kann, wird im Moment versucht, weitere Interessenten für eine 50er-Auflage zu finden. Warum rühre ich jetzt eigentlich die Werbetrommel für dieses Magazin? Aus genau zwei Gründen: Zum einen wird in der jetzt erscheinenden Ausgabe passend zu einem Artikel über die Monochromspiele des Atari ST unter anderem Success Denied vorgestellt, zum anderen bin ich blöderweise auf der Warteliste für die 50er-Auflage gelandet, weil die ersten 40 Hefte längst verkauft sind. Kommen keine 50 zusammen, kriege ich keine Print-Version. So einfach ist das. Wäre eigentlich sehr schade, daher versuche ich auf diese Weise ein kleines bisschen nachzuhelfen. Es schadet ja nichts.

An dieser Stelle daher der Aufruf an ST-Fans, die vielleicht gerne mal wieder eine aktuelle Ausgabe der legendären st-computer in Händen halten würden, sich das Angebot zumindest kurz zu überlegen. Eine gedruckte Ausgabe kostet nur 5,90 EUR, die Versandkosten sind auch bereits enthalten. Das Magazin findet man generell unter http://st-computer.atariuptodate.de/. Interesse an einer Vorbestellung sollte man direkt im Forum bekunden, und zwar relativ schnell. Ich glaube die letzte ST-Computer, die ich überhaupt gelesen habe, muss irgendwann 1990 an den Kiosks ausgelegen haben, aber meine Erinnerungen an das Magazin sind durchweg positiv. Vielleicht finde ich ja sogar in ein paar staubigen Kartons noch ein paar alte Ausgaben davon.

Vier Jahre SuccessDenied, vier Jahre als Nischenblogger, vier Jahre (theoretisch) weltöffentliches Hobby. Ich zitiere eine der größten Bands aller Zeiten nicht etwa, weil mir etwas Furchtbares widerfahren sein mochte, was zum Glück nicht der Fall ist, sondern weil all meine guten Vorsätze leider wieder hinfällig geworden sind. Der letzte Artikel liegt erneut schon über zweieinhalb Wochen zurück, und meine Finger bewegen sich auch jetzt nur sehr zaghaft über die Tastatur. Gerne hätte ich geglaubt, dass das vierjährige Jubiläum des Blogs vor zwei Tagen mich zu neuen prosaischen Höchstleistungen anspornen würde, doch dem war irgendwie nicht so. Aber die Show muss weitergehen. Sie wird weitergehen. Nur Geduld. Das gilt vor allem mir.

Vier Jahre habe ich gebraucht, um 287 Artikel zu verfassen, diesen hier eingeschlossen. 518 Kommentare haben sich in dieser Zeit angesammelt. Gut die Hälfte davon sind natürlich Antworten von mir. Viele Artikel von mir sind absolut zum Vergessen, um das mal möglichst diplomatisch auszudrücken, aber auf einige bin ich wiederum wirklich stolz. Ich glaube diese bunte Mischung kann ich so beibehalten, sofern es mir gelingt, aus meiner Blog-Lethargie auszubrechen, und das wird ganz sicher bald der Fall sein. Spätestens wenn ich in einigen Tagen meinen Jahresurlaub antrete, werde ich vieles nachholen, wofür mir in der Vergangenheit einfach die Zeit bzw. Muße gefehlt hat.

An der Webseite hat sich in den vergangenen Monaten praktisch nichts verändert, was ich einerseits bedauere, denn Stillstand ist bekanntlich Rückschritt, wo ich andererseits aber nicht sicher bin, wieso sich an einem gut funktionierenden System immer unbedingt etwas ändern müsste. Aber ein wenig designtechnischer Zwiespalt schadet nicht. Eine der schwerwiegendsten Änderungen dürfte das Hinzukaufen der .de und .org Domains gewesen sein. Dank der vielzähligen Einsendungen meines Stammlesers Gerry konnte ich das Dongleware-Spielemuseum an vielen Stellen ergänzen, die Beschreibungstexte vervollständigen, das Javascript-Bolo-Remake „Paranoid“ verlinken, und im übrigen habe ich sogar die TOS-Gimmicks eingefügt, weil mir Vollständigkeit wichtig ist. Ansonsten habe ich die Seite an einigen Stellen etwas schlanker gemacht, und die Anzahl gleichzeitig angezeigter Artikel reduziert, was die Ladezeit verkürzt.

Kürzlich gab es einige Berichte über Angriffe auf WordPress-Seiten, wo bereits ein einzelnes fehlerhaftes Plugin, selbst wenn es deaktiviert ist, ausgereicht hat, um Angreifern vollständigen Zugang zur Webseite zu ermöglichen. So wurden tausende Blogs quasi über Nacht übernommen. Das stärkt nicht unbedingt das Vertrauen in WordPress (von dem böse Kritiker ja oft sagen, es sei unsicherer, überfrachteter Müll), oder in die vielen verfügbaren Plugins. Die wichtigste Konsequenz daraus ist, dass ich meine Installation auch weiterhin immer aktuell halten muss, und einige der Plugins rauswerfe, die ich gar nicht, oder nur sehr selten benötige, denn Deaktivieren bringt offenbar überhaupt nichts.

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.

ocajpKönnen Klassen in Java „protected“ oder sogar „private“ sein? Welchen Case springt ein Switch mit einem null-String an? Ist ein statischer Konstruktor ein Konstruktor mit „static“-Modifier? Werden Methoden oder Variablen dynamisch oder statisch gebunden? Können Interfaces von mehreren anderen Interfaces erben? Kompiliert eine Klasse mit der Methode „private static void main“ und ist diese startfähig? Wer solche Details nicht weiß, braucht sich über das Thema Zertifizierung noch keine Gedanken machen. Ich mache mir bereits seit Monaten Gedanken.

Seit Anfang der Woche bin ich offiziell ein von Oracle zertifizierter Java-Programmierer – endlich! Die hierzu nötige Prüfung habe ich mit 85% bestanden. Zum Bestehen brauchte man 63% der richtigen Antworten, dieser Wert variiert je nach Schwierigkeitsgrad des Aufgabenkatalogs. In meinem Fall handelte es sich um ziemlich schwere Aufgaben. Zum Vergleich: Nur wenige Jahre zuvor waren zum Bestehen stolze 77% nötig, die Aufgaben also wesentlich einfacher. Zweieinhalb Stunden hat man Zeit, sich beinahe 90 hirnverknotende Codebeispiele durchzulesen, im Kopf zu interpretieren und dann via Multiple-Choice die richtige Antwort anzuklicken – weniger als zwei Minuten pro Aufgabe. Ansatzpunkte gibt es natürlich keine. Ein paar kümmerliche Alibi-Wissensfragen zwischen den endlosen Zeilen voller Quellcode sollen wohl beruhigend wirken. Am Ende hat mir die Zeit gerade so gereicht.

Die fast 200 Euro teure Zertifizierung (Schulungsmaßnahmen nicht eingerechnet) zum sogenannten „Oracle Certified Associate, Java SE 7 Programmer“ (kurz OCAJP) ist die erste, die man als Java-Programmierer absolvieren kann, sie ist mittlerweile Voraussetzung für sämtliche weiteren. Jetzt habe ich die Möglichkeit, mich irgendwann sogar als professioneller Java-Programmierer (OCPJP) zertifizieren zu lassen, was ich definitiv plane, aber bis dahin wartet noch sehr viel mehr an Vorbereitung und Training auf mich. Das gedruckte Zertifikat sollte in den nächsten sieben Wochen bei mir eintreffen, bis dahin kann ich mich an der PDF-Version ergötzen.

Wer sich mit dem Thema noch nie befasst hat, aber neugierig auf die Prüfung ist, sollte gewarnt sein. Die Fragen sind wirklich knallhart. Es wird nie nach den allgemeinen Dingen gefragt, die jeder Java-Programmierer beantworten kann. Es werden gezielt die Schwachstellen abgeklopft, all jene Aspekte und Grenzfälle abgeprüft, die viele eben nicht kennen. Die Prüfung spekuliert darauf, dass viele etwa den einfachen Unterschied zwischen String s = „Hallo“; und String s = new String(„Hallo“); nicht kennen, und fragt dann gerne ganz genau nach, wieviele Objekte der Garbage Collector der JVM aufräumen darf.

Ich bin voller Stolz, diese Hürde erfolgreich genommen zu haben. Der OCAJP war der nächste große Schritt, mich im Bereich Softwareentwicklung bzw. Java-Programmierung zu beweisen und zu etablieren. So ein Zertifikat kann eines Tages den Unterschied zwischen Arbeitslosengeld und Gehalt ausmachen. Oder zwischen Gehalt und Gehalt++. Das muss sich alles noch herausstellen. Bis dahin werde ich weiterhin Erfahrung sammeln und Bücher wälzen.