Ich bräuchte mal eure Einschätzung / Überlegungen:
Hobby-mäßig bastle ich oft an kleinen Spielen.
Nun stehe ich vor einer Frage die ich mir selbst nicht richtig beantworten kann:
Es geht um ein Multiplayerspiel - Strategie. Der Spieler kann also Agents auf einer Karte steuern.
Thema: Pathfinding.
Was macht mehr Sinn? Die Berechnung der Wege auf dem Server laufen zu lassen oder Clientseitig?
Auf dem Server könnte dann relativ hoher Aufwand erzeugt werden, gerade wenn 4 Spieler gleichzeitig a 200 Einheiten auf einer großen Karte durch die Gegend schicken. Natürlich kann man über Gruppenberechnungen etc optimieren aber dennoch bleibt da ein realtiv hoher workload auf dem server. So wäre die Berechnung aber auch steuerbar, sprich die Anfragen könnten gebuffert werden und nacheinander abgearbeitet werden.
Würde ich das Clientseitig machen, sprich ich teile nur mit Einheit A von Spieler B möchte nach Position C, würde das die Workload auf jeden Client schmeißen, aber der netcode wäre schlanker.
Wie würdet ihr dabei vorgehen? Ich hoffe ich konnte halbwegs formulieren, worum es mir geht.
Frage
Alaric
Ich bräuchte mal eure Einschätzung / Überlegungen:
Hobby-mäßig bastle ich oft an kleinen Spielen.
Nun stehe ich vor einer Frage die ich mir selbst nicht richtig beantworten kann:
Es geht um ein Multiplayerspiel - Strategie. Der Spieler kann also Agents auf einer Karte steuern.
Thema: Pathfinding.
Was macht mehr Sinn? Die Berechnung der Wege auf dem Server laufen zu lassen oder Clientseitig?
Auf dem Server könnte dann relativ hoher Aufwand erzeugt werden, gerade wenn 4 Spieler gleichzeitig a 200 Einheiten auf einer großen Karte durch die Gegend schicken. Natürlich kann man über Gruppenberechnungen etc optimieren aber dennoch bleibt da ein realtiv hoher workload auf dem server. So wäre die Berechnung aber auch steuerbar, sprich die Anfragen könnten gebuffert werden und nacheinander abgearbeitet werden.
Würde ich das Clientseitig machen, sprich ich teile nur mit Einheit A von Spieler B möchte nach Position C, würde das die Workload auf jeden Client schmeißen, aber der netcode wäre schlanker.
Wie würdet ihr dabei vorgehen? Ich hoffe ich konnte halbwegs formulieren, worum es mir geht.
Link zu diesem Kommentar
Auf anderen Seiten teilen
5 Antworten auf diese Frage
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.