PDA

View Full Version : Spielerkollisionsabfrage



Garry
05-02-06, 16:30
Also, jetzt einmal konkret die Frage:
Hätte ihr was dagegen, die Spielerkollisionsbabfrage untereinander aus dem Spiel zu nehmen? Ist dies sinnvoll? Würde euch was fehlen, wenn sie rausgenommen werden würde? usw.

Ich persönlich hätte nichts dagegen, wenn sie rausgenommen werden würde.
Vorteile sind sicherlich, dass man Spieler nicht mehr durch die Gegend schubsen kann. Desweiteren würde es wohl den Netcode/Server entlasten, da man nicht immer checken muss, ob Spieler X gegen Spieler Y rennt und dementsprechend die Position wieder zurückgeben muss, was eventuell wiederum weniger Lag bedeuten können gerade bei großer Anzahl von Spielern.
Andererseits könnte die Atmosphäre darunter leiden, wenn plötzlich Spieler ineinander stehen oder man kann Runner im Gefecht eventuell schwerer treffen. Ok, das legt den Schwerpunkt mehr auf die Übersicht der Spieler (Spielerfähigkeit), aber es kann auch frustrierend sein.

elGringo
05-02-06, 16:35
[x] dagegen - würde absolut beschissen aussehen

...abgesehen davon: die Position der anderen Spieler muss ja ohnehin übermittelt werden - falls die Spielerkollisionsabfrage wirklich merkbare Nachteile für den Netcode verursachen würde, hätte man die (Spieler-)Kollisionsabfrage wohl clientseitig eingebaut.

Robert [GS]
05-02-06, 16:43
Also, wenn es wirklich deutlich besser für den Netcode / Server wäre, dann würde ich es befürworten. Aber solange dies nur minimal für den Server / Netcode ausmacht, kann es auch ruhig drinnen bleiben. Immerhin schaut es besser aus als wenn man einfach so durch Spieler rennt (siehe WoW, SWG, usw.)

RuNmAN
05-02-06, 16:51
Wieso kann man eigendlich NPCs nicht wegschubsen? :)

Sollte doch mit Player auch machbar sein, das diese nicht "schubsbar" sind, solange sie auf einer festen position stehen.

Und zur Frage ansich [x] dagegen.

Wieso?
Ganz einfach, weil es nach 1995 aussehn würde, wenn Spieler auf einmal ineinander stehen, reicht ja schon wenn Leute in Objekten stehen. :P

theFiend
05-02-06, 17:15
falls die Spielerkollisionsabfrage wirklich merkbare Nachteile für den Netcode verursachen würde, hätte man die (Spieler-)Kollisionsabfrage wohl clientseitig eingebaut.

eine Kollisionsabfrage kann man nicht nur clientseitig einbauen, da die abfrage der positionsdaten auf jeden fall über den netcode laufen muss...
denke aber nicht das man diese abschalten kann, da sie wohl der hitbox entspricht (nur vermutung) und man sich sonst auch nicht mehr beschießen könnte...

Garry
05-02-06, 17:42
[x] dagegen - würde absolut beschissen aussehen

...abgesehen davon: die Position der anderen Spieler muss ja ohnehin übermittelt werden - falls die Spielerkollisionsabfrage wirklich merkbare Nachteile für den Netcode verursachen würde, hätte man die (Spieler-)Kollisionsabfrage wohl clientseitig eingebaut.
Also, wenn die Spielerkollisionsabfrage klientenseitig wäre, könnte man ja locker die Spielerposition anderer Spieler mit Eingriffe in den Code bestimmen, ohne das der Server das irgendwie gegenchecken kann mit dem Netcode... (man greift einfach die Daten ab, die für die Kollisionsabfrage an den Klienten gesendet wird) kA, aber würde dies den Schummlern es nicht leichter machen, sowas zu konstruieren.
Desweiteren würde eine klientenseitige Kollisionsabfrage nicht gerade für hohen Lag sorgen, da die Rechner immerhin dann die Kollisionabfragen von vielleicht 40 spielern berechnen? Könnte dies Rechnung nicht zu einer Verzögerung führen für die nächste berechnete Position des Klienten, die dann zum Server gesendet wird, und damit zu mehr Lag? Wenn man diese Rechnung auf den Server legen würde, hätte man die Rechnung einmal, nicht 40 mal... und alles läuft relativ synchronisiert wieder zurück zum Klienten, der daraufhin/währenddessen die nächste Positionsänderung an den Server sendet.

