Archiv der Kategorie: News

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.

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…

Ich habe nicht aufgehört zu bloggen, ich mache nur nicht so richtig Pause. Fünf Wochen ist der letzte Artikel her, und die Spinnweben auf meiner Webseite sind inzwischen nicht mehr zu verbergen. Aber das macht nichts, ich bin gar nicht weg, ich warte nur lieber auf bessere Zeiten, in denen es mehr Spaß macht, über Dinge zu schreiben. Worüber soll man denn auch schreiben in diesem Jahr? In einem Jahr, in dem die Briten sich mehrheitlich dafür entschieden haben, aus der EU auszutreten. In einem Jahr, in dem 60 Millionen US-Amerikaner es offensichtlich für eine grandiose Idee hielten, Donald Trump zum Präsidenten zu machen. Und – ich sehe es schon kommen – am Ende wird Lewis Hamilton noch zum vierten Mal Formel-1-Weltmeister. Das Jahr bringt uns also wahrlich schon genug Elend, da muss ich nicht noch meinen überflüssigen Beitrag dazu leisten.

Noch Anfang Juli ging mein letzter Dauerhusten in die mittlerweile siebte Woche, ohne auch nur das geringste Zeichen von Besserung zu zeigen. Ohne jetzt noch religiös zu werden, bin ich der griechischen Göttin Antibiotika dennoch äußerst dankbar dafür, dass sie mich aus dem endlosen Siechtum befreit hat. Ärzte scheinen also doch nicht alle gänzlich unfähig zu sein. Die siebenwöchige Zeit des körperlichen Verfalls hat sichtbare Spuren hinterlassen, die mich veranlasst haben, seit meiner langersehnten Genesung wieder mehr Sport zu treiben. Und das will etwas heißen, denn was Sport angeht, war ich schon immer ein ziemlich fauler Hund. Der einzige Sport, der mir je so etwas ähnliches wie Spaß gemacht hat, war der Kraftsport. Wie es überhaupt dazu kam, ist mir bis heute ein großes Rätsel. So verbringe ich nun meine spärliche Zeit nach Feierabend mit meiner täglichen Fitness-Routine, danach 45 Minuten Auspowern auf dem Ergometer, und dann kann ich auch schon wieder zufrieden ins Bett fallen, voller Vorfreude auf den nächsten langen Tag im Büro.

Es ist zwar wirklich nicht so, dass mir der Erfolg dabei Recht geben würde, aber man wird ja auch nicht jünger, und mangelnder Erfolg ist schließlich auch das ganze Motto meiner Webseite. Insofern ziehe ich mein Programm durch solange ich es noch kann. Die nächste Erkältung wartet schon hinter der Ecke, und dann wird es mich sehr ärgern, dass ich wieder nichts tun kann, und der ganze Fortschritt innerhalb von Tagen verpufft.

Wie sieht es mit dem Spacola-Remake aus? Kurzgesagt: Mäßig, wie schon seit Jahren. Ich gestehe, dass ich den Quelltext jetzt seit Wochen nicht mehr angerührt habe. Das Projekt ist absolut nicht tot, genauso wenig wie meine Webseite. Ich habe zuletzt einige tiefgreifende Änderungen an der Struktur des Quellcodes durchgeführt, und dann ist mir aufgefallen, dass ich da einen groben Denkfehler hatte, dass das so gar nicht funktionieren kann. Schließlich habe ich aus der Frustration über meine eigene Doofheit das Projekt erst einmal beiseite gelegt, bis mir die Inspiration wieder zufliegt. Das kann jeden Tag passieren, soviel ist sicher. Erst kürzlich war ich beinahe wieder soweit, doch quasi in letzter Sekunde fiel mir ein Film ein, den ich unbedingt noch sehen wollte. Schade.

Also ohne Quatsch, dieses Jahr nehme ich die Arbeit daran auf jeden Fall wieder auf. Ich würde mich ja selbst unendlich hassen, wenn mir so kurz vor dem Ziel die Puste ausginge, dafür habe ich viel zu viel Zeit schon investiert. Und ich werde wieder mehr Beiträge schreiben. Allerallerspätestens zu Weihnachten, wenn ich wieder mehr Freizeit habe, und nicht sofort weiß wohin damit.

