Subject: MMs M.A.X. Alpha 1.0
Warum konntest du keine Screenshots machen? Schon mal alt+druck versucht?
Zu dem großen MP-Problem:
Also, es ist so, dass wenn der Client etwas bewegen möchte, dass dem Server Start und Endpunkt übertragen werden. Der schaut sich das an, und sagt dann etnweder, dass der Pfad versperrt ist, oder du darts jetzt mit der Annimation von xy nach xy beginnen (immer nur ein Feld), wenn genug Zeit verstrichen ist bekommt er die Meldung: Nun setzte Fahrzeug von xy nach xy um. Danach sendet er die Nachricht: Nun beginne mit der Annimation von xy nach xy usw...
Nun, was ist der Grund dafür:
Es muss sichergestellt sein, dass der Server immer zu jeder Zeit die korrekten Spielinformationen hat. Also gilt nur das, was der Server hat. Wenn zb der Client sein Auto alleine bewegen dürfte, dann könnte es passieren, dass es früher/später am Ziel ankommt als beim Server und somit bei allen anderen Clients. Wenn nun jemand drauf schießt, dann geht es in die Hose, klar soweit?
Also sagt der Server JETZT bewege das Fahrzeug wirklich ein Feld weiter, egal, wie weit die Annimation schon ist. Wenn die Nachricht zum Start der Annimation zu spät ankam, dann kann ein 'springen' der Einheit der Effekt sein, auch klar?
So, das Problem ist nun also, wenn Nachrichten zu spät ankommen bzw ganz haarig wird es natürlich, wenn die Pakete nicht in der richtigen Reihenfolge ankommen sollten.
Ich habe jetzt mal die TCP/IP-Read-Funktion des Clients mit einem zufälligem Speep bis max 800ms ausgestattet, und dann tauchten ähnliche Probleme auf, wie sie im Multiplayer über unsichere Leitungen beobachtet werden konnten.
So, das ging jetzt etwas einfacher zu erklären als gestern per IRC...
MM