# Spiel auf Netzwerk auslegen?



## raven (2. Jan 2007)

Hallo,

Erst einmal wünsche ich euch ein frohes Neues Jahr 2007. So nun zu meinem Problem. Ich möchte mein Spiel (klick hier), nun auf Netzwerk auslegen. Das Spiel ist zwar noch nicht ganz fertig, aber
bevor ich meine Arbeiten daran fortsetze will ich es auf Netzwerk/Internet auslegen. Ich habe bisher noch keine großen Erfahrung in Netzwerkprogrammierung, ich hab bis jetzt nur einen Server der auf mehreren Clients reagieren kann und den dazu gehörigen Client habe ich auch schon. MIr fehlt es meiner Meinung nach am Verständniss. Wie soll ich die Daten, die der Server wiederum an die anderen Clients überträgt, übertragen. Input- & OutputStream ist klar. Doch in welcher Form? Ich habe schon gehört, das man nur die Tasten an den Server sendet. Und der Server wiederrum von den Tasten alles errechnen und nur z.B, Die Koordinaten dann, an alle Client schickt. Mir würde ein Beispielcode sehr weiter helfen, in dem mehr als nur ein String übertragen wird. 

mfg X_Master


----------



## The_S (2. Jan 2007)

Naja, irgendwas eindeutiges hin und herschicken, mit dem der Client bzw. der Server weiß was zu tun ist  . Bei einem Schiffeversenken wäre das z. B. ein Objekt dass die Koordinaten des Schusses speichert und ob darunter ein Schiff des gegeners liegt.

Du kannst dir auch mal RMI anschauen.


----------



## raven (2. Jan 2007)

Ich habe aber gehört, dass Objekte zu übertragen, sehr rechenaufwändig sein soll.


----------



## The_S (2. Jan 2007)

Dann verschick Strings die du außeinander pflückst. Oder verpacke die Objekte in nen ZipStream.


----------



## Yzebär (2. Jan 2007)

Ich würde keine komplexen Daten verschicken und auch den Server so wenig wie möglich rechnen lassen. Der Server soll nur die Daten verteilen und evtl. protokollieren. Spiele sind nun mal Fat-Clients.

Also überlege dir einen schlauen Algorithmus, der mit wenig Daten viel auf deinen Clients bewirken kann.


----------



## nocxsville (2. Jan 2007)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Oder verpacke die Objekte in nen ZipStream.



Das lohnt sich aber auch nur bei großen Datenmengen, die bei einem solchen Spiel eher nicht auftreten.


----------



## The_S (2. Jan 2007)

Das ist mir auch klar, aber es muss ja scheinbar schon ne Menge sein, wenn er sich sorgen wegen dem Traffic macht.


----------



## raven (2. Jan 2007)

ne so viel ist es auch nicht. Ich wußte nur nicht so wirklich wie ich es anfangen soll.

Ich muss folgende Daten übertragen.
- Spielername
- x/y Koordinaten
- aktueller Winkel vom Panzer/Schießrohr
- Dreh- & Fahrgeschwindigkeit

Ich glaub das wars vorerst...

mfg X_Master


----------



## The_S (2. Jan 2007)

Schieß ein Objekt hin und her das Spielernamen (String), x/y (Point), winkel (short), dreh- & fahrgeschwindigkeit (kleinst möglicher Datentyp) enthält. Sollte das einfachste sein.


----------



## raven (2. Jan 2007)

Aber nicht das Player-Objekt(dort sind gleichzeitig alle Daten drin). Wäre denke mal z groß, weil das Methode drinn sind die der Server eigentlich nicht brauch.

Alos ein extra Objekt, welches nur die Daten enthält?


----------



## The_S (2. Jan 2007)

ja


----------

