Archiv verlassen und diese Seite im Standarddesign anzeigen : RPG-Maker XP und das WorldWideWeb?
Guten Abend,
Ich habe schon einige Male zuvor in diesem Forum Fragen gestellt und habe stets hilfreiche und richtige Antworten erhalten. Seit einigen Tagen plagt mich eine neue Frage und ich hoffe hier Antworten zu finden wie schon oft zuvor.
Zuersteinmal muss ich eines sagen ich kenne mich nicht besonders gut mit Informationstechnik aus, ich habe, seitdem ich mit dem RMXP arbeite, schon vieles über das Programmieren gelernt da ich ausschließlich mit RGSS arbeite. Außerdem versuche ich so wenig der vorgefertigten Funktionen des Makers zu benutzen und eigene kleine Spiele vollständig, oder fast vollständig, mit eigenem Script Code zu erstellen.
(Bevor mir jemand sagt, dass dies eine dumme Einstellung sei zu versuchen das Rad neu zu erfinden, ich bin mir vollkommen im klaren, dass es nicht nötig ist, ich versuche durch diese Vorgehensweise meine Fähigkeiten mit zu trainieren um irgendwann auch einmal ein klein wenig Wissen und Erfahrung auf diesem Gebiet zu erfahren.)
Meine Frage:
Ist es möglich, und wenn ja wie effektiv, mit dem RPG-Maker-XP ein Netzwerkspiel zu erstellen mit welchem man sowohl im lokalen Netzwerk als auch über das Internet im Mehrspieler spielen kann.
Es ist für mich sehr wichtig da ich fest davon überzeugt bin, dass nur ein Mehrspieler Spiel wirklich lohnenswert ist, es geht mir beim Spielen um soziale Interaktion, darum Menschen über ein Spiel zu verbinden.
Bitte denkt bei einer Antwort daran, dass ich mich nicht sonderlich, um nicht zu sagen garnicht, mit diesem Bereich auskenne, allerdings lerne ich relativ schnell und bin bereit auch sehr viel Arbeit auf mich zu nehmen, und wenn es Jahre kosten würde.
Vielen Dank im Vorraus für alle Antworten.
Cornix.
(Entschuldigung für den doch sehr langen Text, ich schweife ziemlich schnell ab)
Aldinsys
20.05.2010, 18:40
Wie wäre es damit (http://www.rpg-studio.de/scriptdb/de/RPG-Maker-XP-Online-System.html)?
Danke für die Antwort.
Habe ich allerdings schon entdeckt und gelesen, natürlich habe ich auch eigene Recherchen betrieben bevor ich hier gefragt habe.
Allerdings ist dies nichteinmal annähernd wonach ich suche, zum einen will ich nichts vorgefertigtes, ich will es selbst machen um es zu verstehen, von Anfang bis zum Ende.
Zum anderen ist dies ein Template für ein MMORPG was ich nicht brauche, ich will mit einem einfachen multiplayer arcade game beginnen, oder vielleicht noch viel leichter mit einem online chat programm.
Ich muss dir sagen, es ist möglich. Man kann mit dem RPG Maker XP ein Netzwerkfähiges Spiel erstellen. Allerdings kommt es jetzt:
Der RGSS Player kann meines Wissens von alleine keine Verbindung zum Internet herstellen. Was du bräuchtest, wäre eine DLL. Diese sind meines Wissens nach aber nicht in Ruby, geschweige denn RGSS(2) geschrieben. Du müsstest also wenn schon eine neue Sprache erlernen(nein, nicht Japanisch:D), was aber den Vorteil mit sich bringt, kannst du Perfekt Ruby und die Sprache, in der die .dll geschrieben sind, hast du keine Grenzen mehr. Naja, Grenzen im Bezug auf Spiele für den PC. Ein Game für den NDS geht mit dem RPG Maker XP net ^.^
MfG Adrian2000
Das Problem ist, dass der Maker nicht die ganze Standard-Library von Ruby mitliefert. Normalerweise hast du mit der Installation von Ruby auch Zugriff auf zusätzliche Libraries wie z.B. der Net-Library, um Netzwerkskripte zu schreiben. Der Maker liefert diese Libraries aber nicht mit und verbietet das Einbinden dieser Libraries.
Allein mit dem abgespeckten Ruby was der Maker bietet ist es schwer ein netzwerkfähiges Spiel zu erstellen. Das eben verlinkte Online-Skript nutzt eine in reinem Ruby geschriebene Socket-Klasse für ihre Netzwerkkommunikation. Das ist sicher nicht sonderlich performant, funktioniert aber. Du müsstest also die Socket-Klasse und alle mit ihr in Verbindung stehenden Klassen aus dem Onlineskript entfernen, danach kannst du weite Teile der Net-Library von Ruby verwenden.
Einfacher wäre es für dich aber, wenn du dein Spiel nicht mit dem Maker direkt entwickelst. Du kannst ja weiterhin Ruby nutzen. Für Ruby gibt es auch Libraries die die RGSS ersetzen und dir das Anzeigen von Grafik und das Abspielen von Sounds und Musik ermöglichen (google z.B. mal nach Gosu oder Rubygames). Oder aber du arbeitest mit JRuby. Das ist Ruby in Java implementiert. Der Vorteil: Du hast Zugriff auf alle Java-Klassen und kannst Javas Libraries nutzen und Ruby- und Javacode beliebig mischen (was auch sehr gut gegen Performanceprobleme hilft). Da der Maker seine ganzen Daten (Maps, Database etc.) in die *.rxdata Dateien schreibt, kannst du sie aus JRuby oder normalem Ruby auch auslesen (lediglich für einige fest eingebaute Klassen wie Table oder Rect musst du ggf. eine eigene Deserialisierungsroutine schreiben). Du müsstest also nicht mal auf den Maker an sich verzichten, sondern nur auf die RGSS.
Vielen Dank für eure Antworten. Lasst mich bitte nocheinmal zusammenfassen:
Das Problem ist, dass der Maker nicht die ganze Standard-Library von Ruby mitliefert. Normalerweise hast du mit der Installation von Ruby auch Zugriff auf zusätzliche Libraries wie z.B. der Net-Library, um Netzwerkskripte zu schreiben. Der Maker liefert diese Libraries aber nicht mit und verbietet das Einbinden dieser Libraries.
Der Maker verbietet die Benutzung dieser Klassen? Gibt es keine Möglichkeit dies in irgendeiner Form zu umgehen?
Allein mit dem abgespeckten Ruby was der Maker bietet ist es schwer ein netzwerkfähiges Spiel zu erstellen. Das eben verlinkte Online-Skript nutzt eine in reinem Ruby geschriebene Socket-Klasse für ihre Netzwerkkommunikation.
Also wurden diese Netzwerkklassen von dem Macher des Online-Skriptes selbst geschrieben und funktionieren in Kombination mit dem Maker?
Das ist sicher nicht sonderlich performant, funktioniert aber. Du müsstest also die Socket-Klasse und alle mit ihr in Verbindung stehenden Klassen aus dem Onlineskript entfernen, danach kannst du weite Teile der Net-Library von Ruby verwenden.
Inwiefern sind diese Klassen nicht sonderlich performant? Sind sie schlecht umgesetzt oder gibt es irgendwelche unumgänglichen Gründe warum sie nicht empfehlenswert sind?
Einfacher wäre es für dich aber, wenn du dein Spiel nicht mit dem Maker direkt entwickelst. Du kannst ja weiterhin Ruby nutzen. Für Ruby gibt es auch Libraries die die RGSS ersetzen und dir das Anzeigen von Grafik und das Abspielen von Sounds und Musik ermöglichen (google z.B. mal nach Gosu oder Rubygames). Oder aber du arbeitest mit JRuby. Das ist Ruby in Java implementiert. Der Vorteil: Du hast Zugriff auf alle Java-Klassen und kannst Javas Libraries nutzen und Ruby- und Javacode beliebig mischen (was auch sehr gut gegen Performanceprobleme hilft). Da der Maker seine ganzen Daten (Maps, Database etc.) in die *.rxdata Dateien schreibt, kannst du sie aus JRuby oder normalem Ruby auch auslesen (lediglich für einige fest eingebaute Klassen wie Table oder Rect musst du ggf. eine eigene Deserialisierungsroutine schreiben). Du müsstest also nicht mal auf den Maker an sich verzichten, sondern nur auf die RGSS.
Das Problem ist lediglich, dass ich soetwas niemals gemacht habe, nichtmal in Betracht ziehen würde. Ich weis nicht recht wie soetwas funktioniert, welche Programme ich dafür brauche. Der Maker bietet mir immerhin eine, einigermaßen, Benutzerfreundliche Oberfläche, eine Möglichkeit für einfache Grafische Umsetzung und eine Menge Hilfeleistung durch die bereits vorgefertigten Scripte.
Der Maker verbietet die Benutzung dieser Klassen? Gibt es keine Möglichkeit dies in irgendeiner Form zu umgehen?
Der Maker verbietet das Einbinden kompilierter Bibliotheken. Aus Performancegründen sind aber viele grundlegende Bibliotheken für Ruby in C geschrieben (so auch die Socket-Klasse), statt in reinem Ruby. Das lässt sich leider auch nicht umgehen.
Also wurden diese Netzwerkklassen von dem Macher des Online-Skriptes selbst geschrieben und funktionieren in Kombination mit dem Maker?Das weiß ich nicht so recht. In den Kommentaren über den Script steht, dass sie von jemand anderem geschrieben wurden. Ich mein, der Punkt ist doch folgender: Jedes Betriebssystem hat seine eigenen Schnittstellen um aufs Netzwerk zuzugreifen. Die Socket-Library macht nichts weiter als die betriebssystemspezifischen Funktionen aufzurufen. Aus Performance-Gründen ist sie in C geschrieben. In dem verlinkten Online-Skript ist sie in Ruby geschrieben (weswegen sie in den Maker eingebunden werden kann). Sie ruft letztlich auch nur wieder die Windows-spezifischen Socket-Funktionen (winsock.dll) auf. Inwiefern das ein Performance-Problem ist kann ich nicht sagen. Es ist garantiert nicht so schnell wie die richtige Socket-Library von Ruby. Aber das muss ja nicht gleich heißen das es langsam wäre.
Von daher kannst du sie an sich nutzen.
Sind sie schlecht umgesetzt oder gibt es irgendwelche unumgänglichen Gründe warum sie nicht empfehlenswert sind?Naja, der Maker ist für Singleplayer-RPGs geschaffen. Je mehr du dich davon entfernst, desto mehr musst du selbst machen. Letztlich stellt sich nur die Frage inwiefern du überhaupt noch vom Maker profitierst und ob manches nicht einfacher ginge, wenn du nicht den Beschränkungen des Makers unterworfen wärest.
Das Problem ist lediglich, dass ich soetwas niemals gemacht habe, nichtmal in Betracht ziehen würde. Ich weis nicht recht wie soetwas funktioniert, welche Programme ich dafür brauche. Der Maker bietet mir immerhin eine, einigermaßen, Benutzerfreundliche Oberfläche, eine Möglichkeit für einfache Grafische Umsetzung und eine Menge Hilfeleistung durch die bereits vorgefertigten Scripte. Seh' ich ein. Du hast mit einer eigenen Lösung natürlich erstmal mehr Aufwand.
Es schadet aber nichts sich auch mal andere Alternativen anzusehen. Ich hab selbst Gosu noch nie ausprobiert, es macht aber einen vernünftigen Eindruck (http://code.google.com/p/gosu/wiki/RubyTutorial).
MagicMagor
22.05.2010, 13:03
Netzwerkprogrammierung packt auf die normale Programmierung noch einmal eine ganze Ladung eigener Probleme und Sachen obendrauf.
Ein normales Programm ist berechenbar, es arbeitet strikt Befehl nach Befehl ab und Fehler sind somit relativ einfach im Code erkennbar. Das Netzwerk dagegen ist unberechenbar und unzuverlässig. Selbst mit der Verwendung von TCP musst du zB. damit umzugehen wissen, daß zwischen dem Senden von Daten und dem Empfang von Daten mitunter einige Zeit vergehen kann (zB ist die Frage ob es sinnvoll ist noch Daten anzunehmen und zu verarbeiten die vor 10 sekunden abgeschickt wurden). Dann musst du aufpassen wieviel Datenaufkommen du letztlich produzierst und dann musst du dir auch noch überlegen wie du deine Daten gegen Manipulation absicherst, bzw. falsche Daten erkennen willst etc..
Letztlich wäre ich sehr vorsichtig damit dich an Netzwerkprogrammierung zu versuchen, bevor du nicht eine vernünftige Basis in normaler Programmierung hast.
Netzwerkprogrammierung packt auf die normale Programmierung noch einmal eine ganze Ladung eigener Probleme und Sachen obendrauf.
Ein normales Programm ist berechenbar, es arbeitet strikt Befehl nach Befehl ab und Fehler sind somit relativ einfach im Code erkennbar. Das Netzwerk dagegen ist unberechenbar und unzuverlässig. Selbst mit der Verwendung von TCP musst du zB. damit umzugehen wissen, daß zwischen dem Senden von Daten und dem Empfang von Daten mitunter einige Zeit vergehen kann (zB ist die Frage ob es sinnvoll ist noch Daten anzunehmen und zu verarbeiten die vor 10 sekunden abgeschickt wurden). Dann musst du aufpassen wieviel Datenaufkommen du letztlich produzierst und dann musst du dir auch noch überlegen wie du deine Daten gegen Manipulation absicherst, bzw. falsche Daten erkennen willst etc..
Letztlich wäre ich sehr vorsichtig damit dich an Netzwerkprogrammierung zu versuchen, bevor du nicht eine vernünftige Basis in normaler Programmierung hast.
Vvielen Dank für die hilfreichen Antworten.
Ich weis natürlich, dass es kein Leichtes ist ein Netzwerkspiel zu erstellen, ich werde auch, falls sich die Möglichkeit anbietet, auf garkeinen Fall mit einem Großen Weltbewegenden Projekt starten.
Vielleicht bin ich hoffnungsvoll aber immernoch, einigermaßen, realistisch.
Ich bin einfach fest davon überzeugt, dass praktische Erfahrung die Beste ist, auf diese Art und Weise kam ich bisher gut durchs Leben und ich habe vor dabei zu bleiben.
Ich denke ich schaue mir einmal die bereitgestellten Links an, falls ich weitere Fragen oder Probleme haben werde kann ich mich glücklicherweise weiterhin auf dieses Forum verlassen.
Vielen Dank nocheinmal allen Dreien.
Cornix.
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.