Berichte über das Ende von SuccessDenied sind stark übertrieben. Ich hatte in letzter Zeit weder besonders viele Themen über die ich schreiben wollen würde, noch war ich überhaupt in der Stimmung, etwas zu schreiben. Beruflich bin ich zur Zeit unabkömmlich. Hinzu kommt, dass ich seit meiner letzten Erkältung vor über fünf Wochen zwar längst nicht mehr krank bin, aber leider auch nicht richtig gesund. Wieder einmal schleppe ich einen wirklich besonders hartnäckigen, unproduktiven Husten mit mir herum. Mehrmals täglich inhaliere ich daher mit meinem Kompressor-Druckluftinhalator Kochsalzlösung mit Mucosolvan, schmiere mich mit Mentholsalbe ein, trinke Hustenlöser, nehme Tropfen ein – die ganze übliche Palette eben, ohne dass irgendetwas davon irgendwie helfen würde. Mit meinen guten Genen bin ich schon sehr gesegnet.

Aber: Wenn die Gesundheit eines Tages zurückkehrt, bin ich sicher, dass ich auch meine gute Laune zurückerhalten werde. In der Zwischenzeit ein kleines Update zum SPACOLA Eclipse Remake-Projekt. Das Projekt steht ganz und gar nicht still, sondern wird wöchentlich mit Änderungen und Neuerungen versehen. Die aktuelle WIP-Version 0.57 vom Juli bringt wieder viele kleine neue Funktionen mit, und sogar eine größere. Aber auch ein paar Änderungen der vorhergehenden Versionen dürfen hier nicht unerwähnt bleiben. Der nüchterne Screenshot soll einen Einblick in das Debug-Menü geben, das ich um einige Einträge erweitert habe. Beim Testen sind die vielen Kommandos äußerst hilfreich, sonst spielt man sich dumm und dämlich, wenn man zum 50. Mal dieselbe Stelle im Code geändert hat.

spacolaeclipse57

Remake-Technik

Die 2D-Grafikengine zeigt jetzt bei Bedarf ein paar Dinge an, die das Original nicht hatte: Sektorgrenzen, Hüllkreise, Objekttypen, Spielernamen (für den Multiplayer-Modus), außerdem natürlich die Partikeleffekte, Interpolation und Pixelvergrößerung. Mal davon abgesehen, erlaubt es das Remake, einige Limitierungen des Originals aufzuheben, die damals vermutlich aus Performancegründen nötig waren. Beispielsweise Objekte, die sich zu weit vom Spieler entfernt hatten, wurden im Original aus dem Spiel genommen. Heute könnte man diesen Löschmechanismus herausnehmen und dadurch eine persistentere Spielwelt bekommen. Der Dongleware-Fadein/Fadeout-Effekt, den ich vor ungefähr 4 Jahren mühsam implementiert hatte, war leider fehlerhaft. Inzwischen ist er eine absolut pixelgetreue Nachbildung.

Maforianer-Gegner fertig

Es hat lange gedauert und mir sind dabei viele graue Haare gewachsen: Der Maforianer, einer der ersten drei Gegner, ist mehr oder weniger komplett fertig. Das Bewegungsmuster dieses Gegners ist vermutlich eines der einfachsten im Spiel, aber bei weitem nicht so leicht nachzuimplementieren, wie man meinen möchte. Inzwischen bin ich an einem Punkt angelangt, wo mein Ansatz der Vorlage nahe genug kommt, so dass man es vorerst so lassen könnte. Dadurch bin ich auch auf die Spur eines neuen mathematischen Ansatzes für die Schiffsnavigation der Gegner gekommen – und habe zufällig auch die Lösung für das Problem mit dem Magnetismuseffekt gefunden. In der Folge bewegen sich die Gegner jetzt realistischer, und die Anziehung von Containern, Waren und Piraten sieht viel besser aus als vorher. Der Maforianer hetzt jetzt dem Spieler permanent hinterher, jagt ihm nach Möglichkeit die Lieferwaren ab und flieht damit zu seiner Piratenstation. Es ist noch nicht alles hundertprozentig, aber es ist besser als nichts. Fehlen für den ersten Level also nur noch zwei weitere Gegner, mal sehen wann mir das gelingt.

