SpaceTraders Swing GUI

vorhergehende Artikel in: Java Komponenten Git(lab|hub)
29.07.2023

Ich habe neulich einen Link gefunden, hinter dem sich eine (für mich) neue Art von Computerspiel verbarg: Es handelt sich hier um ein Multiplayer Spiel, für das zunächst einmal nur die API existiert

Die Idee dahinter ist, dass man sich selber sein eigenes Frontend schaffen kann - und sollte. Damit ist die Spielmechanik für alle gleich, aber jeder Spieler kann mit der Art Frontend spielen, die ihm am meisten zusagt.

Das können fat Clients ebenso sein wie Kommandozeilen- oder Web-Clients. Und natürlich ist es möglich (und sogar erwünscht!) Teile des Spiels zu automatisieren. Jede Aktion entspricht schließlich einem API-Aufruf und viele der Aktionen geschehen in Realzeit. So dauert etwa der Flug des Raumschiffes zwischen den einzelnen Zielen innerhalb eines Planetensystems schon mal mehrere Minuten und auch der Abbau von Rohstoffen verschlingt Zeit, innerhalb derer der dazu benutzte Laser immer mal wieder abkühlen muss.

Was liegt da also näher, als diese Vorgänge zu automatisieren? Denn auch das Verkaufen ist keine Ein-Click-Aktion: Am Zielort angekommen muss man das Schiff docken, die im Laderaum verfügbaren Waren einzeln verkaufen, man sollte das Tanken nicht vergessen und muss schließlich wieder abdocken, um erneut zu einem weiteren Ziel aufzubrechen. All dies kann man natürlich im Frontend zu einer Aktion zusammenfassen.

Es existieren bereits mehrere Frontends - allerdings findet man derzeit die meisten für die Version 1 der API, die leider nicht zur aktuellen Version kompatibel sind. Daher habe ich mich nach kurzer Suche - und weil ich immer für Fingerübungen bin und weil es mich schlicht interessierte - entschieden, ein eigenes Frontend zu entwerfen. Derzeit existiert der Arbeitsstand - der noch weit von der Vollständigkeit entfernt ist - als GitHub-Projekt. Ich würde mich freuen, wenn er auf Interesse stößt und sich eventuell ein paar Leute finden, die die Entwicklung mit eigenen Ideen weiter voranbringen möchten.

Artikel, die hierher verlinken

Throttling in Java

25.09.2023

Während meiner Experimente mit der SpaceTraders API stieß ich auf den Auslöser einer weiteren kleinen Fingerübung in Java:

Alle Artikel rss Wochenübersicht Monatsübersicht Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Android als Smartcard (NFC) II

    05.05.2019

    Das letzte Mal war das ganze eher grobe Bastelei. Nachdem ich nun ein neues Smartphone angeschafft habe, wollte ich probieren, ob es inzwischen einfacher funktioniert - und ich wurde über alle Erwartungen hinaus überrascht...

    Weiterlesen...

Neueste Artikel

  • SQLite als Geodatenbank

    Wie bereits in einem früheren Artikel beschrieben treibe ich derzeit Anstrengungen voran, die sQLshell attraktiver für Nutzer zu machen, die mit Geodatenbanken arbeiten.

    Weiterlesen...
  • Contributor bei Rosetta Code

    Ich habe mich neulich einmal ein wenig auf Rosetta Code umgesehen und bin über die Rubrik Draft Programming Tasks gestolpert, wo ich sofort eine Aufgabe fand, die mich ansprach.

    Weiterlesen...
  • Graphics2D Implementierung für Java mit verlegtem Koordinatenursprung

    Es gibt seit vielen Jahren immer mal wieder Leute, die im Internet fragen, ob man in Javas diversen Methoden zum Zeichnen von Graphiken das Koordinatensystem so ändern könnte, dass sich der Koordinatenursprung links unten befindet und die positive y-Achse nach oben weist. Meist sind die Antworten dann, dass eine Affine Transformation eingeschaltet werden solle, die das Bild spiegelt.

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muß damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.