Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Goldwing Studios

Treue Seele

Beiträge: 359

Wohnort: Heidelberg

Beruf: Softwareentwickler, Vertriebler

  • Private Nachricht senden

31

16.10.2018, 15:15

jo, dann hängt man sich natürlich daran auf.

War ein Tipp, ob mit Liste oder Dreirad.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

32

16.10.2018, 15:16

jo, dann hängt man sich natürlich daran auf.
Jetzt werd' mal nicht albern, du hast dich an "Events" vs "Messages" aufgehängt. Das ist doch Kindergarten jetzt die beleidigte Leberwurst zu spielen. Ich würde empfehlen, dass wir das hier abbrechen oder von Mods löschen lassen und einfach darauf warten, dass er es fixt.

Außer mir scheint das Game ja ohnehin niemand nochmal spielen zu wollen. Aber ich hätte da Bock drauf. Zeit ausmachen und loslegen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

33

16.10.2018, 21:00

Wenn ich Planet erobert wird, werden 6 Messages nacheinander versendet:
  1. Planeten-Update (an alle Spieler)
  2. Flotten-Update (an alle Spieler)
  3. Kampfresultat (an alle Team-Mitglieder der kämpfenden Spieler)
  4. Planeten-Infos (ans Team des erobernden Spielers)
  5. Planeten-Details (an den erobernden Spieler)
Dabei hat jede Message eine eigene WebSocket-Subscription. Mir war bis BlueCobolds Meldung nicht bewusst, dass diese Nachrichten zwar im Code des Servers direkt nacheinander abgeschickt werden, sie allerdings nicht zwangsweise in dieser Reihenfolge beim Client ankommen. (Asynchroner Prozess / Beim Parsen braucht eine Nachricht länger braucht als die andere? Muss ich mal nachlesen :grumble: )
Ich werde es so lösen, dass ich nur noch eine Subscription verwenden und alle Nachrichten als Liste / Array auf einmal verschicken werde. Jeder Spieler bekommt einen Zähler, welcher pro Nachricht +1 erhöht wird. Wenn der Zählerwert einer Nachricht, die er empfängt != +1 der letzten Nachricht ist, dann weiß der Client, dass er sich neu synchronisieren muss. Ist denke ich langfristig die bessere Lösung, als das Problem hier nur kurzfristig zu lösen. Da ähnliche Prozesse auch bei anderen Spiel-Ereignissen vorkommen.
Ich werde dafür allerdings bis nach dem Wochenende brauchen. Wenn der Bug behoben ist, dann spiele ich sehr gerne im Multiplayer-Modus mit -> Zeit ausmachen und los!

34

16.10.2018, 22:41

Warum schickst du denn die Messages alle von verschiedenen Stellen los?
Bau dir doch einen kleinen Buffer der zum Ende deiner GameLoop an die Netzwerkkomponente weiter geschoben wird und alles was sich darin befindet wird in einem asynch Task abgearbeitet. Das hat auch den Vorteil, dass du direkt mehrere Events in eine Message verpacken kannst.

35

17.10.2018, 06:41

@DNKpp
Mit als Liste / Array auf einmal verschicken werden habe ich exakt das gemeint, was du geschrieben hast. Aber Danke. :)

36

17.10.2018, 07:07

Cool, dass Du es gelöst bekommen hast.

@Goldwing Studios: Da warst Du mit Deiner Idee des Nummerierens ja doch genau richtig. Ich bin von der Situation ausgegangen, dass die Nachrichten in der falschen Reihenfolge losgeschickt werden. Hier war ja tatsächlich das Ankommen das Problem. Das hätte man tatsächlich über das Aufschieben der Nachrichtenverarbeitung anhand von Nachrichtennumerierung lösen können. :search:

37

18.10.2018, 13:17

Ein weiteres Update:

  • Der bereits diskutieren Bug beim Erobern eines Planeten wurde gefixt (langfristig ist noch mehr Arbeit notwendig).
  • Nutzung von webpack, u.a. ist die Ladezeit der Seite dadurch nun signifikant reduziert.
  • Überarbeitung der Seite, hin zu einem freundlicheren Aussehen.

Schaut gerne mal wieder rein:
www.planet-empires.com

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »VerLieReR« (18.10.2018, 15:12)


BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

38

18.10.2018, 13:46

Der Link ist kaputt ;)

Ist der Fix außerdem schon deployed und live? Denn das Problem trat wieder auf.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »BlueCobold« (18.10.2018, 13:56)


Goldwing Studios

Treue Seele

Beiträge: 359

Wohnort: Heidelberg

Beruf: Softwareentwickler, Vertriebler

  • Private Nachricht senden

39

18.10.2018, 14:10

Deswegen:

Quellcode

1
href="http:// [url]www.planet-empires.com[/url]"


;)

40

18.10.2018, 16:29

@BlueCobold: Das ist jetzt eher deprimierend. Dann scheint es noch eine zweites Problem zu geben, aber ich werde es rausfinden.
Die Seite ist aber nicht mehr im Browser-Cache gewesen? (die letzte Hoffnung ;))

Werbeanzeige