Ich programmiere zur Zeit eine freien, rpg_rt-ähnlichen Engine, die in Java geschrieben ist, mit Namen
thornEngine
Mein Ziel ist es eine Engine zu schreiben, die überall funktioniert wo Java (JRE 6 oder höher) und OpenGL installiert sind, egal ob unter Windows, Linux, MacOS X oder Solaris.
Der Kern der Engine, Bilder und Maps anzuzeigen, Variablen und Switches für das Scripting bereitzustellen und Musik/Sounds abzuspielen, ist soweit fertig. Scripting läuft schon relativ gut, ist aber noch recht kompliziert.
Den Quellcode der Engine werde ich spätestens Ende des Jahres bereit stellen. Ich muss vorher noch einige Sachen, u.a. den Code für Animationen schreiben.
Ob ich ein Maker-ähnliches Erstellungsprogramm erstelle weiß ich noch nicht, im Prinzip braucht man nur einen Texteditor und ein Mal-Programm.
Ach ja, etwas vertieft meine Konzepte und deren teilweise Realisierung:
Events nur dazu da, um mit ihrem Code die Map und Objekte ihre Objekte zu verändern, oder neue Maps oder Objekte hinzuzufügen.
Der Event-Code (Skript) wird mit Ruby geschrieben und wird während die Engine läuft ausgeführt. Events sind entweder an eine Map gebunden oder CommonEvents.
Der Event-Code wird auch in eine XML-Datei eingepackt.
z.B. mein derzeitiges Event, was gleich beim Start der Engine ausgeführt wird, sie momentan so aus:
Die thornEngine nutzt SAX um XML zu lesen, LWJGL um Bilder über OpenGL zu zeichnen, JRuby um den Event-Code auszuführen und die Java-eigene Sound-API. JPEG, PNG, BMP als Bildformat und WAV, AIFF, MIDI und AU als Soundformat werden momentan unterstützt. Die Leistungsfähigkeit der Engine wird primär durch die Grafikkarte bestimmt. Im Test schaffte die Engine ohne Ruckeln 15000 Bilder darzustellen (200x200 Pixel, 50% Transparenz, zufällig auf dem Bildschirm verteilt).
Ein Bild dazu, mit laufendem Partikelsystem, Messagebox und dem "Inspector":
PS: Das Projekt existiert seit Ende Juli und umfasst jetzt ca. 4000 Zeilen Code.