[x] show an error message if the connection to PeerJS could not be done while the lobby is starting
[ ] Create a few official examples and publish them
[x] update lobby logic so that lobbies are created on the fly, rather than fixed, allowing customization based on sub
[x] go through all basic objects to ensure they are correctly synchronized (objects in the New Object screen)
[x] Allow opening up multiple preview windows on web too (or disable those options in the dropdown)
[x] Look into using our own PeerJS server rather than the official one Can be done later from the backend
[x] Look into adding Stun/Turn servers automatically
[x] Fix all variable types being synced correctly
[x] Fix platformer behavior not being destroyed properly on first tick if object is destroyed
[x] Fix issue where lobby can't be opened after logging. Seems ok
[x] Do not delete objects with multiplayerBehavior of a non-existing player, if the game is not running
[ ] Adapt heartbeat based on if the game is in preview or not
Nice to have:
[ ] Ensure that a crash in lobby interface is handled (on gd.games side).
[ ] Improve message names to be simpler (#update instead of #update#object_xx#owner_xx...)
[ ] Implement prediction of movement of synchronized objects with no forces (can be reproduced with a synced text object following a character for instance)
[ ] Fix conflict between prediction of platformer object movement in regards to the platform it's on, causing jittering in the character movement (can be reproduced with a character on top of a moving character)
[x] Close the WS connection when the game is playing, ~and re-open a lobby at the end if one is available~
[ ] Checkbox to decide if a scene is synchronized by the host or not
[ ] Improve variable synchronization to avoid a check on the full json of variables and loop through them one by one (look at a similar logic in the hotReloader)
[ ] add more tests to the sync in the scene if possible
Left to do:
Look into using our own PeerJS server rather than the official oneCan be done later from the backendFix issue where lobby can't be opened after logging.Seems okNice to have: