Hallo zusammen,
bräuchte ein bisschen Unterstützung und Hilfe von euch bei der Programmierung
eines Netzwerk-Spiels (angelehnt an ein MMORPG) mit Hilfe von Sockets.
Meine Vorstellung:
1. Der Client sendet eine Tastendruck an den Server (Bsp.: l, r ,u ,o)
2. Der Server kennt natürlich die Position des Spielers und berechnet ständig die neue Position
3. Es soll eine Klasse Player geben, welche dann z.B. Attribute wie x und y Position des Spielers hat.
4. Der Server hat dann für jeden Spieler ein Objekt der Klasse Player z.B. in einem Vector gespeichert.
5. Der Server soll dann eine Klasse haben, welche z.B. alle 30ms die neuen x und y Position aller Spieler an alle Clients sendet.
Die Frage wäre jetzt, wie ich dieses Update der Spielerpositionen aufbauen sollte?
Ich habe mir das ganze jetzt in etwa so vorgestellt:
Ich durchlaufe alle Spieler, hole mir deren ID sowie x und y Position und baue meinen
String so zusammen. Der sendDates() Methode übergebe ich diesen String.
Die sendDates() Methode durchläuft alle verbundenen Sockets und sendet den String an
jeden Client.
Macht das ganze so Sinn oder wird der String die Leitung verstopfen? Dieser kann ja dann
durchaus, bei vielen Spielern auch etwas länger ausfallen
Vielen Dank im Voraus
Grüße
bräuchte ein bisschen Unterstützung und Hilfe von euch bei der Programmierung
eines Netzwerk-Spiels (angelehnt an ein MMORPG) mit Hilfe von Sockets.
Meine Vorstellung:
1. Der Client sendet eine Tastendruck an den Server (Bsp.: l, r ,u ,o)
2. Der Server kennt natürlich die Position des Spielers und berechnet ständig die neue Position
3. Es soll eine Klasse Player geben, welche dann z.B. Attribute wie x und y Position des Spielers hat.
4. Der Server hat dann für jeden Spieler ein Objekt der Klasse Player z.B. in einem Vector gespeichert.
5. Der Server soll dann eine Klasse haben, welche z.B. alle 30ms die neuen x und y Position aller Spieler an alle Clients sendet.
Die Frage wäre jetzt, wie ich dieses Update der Spielerpositionen aufbauen sollte?
Ich habe mir das ganze jetzt in etwa so vorgestellt:
Ich durchlaufe alle Spieler, hole mir deren ID sowie x und y Position und baue meinen
String so zusammen. Der sendDates() Methode übergebe ich diesen String.
Die sendDates() Methode durchläuft alle verbundenen Sockets und sendet den String an
jeden Client.
Java:
String playerCoordinates = "";
for (int i = 0; i < players.size(); i++) {
playerCoordinates += players.elementAt(i).getID() + ":" + players.elementAt(i).getXPos() + ":" + players.elementAt(i).getYPos() + ";";
}
server.sendDates(playerCoordinates);
Macht das ganze so Sinn oder wird der String die Leitung verstopfen? Dieser kann ja dann
durchaus, bei vielen Spielern auch etwas länger ausfallen
Vielen Dank im Voraus
Grüße