Abspann

Im Remake kann man sich – genau wie im Original – das „Zertifikat“, also die Siegerurkunde ausdrucken lassen, sobald man den letzten Level gewonnen hat. Zusätzlich gibt es im Remake nun einen echten Abspann (die Closing Credits), in dem viele beteiligte Personen genannt und Danksagungen zum Ausdruck gebracht werden. Diese kleine Erweiterung wollte ich in jedem Fall im Remake drin haben, denn sie macht ja schließlich auch nichts kaputt. Mir fällt tatsächlich nun außerhalb des laufenden Spiels nichts mehr ein, das ich noch nicht fertig habe. Eigentlich eine gute Nachricht.

Timings

Timings sind mir seit einigen Monaten ein großes Ärgernis gewesen. Nachdem ich am Anfang meistens gesagt habe „Diese oder jene Animation läuft ungefähr 4 Sekunden“ und das dann auch so eingebaut habe, ging ich nun endlich dazu über, die exakte Anzahl Frames zu zählen. Wenn dann beispielsweise 270 Frames herauskommt, muss ich das wiederum umrechnen auf die Zielframerate von aktuell 50 fps. Das wären dann etwa 187 Frames, damit die Animation genauso lange läuft. Ähnlich verhält es sich mit den Konstanten für Gegnerverhalten: Wenn ein bestimmter Gegner 120 Frames braucht, um sich um 180 Grad zu drehen, dann braucht derselbe Gegner im Remake dafür nur noch 83 Frames. Und da sich die Framerate beliebig einstellen lassen wird, muss diese Berechnung wiederum variabel sein. Zusammengefasst habe ich viel Zeit damit verbracht, die Dinge, die eigentlich schon fertig waren, nun auch bezüglich der Original-Timings anzupassen.

Gegner-Deployment und -Redeployment

Das Deployment und Redeployment von Gegnern ist nun wesentlich näher am Original. Alle paar hundert Frames wird ein Gegner in der Station generiert. Dann beginnt dieser sich zu drehen, und zum Spieler auszurichten. Wenn die Ausrichtung stimmt, gibt er Schub und beginnt die Jagd. Dafür gibt es eine Gegner-Warteschlange, die sich aus den Anweisungen der Gegnerkonfigurationen im Levelskript zusammensetzt, und es gibt die Redeployment-Warteschlange für Gegner, die gestohlene Ware abgeliefert haben. Leider verstehe ich den Zusammenhang mit den Levelskripten noch nicht so ganz, daher ist die Unschärfe hier sehr groß. Ich kann aktuell nur nachbilden was ich sehe, und viel sehe ich nicht.

Es sind wie gesagt viele Kleinigkeiten, die nach und nach besser werden. Das Ziel für den ersten komplett spielbaren Level ist schon sichtbar, jetzt heißt es dranbleiben und das Tempo steigern. Die zwei verbliebenen Gegnertypen (für Level 1) werde ich wohl in Kürze angehen müssen, und mich zur Not auch damit anfreunden, wenn das Ergebnis dann nicht perfekt wird.

spacolaeclipse054

Seit Oktober kein Lebenszeichen von SPACOLA Eclipse, und auch das versprochene neue Vorschau-Video hat inzwischen drei Monate Verspätung? Ja, das klingt eindeutig nach mir. Aber ich kann Entwarnung geben: Bislang war ich eigentlich „nur“ zu faul, euch mittels Blog-Beiträgen auf dem laufenden zu halten, und auch das Produzieren, Schneiden und Hochladen des Videos war mir bisher zu mühselig. Dennoch bearbeite ich jeden Monat durchschnittlich 40 „Issues“ an dem Spiel, so dass es immer weiter vorangeht. Sogar an diesem Wochenende habe ich wieder eine ganze Stange an unliebsamen Problemen behoben, die mich schon recht lange stören.

