News

Oracle Certified Professional, Java SE 7 Programmer

4

Eine gesunde Portion Selbstbeweihräucherung ist wohl nötig, nach dem Lern-Martyrium der vergangenen Wochen: Seit Donnerstag bin ich offiziell ein von Oracle zertifizierter professioneller(!) Java-Programmierer – endlich! Die hierzu nötige zweieinhalbstündige, umgerechnet 215 Euro teure Prüfung habe ich mit sagenhaften 91% glorreich bestanden. Zum Bestehen waren 65% richtige Antworten unter den insgesamt 65 Fragen nötig. Seit geschlagenen vier Jahren schon prokrastiniere ich dieses Thema vor mir her, weil ich genau wusste, was für ein Kraftakt das werden würde. Doch nun habe ich Nägel mit objektorientierten Köpfen gemacht. Ab jetzt bin ich nachweislich ein echter Java-Profi.

Wo die Vorgängerzertifizierung zum OCAJP meist noch ganz essentielle Sprachmechanismen, Konstruktoren, Operatoren, primitive Datentypen und Objekte und ihre Relationen zueinander, Vererbungshierarchien uvm. behandelt, besteht der OCPJP schon zum größten Teil daraus, dass man die halbe Java API auswendig kennen muss. Man sollte wissen welche Klassen und Methoden es gibt, in welchen Packages sie liegen, die dazugehörigen Parameterlisten, Rückgabetypen, welche Checked Exceptions diese werfen können, und das alles zu solch umfangreichen Themengebieten wie Collections/Generics, JDBC, Threads/Concurrency, Input-/OutputStreams, File IO/NIO.2, String-Verarbeitung und diverse andere. Außerdem werden einige Basis-Entwurfsmuster, Abstraktion und professionelles Klassendesign mit allen Fallen und Schikanen thematisiert, was alleine schon Stoff für eine ganze Prüfung gewesen wäre.

Bei allem Stolz auf das tolle Ergebnis, kam es für mich doch eher unerwartet, denn die schiere Menge an Themen, die man für die Prüfung vollständig verinnerlicht haben sollte, konnte einen schon sehr leicht erschlagen. Mein Prüfungsvorbereitungsbuch umfasst knapp 800 Seiten, dazu habe ich gleich zwei offizielle Online-Trainings von Oracle mitgemacht. Insgesamt fand ich den Lernaufwand mit grob geschätzt etwa 90 Nettostunden für meine Verhältnisse bereits enorm – und das obwohl laut Buch 200 Stunden empfohlen werden. Die offiziellen Oracle-Trainings grenzen meiner Meinung nach an Betrug, so behandeln sie nur einen Bruchteil des abgefragten Wissens, und selbst das auch nur oberflächlich, und kosten dazu noch unverschämt viel Geld. Hätte ich mich direkt nach dem Online-Training gutgläubig in die Prüfung gesetzt, wäre ich chancenlos durchgefallen.

Das Buch war schon deutlich hilfreicher, aber dazu musste man den fetten Wälzer erst einmal komplett gelesen haben, was mir schwerfiel. Das Werk scheint zwar bekannt und anerkannt zu sein, jedoch ist es – besonders in der zweiten Hälfte – voller Fehler. Offenbar hatte die Autorin keine Lust mehr, oder hat die Themen selbst nur noch so halb verstanden, über die sie schreiben sollte. Jedenfalls sind nicht wenige ihrer Antworten auf ihre eigenen Übungsfragen schlichtweg falsch, die Aufgaben mitunter fahrlässig missverständlich formuliert, oder sie lässt wichtige Fakten aus den Kapiteln einfach raus, um den Leser dann gezielt bei den darauf folgenden Übungsfragen auf die Schnauze fallen zu lassen. Am Ende habe ich mich über das Buch nur noch geärgert. Trotzdem war es allemal eine passable Vorbereitungsgrundlage.

