jMonkeyEngine

Mit libGDX hatte ich vor einem Jahr bereits eine Game Engine für Java vorgestellt. Daneben existieren natürlich noch weitere Game Engines. Eine dieser Engines ist die jMonkeyEngine, welche seit 2003 entwickelt wird. Technisch basiert der SDK-Editor auf NetBeans-Plattform. Die Engine selbst nutzt OpenGL für die Darstellung der Grafik und verfügt über unterschiedlichste Features wie die Unterstützung für Beleuchtung, die Nutzung von Shadern, eine Reihe von Filtern und Effekten und eine Physikunterstützung. Daneben werden auch andere Dinge wie die Eingabe des Nutzers von der Engine abstrahiert.

Das jMonkeyEngine SDK

Lizenziert ist jMonkeyEngine unter der BSD-Lizenz und damit freie Software. Der Quelltext kann über GitHub bezogen werden. Die offizielle Seite des Projektes ist unter jmonkeyengine.org zu finden.

Tomb Raider in Open Source

Das 1996 erschienene Tomb Raider, mit Lara Croft in der Rolle der taffen Archäologin, galt und gilt als Meilenstein des Action-Aventure. Seitdem sind etliche weitere Teile entstanden. Auch die alten Teile sind bei vielen Fans immer noch sehr beliebt.

Die Projektseite von Open Tomb

So existieren einige Open Source-Projekte rund um Tomb Raider. Eines dieser Projekte ist Open Tomb, welches unter opentomb.github.io zu finden ist. Das Ziel des Projektes ist eine Reimplementation der Engine welche für Tomb Raider 1 – 5 genutzt wurde. Lizenziert ist das Projekt unter der LGPL3 und damit freie Software.  

Neben dem OpenTomb-Projekt existieren weitere Projekte, wie das OpenLara-Projekt, welches die Engine im Browser nachbaut. Eine spielbare Demo existiert auf der Projektseite; der Quelltext ist auf GitHub zu finden. Lizenziert ist OpenLara unter der BSD-Lizenz, in der Zwei-Klausel-Version.

Thymeleaf ohne Servlet in Standalone-Anwendungen nutzen

Thymeleaf ist eine Template Engine, welche für die Nutzung mittels Java (oder anderer JVM-Sprachen) gedacht ist. Über diese können entsprechende Templates geschrieben werden, anschließend gefüllt und genutzt werden. Thymeleaf verfügt über eine Dokumentation, allerdings fehlt mir dort ein minimales Beispiel für Anwendungen, welche sich nicht im Web (sogenannte non-web environments) abspielen.

thymeleaf.org

Für ein minimales Beispiel wird natürlich ein Template benötigt. Dieses wird hier als HTML definiert:

<!DOCTYPE html>
<html>
<head>
    <title th:text="${title}"></title>
</head>
<body>
</body>
</html>

Interessant ist hierbei das Feld title, welches wir mit einem Titel füllen wollen. Im Java-Quellcode sieht die Implementation wie folgt aus:

ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver();
resolver.setPrefix("templates/");
resolver.setTemplateMode("HTML5");
resolver.setSuffix(".html");

TemplateEngine templateEngine = new TemplateEngine();
templateEngine.setTemplateResolver(resolver);

Context context = new Context(Locale.GERMAN);
context.setVariable("title", "Ein minimales Beispiel");

final String content = templateEngine.process("header.html", context);

Im ersten Schritt wird mit dem ClassLoaderTemplateResolver ein Resolver definiert, welcher schlussendlich dafür sorgt die Templates aus den Ressourcen (im resources-Ordner) bezogen werden. Daneben wird der Template-Modus eingestellt. Neben dem Modus HTML5 unterstützt Thymeleaf wie z.B. TEXT oder JAVASCRIPT. Danach wird die Template Engine erstellt und ihr der Resolver zugewiesen. Die Variablen, welche in diesem Fall im Template genutzt werden, werden über den Context definiert und gesetzt. Anschließend wird das Ganze an die process-Methode der Template Engine übergeben. Als Ergebnis erhalten wir im String content folgenden Inhalt:

<!DOCTYPE html>
<html>
<head>
    <title">Ein minimales Beispiel</title>
</head>
<body>
</body>
</html>

Damit wurde Thymeleaf in einer minimalen Variante angewendet. Die offizielle Seite der Template Engine ist unter thymeleaf.org zu finden. Lizenziert ist Thymeleaf unter der Apache License in der Version 2.0 und damit freie Software.

Solarus – eine freie Action-RPG Engine

Die The Legend of Zelda-Spiele haben viele Menschen geprägt. Und manche dieses Menschen wollten ihr eigenes 2D-Action-RPG entwickeln. Natürlich ist es nicht einfach eine Engine zu schreiben, um ein solches Spiel zum Laufen zu bekommen. Allerdings ist dies nicht notwendig, da es für diesen Fall schon ein Projekt gibt. Die Rede ist von der Solarus-Engine.

Aktivieren Sie JavaScript um das Video zu sehen.
Video-Link: https://www.youtube.com/watch?v=BUxREyXILLs

Die Solarus-Engine, dessen offizielle Seite unter solarus-games.org zu finden ist, versteht sich als Baukasten für Zelda-ähnliche Spiele. Sie verfügt mit dem Solarus Quest Editor über eine grafische Oberfläche um die Spielwelten zu erstellen. Mittlerweile wurden mit der Engine eine Reihe von Spielen erstellt.

Der Solarus Quest Editor

Die Engine selber ist in C++ geschrieben und führt in Lua geschriebene Skripte aus. Technisch basiert die Engine auf dem Simple DirectMedia Layer in der Version 2. Dieser bildet eine Abstraktionsebene für die Grafik- und Soundhardware. Die Engine ist freie Software; als Lizenz wurde die GPL3 gewählt. Der Quelltext der Engine und weitere Tools wie der Solarus Quest Editor können über GitHub bezogen werden.

Starcraft im Browser

Das originale Starcraft hat mittlerweile über 15 Jahre auf dem Buckel. Dies hielt den Entwickler Ryuta nicht davon ab eine Umsetzung von StarCraft für den Browser mittels HTML5 und Javascript zu entwickeln. Die Umsetzung ist dabei nicht mit einem fertigen Spiel zu verwechseln, sondern eher eine Tech-Demo, welche allerdings nicht minder beindruckend ist. So können die Einheiten gesteuert werden und andere Einheiten angegriffen werden – auch an die Soundausgabe wurde gedacht.

StarCraft im Browser

StarCraft im Browser

Lizenziert ist die Engine – dessen Quelltext auf GitHub zu finden ist – unter MIT-Lizenz und damit freie Software. Ausprobieren kann man die Engine unter gloomyson.github.io/StarCraft/.