Mit unliebsamen Themen meine ich solche Codeänderungen, die sich nicht auf das Gameplay auswirken, über die es sich daher eigentlich auch nicht lohnt, in einem Beitrag zu schreiben. Die Vortex-Klasse kann jetzt die Animationen der Sterne und Spielobjekte darstellen, außerdem ist die Animation des Wurmlochs selbst jetzt deutlich näher am Original. Die Displays in der HUD-Seitenleiste sind jetzt allesamt numerische oder hexadezimale „FlapDisplays“, also solche Anzeigen, bei denen die einzelnen Ziffern bei Wertänderungen erst nacheinander umklappen – genau wie im Original. Daneben gibt eine ganze Menge an Änderungen bezüglich der Programmablaufkontrolle. Was passiert z.B. wenn man im Intro F5 drückt, oder ESC im Levelauswahlbildschirm? Wie lange wird das Hauptmenü angezeigt und wohin soll das Programm dann springen? Genau solche Dinge musste ich stundenlang im Originalspiel analysieren und ins Remake einbauen. Das ist wahnsinnig viel kleinfitzeliger Kram, der aber leider nötig ist.

Dafür habe ich endlich die Bedingung für das erfolgreiche Beenden des Spiels implementiert. Sobald alle 64 Levels abgeschlossen sind, wird das Zertifikats-Modul ausgeführt, welches es im finalen Spiel erlaubt, das persönliche Zertifikat anzuzeigen oder auszudrucken. In der Testphase wird hier allerdings nur eine Meldung angezeigt, dass es sich noch um eine Testversion handelt. Zusätzlich habe ich das Verifikations-Modul eingebaut, das im Original verwendet wird, um beim Laden von Savegames zu prüfen ob der Spieler auch wirklich den Sternenatlas besitzt. Im Remake wird dieses Modul zwar nicht direkt benötigt, aber es gehört eben trotzdem dazu. Tatsächlich funktioniert die Prüfung sogar perfekt, denn SPACOLA Eclipse beinhaltet seit einigen Monaten den kompletten Inhalt des Sternenatlas. Möglich wurde das durch die Unterstützung eines Hackers, der das Originalspiel mit einem Disassembler dazu gebracht hat, alle 29568 Codes auszuspucken.

Auch erscheint nun beim Klick auf „Neues Spiel“ ein kleines Menü, in welchem man den Spielmodus (dargestellt durch eine entsprechende Grafik) auswählen kann. Im Moment ist das nur das Monochrom-Remake mit dem Codenamen „SPACoLASSIC“. Im Verlauf von späteren Versionen gibt es hier auch die verbesserte Farbversion und den Multiplayer-Modus zur Auswahl. Das eingebaute Cheat-„Navigationssystem“ (der Richtungspfeil) zeigt nun nette kleine Icons an den Pfeilen, um zu verdeutlichen wohin der Pfeil eigentlich deutet. Denn neuerdings wird dem Spieler nicht nur die Richtung zum Ziel ausgewiesen, sondern auch zu bestimmten Powerups.

Ach, Moment. Eine große Gameplay-Änderung habe ich dann doch zu vermelden: Der Minenleger ist fertig. Dieser äußerst unangenehme Gegner fliegt im Spiel auf den Spieler zu und wirft ihm eine Mine direkt vor die Füße. Das Teuflische an diesen Gegnern ist, dass wenn sie vom Spieler zerstört werden, sie diesen mit einer weiteren Mine oft noch mit in den Tod reißen können. Doch auch hier gibt es leider eine Beobachtungsungenauigkeit von mindestens 20%, so dass ich nicht garantieren kann, dass die Bewegungen oder das Schießverhalten wirklich genau wie im Original sind. Aber besser wird es leider nicht.

Weiterhin peile ich den Oktober als Termin für eine erste richtig gut spielbare Version an. Ob diese Version dann das komplette Spiel beinhalten wird oder doch nur den ersten Level, das mache ich davon abhängig wie gut ich bis dahin vorankomme.