News

Success Denied Symbol

The show must go on

4

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.

SPACOLA Eclipse WIP 0.34

2

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.

Oracle Certified Associate, Java SE 7 Programmer

14

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.

Undercover in der Let’s-Play-Szene

0

Eigentlich erlaubt meine momentane Situation es mir kaum, öffentlich über meinen streng geheimen und extrem riskanten Auftrag zu sprechen, denn meine Tarnung könnte zu leicht auffliegen. Mein persönlicher Kampf gegen Let’s Plays nimmt nun eine völlig neue Dimension an. Da es mir durch meine feindseligen Trollbeiträge und Hasspredigten bisher noch nicht in nennenswertem Umfang gelungen ist, diesen korrupten Sumpf, der sich Let’s-Play-Szene schimpft, frühzeitig trockenzulegen, so dass diese widerlichen Subjekte, die auf YouTube zu unverdientem und unbegreiflich großem Ruhm gekommen sind, weiterhin ungestraft schlechte Gameplay-Videos mit langweiligem Kommentar posten können.

Meine neue Taktik ist es nun, den Feind von innen heraus zu bekämpfen, die gesamte womöglich gewaltbereite Let’s-Play-Szene heimlich zu infiltrieren und brisante Informationen über etwaige Gruppierungen und geplante Aktionen zu stehlen. „Halte deine Freunde nahe bei dir, aber deine Feinde noch näher„, so lautet ein eigentlich nur peripher passendes, aber mir im Moment als einziges einfallendes Sprichwort, dessen Sinnhaftigkeit ich nicht zu hinterfragen wage. Meine hochinvestigativen Erfahrungsberichte, die ich unter Einsatz meines eigenen wertvollen Lebens gewinnen muss, werde ich hier mit den Lesern dieses hochwertigen Weltverschwörungs-Blogs teilen.

Mit Hilfe des befreundeten Let’s Players Karurosu Sensei ließ ich mich kürzlich als V-Mann unter dem Pseudonym „Propagandalf“ in das Milieu einschleusen. So sind seit neuestem ein unbekannter Let’s Player und ein unbekannter Blogger gemeinsam mit einigen als „Honeypots“ bezeichneten Let’s-Play-Attrappen auf YouTube zu finden, in deren Verlauf sie möglichst unverdächtig das Gameplay eines beliebigen Zombie-Survival-Shooters für den PC beschreiben. Der bisher nur im Early Access verfügbare Minecraft-/DayZ-Hybrid „7 Days to Die“ erschien uns als geeignete Gelegenheit, uns in der Szene einen Namen zu machen, damit die großen Fische möglichst bald anbeißen. Aber unsere Tarnung galt es zunächst mit äußerst unkonventionellen Methoden zu perfektionieren.

Um nicht bei den falschen Leuten negativ aufzufallen, bauten wir absichtlich einige offensichtliche Fehler in die Videos ein, denn als blutige Let’s-Play-Anfänger, die wir ja vorgeben zu sein, müssen wir unsere Rolle natürlich absolut glaubwürdig spielen. So ist dann z.B. meine Stimme in den Videos vom Lautstärkepegel her etwas übersteuert, außerdem ist der Gamma-Wert falsch eingestellt, so dass man die dunklen Stellen im Video nicht mehr richtig erkennen kann, die unerträglich niedrige Bitrate macht den Rest. Noch dazu übten wir monatelang unseren Text, probten belangloses und scheinbar spontanes Geschwätz, schlechte Wortwitze und peinliches Gelächter in den dümmsten Situationen. Es ist verblüffend, wie realistisch das Ergebnis schließlich geworden ist. Ich erkannte mich selbst nicht mehr.

Exemplarisch hänge ich eines dieser für den Auftrag mühsam produzierten „Let’s Play Together Videos“ an, die alle im Channel des Kollegen gepostet werden. Im Idealfall verbreitet sich dadurch schnell die Nachricht auf den Straßen, dass zwei neue Let’s Player in der Stadt sind, die für Angebote aller Art stets offen sind. Vielleicht schnappt schon bald die Mausefalle zu. Hier auch einen Dank an Karurosu Sensei für die Unterstützung und den Aufwand bei der Produktion der Videos.

[youtube width=“620″ height=“400″]https://www.youtube.com/watch?v=SDbUuc0-_vg[/youtube]

Die bisher veröffentlichten Let’s Plays in dieser Reihe:

7 Days To Die – Erstes Spiel mit der Alpha 7.9 #01 – Let’s play together 7DTD
7 Days To Die – Ab in die Eiswelt…öh? Alpha 7.9 #02 – Let’s play together 7DTD
7 Days To Die – Barren. Eisenbarren! #03 – Let’s play together 7DTD
7 Days To Die – Home. Sweet Home! #04 – Let’s play together 7DTD

