Client/Server Idee - Pixelbasierende Bewegung
-
Keine Ahnung in welches Forum das nun gehört - daher liegt es hier
Also, folgendes Problem:
Angenommen man möchte nun ein Client und einen Server schreiben. Jeder Client besitzt auf einer Fläche einen kleinen Punkt, den er mit den Pfeiltasten bewegen kann von Pixel zu Pixel.
Eigentlich ein Prinzip was man für viele 2D-Spiele brauchen würde. Eine Spielfigur bewegen aber nicht Feldbasierend.Jetzt kommt die Frage, wie man das am besten umsetzt.
Es gäbe nun die Möglichkeit, dass jeder Client dem Server für jeden Frame ein Byte schickt, dass dann etwa so aufgebaut sein könnte:
0 1 2 3 4 5 6 7 <BEFEHL.>U D L R
Wobei Befehl eine Konstante 4-Bit folge ist und U D L R für up down left right steht. Der Server müsste diesen Befehl dann um eine UserID erweitern und an jeden Client schicken.
Das ganze würde den Server jedoch sicherlich schon bei wenigen Figuren auslasten.Dann gäbe es noch eine Lösung, die jedoch ein wenig Zeitverzögerung mit sich bringen würde. Dabei würde man dann z.B. jede 20 Frames und bei jeder Bewegungsänderung sowas schicken wie:
BEWEGE SPIELER UM x Pixel auf X-Achse und y-Pixel auf der y Achse. Das würde man auch noch in ggnf. 2 Byte kriegen und würde den Server etwas auslasten, aber wiegesagt eine Zeitverzögerung mit sich bringen.
Sicher währen beide Übertragungswege auch, da der Server noch immer alles kontrollieren könnte. (Kollision usw.)Aber sicherlich gibt es auch noch bessere Wege die mit Tastatursteuerung umsetzbar sind. Ich würde mich mal für Tipps interessieren und vielleicht Informationsmaterial im Web (vielleicht Lösungen dieses Problems in echten Projekten)
Danke im voraus : )
-
Hi,
auf Gamasutra hab ich mal einen Artikel dazu gelesen.
Schon etwas älter - der ging um den Multiplayer-Mode von X-Wing vs. Tie-Fighter.EDIT: Hier issa. Unter dem vielversprechenden Titel :The Internet sucks!
http://www.gamasutra.com/features/19990903/lincroft_01.htm