Schließlich habe ich noch vier unabhängige Mock Exams (mit Erklärungen) absolviert, und ich bin sicher, diese haben mein Prüfungsergebnis am stärksten beeinflusst. Zunächst war ich über den sehr hohen Schwierigkeitsgrad entsetzt, und gleich unter den ersten paar Fragen waren Themen, von denen ich bisher noch nie gehört hatte, wo ich eigentlich nur raten konnte. Allerdings bestätigte mir das Ergebnis am Ende doch, dass es zum Bestehen locker reichen sollte. Dadurch lernte ich, was denn so die typischen Fragestellungen sind, und konnte bei meinen falschen Antworten auch gleich sehen, wo der Fehler lag. Die eigentliche Prüfung kam mir schließlich sogar irgendwie einfacher vor als die Mock Exams – was aber auch daran liegen könnte, dass ich alle Aufgabentypen und die häufigsten Fehler schon kannte, und oft wusste, auf welche Details ich besonders achten musste.

Dummerweise habe ich mir ausgerechnet in der Prüfungswoche die für 2018 längst überfällige Herbst-Erkältung eingefangen, so dass ich, statt mich mit einer Wärmflasche ins Bett zu legen, leider mit Halsschmerzen, dröhnendem Schädel, Triefnase und Husten die Java API pauken und dann sogar die Prüfung mit Handicap ablegen musste. Hätte ich die Prüfung denn nicht kurzfristig verschieben können? Nur theoretisch. Leider war das keine praktikable Option, schon da mein Zertifizierungspfad von Oracle nach Ablauf des Jahres nicht mehr angeboten wird. Hätte ich im Dezember keinen Prüfungstermin mehr bekommen, auf Grund welcher Umstände auch immer, dann hätte ich den OCPJP nicht mehr machen können. Dann hätte ich mit dem OCA Java 8 wieder von vorne anfangen müssen. So gesehen habe ich das Zertifikat also quasi in letzter Minute erlangt.

Ich bin sehr froh, dass das Thema hiermit ein erfolgreiches Ende hat, und ich fürchte, ich kann jetzt erst einmal kein Java mehr sehen. Das war einfach zuviel des Guten. Ist ja zum Glück auch bald Weihnachten, Zeit, mich auf meinen Lorbeeren auszuruhen, und vor allem mich auszukurieren. Und so schnell folgt nun keine nächsthöhere Zertifizierung, was auch gut so ist. Obwohl … ich KÖNNTE natürlich irgendwann die Upgrade-Zertifizierung für Java 8 machen. Naja… nein. Lieber nicht.

OXYD lebt!

0

Promo OXYD3D-Logo

Seit Jahren beschäftige ich mich auf meiner kleinen Webseite als großer Fan mit den Spielemeisterwerken von Meinolf Amekudzi und seiner Firma Dongleware, doch nie zuvor war es mir vergönnt, tatsächlich eine Neuigkeit direkt von dort zu vermelden. Vor kurzem hat Meinolf es in einem knappen Kommentar zu einem YouTube-Video von mir angedeutet, aber seit der Spielemesse Gamescom ist es offiziell: OXYD lebt! Meinolf arbeitet an einem echten Remake seiner bekannten Spielereihe. Seit OXYD magnum! Gold aus dem Jahr 1998 wird es erstmals wieder ein Originalspiel vom Schöpfer der Serie geben.

New versions of Oxyd® will be available in 2018. The new implementations will include a landscape designer, a WebRTC multiplayer mode, classic game restorations, a browser implementation, native mobile and desktop 3D apps and many more. Regards Meinolf.

Inzwischen gibt es einen Artikel auf heise.de (danke an Gerry für den Hinweis!), in dem über das geplante Remake berichtet wird. Dort ist unter anderem die Rede davon, dass es kostenlos im Browser spielbar sein wird, und dass es möglicherweise dieses Jahr noch online geht. OXYD soll einen Multiplayer-Modus mit bis zu 8 Spielern gleichzeitig bekommen. Außerdem will Meinolf sogar den Landschaftseditor beilegen, den er damals bewusst immer unter Verschluss gehalten hat (Wortlaut: „nicht käuflich, Anfragen zwecklos!“). Das wäre also ein echtes Novum. Aber der größte Knaller in meinen Augen ist, dass es so klingt, als wolle er sämtliche Original-Landschaften dem Remake beilegen (wenn Esprit damit ebenfalls gemeint ist, reden wir hier von über 600 Landschaften!).

Gamescom-Demo des OXYD Landscape Designers

