The MakeCode team is happy to announce that online multiplayer is now available on the MakeCode Arcade beta site!
That’s right, multiplayer games no longer require you to share a keyboard and a computer; up to 4 players can play a game together from anywhere in the world! We’d like to ask for your help in testing this new feature.
Please note that multiplayer is still very much a work in progress! Remember to make copies of your important games before opening them in the beta site. Likewise, if you are coding a game in beta then be sure to download your work frequently to avoid losing progress. If you find any issues or bugs, report them to us on GitHub or tag @eanders or @jwunderl in a post to this forum.
Making a multiplayer game
Making an online multiplayer game is easy! Multiplayer blocks can be found in the Controller and Info categories of the toolbox. If you’ve made local multiplayer games in arcade before, then you will be using the exact same blocks to make online games.
Likewise, all of your existing local multiplayer games should automatically work as online games. If they don’t, please let us know!
Hosting a game for others to play
Once you have a game to play, there are two ways to host a session for others to join:
Player 1 needs to keep the game window focused when playing, otherwise it can lead to lag. Keep the game window active and don’t switch applications while hosting a game session
I also stress-tested it with a pretty complex song and I’m very impressed with the latency! (Although, I only tested with a blank no-action screen, plus only one other player so I don’t know if perf will degrade with more players, plus my computer and phone were connected to the same WiFi network so we are probably connected to the same servers)
I was wondering if maybe we could also have a blocks API for sending messages over JACDAC. (although isn’t that still on the back burner???) So it would work on hardware or the simulator. Instead of plugging physical cords into a hardware device, you can still do the same “share code” and then any two programs can work, as long as they both have code to use the JACDAC API. This could be a more flexible alternative.