Bitsqueezer schrieb: »Was das Video angeht: Naja, Du hast es gespielt und weißt, was da passiert, aber ehrlich gesagt sehe ich jetzt an dem Video auch nicht, was das Problem ist?
Bitsqueezer schrieb: »- also was ist an dem Video jetzt zu erkennen? Ich seh's nicht...
[Vom Kundendienst wurde mein Ticket als nicht hilfreich eingestuft, bevor sich überhaupt jemand das Video angesehen hat. Irgendwas wegen NAT Typ 1, Ports öffnen und hoher Latenz and der sie ganz sicher nicht Schuld sind.
Bitsqueezer schrieb: »der Skill mit den blitzenden Händen in der Mitte (habe ich noch nie in ESO gesehen - was ist das eigentlich?)
Also PC/NA laufen sowohl GH wie auch BR, bis auf Kleinigkeiten, wahnsinnig gut und die Performanceverbesserungen scheinen wirklich Wirkung zu zeigen!
Durchhalten...
Es geht hier um einen möglichen Defekt für ganz genau eine Kampagne.Weiß nicht was du meinst?
Bitsqueezer schrieb: »Gestern ähnlich Situation wie bei dir der Trank ging einfach nicht raus egal wie oft ich gedrückt habe.
Was genau das große Problem ist. Je häufiger Du drückst, desto öfter muß Frontend und Backend auf Deine Aktion reagieren.
Ich erwische mich auch immer dabei, z.B. auf die linke Maustaste zu hämmern, weil der leichte Angriff nicht rausgegangen ist. Gestern im PvP habe ich bewußt versucht, immer erst dann die nächste Aktion zu klicken, wenn ich die vergangene "gesehen" habe. Also langsam. Dabei wurden dann fast alle Aktionen tatsächlich ausgeführt und am Ende war ich damit deutlich effektiver.
Ist aber auch logisch:
Spieler 1 startet Aktion A --> Client muß den Tastendruck auswerten, an den Server schicken.
Server muß die Aktion an ALLE anderen Clients rausschicken, die im entsprechenden Umfeld sind.
Spieler 2-10 sehen Aktion A auf ihrem Client, hämmern jetzt jeder eine andere Aktion raus, also 9 weitere, die der Server von 9 anderen Clients empfangen muß, alle 9 Aktionen müssen an JEWEILS alle anderen 9 rausgeschickt werden, der dortige Client muß die 9 Aktionen dann verarbeiten und darstellen.
Gerade bei PC ist die Hardware sehr unterschiedlich, CPU-Geschwindigkeit, Arbeitsspeicher, Windows-Versionen, Grafiktreiber usw., also reagieren alle auch unterschiedlich schnell, um dann ihrerseits neue Aktionen zu schicken.
Das ganze muß dann auch zeitlich so synchron laufen, daß alle glauben, eine Echtzeitverarbeitung vor sich zu haben.
Wenn man das Beispiel oben mal rechnet, sieht das so aus:2 1 3 3 4 4 1 5 5 6 6 7 7 8 8 9 9 10 10 1 2 4 5 6 7 8 9 10 1 2 3 5 6 7 8 9 10 1 2 3 4 6 7 8 9 10 1 2 3 4 5 7 8 9 10 1 2 3 4 5 6 8 9 10 1 2 3 4 5 6 7 9 10 1 2 3 4 5 6 7 8 10 1 2 3 4 5 6 7 8 9
1. Spalte = User 1 schickt Aktion an 2.Spalte 9 andere User.
Server muß also 1 Aktion annehmen und an 9 andere schicken.
2. Spalte = User 2-9 senden je eine andere Aktion an 9 andere User
Server muß 9 Aktionen von 9 Usern annehmen und an je alle anderen 9 User schicken (3.Spalte), was also 81 Aktionen sind, die der Server jetzt rausschicken muß - obwohl es für jeden einzelnen User nur je eine Aktion war.
Und das war jetzt nur ein primitives Beispiel mit einer Aktion und je einer Gegenreaktion zu einem synchronen Zeitpunkt... Da jeder sehr schnell hintereinander x Reaktionen rausschickt, ist die Menge an Daten, die hin und hergehen müssen, ziemlich groß....
Das Problem potenziert sich, je mehr Spieler an einem Fleck rumhängen und an den Aktionen beteiligt sind.
- der Server muß sehr viele solcher "Hotspots" verarbeiten, auch die, die man gerade selbst nicht sieht
- der Server muß eine entsprechende Lastenverteilung vornehmen
- alle Daten müssen irgendwann auch in die Datenbank - wenn man einen Absturz oder Verbindungsabbruch hat, möchte man ja nicht bereits geleistetes verloren wissen.
- neben den "Hotspots" muß der Server auch mehrere Instanzen mit unterschiedlichen Spielern verwalten (und alles andere, wie PvE usw.)
- bei dem simplen Beispiel war die entstandene Schadensberechnung noch nicht mal berücksichtigt...nur gerade mal das "Anzeigen von Aktionen"
- die Aktionen müssen so gut wie möglich "in Echtzeit" ablaufen, zumindest für jeden Spieler so aussehen
- Synchronität muß berücksichtigen, daß Clients nicht gleich schnell sind, nicht die gleiche Verbindungsgeschwindigkeit oder Verbindungsqualität haben - verlorene Netzwerkpakete müssen erneut gesendet werden usw., kostet alles Zeit
Fazit: Es ist doch LOGISCH, daß mit zunehmender Anzahl Spieler, die miteinander am selben Ort interagieren, alles für alle langsamer wird, u.U. entscheidet hier Client/Server auch aktiv, welche Aktionen zu "schlucken" sind, damit es überhaupt funktioniert. Ich würde vermuten, daß "auf linke Maustaste hämmern" zu "einmal leichter Angriff" zusammengefaßt wird (ebenso natürlich bei jeder anderen Aktion), damit es ÜBERHAUPT funktioniert. Wenn man ansonsten 30 mal "leichter Angriff" drückt und alle 30 an den Server gingen, könnte man vermutlich nur noch in Zeitlupe arbeiten.
Daher würde ich auch mal so schätzen, daß die Verbesserung der Serverhardware nur marginale Unterschiede bringt. Es hilft nichts, wenn man, krass gesprochen, mit Clients mit Modemgeschwindigkeit und 486ern kommunizieren muß, da bringt schnellste Hardware gar nix, weil der Server seine Informationen nicht schnell genug an den Client bringen kann. Also muß er eine Entscheidung treffen, wie er welchen Client behandelt, um für alle anderen das Spielerlebnis nicht zu trüben.
(Hier ist es bei Konsoleros sicher leichter, weil man die Clienthardware genau kennt.)
Ich denke mal, Codeoptimierung ist das Zauberwort, man muß Strategien für die einzelnen Probleme entwickeln, um so Performance zu steigern. Und darum funktionieren manche Dinge eben nicht so, wie erwartet, weil u.U. entsprechender Code aus den genannten Gründen Entscheidungen treffen muß.
Ich möchte nicht in der Haut der Programmierer stecken, die sowas coden müssen...:)
Denn so oder so wird es "S-Storm" in den Foren geben....
Ah, man darf also nur schreiben, wenn es genug Leute interessiert. Seltsame Meinung.Es interessiert aber die wenigsten. Und weißt du wieso? Weil es die meisten nicht verstehen, weil sie nie selbst mit Code gearbeitet haben.
Hat auch niemand behauptet, daß man dazu Programmierkenntnisse braucht. Der Text oben war übrigens so einfach verfaßt, daß es wohl jeder (mitdenkende) Mensch verstehen sollte.Muss man aber auch nicht, weder verstehen, noch verstehen wollen. Der Kunde verlangt ein nutzbares Produkt, auch ohne Programmierkenntnisse.
Wem es nur darum geht, der kann das Spiel zu genügend Gelegenheiten kostenlos ausprobieren, zudem Foren wie dieses hier lesen oder auch Artikel von Spielezeitschriften, um einen Eindruck zu erhalten, was einen erwartet - ohne einen Cent ausgeben zu müssen. Sich trotzdem dann zum zahlenden Käufer zu machen und dann lamentieren, ist schon mehr als seltsam. Wenn ich in einen Laden gehe, von dem so viele abgeraten haben und dann genau das eintritt, wovor mich alle gewarnt habe, wenn ich etwas dort kaufe - was soll man zu demjenigen dann noch sagen?Damit sie uns Käufern ein „Plug in and play“- Erlebnis bieten, wofür sie im Umkehrschluss von uns bezahlt werden. Keinen der Spieler muss hier Code interessieren.
Nein, ist es nicht, gleicher physikalischer Fakt wie oben. Drückst Du eine Taste, muß der Computer/das Programm in Hardware wie in Software einmal darauf reagieren. Drückst Du die Taste 10x, dann muß auch eine Reaktion 10x erfolgen, das ist komplett unvermeidbar. Hast Du eine ausgeleierte linke Maustaste, hilft es auch nicht, über schlechte Reaktion des Spiels bei leichten Angriffen zu meckern. Auch wenn dieser Fakt leicht zu testen und auszuräumen ist, es ist nur ein Beispiel.Auch das Argument, mal die Knöpfe/Tasten mal langsamer zu drücken ist hanebüchen. Warum muss ich dir als Programmierer sicher nicht weiter ausführen. Zumal du in der MMO Welt genug Vergleiche hast, das es sehr wohl funktionieren kann. Nur ein Beispiel, Black Desert,