Den Screenshot im heise-Artikel habe ich mir mal zur Analyse etwas näher angesehen. Dazu habe ich das Foto ganz unprofessionell entzerrt und geschärft, damit man es etwas besser erkennen kann. Dafür komme ich wahrscheinlich in Teufels Küche, aber das Risiko gehe ich jetzt einfach mal ein. Der auf dem Screenshot abgebildete Ausschnitt stammt übrigens aus dem klassischen OXYD, genauer gesagt Landschaft Numero 100 der Zweispieler-Link-Landschaften (also im Prinzip Landschaft 200). Da man rechts im Bild alle möglichen Steine auswählen kann, und außerdem die Landschaften untereinander aufgelistet werden, wird das wohl der Editor sein. Oben steht sowas wie „OXYD LandscapeDesigner“, darunter scheint ein Tab mit der Überschrift „Classic“ ausgewählt zu sein. Viel mehr kann ich nicht erkennen.

Die Tatsache, dass der Editor das Original-Tileset mit der Monochromgrafik der Atari ST Urversionen zeigt, freut mich ganz besonders. Diesen Grafikstil findet man heute nur noch sehr selten. Wenn also nicht nur der Editor so aussieht, sondern sich das Spiel auch mit dieser Grafik spielen lässt, wäre das eine Sensation für jeden echten Fan. Womöglich könnte es auch machbar sein, das Tileset mit einem simplen Mausklick z.B. auf die Farbversion der General Edition umzuschalten, oder auf die (eher gewöhnungsbedürftige) Grafik von Per.Oxyd. Je mehr Optionen die Fans bekommen, desto besser ist es. Ob das Remake auch mit den Magic-Steinen kommen wird?

Ausschnitt aus der Link-Landschaft #100 aus OXYD

OXYD oder OXYD3D? Angekündigt wurden eine Browserimplementierung (wie im Screenshot zu sehen), native Mobilversionen und „Desktop 3D-Anwendungen“. Offen bleibt, welche Desktop-Plattformen gemeint sein werden (alle?). Außerdem ist nicht sicher, ob der zur Gamescom demonstrierte Editor für ein klassisches 2D-Remake konzipiert ist, oder ob es hier doch um eine echte 3D-Fassung geht. Es gibt im Netz neue, offizielle Artworks, in denen es einmal einen normalen OXYD-Schriftzug und einen mit dem Text „OXYD3D“ gibt. Was auch immer am Ende herauskommt, ich bin sehr gespannt.

Ebenfalls unklar ist, unter wessen Dach das neue Remake eigentlich entsteht: Die Dongleware Verlags GmbH, die Application Systems Heidelberg, oder doch jemand ganz anderes? Es gibt Hinweise darauf, dass die Marke Oxyd schon seit 2013 nicht mehr bei Meinolf liegt, sondern bei der Hamburger Spieleentwicklerfirma Xyrality. Dort hat man für das Jahr 2014 ein Oxyd-Remake in Kooperation mit Meinolf für Tablets und Smartphones angekündigt. Inzwischen ist man dort wohl doch etwas in Verzug geraten:

We will also launch Oxyd – a puzzle game that was originally released for the Atari ST. We loved this classic game so much that we had to reincarnate it. So, together with the original creator, Meinolf Amekudzi, we’re developing a cool version for smartphones and tablets.

Unabhängig davon wem das Spiel letztlich gehören wird, welche Grafik es haben, und wieviele von den guten alten Landschaften es mitbringen wird, als alter Atari-Mausschubser bin ich sehr dankbar für ein echtes Lebenszeichen von der legendären Spielefirma Dongleware. Die Dongleware-Webseite wurde im Jahr 2002 geschlossen, und erst im Jahr 2012 – leider ohne jeden Hinweis auf die Spielehistorie – erneut geöffnet. Ich bin sehr froh darüber, dass Meinolf sich endlich wieder mit der Spieleentwicklung befasst. Ohne seine Spiele wäre ich sicher nie Programmierer geworden. Ein wenig Heldenverehrung gehört also dazu, wenn ich sage, dass ich mich wie verrückt auf das Ergebnis freue, und ich mich dann auch nicht mehr mit Enigma quälen muss. Denn wenn ich ehrlich bin, hat sich Enigma nie so wie das Vorbild angefühlt. Es war einfach nicht OXYD genug.

