nathaniel.buck@unity3d.com
2a376941
Cleaning up some of the lobby state so that leaving and rejoining/creating new lobbies works properly. Oh, also, I forgot to remove the ArePlayersReadyTime from the lobby, and also had a minor bug with the lobby heartbeat.
3 年前
nathaniel.buck@unity3d.com
9b8e52ec
Lobby package now requires a heartbeat, so this adds that in. Note that I've identified a bug with the UpdateSlow where the wrong delta time was being passed, and I'm not *technically* fixing that, but it's close enough and just a one-line fix.
3 年前
nathaniel.buck@unity3d.com
42e833be
Lobby package update
3 年前
nathaniel.buck@unity3d.com
90d3890c
Completing the game state shift from lobby to relay. This adjusts the countdown to be interruptible and to properly handle exiting the game and restarting it. I'm also starting to trim a bit from the GameStateManager and the main scene, though most of that is pending.
3 年前
nathaniel.buck@unity3d.com
5a114974
Transitioning data handling to Relay, so Lobby will only be responsible for the data useful for getting players into the lobby. I'm also fixing a bug where the lobby list heartbeat would never stop.
3 年前
nathaniel.buck@unity3d.com
5fa60706
Starting to shift responsibility off of lobby. Now, once a player is connected to Relay, the local player data will update from that instead of from the lobby. The data are still written to the lobby currently, however.
A couple renames for clarity are also included.
3 年前
nathaniel.buck@unity3d.com
fbb0cb37
Adding inclusion of initial player data to lobby creation/join. Adding logic for Relay hosts to ferry network events from client to client. A bit of progress on changing the flow of user state to account for Relay, but that's still mostly in-progress. Adding client heartbeat to keep the UTP connection alive.
3 年前
nathaniel.buck@unity3d.com
98fff65d
Downgrading to 2020.3, since none of the service package dependencies need a higher version. I've also removed a few unused packages, mostly for 2D sprites which we don't need.
3 年前
nathaniel.buck@unity3d.com
d1773d39
Consolidating and renaming for readability. This still represents the baseline Relay + UTP behavior, without removing existing Lobby behavior yet or handling edge cases.
3 年前
nathaniel.buck@unity3d.com
42fe907a
Almost actual progress: This now has the two clients connecting to Relay on join, with the host keeping the allocation alive, and they will send each other changes to their name, emote, and ready immediately.
The code will get some cleanup and renaming, and then there are still plenty more features necessary, including UI work and changes to how Lobby data get used.
3 年前
nathaniel.buck@unity3d.com
678fd232
Still partial progress. I have a little handoff going where the client identifies itself to the server and the server responds with an ID to use in further communication. However, I don't think that will actually work since all clients would also need those IDs? I can just send the user ID, which takes up more bandwidth but not dramatically so. Also, this pinpoints the heartbeat for keeping the Relay allocation up. I'm trying to pull out all the job system things, since that both seems like an extra layer of complexity that devs would have to learn and it also isn't, like, *actually* used correctly in the sample?
3 年前
nathaniel.buck@unity3d.com
85184572
Partial progress - I wanted to verify how to do the data sending before breaking out into another class. This will now send the client's name to the server on connection.
3 年前
nathaniel.buck@unity3d.com
c2cfe060
Partial progress. Consolidating a little more, should be able to start breaking things out from here.
3 年前
nathaniel.buck@unity3d.com
cdaa3722
More partial progress: I'm sending a byte from the client and receiving it on the host, though I don't yet know how and it's a sloppy copy-paste.
3 年前
nathaniel.buck@unity3d.com
abd52623
Partial progress: Following a trio of Relay+UTP samples, I seem to have something that will bind a transport to Relay and keep the connection open (as evident from the fact that a client can join after what would be the 10s timeout on Relay and successfully get the JoinAllocation, when they wouldn't without keeping the connection open even when binding was correct). However, this current code is very slapdash and sloppy; I'm just committing now as a very rough draft.
3 年前
nathaniel.buck@unity3d.com
80161691
Creating a staging branch, which will serve to contain the changes for reintroducing the packages and project ID that are scrubbed from the releases.
3 年前