Schlagwort-Archive: Atari ST

Ende der 90er Jahre war es leicht, ein Bullfrog- und Peter Molyneux-Fan zu sein. Die britische Spielefirma kannte ich bereits seit meiner Kindheit von Powermonger und Populous auf dem Atari ST, später spielte ich auch Theme Park und Hi-Octane, und auch in Syndicate Wars investierte ich viel Zeit. Das Jahr 1997 brachte uns gleich zwei Kracher von der Insel: Dungeon Keeper und Theme Hospital. Ersteres räumte für seine innovative Spielidee und grandiose Umsetzung viele Preise ab, letzteres stand dagegen ein wenig in dessen Schatten. Es wurde zwar lobend und wohlmeinend beurteilt, es habe zwar nicht ganz die Klasse des wesentlich bekannteren Freizeitpark-Vorgängers von 1994, aber sei dennoch ein witziges und angenehm zu spielendes, solides Werk, vielleicht ein wenig verbuggt, aber doch insgesamt gut. Und schon nach kurzer Zeit geriet das Spiel in Vergessenheit.

Theme Hospital ist ein Krankenhaus-Aufbauspielchen mit isometrischer 2D-Comic-Grafik, witzigen Fantasiekrankheiten und schrägen Animationen. Wer als Kind eine Playmobil-Arztpraxis betrieben hat, wird Theme Hospital lieben. Zu knuffig sind die vielen kleinen Leute, die durch die Gänge tapsen, ihrer Arbeit nachgehen, sich behandeln lassen, oder die Toilette aufsuchen. Die Grafik ist farbenfroh und nach damaligen künstlerischen Maßstäben wunderbar gepixelt. Der Schwierigkeitsgrad lässt sich in drei Stufen einstellen, ist aber insgesamt höchstens moderat. Da die Windows 95-Version heute nicht mehr überall besonders gut läuft, und diese bei mir auch unter VirtualBox in einer XP-VM leider extreme Performance-Probleme hatte, musste ich zur DOS-Version (Gepatchte deutsche Version 1.0.0.1) in der Emulation via DOSBox greifen, was problemlos funktioniert hat.

Mein jüngeres, 15-jähriges Ich würde wohl ungläubig gucken, wenn ich ihm erzählte, dass er noch fast 20 Jahre braucht, bis er das Spiel tatsächlich durchspielt. Aber es ist endlich vollbracht. Und so wurde Theme Hospital hiermit zum allerersten Spiel, das ich komplett in DOSBox bis zum Ende gespielt habe. Nachdem ich die Demoversion nach 1997 schon gespielt hatte bis der Arzt kommt, enttäuschte mich die Vollversion, die ich mir nicht mehr als zwei Jahre später besorgte, zunächst maßlos. Der Grund war recht simpel: Die ersten paar Levels sind wunderbar zu spielen, und haben mich genauso sehr mitgerissen wie die Demo. Und dann kamen die Epidemien.

Epidemien sind Zufallsereignisse und im wahrsten Sinne des Wortes die Pest in Theme Hospital. Sie machen mir das Spiel zur Hölle, was mir auch Ende der 90er schon unangenehm aufgefallen ist, weshalb ich es frühzeitig aufgegeben habe. Wer von einer Epidemie heimgesucht wird, kann diese entweder pflichtbewusst freiwillig melden und zahlt pauschal 10.000 Dollar Strafe. Das ist schon nicht leicht zu stemmen, besonders weil Epidemien in den höheren Levels ständig auftreten, gerne auch gleich mehrmals hintereinander, und man dadurch ruckzuck pleite ist und den Level von vorne beginnen darf.

Sinnvoller ist es, die Epidemien zu vertuschen und heimlich zu bekämpfen. Dann muss man eigentlich nur die betroffenen Patienten suchen und händisch mit der Maus markieren. Die Krankenschwestern können dann die markierten Patienten impfen. Schließlich muss man nur noch dafür sorgen, dass die Epidemie-Patienten schnell geheilt werden, bevor das Gesundheitsamt Wind davon bekommt. Dumm nur, dass hier absolut nichts funktioniert: Die Krankenschwestern übersehen minutenlang einzelne markierte Patienten, selbst wenn sie direkt davorstehen, selbst wenn man zehn extra neu angestellte Krankenschwestern direkt neben ihnen abstellt. Im schlimmsten Fall ignorieren sie die Patienten bis zum bitteren Ende.