SPACOLA Eclipse WIP 0.33 – Eine explosive Version

0

Neuer Eintrag für das vielfach gelesene Entwicklertagebuch: Hallo Fans, ich habe eine Kleinigkeit in Bezug auf mein Java-Remake SPACOLA Eclipse zu vemerken. Nachdem ich in der letzten Version bedauerlicher- aber nötigerweise nur unbedeutende Dinge vorstellen konnte, wollte ich dieses Mal einige neue Features für das Gameplay implementieren. So in den letzten Tagen geschehen. Ein Screenshot sagt dabei mehr als tausend Worte.

alpha033

Der Screenshot ist mir leider nicht besonders gelungen, ich hätte da gerne ein paar Gegner im Bild gehabt und so. Screenshots zu machen ist nämlich eine echte Kunst, habe ich festgestellt, und oft ist es schwierig, im richtigen Moment den „Auslöser“ zu drücken. Nun sei es drum, jenes kleine Bild demonstriert gleich mehrere Aspekte, die kürzlich mehr oder weniger fertig geworden sind:

1. Der Spieler kann jetzt theoretisch jedes beliebige Raumschiff lenken (also auch Piratenschiffe), mittlerweile insgesamt sechs an der Zahl. Nützlich wird so etwas für etwaige Fuchsjagd-Multiplayer-Modi oder sowas, also überall da wo jemand die Rolle der fiesen Gegner übernehmen möchte. Im Screenshot ist es eines der Gegnerschiffe, die erst nach Level 8 oder später auftauchen.

2. Komplette Minenfelder sind endlich im Spiel: Dazu habe ich die beiden Standardminen eingebaut, wovon eine nur unter Beschuss explodiert, die andere einen Annäherungssensor hat, der die Mine bei Spielerkontakt zur Detonation bringt. Wenn man da versehentlich hineinfliegt, geht auf dem Bildschirm wirklich die Post ab.

3. Der Station-Trapper, der eine beliebige Raumstation mit einer ganzen Batterie an Minen eines beliebigen Typs bestückt. Die Klasse kennt alle möglichen Defaults für SPACOLA-typische Formationen (unterschiedlich aufgebaute Minenfelder, wie sie eben im Spiel vorkommen), oder man gibt selbst Werte wie Anzahl Elemente, Abstand und Radius vor. Als kleine Erweiterung kann man Minen nicht nur kreisförmig wie im Original, sondern auch in rechteckiger Formation um eine Station platzieren (im Screenshot rechts oben zu sehen), was im Original so niemals vorgekommen ist. Für einen Leveleditor eine vielleicht ganz nützliche Funktion.

4. Explosionen mit Trümmerteilen (Debris explosions) sind endlich fertig, so wie diese im Original von Minen oder bestimmten Piratenschiffen erzeugt wurden. Explodiert eine Mine, so werden viele sich drehende Trümmerpartikel freigegeben, die dem Spieler sogar schaden können. Einzelne Partikel teilen sich dabei auf und verglühen nach einer Weile. Diesen Mechanismus hinzubekommen, da habe ich eine Weile basteln müssen. Das Zeichnen aller Trümmerexplosionen mit den vielen Partikeln habe ich dabei sogar rekursiv implementiert: Wenn die Monochrom-Grafikengine eine Partikelexplosion zeichnen soll, ruft dieselbe Methode sich selbst nochmals mit jedem einzelnen Trümmerteilchen auf. Toll, dass man sowas mal in der Praxis verwenden kann.

dev_snapshot_smallLeider fehlt noch mindestens das „Game Over“ und die Eingabe der Highscore, daher noch immer keine spielbare Demo. Ich denke als nächstes müsste ich mich auch mal um Turrets, also Abwehrgeschütztürme von Stationen kümmern, aber dazu könnte ich tatsächlich mal ein oder besser zwei Wochen Urlaub gebrauchen. Aber immerhin habe ich das Dongleware-Museum Anfang der Woche mal um einige Einträge erweitert, ein paar Beschreibungen ergänzt, Tippfehler korrigiert und Screenshots ersetzt. Manche Dinge muss ich noch einpflegen, dazu komme ich hoffentlich noch. Für Fans lohnt sich ein Blick.

Für ganz Neugierige hänge ich hier noch einen kleinen Eindruck meiner Entwicklungsumgebung an, also das Ding, das ich mir manchmal stundenlang anschaue und merkwürdigen Text eingebe, damit irgendwann hoffentlich mal ein Spiel rauskommt. Ob der Plan aufgeht, wird sich Ende des Jahres vielleicht mal zeigen.

nach oben