@Robert Es hat auch sicherlich seine Gründe, warum SWG und WoW keine Kollisionsabfrage hat.

elGringo
05-02-06, 17:58
eine Kollisionsabfrage kann man nicht nur clientseitig einbauen, da die abfrage der positionsdaten auf jeden fall über den netcode laufen muss...
denke aber nicht das man diese abschalten kann, da sie wohl der hitbox entspricht (nur vermutung) und man sich sonst auch nicht mehr beschießen könnte...

Lies bitte nochmal meinen Post. Ich sagte ausdrücklich, dass eine Aktualisierung der verschiedenen Positionsdaten (Client<->Server) ohnehin stattfindet. An welcher Stelle eine mögl. Spielerkollision // Überschneidung zweier Positionsdaten geprüft wird ist da unerheblich. Kann in der Theorie sehr wohl auch vom Client übernommen werden.

Eine Hitbox ist übrigens nicht per se solid.


Also, wenn die Spielerkollisionsabfrage klientenseitig wäre, könnte man ja locker die Spielerposition anderer Spieler mit Eingriffe in den Code bestimmen, ohne das der Server das irgendwie gegenchecken kann mit dem Netcode...

Das geht auch jetzt schon .. beim eigenen Char mit dem sogenannten Pfeiltasten und WASD Exploit :D
Bei anderen Chars durch "Schieben"... wo da ein Unterschied zwischen client & serverseitiger Kollisionsabfrage besteht ist mir schleierhaft. Bei der clientseitigen Lösung würde man ja nur die eigene Position autom. ändern, sprich: wenige Zentimeter zurück oder zur Seite laufen.

Man beeinflusst hier ja in keinster Weise die allg. Kollisionsabfrage mit gemappten Objekten...



Desweiteren würde eine klientenseitige Kollisionsabfrage nicht gerade für hohen Lag sorgen, da die Rechner immerhin dann die Kollisionabfragen von vielleicht 40 spielern berechnen?

Jeder Client muss nur seine eigene Position gegen die Positionen der anderen Spieler prüfen. Nichts was viel Rechenzeit beanspruchen würde. Ob andere Spielerpositionen kollidieren - also ob Spieler B und Spieler C ineinander stehen, kann Spieler A egal sein ... das klären die beiden Clients und senden ihre neue Position zurück an den Server ...und der informiert Spieler A ja ohnehin darüber wo die anderen gerade sind.


Wenn man diese Rechnung auf den Server legen würde, hätte man die Rechnung einmal, nicht 40 mal...

Der Server muss nicht alle 40 Positionen vergleichen und dann bei allen überschneidungen, nicht nur bei einer, entscheiden welcher Spieler wie, wohin versetzt werden muss?

Letztendlich ist die Diskussion aber müßig ... ich hab keine Ahnung in welcher Form das ganze konstruiert ist.. und ich bin mir sicher im Zuge der Netcodeoptimierung haben diejenigen bei KK mit dem entsprechenden Durchblick sicher alle Möglichkeiten geprüft... und scheinbar haben wir noch eine Kollisionsabfrage :)

