Biergamasda
Erfahrenes Mitglied
Hallo Leute,
Ich bin gerade dabei, mir ein kleines Bomberman zu basteln, hatte das schon vor 2 Jahren einmal angefangen und will es jetzt endlich zur Vollendung bringen.
Also, kurz zum Spiel:
Klassisches Bomberman 2D mit einer MxN Matrix als Spielfeld und 2-4 Spielern. Spieler legen Bomben, diese haben ein Delay bis sie explodieren, es gibt "power ups" und zerstörbare/nicht zerstörbare Felder.
Jetzt zum Problem:
Habe mir da einige Gedanken dazu gemacht, und mal 2 Überlegungen in die engere Auswahl eingeschlossen
1. Übertragen der kompletten Spielfeld-Matrix als Array etc von Binärwerten welche den Feld Stati entsprechen. Client schickt Steuersignale an den Server, dieser verarbeitet alles und schickt das Ergebnis in Form des neuen Spielfelds zurück.
2. Clients besitzen komplette Logik und der Server leitet die Steuersignale nur weiter.
Probleme hierbei:
1. Es kann passieren, dass der Benutzer eine Taste drückt, und sich erst nach xx Zeiteinheit das Resultat bemerkbar macht
2. Es kann zwar nicht passieren, dass eigene Aktionen verzögert durchgeführt werden, jedoch kann es passieren, dass z.B. Bomben vom Gegner gelegt werden, bereits explodiert sind bevor der Client x erst erkennt, dass etwas passiert ist. (Aktion wird mit Timestamp übertragen)
Gibt es da noch andere Ansätze dazu oder muss ich mich einfach damit abfinden, dass man um die Problematik der Verzögerung im Netzwerk nicht herumkommt?
Danke schon mal im Voraus
Gruß
Christoph
Ich bin gerade dabei, mir ein kleines Bomberman zu basteln, hatte das schon vor 2 Jahren einmal angefangen und will es jetzt endlich zur Vollendung bringen.
Also, kurz zum Spiel:
Klassisches Bomberman 2D mit einer MxN Matrix als Spielfeld und 2-4 Spielern. Spieler legen Bomben, diese haben ein Delay bis sie explodieren, es gibt "power ups" und zerstörbare/nicht zerstörbare Felder.
Jetzt zum Problem:
Habe mir da einige Gedanken dazu gemacht, und mal 2 Überlegungen in die engere Auswahl eingeschlossen
1. Übertragen der kompletten Spielfeld-Matrix als Array etc von Binärwerten welche den Feld Stati entsprechen. Client schickt Steuersignale an den Server, dieser verarbeitet alles und schickt das Ergebnis in Form des neuen Spielfelds zurück.
2. Clients besitzen komplette Logik und der Server leitet die Steuersignale nur weiter.
Probleme hierbei:
1. Es kann passieren, dass der Benutzer eine Taste drückt, und sich erst nach xx Zeiteinheit das Resultat bemerkbar macht
2. Es kann zwar nicht passieren, dass eigene Aktionen verzögert durchgeführt werden, jedoch kann es passieren, dass z.B. Bomben vom Gegner gelegt werden, bereits explodiert sind bevor der Client x erst erkennt, dass etwas passiert ist. (Aktion wird mit Timestamp übertragen)
Gibt es da noch andere Ansätze dazu oder muss ich mich einfach damit abfinden, dass man um die Problematik der Verzögerung im Netzwerk nicht herumkommt?
Danke schon mal im Voraus
Gruß
Christoph