Schlagwort-Archive: Java

Es gibt Neuigkeiten von Spacola Eclipse. Leider keine bahnbrechenden Neuigkeiten, aber immerhin. Aus irgendeinem mir bislang unerfindlichen Grund habe ich zur Zeit genug Motivation um wieder relativ intensiv an meinem kleinen Remake zu arbeiten. Die letzten Monate habe ich mir den Quellcode immer mal wieder angesehen und ein paar Verbesserungen eingefügt, aber ich habe mich konsequent davor gedrückt, neue Kernfeatures einzubauen, die dringend nötig wären. So darf ich nun (stolz) das Ergebnis der letzten drei Tage präsentieren:

In Spacola Eclipse darf jetzt scharf geschossen werden. Ich habe das Schießen endlich implementiert. Für drei Tage Arbeit ist das mickrig, sagt ihr? Ja ist es. Aber wenn ihr die Mathematikprüfungen im Studium gerade so bestanden habt (so wie ich), dann habt ihr vielleicht eine Vorstellung davon, wie mühsam es ist, sich trigonometrische Operationen, Vektorarithmetik und Koordinatensystemumwandlungen aus dem Kopf herzuleiten ohne danach zu googlen oder ein Mathebuch herzunehmen – vor allem dann wenn die letzte Mathematikvorlesung schon ein paar Jahre her ist. Alles was ich hier mache, lerne ich durch Trial and Error. Wenn ein Algorithmus nicht funktioniert, dann nehme ich ein Stück Papier zur Hand und überlege mir eine Lösung.

Leider gibt es noch nichts worauf geschossen werden kann. Die Gegnersprites sind zwar längst angelegt, aber die Gegner-KI ist praktisch noch „leer“. Zu diesem Zweck hab ich außerdem eine abstrakte Klasse für Gegner angelegt und die wichtigsten Methoden definiert. Leider ist es extrem schwer, das Gegnerverhalten rein aus der Beobachtung des Ergebnisses nachzubilden – also wenn man nicht weiß, was im Hintergrund alles passiert. Ich kann nur versuchen, etwas zu schreiben, das dem erwarteten Verhalten nahekommt.

Der erste Gegner wird der (von mir so bezeichnete) „Peashooter“ sein. Aus dem Handbuch des Originals ist der Name des Schiffs nicht ersichtlich, also hab ich ihn genau so genannt wie er aussieht – wie diese eine Pflanze aus „Plants vs. Zombies“. Er ist einer der wenigen Gegner, die auf den Spieler feuern können, und so ziemlich der erste, dem man im Spiel begegnet.

Da ich bekennender Fan der Programmiersprache Java bin (aber nicht ausschließlich), möchte ich den Zeitpunkt der Veröffentlichung des JDK7 nutzen und ankündigen, dass wohl in Zukunft auch ein paar Beiträge über Java-Entwicklung folgen werden. Ich bin noch nicht wirklich sicher worüber genau, aber mir wird da schon was einfallen.

Themen, die ich mir vorstellen könnte, wären meine Erfahrungen mit dem JDK7, außerdem diverse Tricks und Techniken, die ich bei meinen zahlreichen kleineren Gamedev-Versuchen (z.B. Spacola Eclipse) gelernt habe. Womöglich profitiert nochmal jemand davon, dann hätte es sich schon gelohnt, darüber zu schreiben. Wenn alles gut läuft, werden sich die Tutorials nicht auf Java beschränken, sondern auch andere Programmiersprachen umfassen, mit denen ich mich befasse. Auch mathematische Probleme, denen man früher oder später zwangsläufig begegnet, könnte ich dabei ansprechen und einen Lösungsansatz aufzeigen.

Was Spacola Eclipse angeht: Die Entwicklung steht nicht still, aber das Spiel ist derzeit nicht meine Top-Priorität, daher geht es verständlicherweise nur langsam voran. Ich habe definitiv neue Ideen, die ich demnächst umsetzen werde. Zunächst will ich eben einige private und berufliche Dinge geklärt wissen, bevor ich mich wieder mit vollem Eifer meinem Hobbyprojekt widmen kann.

Unter dem schon seit einiger Zeit existenten Menüpunkt „Spacola“ findet ihr seit heute einige Informationen rund um das Java-Remake des Atari ST-Klassikers Spacola. In Zukunft werde ich dort über Entwicklungsfortschritte berichten und so eine Art Dev Diary bzw. Changelog unterhalten, um mich selbst zu motivieren am Ball zu bleiben. Meinem kleinen Projekt habe ich den Titel „Spacola Eclipse“ gegeben, weil es so mehr nach Remake klingt und weil die Entwicklungsumgebung Eclipse SDK heißt. Dürfte also passen.

Nach wie vor kann ich niemandem versprechen, dass das Spiel wirklich fertig wird. In letzter Zeit bin ich auch nachlässig geworden und hab den Quelltext nur noch unregelmäßig angerührt. Aber ich gelobe Besserung. Für Vorschläge, Hinweise, Requests und Motivationsschreiben bin ich immer erreichbar :)

SpacolaCodeJetzt da ich sowieso schon im Retrofieber bin: Vor zwei Tagen hatte ich die Idee, mich an einem Remake des Dongleware-Klassikers Spacola von Meinolf Schneider zu versuchen. Ich wollte das Spiel endlich für moderne Betriebssysteme wiederauferstehen lassen und was eignet sich für so eine wenig hardwarehungrige Anwendung besser als Java? So gibts das Spiel wenigstens für Windows, Linux und den ganzen Rest. Außerdem gibt es sonst kein Spacola-Remake.

Ursprünglich dachte ich, ich würde sowieso nach zehn Minuten die Geduld verlieren, was auch beinahe geschah. Am ersten Tag hatte ich es nach zwei Stunden kaum geschafft, mit meinem Code ein Fensterchen zu öffnen. Inzwischen arbeite ich aber schon drei Tage daran und das kleine Raumschiff fliegt schon munter durch den nett animierten Sternenhimmel. Grafikausgabe, Spritehandling und die Maussteuerung sind beinahe fertig implementiert. Wenn das in dem Tempo weitergeht, kann ich demnächst die ersten Gegner in meine Levels setzen. Kaum zu glauben wieviel Trigonometrie nötig ist, um eine halbwegs passable Steuerung hinzubekommen.

Wann es eine spielbare Version geben wird, kann ich im Moment noch nicht sagen. Nicht einmal ob ich das Spiel wirklich fertigschreiben werde. Aber derzeit sieht alles ganz gut aus, ich komme schneller voran als gedacht.