![]() |
|
RPG Maker Programme und Erweiterungen Ein Forum für Programme und Erweiterungen zum RPG Maker. |
![]() |
|
Themen-Optionen |
![]() |
#1 |
Anfänger
![]() Registriert seit: 05.02.2006
Beiträge: 61
|
![]() Hi!
Ich möchte ein noch relativ junges Tool zu Spieleentwicklung vorstellen: Das Open Game Studio. Ich halte dieses Unterforum für angebrachter da es auch als "RPG Maker Programm" verwendet werden kann. Außerdem denke ich dass es im passenden Unterforum recht schnell verschwinden würde. Das Open Game Studio schlägt einen etwas anderen Weg als der RPG Maker ein, indem es Wert auf sogenannte Low-Level Funktionen legt die die Möglichkeiten des Scriptings wesentlich erweitern (ähnlich wie RGSS). Diese sind zur Zeit schon relativ mächtig, es gibt schon ein Script um ein beliebiges Event (mit Animation) über eine Map laufen zu lassen (also quasi einen NPC). Leider mangelt es zur Zeit noch etwas an den vielen High-Level Funktionen die der RPG Maker besitzt. Ein paar gibt es bereits (Maps, Animationen), einige werden noch kommen (Menüs, Speichern, etc.). Die wichtigste High-Level Funktion ist vermutlich das Mapping. Es existiert ein Map Editor, der in das Open Game Studio integriert ist (daneben gibt es noch einen Editor für die Konfigurationsdatei (in der man beispielsweise Auflösung und Framerate einstellen kann), einen Tileset Editor, einen Eventeditor und einen Animationseditor). Als Scriptsprache wird Lua verwendet, eine in der Spieleentwicklung recht beliebte, leicht zu erlernende Sprache. Es gibt auch ein paar Scriptbeispiele (bzw. Tests). Lua macht die Engine auch extremst schnell, auf einer leeren Map (also keine Events) schafft sie bei mir ungefähr 175 FPS, auf einer vollen schwankt sie zwischen 70 und 140 FPS (ohne Debugausgabe bei voller CPU Auslastung). Die meisten werden aber vermutlich die Engine sowieso drossen wollen, da 150 FPS auch nicht anders aussehen als 50 FPS. Das ist natürlich auch kein Problem, da wird die CPU Auslastung natürlich geringer. Bei mir sind das mit ~50 FPS (nach oben hin begrenzt, nach unten schwankt es immer ein wenig, also 45 - 50 FPS) ~8% CPU Auslastung, bei einem Snake spiel. Dazu muss man noch sagen dass wir bezüglich der Geschwindigkeit noch sehr wenig optimiert haben ![]() Es wird auch parallel an Testspielen gearbeitet. Ziel ist es ein paar Lua Scripte zur Verfügung zu stellen die fast jeder braucht und will. Wir haben da beispielsweise eine Textbox, ein Bewegungsscript und eine effiziente (wenn auch im ersten moment nicht ganz triviale) Möglichkeit Positionen auf der Map zu vergleichen. Auch ein pseudo KS existiert. Zurzeit aktuell ist das 0.0.8.8 Release, an dem man die wichtigsten Features sehen kann. Allerdings ist es schon sehr alt und zu großen Teilen überholt, es ist allerdings noch nicht ganz sicher wann ein neues Release auftauchen wird. Auf unserer Website finden sich alle wichtigen Links, sowohl zu unserer Wiki (die noch unvollständig ist, aber nützliche Informationen enthält), als auch zu den Downloads und auch zu unserem Forum. Außerdem haben wir einen sogenannten Idea Torrent, der dazu da ist Ideen zu sammeln, bewerten, kommentieren etc. Wenn ihr also eine größere Idee habt (etwas das in einer Minute erklärt ist, für sinnvoll befunden wird und in 5 Minuten programmiert wird braucht man da nicht zu posten ![]() Das Projekt ist auf sourceforge.net gehostet, es ist 100% freier Code den jeder ansehen und verändern kann (GPL bzw. LGPL lizenziert). Ich beantworte gerne alle Fragen, entweder hier im Forum, in #opengamestudio IRC channel auf freenode (englisch) oder #opengamestudio.de (deutsch). Links: http://darkas.cherrytree.at/de/ (Unsere Website) http://darkas.cherrytree.at/ (Englisch) http://en.wikipedia.org/wiki/High_and_low_level (Erklärung zu High-Level und Low-Level, leider nicht auf deutsch ![]() http://de.wikipedia.org/wiki/GNU_General_Public_License (GPL lizenz) http://de.wikipedia.org/wiki/GNU_Les...Public_License (LGPL lizenz) Geändert von Darkas (21.11.2010 um 20:53 Uhr). |
![]() |
![]() |
![]() |
#2 | ||
23
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Zitat:
Zitat:
Hmm, klingt sehr interessant. Alle anderen Spieleentwicklungsumgebungen, die ich bisher kennengelernt habe, waren proprietärer Quark, zumeist kostenpflichtig. Du hast es stark in Relation zum RPG Maker gesetzt - ist das Ziel, eine ähnliche Umgebung zu schaffen? Du sprachst zum Beispiel von Events und Pages usw.
__________________
"So, und jetzt Schluss mit dem Lamentieren - lasst uns etwas Kunst machen!!!" - GS_Raphael |
||
![]() |
![]() |
![]() |
#3 | ||
Anfänger
![]() Registriert seit: 05.02.2006
Beiträge: 61
|
![]() Zitat:
Ja, genau genommen ist das ganze von der Idee bis zur Implementierung zu fast 100% auf meinem mist gewachsen (auch wenn sich mittlerweile auch ein paar andere Entwickler beteiligen) Zitat:
![]() |
||
![]() |
![]() |
![]() |
#4 |
Administrator
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Sehr interessantes Projekt. Leider haben sich ähnliche und vergleichbare Projekt ja viel zu oft in Luft aufgelöst. Habt ihr, neben der Verwendung von Lua, auch schon andere Pläne für die Software?
![]() |
![]() |
![]() |
![]() |
#5 |
Anfänger
![]() Registriert seit: 05.02.2006
Beiträge: 61
|
![]() Naja... kommt drauf an ob ich einen Roman erzählen soll
![]() Also ich denke mal das wichtigste Feature ist eine sehr flexible Plugin Architektur (die leider noch nicht so wirklich existiert aber keine große Sache sein sollte, "Plugins" lassen sich wunderbar im Code einfügen). Zur Zeit gibt es drei fest eingebaute "Plugins": SDL für 2D Grafiken (und später vielleicht Sound), Maps und Lua (ja, auch das ist austauschbar, vielleicht will ja doch lieber jemand irgendwann mal ruby haben ![]() Ansonsten eben die vielen Low-Level Funktionen mit denen auch schon viel möglich ist (mal ein einfaches Beispiel, jede Map ist ein Engine Objekt, jedes Bild ist auch ein Engine Objekt. Beide lassen sich mit genau den selben Funktionen bearbeiten). Was vielleicht noch ein deutlicher Vorteil gegenüber dem RPG Maker ist, ist dass Unterstützung für richtige Scripts von Haus aus dabei ist und nicht über komplizierte Hintertürchen hergeholt werden muss. Übrigens: auf der Projektseite ist ein erster Screenshot von der Engine zu sehen. Die Engine schafft auf meinem Rechner bis zu 200 FPS (höchstwert, meistens eher 150 - 170, wobei das alles errechnete Werte sind, also nicht gezählt), allerdings passiert ja bei 2D Grafiken auch nicht besonders viel, ich habe noch keine Möglichkeit gefunden die Grenzen zu erkunden. Der Download von der aktuellen Testversion ist in Arbeit, ich denke mal bis das hier überhaupt jemand gelesen hat ist das ganze schon hochgeladen. Einfach mal auf der Projektseite nachschaun wen es interessiert. Der Map Editor hat noch einen kleinen Bug, er wird nicht laufen wenn die Map die er bearbeiten soll Events enthält (relativ einfach zu fixen, allerdings habe ich ein kleinen Code freeze verhängt und da hat es der Fix nicht mehr reingeschafft, vorallem weil der Bug zu spät entdeckt wurde), also Events einfach rausnehmen, speichern und danach wieder laden. Weitere Hinweise finden sich in einer Textdatei die dabei sein wird (auf Englisch), unter anderem zur bedienung des Map Editors (der ist noch relativ Spartanisch aber die Engine war einfach erstmal wichtiger). PS: naja, also doch Roman :P |
![]() |
![]() |
![]() |
#6 |
Anfänger
![]() Registriert seit: 05.02.2006
Beiträge: 61
|
![]() Wie man in den Statistiken sehen konnte haben ein paar leute mal reingeschaut aber keiner hat sich getraut mein Testpacket runterzuladen. Deswegen hab ich mir gedacht ich Liste einfach mal ein paar Features etc. auf mit denen man schon etwas Anfangen kann:
Maps: Ebenen (bis zu 255 falls jemand so viele braucht ![]() Die vom RPG Maker bekannten autotiles Transparenz Blockierende Tiles (das Testscript zur Bewegung benutzt das auch) Map wechseln ("Teleport", aber noch nicht mit Position) Map verschieben (man kann die X und Y koordinaten der oberen linken ecke der map verändern) Events... naja, Scripte zumindest Scripte: Verschiedene runlevel (einmal, einmal pro frame und so lange bis das script sich selbst löscht oder ein wait aufruft) Objekte erstellen (beispielsweise Images oder Text) Objekte verändern (verschieben, Objektspezifische sachen wie Bild ändern bei Images oder Text ändern bei Text Objekten und sogenannte context values ändern, dazu unten mehr) Das volle Potential von Lua Das ist nur ein kleiner Auszug, ich habe wahrscheinlich die Hälfte vergessen ![]() Und hier noch ein kleines Script für alle die wissen wollen was ungefähr möglich ist: Code:
time = 300 tilesize = 16 if object.exists("test") then o = object.getObject("test") if o:getValue("move", "dir") == 0 then if game.keyPressed("up") and game.callEngineFunction("map", "isWalkable", object.getObject("map"), o:getX() / tilesize, (o:getY() / tilesize) - 1) then o:setValue("move", "dir", 1) end if game.keyPressed("right") and game.callEngineFunction("map", "isWalkable", object.getObject("map"), (o:getX() / tilesize) + 1, o:getY() / tilesize) then o:setValue("move", "dir", 2) end if game.keyPressed("down") and game.callEngineFunction("map", "isWalkable", object.getObject("map"), o:getX() / tilesize, (o:getY() / tilesize) + 1) then o:setValue("move", "dir", 3) end if game.keyPressed("left") and game.callEngineFunction("map", "isWalkable", object.getObject("map"), (o:getX() / tilesize) - 1, o:getY() / tilesize) then o:setValue("move", "dir", 4) end o:setValue("move", "distance", 0) o:setValue("move", "oldX", o:getX()) o:setValue("move", "oldY", o:getY()) end if not (o:getValue("move", "dir") == 0) then distance = o:getValue("move", "distance") + game.getFrametime() o:setValue("move", "distance", distance) if distance > time then distance = time end if o:getValue("move", "dir") == 1 then o:setY(o:getValue("move", "oldY") - ((distance * tilesize) / time)) end if o:getValue("move", "dir") == 2 then o:setX(o:getValue("move", "oldX") + ((distance * tilesize) / time)) end if o:getValue("move", "dir") == 3 then o:setY(o:getValue("move", "oldY") + ((distance * tilesize) / time)) end if o:getValue("move", "dir") == 4 then o:setX(o:getValue("move", "oldX") - ((distance * tilesize) / time)) end if distance >= time then distance = 0 o:setValue("move", "dir", 0) end o:setValue("move", "distance", distance) end else o = image.new() o:setX(0) o:setY(0) o:setValue("move", "dir", 0) o:setValue("move", "distance", 0) o:setImage("Bush") o:addToQueue("test") end |
![]() |
![]() |
![]() |
#7 |
23
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Hmm, tut mir leid, das zu sagen, aber ich glaube du wirst hier eher weniger Leute finden, dir helfen können / wollen... die meisten hier haben panische Angst vorm Programmieren, und alle anderen sind schwer mit eigenen Projekten beschäftigt, soweit ich weiß :/
Mich persönlich interessiert das Projekt sehr; andererseits habe ich bewusst für mein Projekt den RMXP gewählt, da dort das meiste bereits vorgegeben ist... :/ Ist das Projekt plattformunabhängig? Auf der Webseite steht nix dazu. Das wäre schon ein großer Vorteil.
__________________
"So, und jetzt Schluss mit dem Lamentieren - lasst uns etwas Kunst machen!!!" - GS_Raphael |
![]() |
![]() |
![]() |
#8 |
Anfänger
![]() Registriert seit: 05.02.2006
Beiträge: 61
|
![]() Ja, sowohl der Map Editor als auch die Engine laufen auf Windows und Linux (mit automake)
PS: Es ist ja nur scripten :P Geändert von Darkas (11.08.2009 um 22:48 Uhr). |
![]() |
![]() |
![]() |
#9 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Registriert seit: 04.10.2007
Ort: Österreich/Salzburg/Pongau
Alter: 23
Beiträge: 1.183
Blog-Einträge: 1
|
![]() Wenn ich nicht so wenig Zeit hätte, würde ich mich melden.
Aber es interessiert mich trotzdem sehr, ich würde gerne was näheres über die Interna erfahren, vllt kann ich ja doch helfen. mfG Cherry EDIT: Ich kriegt das gar nicht mal zum Laufen. Die Engine sowie der Map Editor, beide schließen sich, wenn ich keine Parameter angebe. Mit "map1.xml" bleibt die Engine offen, aber schwarz. Der Map Editor schließt sich dann aber auch sofort. In stdout.txt steht in beiden Fällen "Document: Map1.xmlcannot be load"... Du könntest btw dich erst mal auf die Engine konzentrieren und für Maps das FMP-Format benutzen, wo es schon einige leistungsfähige Editoren gibt. NPCs oder so könnte man weiterhin über XML machen.
__________________
|
![]() |
![]() |
![]() |
#10 |
Anfänger
![]() Registriert seit: 05.02.2006
Beiträge: 61
|
![]() Hmm... ganz einfach: ich habe vergessen die Font zu kopieren. Dann läuft die Engine wunderbar. Bzgl. des Map Editors hilft es unter umständen ein bisschen weiter oben hier im Thread zu lesen, er wird abstürzen wenn die Map events enthält. Diese finden sich ganz unten in der Map, leicht zu erkennen und zu löschen. Ich denke ich werde das ganze ein wenig updaten da ich ein paar neue wichtige Features hinzugefügt haben und diesen Bux gefixt habe.
Wegen den Interna wäre es vielleicht besser das ganze irgendwo anders zu diskutieren, die sind schon etwas komplizierter ![]() PS: Ich habe die Font mal in den Anhang gepackt, einfach reinkopieren |
![]() |
![]() |
![]() |
#11 |
Abenteurer
![]() ![]() |
![]() ich würde sehr gerne ein paar Screenshots hier haben wollen, amit man sich das Projekt schonmal ein kleinwenig begutachten kann.
Der eine Screenshot, der auch der Hauptseite ist kann man leider nicht viel absehen. |
![]() |
![]() |
![]() |
#12 |
Anfänger
![]() Registriert seit: 05.02.2006
Beiträge: 61
|
![]() Ähh..... naja, viel mehr gibts eigentlich nicht zu sehen... Es arbeiten derzeit 2 Leute an einem Menschenwürdigen GUI für den Map Editor, dann gibt es mehr interessantes. Die einzigsten anderen Screenshots würden dasselbe ein wenig verändert Zeigen, vielleicht auf einer anderen Map oder so
![]() Wenn ich das Feature and dem ich grade Arbeite fertig habe mache ich wahrscheinlich ein kleines Textbox script und dann muss ich mal schaun ob ich schon ein anderes Objekt mit Aktionen einbaun kann wie ein Schild das man lesen kann. |
![]() |
![]() |
![]() |
#14 |
Anfänger
![]() Registriert seit: 05.02.2006
Beiträge: 61
|
![]() Da das Problem jetzt gelöst ist: die FreeSans.ttf muss in das Projektverzeichnis, installieren Hilft nicht.
Da mehr Screenshots gewünscht wurden und ich auch endlich Transparenz und Color Keys (auch quasi transparenz, bei der eine Farbe unsichtbar wird) drin habe, gibts jetzt einen weiteren Screenshot (bei view more screenshots) auf der Website. Mit einem kleinem neuen Feature ist es jetzt auch möglich ein kleines Textbox script zu schreiben (davor ging es auch aber jetzt wesentlich besser). Dazu ist jetzt auch ein Screenshot auf der Website. Wenn man sich die 3 Screenshots anschaut sieht man deutlich wie das ganze voranschreitet. Um die ganzen neuen Features auch für alle zugänglich zu machen, habe ich ein weiteres Testrelease hochgeladen. Es behebt auch den Bug im Mapeditor. Leider ist das aber auch schon alles was beim Mapeditor passiert ist. Dieses release hat schon ziemlich viele Features und ich würde mal behaupten dass jeder der Ruby kann auch ohne große schwierigkeiten Lua lernen kann und mit dem Release wirklich schon einiges anstellen kann. Ein kleines Textbox script liegt bei, genauso wie das Bewegungsscript das nur ein klein wenig geändert wurde damit der Busch nicht mehr eckig ist ![]() Geändert von Darkas (13.08.2009 um 14:08 Uhr). |
![]() |
![]() |
![]() |
#15 |
Anfänger
![]() Registriert seit: 05.02.2006
Beiträge: 61
|
![]() Der Map Editor ist jetzt fast benutzbar, ein Bug muss noch weg und Tile und Ebenenauswahl fehlen noch und dann werde ich ein nächstes kleines Release machen, eventuell wird es auch eine Versionsnummer 0.0.X tragen, je nachdem wie viel noch fehlt.
|
![]() |
![]() |
![]() |
Lesezeichen |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
|
|