Weitere Quellen:
http://www.dongleware.com/index.php (Dongleware-Webseite)
https://mobile.twitter.com/oxydgames (Oxyd auf Twitter)
http://www.youtube.com/user/dongleware (Dongleware auf YouTube)
https://www.youtube.com/channel/UC_hzUVdY5yCheofCEdGQuYg (Oxyd auf YouTube)
https://www.facebook.com/oxyd.games/ (Oxyd auf Facebook)

SPACOLA Eclipse WIP 0.63

0

Linux-Support

Palim palim! Der unregelmäßige SPACOLA-Remake Fortschrittsbericht ist da! Och, keine Sorge, viel Fortschritt gibts nicht. Aber es gibt immerhin was zu sehen. In den vergangenen Monaten habe ich weitestgehend unter Linux Mint weiterentwickelt, und leider ging auch ein nicht unwesentlicher Teil der Zeit dafür drauf, Probleme zu beheben, die das Spiel nur unter Linux hatte. Zum Beispiel habe ich es lange Zeit nicht hinbekommen, dass das GUI-Fenster sowohl unter Windows als auch unter Linux immer exakt die gewünschte Größe hat. Wenn es unter Linux gepasst hat, war es unter Windows falsch. Wenn ich es dann für Windows korrigiert habe, war die Linux-Version plötzlich wieder schief. Wenn das programmatische Resizing des Fensters endlich überall funktionierte, ging dafür die Menüleiste nirgends mehr. Habe ich eine Sache repariert, geht eine andere Funktion kaputt. Es war wie bei einem Teppich, bei dem man eine Unebenheit mit dem Fuß ausbessern will, die sich dann nur immer wieder woanders auftut. Da soll mir nochmal einer sagen, Java sei wirklich plattformunabhängig. Swing ist es jedenfalls schonmal nicht. Ich habe viele graue Haare bekommen bis es endlich perfekt war. Die aktuelle Version funktioniert somit einwandfrei unter Windows und Linux.

Neue Artworks

In der Zwischenzeit habe ich viel mit neuen Artworks experimentiert und dabei kräftig mit GIMP gebastelt. Lange Zeit habe ich darüber gegrübelt, wie ich die Titelgrafiken designen soll, so dass sie sehr nahe am Original bleiben, und trotzdem viel Spielraum für eine Neuinterpretation im Sinne des Remakes erlauben. Mittlerweile habe ich ein mehr oder weniger einheitliches Design für den Fensterhintergrund, für den About-Dialog, für die Webseite und für den Splash-Screen beim Laden entworfen. Ja, das Remake hat jetzt einen eigenen Ladebildschirm, weil das Starten auf manchen Systemen doch schon mal die eine oder andere Sekunde länger dauern kann. Die Grafiken sind natürlich bei weitem nicht perfekt, aber ich glaube, man kann das erstmal so stehen lassen. Der Wiedererkennungswert ist schonmal ganz ordentlich.

Spiel laden und speichern

Die Funktionen zum Laden und Speichern der Spielstände sind jetzt endlich fertig. Genau wie im Original kann der Kaffee-Button genutzt werden, um den aktuellen Spielstand zu speichern. Zusätzlich gibt es außerdem die Möglichkeit, beliebig viele weitere Spielstände zu speichern und auch via Dateiauswahl wieder zu laden. Im Moment bezieht sich das Speichern jedoch nur auf den Zustand zwischen den Levels, nicht direkt IM Spiel. Ob eine solche Funktion noch nachgereicht wird, und ob das jemandem viel hilft, muss ich noch klären. Jedenfalls ist es klasse, dass man nun tatsächlich den Spielfortschritt in eine Datei persistieren und so jederzeit fortsetzen kann. Damit wäre ein wichtiger Punkt von meiner Todo-Liste gestrichen.

GEM-Schriftarten und Highscore-Liste

Die Remake-GUI verwendet jetzt konsequent drei verschiedene Original-TOS/GEM-Systemschriftarten, um so zusätzlichen Wiedererkennungswert zu generieren. Die Atari ST-Schriftarten erkennen Fans sofort. Nicht dass diese Schriftarten besonders hübsch oder gut lesbar wären, aber sie geben einem echten Nostalgiker doch schnell ein warmes Gefühl. Die Highscore-Liste wurde von mir deutlich erweitert. Zusätzlich wird nun der Highscore-Zeitstempel gespeichert, außerdem die Komplettierungsrate des Spiels in Prozent, damit man die Angaben besser vergleichen kann. Außerdem werden jetzt beliebig viele Einträge gespeichert. Im gerenderten Spiel selbst tauchen dann allerdings nur die ersten zehn Einträge auf, und dann auch nur deren Namen und Punktestand – die übrigen Werte werden einfach versteckt, um so nah beim Original zu bleiben wie möglich.