Und sogar wenn alle Patienten erfolgreich geimpft sind: Ob und wieso eine Epidemie vom Gesundheitsminister entdeckt wird, scheint reiner Zufall zu sein. Beim allerersten Fall zahlte ich astronomische 36.000 Dollar Strafe und war auf einen Schlag ruiniert – Level verloren, alles für die Katz. Ein anderes Mal sind es „nur“ 8000 oder gar 4000 Dollar Strafe, und hin und wieder gewinnt man und bekommt plötzlich 9000 Dollar Entschädigung für eine Epidemie. Oft reicht es, wenn man dieselbe Epidemie via Savegame ein zweites oder drittes Mal spielt, ohne dass man den Eindruck hat, weniger falsch gemacht zu haben, schon ändert sich das Ergebnis extrem. Die Epidemien scheinen komplett fehlerhaft zu sein, und machen das Spiel fast ungenießbar. Denn eigentlich will man bauen und verwalten, und sich nicht ständig davor fürchten müssen, dass die nächste Epidemie mir das Level ruiniert. Dass die Epidemien oftmals schon in der frühesten Spielphase fast ausschließlich Krankheiten betreffen, die man noch nicht einmal behandeln kann, ist nur ein weiteres der unzähligen Probleme des Spiels.

Doch zum Glück gibt es für diesen Bug auch gleich einen Konter-Bug. Wenn man das Spiel sofort speichert, bevor man eine Epidemie „angenommen“ hat, kann man durch geduldiges Neuladen und Epidemiewarnung wegklicken, die Epidemiewarnung irgendwann gänzlich verschwinden lassen. Wenn das passiert, taucht im gesamten restlichen Level keine weitere Epidemie mehr auf, denn der Epidemiestatus scheint dadurch im Nirvana zu hängen. Durch diesen kleinen Kniff wurde das Spiel für mich tatsächlich wieder spielbar. Ein wirtschaftlich rentables Krankenhaus mit einem guten Ruf aufzubauen, ist schließlich schon schwer genug. Und selbst wenn man den Bug nicht triggern kann, kann man durch das Zurückgehen auf ein älteres Savegame die kommende Epidemie oft noch vermeiden.

Auch wenn es grausam klingt: Patienten, deren Gesundheitszustand sich rapide verschlechtert (zu erkennen an dem traurigen Smiley, der sich Schritt für Schritt in einen Totenschädel verwandelt) sofort aus dem Krankenhaus schmeißen, wenn sie nicht offensichtlich kurz vor der Heilung stehen. Das Spiel bestraft Sterbefälle nämlich rigoros. Zum einen ist der Imageschaden pro verlorenem Patienten deutlich spürbar, zum anderen fehlt in der Jahresendabrechnung der großzügige Keine-Sterbefälle-Bonus von 10.000 Dollar, der gerade in höheren Levels über Sieg oder Pleite entscheidet. Des Krankenhauses verwiesene Patienten mindern den guten Ruf dagegen auch in größeren Zahlen kaum. Daher am besten knallhart bleiben und die schwerkranken Patienten konsequent vor die Tür setzen, bevor sie zum Problem werden. Bei längeren Warteschlangen kippen die Menschen garantiert früher oder später reihenweise um, und der Sensenmann freut sich über das gute Geschäft. Später habe ich dann zum Glück begriffen, dass das Spiel von mir erwartet, Räume mehrfach zu bauen. Am Ende ist es keine Seltenheit mehr, dass man fünf, sechs oder noch mehr Allgemeinmediziner gleichzeitig beschäftigt.

Achja, die Erdbeben, das nächste Ärgernis in dem Spiel. Wiederholt kam es vor, dass einwandfreie medizinische Räume, die erst Sekunden zuvor von einem Handwerker repariert worden waren, durch ein folgendes Erdbeben zerstört wurden, obwohl das gar nicht passieren dürfte. Und zerstörte Räume sind dann im Spiel auch noch unbenutzbarer Platz, der sich nicht für alles Geld der Welt renovieren lässt. Oft reicht gefühlt schon ein winziger Kratzer an einem Diagnose- oder Behandlungsgerät und beim nächsten Erdbeben fliegt einem alles um die Ohren. Es nervt wirklich sehr.

Weiter gehts mit den Notfällen: Am Anfang ist man meistens ganz froh, wenn man mit der Pharmatheke, dem Entlüfter, und der Polyklinik wenigstens ein paar einfache Basiskrankheiten heilen kann, um nicht sofort rote Zahlen schreiben zu müssen, und dann kommt ein Notfall rein: Vier Patienten mit außerirdischer DNA. Oder 13 Patienten mit Verstrahlung. Schön für euch, ich kann euch nicht helfen. Aber sobald man endlich alle Krankheiten diagnostizieren und behandeln kann, kommen keine Notfälle mehr rein. So ist Theme Hospital. Genauso albern wie seine Animationen.

