Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : ridiculousRPG - Game Engine



madthrax
02.10.2011, 22:14
Hallo liebe Classic-RPG Community.

Da ich nach (mehr oder weniger) umfangreicher Recherche keine freie RPG Engine gefunden habe, welche meinen Anforderungen genügt,
habe ich beschlossen selbst eine solche zu basteln.
Mein Ziel ist es, anschließend ein eigenes 2D-RPG Spiel mit dieser Engine zu entwickeln.

Die Engine baut auf das Framework libGDX (http://libgdx.badlogicgames.com) auf und wird in JAVA geschrieben.
Gerendert werden Maps im tmx-Format, welche mit dem Tiled Editor erstellt werden können.

Features:
Platformunabhängig (Getestet unter Linux und Windows)
Modulares Design (durch so genannte RenderingServices)
Es wird Wert auf einfache Benutzung und hohe Produktivität gelegt
OpenGL bringt hohe Performance durch Grafikkartenunterstützung
Verschiedene Backends (LWJGL, JOGL,..) können verwendet werden
Tiled map rendering (eigener RenderingService)
Kollisionserkennung (derzeit nur mit Rechtecken)
Frei anpassbares Design der gesamten GUI (eigener RenderingService)
Pixelmovement und pixelgenaue Höhenberechnung von Objekten und Events
Bewegungen werden über frei kombinierbare Adaptoren realisiert
Events können natürlich animiert werden
Kamerasystem mit eingebauten Zoom- und Trackingfunktionen
Flexibles Modul zum erzeugen von Wettereffekten (eigener RenderingService)
Wrapper für die Physik-Engine Box2D

Es wird auch ein Kampfsystem implementiert. Wie das aussehen wird steht noch in den Sternen.

Auf meiner (ebenfalls nagelneuen) Homepage befindet sich auch ein eilig zusammengestelltes YouTube Video,
falls du mehr der/die visuelle Typ/Typin bist ;) (Ist Typin eigentlich ein deutsches Wort)
http://madgames.heim.at

Davy Jones
03.10.2011, 16:27
Joah, versuchs. Wenn dus zuende kriegst und es sich mit dem regulären RPG Maker in Sachen Bedienerfreundlichkeit messen kann, dürftest du drauf wetten können dass sich ein Großteil auch auf diese Engine einschießen wird.

Alternativen sind stets willkommen =)

Auge des Sterns
21.11.2011, 04:39
Mal schauen, was sich da entwickelt. Da ich wohl in ferner Zukunft eh ein neues Engines probieren willl, kann ich mal einen Blick auf dieses hier werfen.
Mal schauen wie es dann aussehen wird.

madthrax
26.11.2011, 13:48
Hallo zusammen,
um einer Todsagung des Projektes vorzubeugen melde ich mich mal wieder... Es lebt noch.
Die erste Alphaversion ist mit Jänner/Februar geplant.

Es freut mich natürlich ganz besonders, dass du die Engine bereits ausprobieren willst Auge des Sterns. Ich hoffe du kannst noch die paar Wochen warten.
Die erste Alphversion wird vermutlich noch kein Kampfsystem enthalten, dafür aber eine Menge Bugs;)

Wer gerne mit dem Feuer spielt und sich studenlang ärgern will kann natürlich jederzeit den Sourcecode herunterladen und (ganz ohne Anleitung)
herum experimentieren: http://ridiculous-rpg.googlecode.com/

Natürlich werde ich euch in diesem Thread informieren sobald es eine testfähige Version (und die entsprechenden Anleitungen dazu) gibt.

Eine schöne Vorweihnachtszeit wünscht,
Madthrax

Saoru
24.12.2011, 13:45
Respekt! Bist ja schon ziemlich weit gekommen! Aber das hast du auch wirklich alles alleine gebastelt ja? :)
Bin gespannt!!

madthrax
06.01.2012, 01:22
Hallihallo, ein kurzer Statusbericht im neuen Jahr:

Der Prealpha-Releasetermin hat sich auf März verschoben, da ich wegen des eingeführten Scripting supports ein wenig umdesignen musste.
Auch der Video-Support hat eine Menge Zeit gefressen.
(Vor allem die Suche nach einer in Java geschriebenen, halbwegs stabil und performant laufenden und integrierbaren Software.)