Post-Processing-Filter dank neuer Rendering-Methode

Besonders wenn man das Spiel auf Pixelverdoppelung stellt, also in der Auflösung 1280×800 spielen will, bremsen etwaige Post-Processing-Filter das Spiel leider so stark aus, dass es kaum noch Spaß machen kann. Zwar gibt es im Moment mit der Invertieren-Funktion nur einen einzigen Filter, aber ich wollte dort in Zukunft noch mehr Filter-Optionen anbieten, um den Look des Spiels den eigenen Bedürfnissen anzupassen. Nun, meine Idee war es, das Post-Processing immer nur auf die gerenderte Spielgrafik (in niedriger Auflösung) anzuwenden, und erst dann das Ergebnis hochzuskalieren. Würde ich erst hochskalieren und dann die Filter auf die hohe Auflösung anwenden, wäre das logischerweise viel langsamer. Leider machte dieser neue Ansatz es nötig, einige Teile des Renderings umzuschreiben, um die neue Reihenfolge der Arbeitsschritte zu ermöglichen. Zusätzlich implementierte ich eine Filterklasse, die es erlaubt, unbegrenzt viele verschiedene Filter ins Bild „einzuhängen“, um die Grafik zur Laufzeit jederzeit zu ändern. Der neue Code funktioniert wirklich erstaunlich schnell und schön flexibel. Die Änderungen haben sich gelohnt.

Neuer Anvisieren-Algorithmus für Geschütze

Man mag es kaum glauben, aber ich habe wirklich übermäßig viel Zeit in den Algorithmus für das Anvisieren der Geschütze investiert. Ich dachte ursprünglich, es genau richtig hinbekommen zu haben. Dann fiel mir jedoch beim Nachspielen des Originals auf, dass die Geschütze beim ST-Klassiker nie daneben feuern, egal wie schnell und egal wohin der Spieler sich bewegt. Das bedeutete, dass die Geschütze nicht nur den Winkel zum Spieler und dessen Bewegungsgeschwindigkeit in die Berechnung des Vektors einbeziehen, sondern bei bekannter eigener Geschossgeschwindigkeit auch den Abschusswinkel exakt so berechnen, dass die Geschosse den Spieler an einem unbekannten Punkt zielsicher treffen. Am Ende habe ich mir das Problem bestimmt ein dutzend Mal auf einem kartesischen Koordinatensystem skizziert und versucht herzuleiten, wie der Winkel berechnet wird. Ich wusste wie lang der Vektor sein dürfte, ich wusste nur nicht, wo er den anderen Vektor schneiden würde. Am Ende fand ich eine Lösung, indem ich den Spielervektor von der Position des Geschützes aus nahm, einen Kreis mit Radius der erlaubten verbleibenden Vektorlänge um diese neue Koordinate berechnete um die Schnittpunkte mit dem anderen Vektor zu finden. Der Vektor vom Geschütz zu diesen Schnittpunkten muss dann der Abschussvektor sein. Das ist dann zwar eine vergleichsweise teure Berechnung, aber sie funktioniert perfekt.

Levelgenerator-Verbesserungen

Den Levelgenerator habe ich wieder geringfügig verbessert. So funktionieren die Floodfilling-Methoden für Konfigurationen von Stationen, Powerups und schwarzen Löchern jetzt besser und erlauben auch die Übertragung von Parametern, wie aus dem Levelskript vorgegeben. Der Levelgenerator setzt nun korrekt die Deploy-Distanz für Gegner, die Deployment-Rate und die Anzahl gleichzeitig erlaubter Gegner. Außerdem habe ich eine Funktion eingebaut, die ich nur als „Shield-Powerup-Stacking“ bezeichnen kann, die mir im Original sehr merkwürdig vorkam. Ich bin mir immer noch nicht sicher, ob das ein Bug ist, oder ob es beabsichtigt war. Jedenfalls kann der Spieler seine Schutzschild-Option zeitlich deutlich verlängern, wenn er mit aktiviertem Schutzschild noch ein weiteres Schild-Powerup einsammelt. Ich müsste wohl auch noch prüfen, ob dieses „Feature“ in jeder Spacola-Version auftritt, oder nur in einer bestimmten. Jedenfalls ist das nun ebenfalls im Remake perfekt nachgebildet.