Einmal war ein Arzt aus irgendeinem Grund unter einem Billardtisch im Personalraum gefangen. Bei einem angekündigten Notfall mit sechs Patienten sind vier erst gar nicht aufgetaucht. Ich habe die ganze Karte nach ihnen abgesucht. Entsprechend wurde mir der Bonus verwehrt, weil ich nur zwei retten konnte. Und das kam später mehrmals vor. Gleich mehrere Ärzte wollten ums Verrecken ihre endlose Ausbildung zum Berater nicht abschließen. Irgendwann war ich mir sicher, dass ich einen Bug gefunden hatte. Als ich schließlich aus Verzweiflung den Lehrer ausgewechselt habe, sind nur eine Sekunde später auf einen Schlag fast alle Ärzte gleichzeitig zu Beratern aufgestiegen.

Die deutschen Texte in dem Spiel sind leider voller Fehler, numerische Werte werden falsch eingesetzt oder falsch umgerechnet („Sie haben Diagnosegeräte von 100 2.121996e-314rforscht.“, „Melden Sie die Epidemie, müssen Sie eine Strafe von 1852392736 zahlen.“). Einige „Tipps“ sind komplett irreführend und wenig hilfreich („Ihre Empfangsdamen sind total erschöpft. Veranlassen Sie sofort, daß sie eine Pause einlegen.“). Eine meiner Krankenschwestern wollte ihren Behandlungsraum partout nicht mehr verlassen, litt dadurch am Ende unter einem Burnout, und verlangte schließlich eine Gehaltserhöhung nach der anderen. Die Liste der Fehler ließe sich vermutlich noch eine Weile fortsetzen.

Kann ich das Spiel unter den gegebenen Umständen und trotz seiner vielen Problemchen überhaupt noch empfehlen? Aber unbedingt! Theme Hospital mag ein bisschen sperrig sein, es mag verbuggt sein, aber es hat Charme, es hat Spielwitz, es ist spannend, fordernd, es ist nett anzusehen, und der Wuselfaktor ist relativ hoch. Man muss mit seinen Macken umgehen können, dann macht das Aufbauen auch heute noch gehörigen Spaß. Leider krankt die Einzelspieler-Kampagne an einem Problem, das viele vergleichbare Aufbauspiele haben: Es ist furchtbar repetitiv. Im Prinzip baut man 12 Krankenhäuser auf, bis man den Abspann sieht. Von der Rezeption bis zum allerletzten Behandlungsraum muss man jedes Krankenhaus immer wieder von vorne hochziehen und liebevoll einrichten. Und es ist oft frustrierend, wenn man wirklich viel Zeit und Mühe in den Aufbau eines Krankenhauses investiert hat, endlich alles perfekt und rund läuft, den Level-Ende-Bildschirm sieht, um dann gleich wieder bei Null anfangen zu müssen. Irgendwann war dann auch bei mir die Luft raus. Da war ich dann doch froh, dass das Spiel nicht 20 oder gar 30 Levels hat.

Auch wenn es mit Two Point Hospital seit kurzem einen offiziellen inoffiziellen 3D-Nachfolger von den Original-Designern gibt, ist das für mich kein Grund, Klassiker wie diesen aus meinem Kopf zu verdrängen, denn ich hatte an Theme Hospital in meiner Jugend eine Menge Freude, und nun habe ich dieses Kapitel für mich mit einem kleinen Sieg abgeschlossen. Außerdem gibts Theme Hospital noch gänzlich ohne Steam-Zwang, und das ist mir heutzutage sehr viel Wert.

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)

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.

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.

Seit kurzem befindet sich in meiner kleinen privaten Sammlung von Dongleware-Büchern ein Exemplar von „The Oxyd Book“ (General Edition) in der American Edition von 1992. Von der deutschen Ausgabe besitze ich bereits zwei Exemplare, aber aus irgendeinem Grund war ich wohl der Meinung, ich müsste die Sammlung dringend mal wieder erweitern, und so bestellte ich mir kurzerhand dieses schöne Stück aus den USA. Beim vorsichtigen Säubern des sichtlich beschmutzten Bucheinbands fiel mir auf, dass sich nicht allein der Schriftzug von der deutschen Variante unterscheidet, sondern der ganze Farbton des Bucheinbands ein anderer ist. In Deutschland ist er orange, die American Edition dagegen ist gelb. Nach dem Einscannen des Covers und des Klappentextes fürs Archiv wandert das Buch natürlich in meine gedachte, weil leider noch nicht ganz vorhandene Raritäten-Glasvitrine.

The Oxyd Book

