Nitrox icon indicating copy to clipboard operation
Nitrox copied to clipboard

Join queue despaghettification

Open SpaceMonkeyy86 opened this issue 1 year ago • 9 comments

  • The join queue logic is now centralized in a single async method and no longer relies on fallible callbacks
  • It is now impossible for the queue to get stuck even if a player crashes their game while connecting
  • Players enter the queue once the base game has finished loading to reduce unnecessary delays

SpaceMonkeyy86 avatar Mar 18 '23 16:03 SpaceMonkeyy86

I agree, this PR needs a dedicated UI screen to be production-ready. I think we should go ahead and add it now because it's bad practice to merge a PR that says "Finish me later with another PR."

SpaceMonkeyy86 avatar Apr 15 '23 15:04 SpaceMonkeyy86

Would like to hear about where this is going. Should we try to restrict the scope of this PR (e.g. postpone early loading which needs more work as said above) to at least have the fixes merged ?

tornac1234 avatar Aug 25 '23 18:08 tornac1234

I think so, adding new menus sounds more like a beta feature. We do need to add at least some kind of additional UI to the loading screen, however.

SpaceMonkeyy86 avatar Aug 25 '23 18:08 SpaceMonkeyy86

How's this going ?

tornac1234 avatar Dec 23 '23 18:12 tornac1234

I took a very long break from this project because I was busy and my interests had changed, so I haven't been keeping up with things very closely. Actually, I was thinking of getting back into Nitrox, and this is a good time to do it. This PR is functional (last time I checked) but to be "polished" it still needs some sort of UI on the loading screen to show progress, or just to modify the vanilla progress bar. That would be better suited for a separate PR. Other than that, it should work (I just need to fix the conflicts).

SpaceMonkeyy86 avatar Dec 23 '23 20:12 SpaceMonkeyy86

It still works!

SpaceMonkeyy86 avatar Jan 02 '24 01:01 SpaceMonkeyy86

Would this make sense to be merge before or after #2023 ?

Jannify avatar Jan 03 '24 00:01 Jannify

I don't think it matters. They shouldn't break each other, right?

SpaceMonkeyy86 avatar Jan 03 '24 01:01 SpaceMonkeyy86

The PR is ready for review now. Just one thing - currently, if the client is in the queue, the loading screen disappears and they can play as normal. However, when they start syncing it reappears and anything they did is undone. This is unintentional, but I left it in for now since it's nice to be able to jump/swim around while waiting instead of just looking at a static image on a loading screen. Should we keep this in? Maybe add something to the queue enter message to let the player know what is happening?

SpaceMonkeyy86 avatar Feb 09 '24 22:02 SpaceMonkeyy86