So, das waren wieder einige kleine Einblicke in die Entwicklung der vergangenen Monate. Ich bleibe am Ball und arbeite mich langsam voran. Der Quellcode umfasst inzwischen über 40.000 Zeilen und wächst stetig weiter.

Hatemail von Linux-Fan

5

Ach wie süß, ich habe tatsächlich gerade meine allererste Hatemail zu meiner Linux-Artikelserie bekommen! Und mit ganz schön viel Text! In doppelter Ausführung! Scheinbar war ich jemandem wirklich wichtig, ich spüre schon den Fame. Es klingt so, als wären meine kleinen Linux-Erfahrungsberichte ihm sogar eine Klage wegen Rufschädigung und übler Nachrede Wert. Welchen tollen Ruf sollte Linux denn eigentlich haben, den ich mit meinen Beiträgen schädigen könnte? Darüber hinaus schreibe ich natürlich Schwachsinn und habe keine Ahnung von Technik. Ich mache mich lächerlich, werde von ihm der Lüge bezichtigt, und ich diffamiere ihm zufolge Linux auf dumme Art und Weise auf meinem „Diffamierungsblock“. Na wenn’s weiter nichts ist.

Er hält mir allen Ernstes vor, dass ich wissenschaftliche Standards bei meinem „Experiment“ missachte, und dass ich meiner journalistischen Sorgfaltspflicht als Blogger nicht nachkomme, weil ich zu einseitig berichte. Aha. Er scheint wohl geistig verwirrt zu sein, da er mich für einen Wissenschaftler und einen Journalisten hält. Dass das hier ein komplett unjournalistischer Meinungsblog ist, und mein privates Experiment gar keinen wissenschaftlichen Anspruch hat, scheint ihm zwischen all seinen persönlichen Anfeindungen entgangen zu sein. Ebenso dass man meine Linux-Artikel gerne auch mit einem Augenzwinkern sehen darf, weil von vornherein klar ist, dass es nur ein persönlicher Erfahrungsbericht sein würde. Aber da war der Beißreflex wohl doch zu stark bei ihm.

Der militante, unfreundliche Autor der Hatemail, der sich ganz eindeutig ziemlich auf den Schwanz getreten fühlt, hat offensichtlich die Absicht meiner Artikelreihe überhaupt nicht verstanden. Natürlich hätte ich jedes einzelne Problem vollständig durchanalysieren und mir jedes Mal kompetente Hilfe in einem Forum suchen können. Natürlich hätte ich ein Linux-Handbuch lesen, und jemanden die Installation vornehmen lassen können, der genau weiß was zu tun ist. Natürlich hätte ich erst einen Doktortitel in Linuxologie machen können … aber GENAU DAS wollte ich eben NICHT, weil ich einen Erfahrungsbericht schreiben wollte, aus der Sicht eines Laien, der aus der Windows-Welt kommt, nicht viel Ahnung von Technik hat, und es mal selbst (und ohne Hilfe) mit Linux versuchen will. Die Naivität und Ahnungslosigkeit, die mir jetzt vorgeworfen wird, GEHÖRT ZUM KONZEPT.

Mal davon abgesehen: Jeder kann Windows bedienen ohne je ein Windows-Handbuch gelesen zu haben. Ich habe Leute mit Windows arbeiten gesehen, denen ich sonst nicht zugetraut hätte, alleine den Ein/Aus-Schalter zu finden. Der Hatemail-Verfasser ist der festen Überzeugung, dass sich jeder mit seinem Betriebssystem beschäftigen wollen sollte. Da habe ich aber leider eine traurige Nachricht für ihn: Die meisten Menschen wollen über ihr Betriebssystem genauso wenig wissen, wie die meisten Autofahrer über die Funktionsweise ihres Motors. Linux (Mint) wird keine ernstzunehmende Windows-Alternative werden, wenn von den Nutzern wirklich erwartet wird, dass sie sich immer alle Zeit der Welt nehmen, um die Macken ihres neuen Betriebssystems in ihrer Gänze zu verstehen. DAS ist utopisch. „It just works“ ist keine Utopie. Es ist das Ziel.