Das Buch bei Amazon über einen Drittanbieter war leider nicht so ganz günstig zu bekommen. Auf der anderen Seite des großen Teiches zu bestellen, treibt den Preis scheinbar ziemlich in die Höhe, jedenfalls sind mir keine Schnäppchen aufgefallen. Sei’s drum. Ohnehin war die Bestellung eine recht interessante und witzige Erfahrung für mich, schon da ich nicht so oft international bestelle, so wie manch anderer. Zunächst wusste ich auch gar nicht, ob das Buch tatsächlich erst noch importiert werden muss, da der Händler entweder seinen Sitz in Deutschland hatte, oder zumindest deutsch klang. Ich bildete mir anfangs ein, das Buch sei womöglich schon zuvor eingeflogen worden und müsse nur noch innerhalb Deutschlands verschickt werden.

Jedenfalls war das Päckchen nach fünf Wochen noch nicht eingetroffen. Ich hatte eigentlich nur peripher begonnen, mir Sorgen zu machen, ob da etwas verschüttgegangen sein mochte, aber als selbst der Verkäufer bei mir wohl routinemäßig in schönstem Google-Translate-Deutsch per Textnachricht anfragte, ob denn alles in Ordnung war, und ob er seine Händlerbewertung bitte haben könne, da war das eine geeignete Gelegenheit für mich, durchblicken zu lassen, dass ich noch (geduldig) auf die Lieferung wartete. Die Antwort kam prompt: Das sei natürlich ganz und gar nicht gut, er entschuldigte sich, und ich solle doch bitte kurz bestätigen, ob die hinterlegte Adresse die richtige sei, und auch mal nachsehen, ob das Paket nicht womöglich für mich irgendwo abgegeben worden sein konnte.

Die Adresse bestätigte ich, und die Lieferung wartete ganz sicher auch nicht wochenlang in irgendeinem Erdloch ohne meine Kenntnis auf mich. Der Händler erstattete mir kaum zwei Tage später den gesamten Betrag und entschuldigte sich erneut bei mir. Er konnte leider nicht in Erfahrung bringen, wo die Lieferung sei. Ich war überrascht angesichts soviel Freundlichkeit und der schnellen und völlig unproblematischen Rückerstattung. Ich erwarte ja eigentlich ständig, irgendwann einmal in eine solche blöde Situation zu kommen, in der ich ewig hilflos meinem Geld hinterherrennen muss, und am Ende doch keinen Cent mehr davon sehe.

Ich hatte das Thema längst abgehakt, da steckte das Buch nach deutlich über acht Wochen plötzlich doch noch in meinem Briefkasten. Das war erfreulich und gleichzeitig irgendwie kurios – vor allem die Tatsache, dass ich für das eigentlich recht teure Buch faktisch überhaupt nichts bezahlt hatte, und der Verkäufer die Lieferung auch schon selbst als verloren betrachtete. Nun sollte ich vielleicht die Geschichte erzählen, wie ich eine längere und hitzige Diskussion mit dem Engelchen auf meiner rechten Schulter und dem Teufelchen auf meiner linken Schulter führte, aber so war es gar nicht. Fast sofort begann ich einige Zeilen an den Verkäufer zu schreiben und ihn auf das schließlich doch noch aufgetauchte Paket aufmerksam zu machen. Unehrlich liegt mir irgendwie nicht.

Dafür bedankte sich der Verkäufer bei mir für meine Aufrichtigkeit und für die Bereitschaft, die Rückerstattung rückgängig zu machen. Dazu musste ich jedoch selbst bei Amazon aktiv werden, da einem Verkäufer die notwendigen Mittel dazu fehlen. Ich schrieb also wiederum an den Amazon-Support und bat darum, die Rückerstattung zurückzunehmen, weil das Paket inzwischen doch noch angekommen war. Als Antwort bekam ich von einer netten indischen Supportmitarbeiterin eine weitere Entschuldigung, dafür dass das mit der Rückerstattung noch nicht geklappt hat. Überweisungen dauerten bekanntlich oft länger, und ich solle mich doch bitte einige Tage gedulden und dann gegebenenfalls noch einmal melden, wenn das Geld weiterhin auf sich warten ließe. Die Dame hatte meine Anfrage offensichtlich nicht richtig gelesen.

Nach einer weiteren Nachricht konnte ich das Missverständnis aufklären. Diesmal hatte eine andere indische Supportmitarbeiterin meine Anfrage beantwortet. Erneut bedankte man sich bei mir für soviel Ehrlichkeit, die Zahlungsabteilung würde das Geld demnächst nochmals bei mir abbuchen. Der Dank und die Entschuldigungen waren mir das Geld allemal wert.