Garry
05-02-06, 18:28
Letztendlich ist die Diskussion aber müßig ... ich hab keine Ahnung in welcher Form das ganze konstruiert ist.. und ich bin mir sicher im Zuge der Netcodeoptimierung haben diejenigen bei KK mit dem entsprechenden Durchblick sicher alle Möglichkeiten geprüft... und scheinbar haben wir noch eine Kollisionsabfrage :)
Nunja, es gibt keinen Testserver mehr... glaubst du wirklich, dass KK sowas auf ihrem Internen Testserver 1:1 ausprobieren kann? Irgendwie bezweifle ich das...
Ich meine, in der Theorie und beim Code haben die sicherlich den Durchblick, aber haben die diese Angelegenheit jemals in einer Beta oder sonstirgendwann unter Einbeziehung von vielen unterschiedlichen Spielern (unterschiedlich im Sinne von unterschiedlichen Hardware oder Systemsoftware wie Treiber oder Betriebsystemen) getest? Wenn ja, würden mich die Ergebnisse brennend interessieren... :)

Aber ok, hast recht... die Diskursion bring insofern nicht viel, da keiner weiß, wie viel es den Lag/Netcode verbessern würde. :) Von daher mal GvT...

PS.: Der Thread kann ja nach der Schließung immernoch von einem Kommentar eines Reakktormitglieds beglückt werden und damit eine möglich Diskursion anregen. :)

Robert [GS]
05-02-06, 21:25
...

PS.: Der Thread kann ja nach der Schließung immernoch von einem Kommentar eines Reakktormitglieds beglückt werden und damit eine möglich Diskursion anregen. :)

Dir wird hier keiner von KK Antworten.

Mandrake
05-02-06, 21:43
Ist das in anderen Online Spielen nicht aus?
Meine, damit keine Vor- bzw. Nachteile entstehen.
:confused: :confused:

PureSpider
05-02-06, 22:05
Nunja, es gibt keinen Testserver mehr...
es gibt eher bald wieder einen :D

Dajon Utensil
06-02-06, 13:39
ich würde mal behaupten, dass ohne kollisionsabfrage böse leute böse sachen machen würden.

was würdet ihr zum beispiel davon halten, wenn ein böser doyler ppu sich in den plaza2 stellt und "in ihm drinne" der noch bösartigere apu.
der natürlich nicht anvisierbar ist, weil er im ppu steht und zum hl casten eben mit der nase rausguckt.

hehe, ihr habt vielleicht ideen ... und zusätzlich siehts auh noch beschissen aus. :)

Robert [GS]
06-02-06, 15:12
ich würde mal behaupten, dass ohne kollisionsabfrage böse leute böse sachen machen würden.

was würdet ihr zum beispiel davon halten, wenn ein böser doyler ppu sich in den plaza2 stellt und "in ihm drinne" der noch bösartigere apu.
der natürlich nicht anvisierbar ist, weil er im ppu steht und zum hl casten eben mit der nase rausguckt.

hehe, ihr habt vielleicht ideen ... und zusätzlich siehts auh noch beschissen aus. :)

Richtig, das sollte schon aussreichen und Grund genug dafür sein, das man es nicht ausmacht!

Rookie-Doo
06-02-06, 16:41
Ohne den Thread gelesen zu haben, absolut dagegen!

Die Kollisionsabfrage macht für mich einen Großteil des fühlbaren Realismus aus, ohne sie würde eine Menge verloren gehen...

LeoPump
06-02-06, 16:54
Ohne den Thread gelesen zu haben, absolut dagegen!

Die Kollisionsabfrage macht für mich einen Großteil des fühlbaren Realismus aus, ohne sie würde eine Menge verloren gehen...

/signed!


SoLoNg...
Leo

Garry
06-02-06, 20:20
Ohne den Thread gelesen zu haben, absolut dagegen!

Die Kollisionsabfrage macht für mich einen Großteil des fühlbaren Realismus aus, ohne sie würde eine Menge verloren gehen...
Ok, wir haben ja auch einen PvP Server, wo ja nicht soooo viel wert auf Realismus gelegt wird... wäre es wenigstens da nicht sinnvoller, wenn man weniger lag hätte. (alles im Konjunktiv!!)

Zoe Blank
06-02-06, 20:23
Dagegen - aus den oben ohnehin schon mehrfach erwähnten gründen.

zusätzlich bin ich noch dafür, dass fahrzeuge spieler wenigstens aus dem weg schubsen, wenn sie schon keinen schaden verursachen...;)