Archiv der Kategorie: News

Eine reichlich produktive Woche liegt hinter mir. Ein paar müßige Woche mussten nämlich ausgeglichen werden, jedenfalls im Bereich der Spieleentwicklung. Aber seit Montag konnte sich meine Entwicklungsumgebung nicht über zuwenig Aufmerksamkeit beklagen. Es gibt daher schon wieder einen kleinen Update-Bericht zu SPACOLA Eclipse.

spaclipse034

Als erstes möchte ich bekanntgeben, dass ich eine gedankliche Schwelle überschritten habe: Ich bin mir jetzt hundertprozentig sicher, dass ich das kleine Retro-Spieleprojekt eines Tages wirklich zum Abschluss bringen muss. Nachdem ich bisher stets darauf hingewiesen habe, dass ich keine Garantie dafür geben werde, dass ich meine kaum spielbare Monochrom-Demo nicht eines Tages doch noch aus plötzlichem Desinteresse wieder einstampfe, bin ich nun sicher, dass mir das nicht mehr passieren kann. Zuviel Mühe, Zeit und Erfahrung stecken inzwischen in dem bald 13000 Zeilen langen Quellcode.

Außerdem ist das zwar noch weitestgehend unfertige Spiel längst mit einem tatsächlich recht drolligen Gameplay gesegnet. Auf dem Bildschirm wuseln und explodieren schon eine ganze Menge Raumschiffe hektisch umher, ballern aus allen Rohren, Geschütztürme verfolgen aufgeschreckt jede Bewegung des Spielers. Selbst die winkenden Männchen in den Raumstationen trinken schon gierig ihre Cola, wenn man sie mit der wertvollen Ware beliefert. Mit maximalem Schub versucht man der Anziehungskraft schwarzer Löcher zu entkommen, oftmals vergeblich. Ja tatsächlich, Geschütztürme und schwarze Löcher sind in dieser Woche fertig geworden.

Ich habe endlich meine neue Vortex-Klasse für Strudel- bzw. Wirbeleffekte (z.B. Intro-Animation und Gameover-Animation) in Betrieb genommen. Für den Wirbeleffekt (logarithmische Spirale) und für die Gravitationsberechnung schwarzer Löcher musste ich mir wieder mal eine ganze Menge Mathematik anschauen. Selten habe ich soviel über irgendwelchen Formeln gebrütet wie die letzten Tage, aber es hat sich ausgezahlt. Der Effekt ist wirklich spannend und funktioniert sehr gut. Den neuen Code für die Gravitation konnte ich auch gleich für zwei Sammler-Powerups und für die Container einbauen, so dass das Thema auch abgehakt wäre. Von seiner eigenen Code-Kreation brutal über den Haufen geschossen oder ins Nirvana gezogen zu werden, das macht einen auch irgendwie stolz.

Aber ich will niemandem etwas vormachen: Die Todo-Liste wird eher länger statt kürzer. Für jedes Feature, das ich mühsam umsetze, fallen mir zwei neue ein. Und das schließt Ideen für Erweiterungen und Bugs nichtmal ein. Alle paar Monate meldet sich mal ein SPACOLA-Fan bei mir, was mich immer ganz besonders freut. Manchmal ist das sogar die nötige Motivation, die ich brauche, um mich nach faulen Phasen mal wieder ins Gefecht zu stürzen. Und ich bin noch optimistisch, dass das Projekt Ende des Jahres wirklich vorzeigbar wird! Bis dahin wird es noch ein weiteres Gameplay-Video geben, das alle neuen Funktionen demonstriert und dass man nun sogar das Spiel verlieren und seinen Highscore-Eintrag hinterlassen kann. Wenn die vielen Spielmechaniken mal irgendwann alle fertig implementiert sind, dann kann ich mich endlich um das wirkliche Spieldesign kümmern, also um die Levels, das Feintuning, ein korrektes Gegnerverhalten, uvm.

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

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

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

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

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

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

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.

Der Weihnachtswahnsinn, Silvester und sogar die letzten wertvollen Urlaubstage liegen längst hinter einem, zurück bleibt ein mulmiges Gefühl, wenn man daran denkt, dass nun wieder alles von vorne beginnt. In meinem Fall bedeutet das also rein in den Alltag, weg mit der Freizeit, und die letzten vollen Kartons wollen zwischenzeitlich auch noch in die neue Wohnung geholt werden. Meine Hobbies bleiben dabei leider ein wenig auf der Strecke zwischen Bürotätigkeit, Haushaltsmanagement, Umzugsrelikten und den diversen Verpflichtungen, die Freundschaften mit sich bringen. Aber schon in zwei Wochen bricht eine neue Ära für mich an, und darauf lohnt es sich zu warten.

Für mein Remake-Projekt SPACOLA Eclipse habe ich im Dezember nur eine Handvoll Codezeilen geschrieben, diesen Monat noch überhaupt nichts. Aber das große Comeback ist schon geplant. Auch die Artikel für die Webseite schreiben sich zäher, wenn man den Kopf nicht frei hat. Jeden einzelnen Satz muss ich mir da mühsam abringen, meistens gefällt der mir noch nicht einmal richtig, und zum Schluss nehme ich dann eben doch was ich kriegen kann. Die Geschichte meines Lebens.

Doch ich war nicht gänzlich untätig. Eine besondere Neuigkeit darf ich voller Stolz verkünden, denn mein Webhoster war zwischen den Jahren in Geberlaune und hat mein Hosting-Paket gründlich erweitert – ganz ohne Aufpreis. Zum einen ist mein Webspace nun exorbitant viel größer geworden, was ich sehr begrüße, zum anderen wurden mir zwei weitere (frei wählbare) Inklusivdomains geschenkt, die ich praktisch sofort dankend registrieren lassen konnte. Hiermit möchte ich nun bekanntgeben, dass meine Webseite ab sofort unter folgenden Internetadressen erreichbar ist:

www.successdenied.com
www.successdenied.de
www.successdenied.org

Falls meinen Blog vorher schon niemand gefunden hat, können meine Fans ihn neuerdings sogar dreimal nicht finden. Das wird mir endlich zum großen Durchbruch verhelfen, da bin ich sicher. Aber mal Spaß beiseite: In Zukunft ist es nicht mehr ganz so wichtig, dass sich jemand an die richtige „Endung“ (Top Level Domain, TLD) der Adresse erinnert, solange der Teil davor wenigstens stimmt. Das dürfte etwaige Mundpropaganda etwas einfacher machen und den Besuchern sinnloses Herumprobieren ersparen, so wie mir das selbst hin und wieder noch passiert. Außerdem wäre zumindest schon die „.de“-Domain absolut sinnvoll gewesen, da ich bislang noch gar nicht geplant habe, Artikel auf Englisch zu veröffentlichen. Aber „.com“ hat natürlich die größere Reichweite, das weiß jeder.

Zu guter Letzt habe ich mich bei einem weiteren Blogverzeichnis-Anbieter eintragen lassen, da Ende letzten Jahres ein anderer urplötzlich den Dienst eingestellt hat. SEO-Experten werden mir vermutlich bescheinigen, dass solche Anbieter höchstens einen Placebo-Effekt auf den Bekanntheitsgrad einer Webseite haben, wenn sie nicht sogar schädlich sind. Vielleicht ist das so, vielleicht aber auch nicht. Bis ich es genau weiß, kann ich es wohl noch so lassen. Es wird mir schon keiner eine Rechnung schicken.