Kortex RPG Studio



  • Einleitung

    Es geht um unser neuestes Projekt, an dem wir nun schon sehr lange arbeiten.
    Wir sind derzeit 2 Leute, Lord BenneX und ich(Kasenoru).

    Bei unserem Projekt handelt es sich um einen Game-Maker, allerdings auf RPGs zugeschnitten, also eher ein RPG-Maker.
    Es handelt sich dabei also um ein Programm, mit dem jeder ohne Programmierkenntnisse zu benötigen seine eigenen RPGs erstellen kann.
    Das Programm wird Plattformunabhänig sein, damit nicht nur Windowsbenutzer etwas davon haben.
    Für die Leute die noch nie einen RPG Maker gesehen oder benutzt haben, die können sich hier eine Test-Version eines bereits vorhandenen aber kostenpflichtigen RPG Makers runterladen, um besser verstehen zu können wie sowas aufbaut.
    Allerdings nur für Windows:
    RPG Maker XP Download

    Das ganze wird umgesetzt mit Java und C++, wobei Java und AWT/Swing für die GUI benutzt werden und die Engine auf C++ und OpenGL/SDL baut.
    Die SDL wird lediglich für Audio und Input verwendet, während das Grafik-System auf OpenGL aufbaut.
    Screens gibt es am Ende des Treads.

    Wie funktioniert das ganze?

    Es ist eigentlich recht einfach gemacht, die GUI und die Engine sind
    unabhänig voneinander, die GUI könnte auch in VB oder Delphi geschrieben sein.
    Nur für Plattformunabhänigkeit ist Delphi oder VB natürlich keine Lösung, daher Java.

    Die GUI macht nicht mehr als Datenbank Dateien auszugeben.
    Diese Datenbank Dateien enthalten die eigentlichen Spieldaten.
    Z.b. gibt es für jede Map eine Datenbank Datei, wo die Tile-Daten und die Script-Daten der Map gespeichert sind.
    Aber auch für z.b. alle Monster im Spiel gibt es eine Datenbank Datei.

    Die Engine macht nun nicht mehr als diese Datenbank Dateien einzulesen, zu verarbeiten und daraus das Spiel zu bauen.
    So einfach ist die Sache.
    Für jemanden der sich noch nie mit RPGs beschäftigt hat und noch nie sowas gesehen hat, ist diese beschreibung warscheinlich etwas ungenügend.
    In dem Fall empfiehlt es sich, sich einen solchen RPG Maker mal anzuschauen.
    Denn man kann schließlich nichts programmieren was man selber nicht richtig versteht.
    Wir suchen nämlich auch noch Programmierer die uns bei unserem Projekt unterstützen.
    Aber dazu steht unten mehr.

    Die einzelnen Systeme der Engine

    Nun zu den Systemen der Engine.

    Grund-System

    Die Spiele die mit diesem Maker erstellt werden, haben alle eine Auflösung von 320x240.
    Einfach damit der SNES Style erhalten bleibt.
    Wir planen allerdings auch einen 640x480 Modus einzubauen.
    Alle Grafik-Objekte verfügen über eine Z-Koordinate, womit sich die Reihenfolge festlegen lässt, in der sie gezeichnet werden.
    Die Objekte mit der niedrigsten Z-Koordinate werden zuerst gezeichnet.
    Natürlich kann man mit der Engine auch Sounds und Musik abspielen.
    Und Maus/Tastatur lassen sich auch abfragen.

    Momentaner Zustand: 100%

    Text-System

    Mit dem Text-System man kann mehr als nur popligen Text in irgendeiner Standard Farbe ausgeben.
    Das Text-System verwendet Bitmap-Fonts, es gibt einen Font-Converter, der TrueType-Fonts in Bitmap-Fonts umwandelt.
    Zudem wird es noch ein Font-Creator geben, mit dem man eigene Bitmap-Fonts erstellen kann.
    Ein Font besteht aus einer Grafik-Datei, die alle Zeichen enthält.
    Zudem gibt es noch eine Datei, die die geometrischen Daten speichert, z.b. wie breit ein Zeichen ist.

    Der Text eines Dokuments kann beliebig Formatiert werden, es kann bei jedem Buchstaben auf alle 4 Vertexfarben zugegriffen werden, was somit ganz tolle Farbeffekte ermöglicht.
    Zudem sind auch Tanzender Text und lauter so Spielereien möglich.

    Eventuell bauen wir dem Text-System noch HTML ähnliche Befehle ein, damit das mit der Textformatierung etwas einfacher ist.
    Damit man z.b. einfach schreiben kann:
    {c}<255 0 0 0>Hallo{/c}
    Um roten Text anzuzeigen.
    Texte können natürlich auch Skaliert werden, aber ich denke das muss ich nicht alles erwähnen.

    Momentaner Zustand: 85%

    UI-System

    UI steht für User Interface, damit ist die InGame Benutzeroberfläche gemeint.
    Es wird ein paar Standard Steuerelemente wie Windows, Buttons, Checkboxen, etc. geben.
    Wie diese Steuerelemente aussehen kann der Benutzer selber durch sogenannte Skins bestimmen, das sind einfache Grafik-Dateien die das Aussehen der Steuerelemente bestimmen.
    Eventuell wird es auch möglich sein, das sich der Benutzer eigene Steuerelemente erstellen kann.

    Momentaner Zustand: 20%

    Partikel-System

    Das Partikelsystem soll für schöne Animations-Effekte wie z.b. Feuer, Wasser, etc. dienen.
    Als Partikel werden dabei einzelne kleine Bildchen verwendet.

    Momentaner Zustand: 0%

    Script-System

    Naja, Script-System ist etwas ungenau ausgedrückt.
    Aber im Grunde muss man irgendwie bestimmen was in einem RPG passiert.
    In den meisten Fällen ist es so, das man sogenannte Events auf den Maps platziert, die einen entsprechenden Skriptcode und noch einiges mehr enthalten.
    Diese Events werden meistents auch gleich mit ins Map-Format geschrieben und nicht als externe Datei ausgelagert.
    Um das besser zu verstehen sollte man sich das ganze mal in einem bereits vorhandenen
    RPG Maker anschauen.

    Momentaner Zustand: 10%

    Map-System

    Das Map-System ist wohl das Hauptstück, zumindest denken das immer viele, aber eigentlich stimmt das nicht, zu einem RPG gehören mehr als nur Maps, Maps zu zeichnen ist nämlich nicht wirklich schwer.
    Das Map-System verwendet 3 Layer, jedes Tile kann die Objekte auf der Map verdecken oder nicht, das hängt ganz von der Z-Koordinate ab.
    Zudem kann jedes Tile die Objekte blockieren und noch einiges mehr.
    Und wie immer gilt, wer sowas noch nie gesehen hat, der sollte sich das ganze einfach mal anschauen.

    Momentaner Zustand: 30%

    Zusammenfassung der Systeme

    Das hier waren jetzt nur ein paar grobe Systeme.
    Die Planungs-Phase unseres Projekts hat sehr viel Zeit in Anspruch genommen, es war anfangs halt auch nicht klar, ob es jetzt Plattformunabhänig werden soll oder nicht.
    Am Anfang war alles noch C# und Managed DirectX 2.0, wir haben uns erst später entschieden
    Java, C++ und OpenGL/SDL zu verwenden.
    Also versteht bitte das das ganze trotz langer Arbeit noch nicht so weit ist, und wir arbeiten wirklich fast jeden Tag, es gab halt in den ersten Monaten nur einen haufen Probleme und es ging daher anfangs nur stockend voran.
    Aber das hat sich jetzt geändert, was die Engine betrifft, so geht es jetzt fließent voran.

    RPG Maker 2000/2003 Projekt-Import

    Wer den RPG Maker 2000/2003 kennt, der wird sich sicher fragen, ob es möglich sein wird
    RPG Maker 2000/2003 Projekte zu importieren.
    Versprechen kann ich natürlich nichts, aber wir haben uns bereits etwas mit den LMU(LFC-MapUnit) und den LDB(LFC-DataBase) Dateien beschäftigt, im grunde sind diese ganz einfach aufgebaut.
    Ich denke es sollte kein Problem sein, diese in 1-2 Monaten zu entschlüsseln.
    Wir haben auch schon etwas mit der entschlüsselung der LMU-Files begonnen, Z.b. wissen wir wo die Format-Beschreibung(LfcMapUnit), Tileset-ID und Breite/Höhe der Map liegen.

    Klingt jetzt lachhaft, sicher es ist noch nicht viel, aber so schwer ist es eigentlich garnicht.
    Versprechen kann ich natürlich nichts.

    Die GUI
    Hierzu würden wir gerne mehr sagen, aber davon existiert bisher noch nichts außer ein Font-Converter und ein grobes Konzept.
    Deswegen suchen wir derzeit noch Hilfe.

    Wir suchen noch Programmierer!

    Richtig, wir brauchen noch Programmierer, denn ich bin momentan noch ganz alleine an der GUI und an der Engine, und die GUI macht mir Schwierigkeiten.
    Aber man kann nunmal nicht alles.

    Wir bräuchten noch ungefähr ein 1-2 C++ OpenGL/SDL programmierer, die mir bei der Engine helfen, wobei einer eigentlich schon völlig ausreicht.
    Denn zuviele Köche verderben den Brei.

    Es wäre vorteilhaft wenn die Programmierer bereits Erfahrung im Bereich der RPG Programmierung mitbringen.
    Gute kenntnisse in C++ werden ebenfalls vorrausgesetzt, aber ich denke das muss ich nicht alles erwähnen.
    Und OpenGL/SDL sollte auch kein Fremdwort sein.

    Für die GUI bräuchten wir ebenfalls noch 2 Java Programmierer, weil ich im Bereich der GUI Programmierung noch nicht so fit bin und nur schwer voran komme.
    Das heißt nicht das ich nicht weiß wie AWT/Swing funktioniert, nur es reicht eben nicht nur zu wissen wie die ganzen Klassen funktionieren, es kommt auf die Langzeiterfahrung an, und die habe ich nicht wirklich.

    Zudem wäre ein Grafikdesigner, der sich um die Icons und Logos kümmert nicht schlecht, wobei dieser Teil eigentlich schon von Lord BenneX abgedeckt wird.

    Nun etwas zu mir.
    Ich bin seit 2,5 Jahren Engine/Spiele Programmierer.
    Ich beherrsche die Programmiersprachen C/C++, C#, Java und etwas Ruby.
    Ich kenne mich mit SDL/OpenGL und DirectX aus, wobei ich mit DirectX am meisten Erfahrung habe, mit OpenGL arbeite ich erst seit ein paar Monaten, aber ich komme gut voran.
    Wer mal ein Spiel von mir sehen will, dies ist mein neustes welches ich Anfang 2006 veröffentlicht habe:
    Syltroid Download
    Ist aber nichts besonderes, basiert auf C++/DirectX.

    Was die Kommunikation betrifft, so haben wir seit gestern ein kleines Unterforum bei www.maker2000.com erhalten.
    Weil wir waren bis jetzt nur zu zweit, und da reichte ICQ, wenn wir aber mehr werden reicht das wohl nicht.
    Später wird es noch eine Website geben, die von Lord BenneX gemacht wird, aber das ist erstmal nebensache.

    Was noch wichtig ist, ist die Zeit.
    Die Programmierer sollten schon viel Zeit haben, sonst wird das nichts.
    Ich arbeite z.B. sogut wie jeden Tag an dem Projekt.
    Heißt nicht das jeder im Team jeden Tag arbeiten soll, nur es reicht halt nicht
    wenn nur alle 2 Wochen ein Finger krumm gemacht wird, um es mal übertrieben darzustellen.

    Wer Interesse hat uns zu unterstützen, der kann sich bei mir melden, da ich mich momentan um die gesamte Programmierung kümmere.
    Ihr könnt natürlich auch in diesem Tread antworten, nur ich kann nicht versprechen das ich immer sofort antworte, weil das hier nicht das einzige Forum ist indem ich unser Projekt vorstelle.

    ICQ: 337162628
    E-Mail: andre.radomski@ghs-pestalozzi.de

    Wir freuen uns auf eure Hilfe.

    Screenshots

    Zum Abschluss gibt es jetzt noch ein paar Screenshots.

    Die Text-Engine kann normalen weißen Text Ausgeben.
    Screen

    Wenn man es etwas bunter haben will, kann man den Text natürlich auch einfärben 😉
    Screen

    Mit dem UI-System kann man immerhin schon Fensterchen machen.
    Screen

    Nochmal alles zusammen, im Hintergrund sieht man übrigens die ganze
    Zeit eine Map, nur ohne Map-Editor kann ich sie nicht besser gestalten.
    Screen

    Zum Abschluss noch ein Bild vom Font-Converter.
    Screen



  • Die informationen oben stimmen nicht mehr ganz.

    Update:

    Das KorteX RPG Studio ist ein Programm zum Erstellen von plattformunabhängigen 2D-Rollenspielen (RPGs) im SNES-Stil ohne Programmierkenntnisse.

    Features:

    -Maps mit beliebig viele Ebenen
    -Für jede Map-Ebene kann ein anderes Tileset gewählt werden
    -Eventsystem mit sehr vielen Funktionen und Möglichkeiten
    -Datenbank mit vielen Einstellungsmöglichkeiten
    -Einfach zu bedienendes Animationssystem
    -Ruby Skripteditor
    -Als Standard Kampfsysteme stehen ein SKS und ein AKS zur verfügung
    -Standard Menüs und Kampfsysteme einfach modifizierbar, komplette Modifizierung durch Ruby möglich
    -Audio-Engine auf Basis von FMODEX mit vielen Funktionen
    -Moderne Grafik-Engine auf Basis von OpenGL und SDL
    -Unterstützung für Tastatur, Maus und Joystick
    -Komplette Engine durch Ruby ansprechbar
    -Einfach zu bedienender Font-Creator zum erstellen von eigenen Fonts

    Und vieles, vieles mehr!

    Ruby unterstützung

    Das KorteX RPG Studio bietet einen Ruby Skripteditor, in dem der Benutzer
    eigene Ruby-Skripte anlegen kann.
    Man kann mit den Ruby-Skripten auf die komplette Engine des KorteX RPG Studios zugreifen und kann bereits vorhandene Skripte den eigenen Wünschen anpassen.
    Vieles wird in Ruby implementiert sein und ist somit für den Benutzer anpassbar.
    Zum Beispiel das Kampfsystem oder das Menü.

    Engine-Demo

    Wir haben eine kleine Engine-Demo vorbereitet, die ihr testen könnt/sollt, damit man sich das ganze auch mal selbst ansehen kann. Die Demo ist vorerst nur als Windows und Linux Version verfügbar und zeigt die folgenden Features:

    -Text
    -Player-Movement
    -Maps
    -Rotation
    -Sound und Musik
    -Transitions
    -Ruby(Die Demo ist durch Ruby modifizierbar)

    Eine Mac OS X Version steht derzeit nicht zur Verfügung, dort muss man sich zunächst mit Screenshots zufriedenstellen, da es bei Mac OS X derzeit noch ein einziges, ganz kleines, Problem gibt. Das wird aber in kürze behoben und die Demo wird dann nachgereicht.

    Die Demo erfordert eine OpenGL fähige Grafikkarte mit entsprechendem Treiber und Hardwarebeschleunigung.
    Die Demo startet im Vollbildmodus, um das abzustellen:

    1. In den Script-Ordner wechseln.
    2. SCRIPT_6.rb öffnen.
    3. Die Zeile Graphics.init(320, 240, true, "Game", nil) suchen.
    4. Die Zeile ersetzen durch Graphics.init(320, 240, false, "Game", nil)

    Download: Windows-Demo

    HINWEIS:
    Die Windows-Demo ist mit Windows Vista NICHT kompatibel, wir arbeiten daran.

    Download: Linux-Demo

    HINWEIS:
    Für die Linux-Demo müssen sämtliche Libs installiert werden, welche in der README stehen. Zudem wird OpenGL benötigt und es muss ein Beschleunigter Grafiktreiber nicht nur vorhanden sondern auch aktiviert sein.
    Die Linux-Demo ist nicht ganz einfach einzurichten und ist zunächst nur für erfahrene Linux-Benutzer geeignet. Wir werden das aber noch verbessern.

    Neue Website und Forum

    Wir haben nun eine komplett neue und wesentlich bessere Website als vorher, dort finden sich sämtliche Screenshots und aktualisierte Inhalte. Zudem haben wir nun ein komplett eigenes Forum und werden nicht mehr von http://www.maker2000.com gehostet.
    Die Neue Seite ist unter unserer bekannten Domain (http://www.kortex-studio.de) zu erreichen.

    Mit freundlichen Grüßen

    Euer KorteX-Team


Anmelden zum Antworten