Die Wahl fiel auf den Cortado player (http://www.flumotion.net/cortado/).
Dieser wird nun unterstützt und integriert sich nahtlos in die Engine, aber aufgrund der GPL Lizenz muss er eigenständig heruntergeladen und eingebunden(File in ein Verzeichnis kopieren) werden. (Nach dem Einbinden steht alles unter der GPL 3 Lizenz)

Es geht stetig voran:)


Aber das hast du auch wirklich alles alleine gebastelt ja? :)
Das bereits erwähnte Framework libGDX vereinfacht die Entwicklung ungemein. An der Entwicklung dieses Frameworks bin ich (außer Issues zu erstellen;) ) nicht beteiligt.
Ansonsten ist die Engine zu 100% selbst designed und gecoded.

Noch ein paar Worte zur Engine, für jene die gerne viel lesen:
*) Die ridiculousRPG - Game Engine ist in keiner Weise mit dem Rpg-Maker vergleichbar.
Auch wenn du mit dem Maker vertraut bist und die Engine nur ausprobieren willst, wird es eine Einarbeitungszeit brauchen.

*) Als Scriptsprache wird derzeit JavaScript unterstützt. (Der Scripting-Support ist so ausgelegt dass auch andere Scriptsprachen wie etwa Ruby, Groovy,... eingesetzt werden können.)

*) Über Events und Eventhandler lässt sich so gut wie alles machen, da einfach der Script code ausgeführt wird.
Folgende Events werden unterstützt:
onload - Script wird beim Laden ausgeführt
ontouch - Script wird beim Berühren ausgeführt
onpush - Script wird beim Drücken der Aktionstaste ausgeführt
ontimer - Script wird immer mit deltatime aufgerufen. Es wird jedoch eine vorgefertigte Script-Funktion geben, welche einen Countdown daraus macht. (Der Timer bekommt bei jedem Frame die in der Zwischenzeit verstrichene Zeit übergeben)
oncustomevent - Script kann von einem anderen Script ausgelöst werden.

*) Alle Bewegungen sind (durch so genannte Adaptoren) frei kombinierbar. Es gibt auch einen Adapter der einfach nur Script-Code ausführt;)
Folgende Bewegungs-Adaptoren sind derzeit implementiert:

CombinedMovesAdapter (Kombiniert beliebige andere Adaptoren sequentiell miteinander. Jede Bewegung kann entweder für eine bestimmte Zeit oder bis sie fertig ist ausgeführt werden. Etwa 5 Sekunden nach Norden bewegen oder 200 Pixel nach Norden bewegen.)
ParallelMovesAdapter (Kombiniert beliebige andere Adaptoren parallel miteinander)

MoveArcAdapter (Einer Kurve - Bestimmter Winkel einer Ellipse / Kreis)
MoveDistanceAdapter (Eine bestimmte Richtung)
MoveEllipseAdapter (Ellipse / Kreis)
MoveMagneticAdapter (Wird von einem anderen Event angezogen, falls dies in "Reichweite" ist, ansonsten zufällig. Die Stärke des Effektes lässt sich einstellen)
MoveRandomAdapter (Eine zufällige Bewegung)
MoveRectangleAdapter (Rechteck)
MoveSetXYAdapter (Sprung zu Position x,y)
MoveTracerAdapter (Verfolgt ein anderes Event gnadenlos)

Move2WayNSAdapter (Bewegung durch Eingabe in Nord/Süd - Richtung möglich)
Move2WayWEAdapter (Bewegung durch Eingabe in West/Ost - Richtung möglich)
Move4WayAdapter (Bewegung durch Eingabe in allen 4 Himmelsrichtungen möglich)
Move8WayAdapter (Bewegung durch Eingabe in 8 Richtungen möglich)
(Bewegungseingaben können durch Tastatur oder Maus erfolgen)