Schön zu sehen, dass meine Artikel Leute zum Nachdenken anregen, aber mir wären Zuschriften lieber die weniger hirnlos, ausfallend und aggressiv formuliert sind. Konstruktive Kritik – ja, gerne. Und ich danke natürlich jedem, der sich die Zeit nimmt, ein paar Zeilen zu den Problemen zu schreiben, die mir aufgefallen sind, aber wer stattdessen lieber zeigt, was für eine arme, beleidigte Leberwurst er ist, indem er mich per E-Mail beschimpft, der möge bitte einfach davon absehen mir zu schreiben. So spart derjenige uns beiden viel Zeit. Lieber wäre es mir sogar, solche Menschen würden meinen Blog einfach meiden und sich über ihre Probleme auf einem eigenen Blog ausheulen.

SPACOLA Eclipse WIP 0.60

0

Okay, ich habe wieder einmal sämtliche mir selbst gesetzten Deadlines verschlafen. Das Remake wurde leider doch nicht zum 25-jährigen Jubiläum fertig, und wird es vermutlich auch noch eine ganze Weile nicht. Scheiß drauf. Ich bin gleichzeitig Opfer meiner eigenen Faulheit und Penibilität geworden. Das Problem mit Arbeit nach der Arbeit ist, dass sie oftmals keinen Spaß macht, egal wie sehr einem das Zeug am Herzen liegt. Aber hey, ich habe Urlaub – Zeit für mehr Arbeit. Und das Wichtigste ist doch: Ich bin wieder dabei! Vor wenigen Tagen habe ich mit der Arbeit an der Version 0.60 begonnen.

Ich habe eine neue Spritebibliothek geschrieben, die sich um das Laden, Konvertieren und Verwalten der vielen kleinen Grafikdateien kümmert. Und diese Spritebibliothek kennt neuerdings auch jeweils die Monochrom- und Farbversion jeder einzelnen Grafik. Bisher waren dies verschiedene Klassen, die immer jeweils getrennt voneinander angepasst werden mussten, und auch der Wechsel von Monochrom nach Farbe hätte bisher viele Codeanpassungen erfordert. Nun wird es möglich, direkt im Client mit einem simplen Mausklick die Darstellung zu wechseln. SPACOLA Eclipse kann endlich richtig mit Farbe umgehen. Da aber noch weit über 90% der Sprites nur monochrom vorliegen, werde ich da irgendwann noch wahnsinnig viel Zeit investieren dürfen. Bisher gibt es nur vereinzelte Sprites in Farbe zu sehen.

Die Farbsprites haben aber noch keine Priorität. Zunächst muss der Classic-Modus fertiggestellt werden, und das ist nach wie vor nicht so einfach wie es klingt. Die Gegner-KI macht mir Sorgen, denn egal wie ich es anpacke, es verhält sich alles nie so ganz wie es sollte, oft scheitert es schon am Ansatz. Dafür habe ich erst zuletzt ein komplettes Explosions-Spriteset hinzugefügt, das mir bisher nicht aufgefallen ist. Es scheint also doch nicht so klar zu sein, dass ich inzwischen wirklich alles aus dem Spiel extrahiert habe. Und ich habe anhand eines Memory Dumps die Zuweisungen der Sounddateien korrigiert, also welcher Sound im Originalspiel welchen Dateinamen hatte. Bislang musste ich dazu raten, und scheinbar lag ich oft falsch. Immerhin konnte ich hier nun einige Fehler korrigieren und so manche Zuweisungen bestätigen, auch wenn es bei anderen Einträgen weiterhin beim Raten bleibt, da der Memory Dump nur eingeschränkt Aufschluss gibt, auf Grund der Art wie die Sounddateien im Original nachgeladen werden können.

Ich hoffe ich werde noch diesen Dezember einige vorzeigbare Fortschritte vermelden können. Kleine Schritte, Tag für Tag. Macht es die Sache besser oder schlimmer, wenn ich jetzt verkünde, dass das Remake in jedem Fall zum 30. Jubiläum im Jahr 2021 fertig sein wird? Hey, wieso werft ihr denn jetzt mit überreifen Tomaten und faulen Eiern nach mir? Okay, okay, ich fang ja schon an…

nach oben