Towky
13.08.2012, 15:53
Wie ich euch auf dem BMT bereits versprochen habe, hier eine vorab Version des Multi-Player-Scripts, welches euch ermöglichen soll, möglichst einfach Multiplayerspiele mit bis zu 4 Spielern zu erstellen.
Projekt: Tocu-Connector
Aktuelle Version: 0.25 Alpha
Am Projekt beteiligt:
Towky - RGSS, RPG-Maker Sachen, Lobby-Server und Konzeption
Cubby - C#, Connector, Client/Server und Konzeption
Grundanforderung an das Programm:
- einfache Einbindung in per Copy & Paste
- automatischer Austausch von Game-Variablen und Switches
Definition:
RGSS = Alle Scripte und Funktionen die im RPG-Maker ablaufen
Connector = Externes Programm, welches die Verbindung zwischen den Spielern aufbaut.
Server = Der Spieler/Computer, der ein Spiel hosted
Clients = Die Spieler/Computer, die einem Spiel beitreten
Lobby-Server = PHP / MySQL basierte Schnittstelle zum anzeigen der Spieler und Server
Voraussetzung:
- Bisher nur getestet auf Windows7
- .net Framework 4 mit aktuellen Updates
Geplante (zusatz) Features:
- Doku / FAQ
- Connector: Broadcast-Abfrage für LAN-Games
- Connector: Fix für "Direkt Play", damit auch über Lobby erstellten Games beigetreten werden kann.
- Connector: Überprüfen der Spielversion und ggf. Automatisches Update
- RGSS: ATB-Kampfscript
- RGSS: Seperater Spieler-Auswahlbildschirm
- RGSS: Speicherung von Spielerdaten und Fortschritt
Bereits Implementiert:
- "Connector"-Programm zum Verbingunsaufbau und Datenaustausch
- RGSS: Automatischer austausch von vorher Definierten Game-Variablen und Switches
- RGSS: Game-Variablen und Switches -> Definition per Config
- RGSS: Player-Movements
- RGSS: Ingame-Chat
- Connector: Austausch von Hintergrundbildern
- Lobby-Server auf Basis von PHP und MySQL
Bekannte Bugs:
- Connector: absturz beim ändern des Servernamens
- Connector: absturz beim klicken des "leave"- Buttons
- Ingame: Chat und Spielernamen werden gelöscht beim aufrufen des Game-Menüs
- Ingame: Sonderzeichen im Chat funktionieren noch nicht
- Ingame: Copy&Past für vorhandene Zusatz-Scripte (Playermovements, Chat) ist noch nicht gegeben.
- Programm Arbeitet zur Zeit noch auf Basis von Input- und Output-Dateien - wird noch auf Shared-Memory geändert
- Connector: Passwortabfrage für die Server funktioniert noch nicht
- Ingamge: Shared-Switches sind teils noch verbuggt.
- Connector: Probleme beim Connecten über Hamachi - HOT
Funktionsweise und Mini-Doku:
Dateien im Projektorder:
Tocu_lobby.exe -> (Connector) Dieses Programm wird anstatt der Game.exe gestartet.
input -> Datei die vom Connector geschrieben wird. Enthält Variablen und Switche von allen Spielern (nicht Anfassen!)
output -> Datei die vom RGSS geschrieben wird. Enthält Variablen und Switche, die der jeweilige Spieler ändern darf. (nicht Anfassen!)
version -> Version des Aktuellen Clients ( Noch nicht benutzt )
clientconfig -> Datei die vom Connector generiert wird, um dem RGSS Startinformationen zu geben (Spielernamen, Spielernummer etc.) (nicht Anfassen!)
tocuData -> Enthält die Config, die für den Connector wichtig ist, wie z.B. die URL unter der der Lobby-Server zu erreichen ist.
Images/background.jpg und background_login.jpg -> Bilder für den Hintergrund im Connector, können angepasst oder ausgetauscht werden.
Funktion:
Starten des Connectors -> Auswahl Username -> Erstellen oder Beitreten eines Spiels -> automatischer Start der Game.exe
Die Kommunikation läuft über Port 44444 TCP, dieser muss auch freigegeben bzw. vom Router weitergeleitet werden, wenn die Verbindung über das Internet ablaufen soll.
Config der Variablen und Switches im RGSS:
In den RGSS-Scripten werder ihr unter "Tocu-Mod VX" folgendes finden:
# configuration:
@var_server_start = 1001
@var_server_end = 1100
@switch_server_start = 1001
@switch_server_end = 1100
@var_player1_start=1101
@var_player1_end=1200
@var_player2_start=1201
@var_player2_end=1300
@var_player3_start=1301
@var_player3_end=1400
@var_player4_start=1401
@var_player4_end=1500
@switch_shared_start = 1101
@switch_shared_end = 1200
Hier werden die Variablen und Switche Definiert, die Ausgetauscht werden sollen. Jeder Spieler darf eine gewisse Anzahl an Variablen ändern, bekommt aber zugleich von den Anderen Spielern alle Daten zurück, bis auf seine Eigenen. Spieler1 dürfte in diesem Fall im Variablen-Bereich 1101 bis 1200 ändern und den anderen Spieler würden Automatisch in diesem Berech die Variablen zugewiesen. Der Server (also der Spieler, der das Game hosted) bekommt außerdem noch eine zusätzliche Anzahl an Variablen und eine Gewisse Anzahl an Switches zugewiesen, die automatisch bei allen anderen Spielern gesetzt werden.
Zusätzlich gibt es noch so genannte Shared-Switches (siehe @switch_shared_start und @switch_shared_end) diese Switche dürfen von allen Spielern geändert werden. Wenn spieler 1 den switch auf ON schaltet und spieler 2 eine Sekunde danach auf off, wird der Switch für alle als OFF geschrieben.
Wichtige RGSS-Info:
Es könnte sein, das sich noch einige Funktionen im Tocu-Mod noch ändern, auch was die Implementation des Shared-Memory betrifft, daher empfiehlt es sich noch keine Größeren Projekte darauf aufzubauen ;)
Was aber beibehalten wird, ist die Config und der Austausch der Variablen und Switches
----------------
Im Anhang findet ihr vorerst nur den Projekt-Ordner und das Connector-Programm. Der die Lobby-Server-Scripte basierend auf PHP und MySQL sind nun auch hochgeladen, ihr dürft aber auch gerne meinen eigenen unter "http://www.towky.com/tocu/" nutzen ;)
Testet und Probiert rum, wie Ihr lustig seid und gebt uns Feedback über Bugs, Verbesserungen usw.
Ich hoffe ich habe nichts Wichtiges vergessen, an sonsten einfach Nachfragen :D
Projekt: Tocu-Connector
Aktuelle Version: 0.25 Alpha
Am Projekt beteiligt:
Towky - RGSS, RPG-Maker Sachen, Lobby-Server und Konzeption
Cubby - C#, Connector, Client/Server und Konzeption
Grundanforderung an das Programm:
- einfache Einbindung in per Copy & Paste
- automatischer Austausch von Game-Variablen und Switches
Definition:
RGSS = Alle Scripte und Funktionen die im RPG-Maker ablaufen
Connector = Externes Programm, welches die Verbindung zwischen den Spielern aufbaut.
Server = Der Spieler/Computer, der ein Spiel hosted
Clients = Die Spieler/Computer, die einem Spiel beitreten
Lobby-Server = PHP / MySQL basierte Schnittstelle zum anzeigen der Spieler und Server
Voraussetzung:
- Bisher nur getestet auf Windows7
- .net Framework 4 mit aktuellen Updates
Geplante (zusatz) Features:
- Doku / FAQ
- Connector: Broadcast-Abfrage für LAN-Games
- Connector: Fix für "Direkt Play", damit auch über Lobby erstellten Games beigetreten werden kann.
- Connector: Überprüfen der Spielversion und ggf. Automatisches Update
- RGSS: ATB-Kampfscript
- RGSS: Seperater Spieler-Auswahlbildschirm
- RGSS: Speicherung von Spielerdaten und Fortschritt
Bereits Implementiert:
- "Connector"-Programm zum Verbingunsaufbau und Datenaustausch
- RGSS: Automatischer austausch von vorher Definierten Game-Variablen und Switches
- RGSS: Game-Variablen und Switches -> Definition per Config
- RGSS: Player-Movements
- RGSS: Ingame-Chat
- Connector: Austausch von Hintergrundbildern
- Lobby-Server auf Basis von PHP und MySQL
Bekannte Bugs:
- Connector: absturz beim ändern des Servernamens
- Connector: absturz beim klicken des "leave"- Buttons
- Ingame: Chat und Spielernamen werden gelöscht beim aufrufen des Game-Menüs
- Ingame: Sonderzeichen im Chat funktionieren noch nicht
- Ingame: Copy&Past für vorhandene Zusatz-Scripte (Playermovements, Chat) ist noch nicht gegeben.
- Programm Arbeitet zur Zeit noch auf Basis von Input- und Output-Dateien - wird noch auf Shared-Memory geändert
- Connector: Passwortabfrage für die Server funktioniert noch nicht
- Ingamge: Shared-Switches sind teils noch verbuggt.
- Connector: Probleme beim Connecten über Hamachi - HOT
Funktionsweise und Mini-Doku:
Dateien im Projektorder:
Tocu_lobby.exe -> (Connector) Dieses Programm wird anstatt der Game.exe gestartet.
input -> Datei die vom Connector geschrieben wird. Enthält Variablen und Switche von allen Spielern (nicht Anfassen!)
output -> Datei die vom RGSS geschrieben wird. Enthält Variablen und Switche, die der jeweilige Spieler ändern darf. (nicht Anfassen!)
version -> Version des Aktuellen Clients ( Noch nicht benutzt )
clientconfig -> Datei die vom Connector generiert wird, um dem RGSS Startinformationen zu geben (Spielernamen, Spielernummer etc.) (nicht Anfassen!)
tocuData -> Enthält die Config, die für den Connector wichtig ist, wie z.B. die URL unter der der Lobby-Server zu erreichen ist.
Images/background.jpg und background_login.jpg -> Bilder für den Hintergrund im Connector, können angepasst oder ausgetauscht werden.
Funktion:
Starten des Connectors -> Auswahl Username -> Erstellen oder Beitreten eines Spiels -> automatischer Start der Game.exe
Die Kommunikation läuft über Port 44444 TCP, dieser muss auch freigegeben bzw. vom Router weitergeleitet werden, wenn die Verbindung über das Internet ablaufen soll.
Config der Variablen und Switches im RGSS:
In den RGSS-Scripten werder ihr unter "Tocu-Mod VX" folgendes finden:
# configuration:
@var_server_start = 1001
@var_server_end = 1100
@switch_server_start = 1001
@switch_server_end = 1100
@var_player1_start=1101
@var_player1_end=1200
@var_player2_start=1201
@var_player2_end=1300
@var_player3_start=1301
@var_player3_end=1400
@var_player4_start=1401
@var_player4_end=1500
@switch_shared_start = 1101
@switch_shared_end = 1200
Hier werden die Variablen und Switche Definiert, die Ausgetauscht werden sollen. Jeder Spieler darf eine gewisse Anzahl an Variablen ändern, bekommt aber zugleich von den Anderen Spielern alle Daten zurück, bis auf seine Eigenen. Spieler1 dürfte in diesem Fall im Variablen-Bereich 1101 bis 1200 ändern und den anderen Spieler würden Automatisch in diesem Berech die Variablen zugewiesen. Der Server (also der Spieler, der das Game hosted) bekommt außerdem noch eine zusätzliche Anzahl an Variablen und eine Gewisse Anzahl an Switches zugewiesen, die automatisch bei allen anderen Spielern gesetzt werden.
Zusätzlich gibt es noch so genannte Shared-Switches (siehe @switch_shared_start und @switch_shared_end) diese Switche dürfen von allen Spielern geändert werden. Wenn spieler 1 den switch auf ON schaltet und spieler 2 eine Sekunde danach auf off, wird der Switch für alle als OFF geschrieben.
Wichtige RGSS-Info:
Es könnte sein, das sich noch einige Funktionen im Tocu-Mod noch ändern, auch was die Implementation des Shared-Memory betrifft, daher empfiehlt es sich noch keine Größeren Projekte darauf aufzubauen ;)
Was aber beibehalten wird, ist die Config und der Austausch der Variablen und Switches
----------------
Im Anhang findet ihr vorerst nur den Projekt-Ordner und das Connector-Programm. Der die Lobby-Server-Scripte basierend auf PHP und MySQL sind nun auch hochgeladen, ihr dürft aber auch gerne meinen eigenen unter "http://www.towky.com/tocu/" nutzen ;)
Testet und Probiert rum, wie Ihr lustig seid und gebt uns Feedback über Bugs, Verbesserungen usw.
Ich hoffe ich habe nichts Wichtiges vergessen, an sonsten einfach Nachfragen :D