MoveAnimateEventAdapter (Führe eine Tile-Animation aus)
MoveChangeSpeedAdapter (Ändere Geschwindigkeit)
MoveExecScriptAdapter (Führe ein Script aus)
MoveFadeColorAdapter (Verändere die Farbe dieses Events oder des gesamten Spieles)
MoveNullAdapter (Tu nichts... Denke an CombinedMovesAdapter und Zeit)
MoveRotateEventAdapter (Das angezeigte Bild wird gedreht)

Nun habe ich euch wohl mit genügend zusammenhanglosen technischen Details gequählt;)
Guten Morgen oder schöne Träume wünscht,
Madthrax

niR-kun
07.01.2012, 04:10
Du musst dir bewusst machen, dass eine Engine ohne Maker hier bei der Community nichts wert ist.
Ein Großteil nutzt den Maker wegen der einfachen Bedienbarkeit, obwohl die rpg_rt sehr beschränkt ist und sich erst mit verschiedenen Patches etc. minimal erweitern lässt.

Wenn man sehr viel dazu lernen muss (z.B. javascript), dann kann man auch gleich Java lernen und das Spiel vernünftig zusammen schreiben (das ist jetzt in veränderter Form nach dem Gedächtnis her zitiert).

Die Apache License v2.0 ist eben nur eine Freeware-Lizenz. Es ist zwar so, dass sie soweit mit der GPL v3 (aber nicht GPL v2 - wenn der "jeder späteren Version"-Zusatz fehlt!) kompatibel ist, dass man apache2.0-lizenzierte Libaries, etc. in GPLv3-lizenzierte Projekte nutzen darf, aber nicht anders herum.
Allerdings ist ein Großteil der guten, frei-nutzbaren und im Quellcode-vorliegende Libaries unter GPL oder 2/3-Klausel-BSD lizenziert.

Da du den Quellcode ja bereit stellst, wäre es kein Problem das Projekt unter GPLv3 zu stellen (um auch GPL lizenzierte Libaries mit dem Projekt zu nutzen). Allerdings musst du dann den Quellcode der Engine unter GPLv3 immer freigeben (es wird erwartet dass das zeitlich "nah" bei einem Release einer neuen Version geschieht). Was kompatibel (oder eben nicht) zur GPLv2/v3 ist, kannst du hier erfahren: http://www.gnu.org/licenses/license-list.html

madthrax
07.01.2012, 15:50
Danke für deine Hinweise niR-kun.

Es ist mir klar, dass hier viele beim Maker bleiben werden. Der Maker ist meiner Meinung nach ein sehr gutes Softwareprodukt.


Wenn man sehr viel dazu lernen muss (z.B. javascript), dann kann man auch gleich Java lernen und das Spiel vernünftig zusammen schreiben
Das hast du wohl falsch aufgefasst.
Niemand muss eine Programmiersprache lernen, es ist nur ein "Angebot" der ridiculousRPG - Game Engine. Standardmäßig wird JavaScript angeboten, dies kann jedoch geändert werden.
Auch die neueren Versionen des Makers unterstützen meines Wissen eine Scriptsprache. (Lua wenn ich mich nicht täusche.)

Zum Lizenzproblem:
Ich bin kein Jurist und währe daher echt froh, wenn noch jemand mit fundiertem Wissen dazu Stellung nehmen könnte. (Bitte nichts in der Art: "Ist doch egal solange dich niemand anklagt")

Ich habe das folgendermaßen aufgefasst:
Jemand bietet ein Softwareprodukt unter Apache 2 Lizenz an. Diese Software ist im Stande auch andere Softwareprodukt einzubinden.
Wird nun von einem Dritten ein Softwareprodukt eingebunden, welches unter GPL v3 Lizenz steht, so resultiert daraus ein neues Softwareprodukt, welches unter die GPL v3 Lizenz gestellt werden muss.

Es gibt dazu auch folgenden Guide: (Im Kapitel "New Compatible Licenses" ist eine schöne Übersicht enthalten)
http://www.gnu.org/licenses/quick-guide-gplv3.html

PS: Ich habe mir sehr wohl Gedanken über diese Lizenzproblematik gemacht. Ein kommerzielles Projekt kann den Cortado Videoplayer nicht verwenden, es besteht aber immer noch die Möglichkeit einen Player selbst zu schreiben, welcher der Schnittstelle entspricht.