Seite 1 von 5 12345 LetzteLetzte
Ergebnis 1 bis 20 von 98

Thema: [DynRPG] RPGSS

  1. #1

    [DynRPG] RPGSS

    Einführung

    Das Role Playing Game Scripting System (RPGSS) ist ein Plugin für Cherrys DynRPG (RM2k3 Plugin SDK). RPGSS ist eine (mehr oder weniger) komplette Skriptumgebung mit Lua als Skriptsprache, am ehesten vergleichbar mit dem RGSS (Ruby Game Scripting System), der Skriptumgebung für den RPG Maker XP.


    Features

    • Lua statt C++. Lua ist sehr einfach zu erlernen, mächtig, robust, erweiterbar, weit verbreitet (sogar im kommerziellen Bereich) und sehr schnell (LuaJIT übersetzt Lua Code zur Laufzeit in Maschinencode).
    • Schnelle und produktive Entwicklung von Erweiterungen, sowie unkomplizierte Wartung. Eine Erweiterung ist nichts anderes als eine menschenlesbare Lua-Quellcodedatei.
    • Aussagekräftige Fehlermeldungen und ein detaillierter Stack Traceback, sollte mal etwas schiefgehen, stehen dem Entwickler zur Seite.
    • Ein großer Teil der DynRPG API aus Lua heraus verfügbar.
    • Umfangreiche, essentielle Bibliotheken mit einer einfach zu erlernenden Schnittstelle stehen dem Entwickler out-of-the-box zur Verfügung.
    • Schnelle und mächtige Grafikroutinen eröffnen neue Möglichkeiten bei der Grafikprogrammierung. True Color Bilder mit Alphakanal, Blend Modes, Bitmap Fonts, Window Skins, grafische Primitive, etc.
    • Auslagerung von performancekritischem Event Code nach Lua kann die Laufzeiteigenschaften erheblich verbessern. Event Code ist für häufiges Aktualisieren von Variablen und Switches, sowie grundsätzlich für Berechnungen äußerst ungeeignet. Mit Lua steht eine echte Programmiersprache und mit LuaJIT eine Ausführungsgeschwindigkeit, die sogar C/C++ Konkurrenz machen kann, zur Verfügung.



    Screenshots




    Roadmap

    • Verbessere die Dokumentation. (Priorität: Hoch)
    • Stelle mehr Skripte zur Verfügung. (Priorität: Hoch)
    • Stelle mehr Grafikroutinen zur Verfügung. (Priorität: Mittel)
    • Optimiere die Grafikroutinen noch weiter. (Priorität: Mittel)
    • Stelle eine räumliche Audiobibliothek zur Verfügung. (Priorität: Niedrig)



    Quellcode

    Check out RPGSS on GitHub


    Dokumentation

    Check out RPGSS docs on GitHub

    Alternativ liegt den Releases immer der Programmer's Guide im PDF-Format vor.


    Downloads

    Achtung: RPGSS benötigt DynRPG 0.20. Im Moment gibt es davon nur eine Testversion, die ihr hier herunterladen könnt.

    rpgss-0.5.0.7z
    rpgss-0.5.1.7z
    rpgss-0.5.2.7z
    rpgss-0.6.0.7z
    rpgss-0.7.0.7z
    rpgss-0.8.0.7z
    rpgss-0.9.0.7z


    Lizenz

    The MIT License (MIT)

    Geändert von Kyuu (14.07.2014 um 17:33 Uhr)

  2. #2
    Holy! o_____o Das muss ich mir erstmal genauer ansehen, aber anhand der Screenshots (wie hier z.B.) könnte das das Next-Big-Thing nach DynRPG werden!
    Ich hoffe du hast das auch bei rmn vorgestellt. :>

    Geändert von goldenroy (25.04.2014 um 00:54 Uhr)

  3. #3
    Gosch... Es wird immer sinnloser, zu einem neueren Maker zu wechseln. :'D

  4. #4
    Zu allererst, tut mir Leid, dass der Startbeitrag auf den ersten Blick etwas wenig Informationen beinhaltet. Ich werden heute oder morgen Abend diesen noch aktualisieren und mit mehr Informationen (und Screenshots, um das Ding schmackhafter zu machen) versehen. Bis dahin bitte ich die Interessierten sich die, dem Release beigelegte Dokumentation "Programmer's Guide" anzusehen. Diese enthält bereits genug Informationen um zumindest etwas damit anfangen zu können, vorsichtig ausgedrückt.

    Zitat Zitat von goldenroy Beitrag anzeigen
    Holy! o_____o Das muss ich mir erstmal genauer ansehen, aber anhand der Screenshots (wie hier z.B.) könnte das das Next-Big-Thing nach DynRPG werden!
    Hey, danke für das Kompliment! Es muss sich leider noch außerhalb meines Testprojektes beweisen, aber ich bin zuversichtlich, dass es zumindest dem ein oder anderen hilfreich sein wird, da es doch einige Features bietet, die so noch in keinem DynRPG Plugin realisiert worden sind, AFAIK. 24-bit Images mit Alphakanal!!! (Okay, man sieht im Endeffekt nur 16-bit, da der RPG Maker Framebuffer nur 16-bit unterstützt...aber immerhin keine 8-bit!)

    Zitat Zitat von goldenroy Beitrag anzeigen
    Ich hoffe du hast das auch bei rmn vorgestellt. :>
    Ne, bin da gar nicht registriert. Sind die cool?

    Geändert von Kyuu (25.04.2014 um 10:04 Uhr)

  5. #5
    Zitat Zitat von Kyuu Beitrag anzeigen
    da es doch einige Features bietet, die so noch in keinem DynRPG Plugin realisiert worden sind, AFAIK. 24-bit Images mit Alphakanal!!! (Okay, man sieht im Endeffekt nur 16-bit, da der RPG Maker Framebuffer nur 16-bit unterstützt...aber immerhin keine 8-bit!)


    Das wollt ich damit schon lang machen. Kam aber nie dazu. Das schöne ist, dass solche Ideen deswegen nicht unumgesetzt bleiben - jetzt hast du es gemacht.
    Sehr cool auf jeden Fall.

  6. #6
    Zitat Zitat von Kyuu Beitrag anzeigen
    Ne, bin da gar nicht registriert. Sind die cool?
    Die haben quasi n eigenes Unterforum fast ausschließlich wegen DynRPG-Plugins aufgemacht. Man kann also sagen, das die sowas begrüßen. xD

  7. #7
    Frage: In der Doku steht, dass DynRPG lahm ist was das Grafiken anzeigen angeht, du benutzt aber doch DynRPG als Schnittstelle. Womit kriegst du deine 24-Bit Bilder mit Alphakanal und Blending so schnell gezeichnet? Ich dachte immer, dass der Maker lahm ist liegt dran, dass Pixel für Pixel in den Buffer geschoben werden anstatt der Grafikkarte einen Sprite in die Pipeline zu schieben.

  8. #8
    Zitat Zitat von goldenroy Beitrag anzeigen
    Die haben quasi n eigenes Unterforum fast ausschließlich wegen DynRPG-Plugins aufgemacht. Man kann also sagen, das die sowas begrüßen. xD
    Awesome, ich guck mal bei Gelegenheit vorbei.

    Zitat Zitat von Corti Beitrag anzeigen
    Frage: In der Doku steht, dass DynRPG lahm ist was das Grafiken anzeigen angeht, du benutzt aber doch DynRPG als Schnittstelle.
    Was Grafik angeht, benutze ich DynRPG nur um auf den Framebuffer zuzugreifen, für den Rest habe ich eigene Grafikroutinen.

    Zitat Zitat von Corti Beitrag anzeigen
    Womit kriegst du deine 24-Bit Bilder mit Alphakanal und Blending so schnell gezeichnet? Ich dachte immer, dass der Maker lahm ist liegt dran, dass Pixel für Pixel in den Buffer geschoben werden anstatt der Grafikkarte einen Sprite in die Pipeline zu schieben.
    Das ist korrekt, nur können geeignete Datenstrukturen + Algorithmen nochmal eine Menge herausholen. Ich mache auch nichts anderes als (im Endeffekt) Pixel für Pixel in den Buffer zu schieben, den Unterschied macht die Vorarbeit. Der Maker kann ziemlich schnell Pixel in den Buffer schieben, solange keine Transparenz und keine Transformationen im Spiel sind. Außerdem habe ich stellenweise (wo es sich lohnt) SIMD-Optimierungen drin (Single Instruction Multiple Data, d.h. ich berechne/schiebe mehrere Pixel gleichzeitig), was nochmal eine Menge Performance bringt. Übrigens kann man, denke ich, da noch einiges rausholen, nur will ich im Moment keine Zeit dafür aufbringen.

    Geändert von Kyuu (26.04.2014 um 00:34 Uhr)

  9. #9
    So, Startbeitrag aktualisiert und es gibt eine neue Version (0.5.2), die ein paar Bugs fixt. Sorry, dass es so lange gedauert hat. Ich hatte es in den letzten Tagen mit einem äußerst subtilen GCC-Bug zu tun, der dafür sorgt, dass im Release Build sehr ineffizienter Code generiert wird (zumindest an einer Stelle). Dadurch war ich gezwungen an einer Stelle den Code, der in performancekritischen Schleifen verwendet wird in Inline Assembler zu schreiben. Ich werde in den nächsten Tagen nochmal an anderen Stellen den von GCC generierten Code inspizieren müssen...

    Geändert von Kyuu (29.04.2014 um 01:32 Uhr)

  10. #10
    Ziemlich krass =0

  11. #11
    Ich bin zur Zeit dabei ein paar Tutorials zu schreiben und bei den grafischen Möglichkeiten lohnt sich natürlich ein Lightmap-Tutorial. Dazu bräuchte ich eine Map, zusammen mit einer passenden Lightmap, nur... ich habe noch nie Lightmaps erstellt und meine Mappingkünste lassen auch zu wünschen übrig. Könnte mir jemand, der im Mapping und in Lightmaps geübt ist, hier unter die Arme greifen und mich mit einer Map inklusive einer passenden Lightmap versorgen? Die Map sollte einen Raum in einem Gebäude darstellen, möglichst düster, und größer als 20 x 15 Tiles sein. Es können auch mehrere Räume, d.h. mehrere Maps, die mehrere, zugängliche Räume darstellen, sein.

  12. #12
    Als Entwickler eines freien RPG Maker 2k(3)-Nachbaus graust es mir, wenn ich solche Entwicklungen sehe . Aber dennoch Respekt vor dieser Leistung, ist schon eine echt coole Sache. Falls ich jemals das Verlangen haben sollte, ein komplexeres DynRpg-Plugin zu schreiben, werde ich es wohl aus Gründen der Zeitersparnis in Lua machen.

    Die von dir gewählte Lizenz (GPL) ist übrigens eine schlechte Wahl, weil RPG_RT unfreie Software ist und es ein Lizenzverstoß ist, ein GPL-Plugin in nicht-freie Software hereinzuladen . Musst eine "GPL linking exception" für diesen Fall definieren.

  13. #13
    Zitat Zitat von Ghabry Beitrag anzeigen
    Als Entwickler eines freien RPG Maker 2k(3)-Nachbaus graust es mir, wenn ich solche Entwicklungen sehe .
    Ach, das ist nur blindes Herumstochern. Sollte EasyRPG mal soweit sein, wird das alles schnell Geschichte. ;-) Ich wünsche euch viel Erfolg dabei!

    Zitat Zitat von Ghabry Beitrag anzeigen
    Die von dir gewählte Lizenz (GPL) ist übrigens eine schlechte Wahl, weil RPG_RT unfreie Software ist und es ein Lizenzverstoß ist, ein GPL-Plugin in nicht-freie Software hereinzuladen . Musst eine "GPL linking exception" für diesen Fall definieren.
    Hm, da bin ich mir unsicher, ob diese linking exception bei so einem Drittanbieter-Plugin wirklich benötigt wird, der schließlich nicht offiziell und nicht direkt von der RPG_RT verwendet wird. Aber ich wollte eh noch zur MIT wechseln. Thanks for the heads-up!

    Geändert von Kyuu (06.05.2014 um 23:38 Uhr)

  14. #14
    Prototyping in RPGSS:



    Check it out!

    Geändert von Kyuu (12.05.2014 um 05:57 Uhr)

  15. #15
    Zitat Zitat
    Schnelle und mächtige Grafikroutinen eröffnen neue Möglichkeiten bei der Grafikprogrammierung. True Color Bilder mit Alphakanal, Blend Modes, Bitmap Fonts, Window Skins, grafische Primitive, etc.
    Heißt das, ich kann nach Installation einfach so Bilder mit Alphakanal und 24bit benutzen ...? You kidding me ...?

    Geändert von IndependentArt (09.05.2014 um 09:14 Uhr)

  16. #16
    Zitat Zitat von IndependentArt Beitrag anzeigen
    Heißt das, ich kann nach Installation einfach so Bilder mit Alphakanal und 24bit benutzen ...? You kidding me ...?
    Nicht im Maker an sich - aber in RPGSS-PlugIns, die du schreibst

    PeAcE
    MorDen

  17. #17
    Nochmal 'ne Frage: Ich war bisher auf dem Stand, dass zu neue GCC-Versionen kein ordentliches DynPlugin produzieren, du benutzt aber die Prozessorarchitekturabfrage von 4.8.0+ ~ Was habe ich verpasst / wo ist der Kniff?

  18. #18
    Zitat Zitat von Morden Beitrag anzeigen
    Nicht im Maker an sich - aber in RPGSS-PlugIns, die du schreibst
    Plugin klingt so nach C++... Ich nenne sie lieber Skripte.

    Zitat Zitat von IndependentArt Beitrag anzeigen
    Heißt das, ich kann nach Installation einfach so Bilder mit Alphakanal und 24bit benutzen ...? You kidding me ...?
    Wie Morden bereits gesagt hat, direkt im RPG Maker nicht, aber aus einem Lua-Skript. Ich versuche mal heute ein Skript zu schreiben, mit dem man Bilder aus dem Event Code anzeigen und manipulieren kann, sollte nicht so aufwändig sein.

    Zitat Zitat von Corti Beitrag anzeigen
    Nochmal 'ne Frage: Ich war bisher auf dem Stand, dass zu neue GCC-Versionen kein ordentliches DynPlugin produzieren, du benutzt aber die Prozessorarchitekturabfrage von 4.8.0+ ~ Was habe ich verpasst / wo ist der Kniff?
    Dyn 0.20 funktioniert doch offiziell mit GCC-Versionen 4.7.1+:

    Zitat Zitat von DynRPG 0.20 Help
    This DynRPG version only works with GCC version 4.7.1 and higher.
    Und danke, BTW. Mir war gar nicht bewusst, dass __builtin_cpu_supports erst seit GCC 4.8.0 zur Verfügung steht. Da werde ich noch einen Workaround für ältere GCC-Version einbauen müssen.

  19. #19
    Zitat Zitat
    Prototyping in RPGSS:
    [...]
    Habs mal ausprobiert, ist echt schick.
    Aber gehört sich das so, dass es deutlich bemerkbar langsamer läuft, wenn der Radius sich erhöht? °-°'

  20. #20
    Ja, das ist OK so. Ist nur ein Prototyp, komplett in Lua geschrieben und soll zeigen, wie einfach und schnell sowas in Lua/RPGSS geht und einen Ausblick auf die neue Grafikroutine geben, die später in C++ implementiert wird. Bei einem Radius von 100 werden da übrigens 100*100*PI = über 31000 Pixel pro Frame berechnet, wobei pro Pixel eine Menge Operationen und trigonometrische Funktionen involviert sind.

    Edit: BTW, wenn jemand Fragen, Anregungen oder Wünsche bezüglich RPGSS hat: nur her damit. Ich habe mir mit der Dokumentation Mühe gegeben, aber da ich der Entwickler bin, ist es durchaus möglich, dass es da noch einen Haufen Sachen gibt, die aus der Sicht eines anderen noch unklar sind oder gänzlich fehlen, aber zum Verständnis wichtig sind. Also, nur keine Scheu!

    Geändert von Kyuu (09.05.2014 um 13:53 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •