[Java] SpaceChaos – ein 2D Indie Space Shooter

Nachdem der Blog in letzter Zeit leider etwas ruhiger geworden ist (Aber keine Angst! Es sind zahlreiche neue Beiträge & Tutorials in Planung / Bearbeitung!), wollte ich euch heute mal wieder ein kleines 2D Open Source Spiel vorstellen, an welchem ich mitarbeite: SpaceChaos (WIP Webseite: http://spacechaos.de).

SpaceChaos

Continue reading

[Maven] Lokale JAR Library einbinden, die nicht im Maven Central liegt

Maven JAR Library

Maven JAR Library

Manchmal ist eine JAR Library nicht im Maven Central verfügbar, sondern man will die JAR Library lokal einbinden

Dies kann z.B. vorkommen, wenn man einen Mob für ein Spiel schreiben will und die Api JAR nicht online verfügbar ist.

Wer mit Maven noch nichts anfangen kann, sollte sich zuerst mein Tutorial dazu, Teil 1 & Teil 2 anschauen.

Continue reading

[Java 9] Jigsaw wurde abgelehnt

Bis gestern hatten die Mitglieder des JCP (Java Community Process) Zeit um über das am heftigsten umstrittene Feature von Java 9 – Projekt Jigsaw (das geplante Modulsystem von Java, JSR 376) – abzustimmen. Jigsaw sollte das wichtigste neue Feature von Java 9 werden, nun aber steht es fest: Jigsaw wurde abgelehnt.

Java 9 wurde aufgrund dieses Features und der dazugehörigen Kritik schon mehrfach verschoben und es bleibt abzuwarten, ob Java 9 nicht sogar noch einmal verschoben werden muss.

Java Logo

Continue reading

[Java] Test RPG mit libGDX – Entwicklung

Test RPG mit libGDX – Version 1.0.0 pre-alpha

Dank Pentaquin (wir setzen dort libGDX ein) durfte ich mich wieder einmal in eine neue Game Libraries rein fuchsen, diesmal libGDX.

Um mein eigenes Wissen über libGDX zu erweitern habe ich kurzerhand ein kleines Test RPG (Role Playing Game) angefangen zu programmieren, auch um die Performance & Möglichkeiten von der Gaming Library libGDX einmal genauer auszutesten.

Dabei habe ich versucht nur Open Source Grafiken einzubinden, dessen Autoren findet ihr in der CONTRIBUTORS Datei sowie in den jeweiligen Asset Verzeichnissen.

 

Test RPG mit libGDX

Test RPG Game, die Grafiken stammen nicht von mir, eine Liste mit allen Grafik Urhebern findet ihr hier: CONTRIBUTORS und LICENSE (free Open Source Assets unter individuellen Lizenzen)

Continue reading

[Maven] Eine JAR mit allen dependencies

Wenn man mit Maven eine einfache JAR Datei buildet, enthält diese nur den eigenen Code, die Libraries sind nicht enthalten, sondern im lib Ordner versteckt.

Manchmal will man aber diese libraries gleich mit in der JAR haben, um nur diese eine JAR Datei ausliefern zu müssen. Dies nennt sich dann “JAR mit allen dependencies” oder in Original Sprache: “jar-with-dependencies”.

In diesem kurzen Artikel wird erklärt, wie es funktioniert.

Wer sich noch nicht mit Maven beschäftigt hat, sollte sich mit meinem Tutorial zu Maven Teil 1 und Teil 2 einmal auseindersetzen.

Continue reading

Ein künstliches neuronales Netz für Super Mario?

Ein künstliches neuronales Netz für Super Mario? Ihr habt richtig gelesen!

Ich habe im Netz ein interessantes Video inkl. Source Code gefunden, welches demostriert, wie eine künstliche Intelligenz mit Hilfe von künstlichen neuronalen Netzwerken Super Mario spielt:

 

Wer sich ebenfalls dafür interessiert, wie das funktioniert, findet den Source Code hier:

Source Code

 

Hinweis:
Dieser Source Code stammt nicht von mir, ihr findet den Link auch unter dem Video auf YouTube.

[Maven] Mit Maven ZIP Archiv erstellen / deployen Tutorial

Mit Maven ZIP Archiv erstellen

Wer kennt es nicht? Man hat eine Software (eine JAR Datei), die man als ZIP Archiv ausliefern will (z.B. um sie auf einer Download Seite zur Verfügung zu stellen) und muss diese ZIP Dateien noch von Hand erstellen. Heute zeige ich euch, wie ihr diese ZIP Archive automatisch von Maven generieren lassen könnt.

ZIP Archiv (GPL Lizenz, Quelle: https://www.iconfinder.com/icons/7034/compressed_document_file_zip_icon)

ZIP Archiv, GPL Lizenz, Quelle: Link

Continue reading

[Java] Hazelcast JUnit Tests

Ich habe mich früher oft gefragt, wie man Hazelcast JUnit Test schreibt.

Heute will ich euch eine kurze, aber knackige Antwort darauf geben.

 

Wer Hazelcast nicht kennt:

Hazelcast ist eine In-Memory-Data Grid, also eine der schnellsten (angeblich sogar die schnellste) NoSQL Datenbanken, die es derzeit auf dem Markt gibt.

Allerdings speichert Hazelcast die Daten per Default nur “In Memory”, also nur im RAM. Da es aber mehrere Hazelcast Nodes (Server) im Cluster geben sollte, können mehrere Hazelcast Server ausfallen, ohne dass dabei Daten verloren gehen. Bei Pentaquin nutzen wir Hazelcast derzeit vorallem als Cache für schnelle Zugriffszeiten, die ein 2D MMORPG dringend benötigt.

Continue reading

[Java] Ist eine Java HashMap Thread Safe?

Ist eine Java HashMap Thread Safe?

HashMap Code

In diesem Artikel wollen wir uns einmal damit beschäftigen, ob die Map Implementierung HashMap<Key,Value> Thread Safe ist. Sicherlich habt ihr auch schon einmal von einer ConcurrentHashMap gehört und euch gefragt, was denn jetzt der Unterschied zwischen diesen beiden ist. Auch gibt es bei einigen immer wieder etwas Verwirrung, weil man immer mal was von 16 Locks im Zusammenhang mit einer HashMap gehört hat. Heute wollen wir das Rätsel einmal auflösen.

Continue reading