Multiplayer Ad-Hoc Client/Server Setup Architecture Ideas

Hey everyone! Thought I’d tap the brains of the community to see what ideas you may have.
I’m interested in developing the server backend behind a game that operates a lot like Jackbox games.
For those that are unfamiliar, Jackbox games make fun multiplayer games like Quiplash. You pay for the game (one time cost), and then run it (via Steam or on a console platform). You then start a game, which generates a code. Everyone who wants to play takes out their phone, goes to jackbox.tv and types in the game’s code. They are then connected together to then play the game. People can connect outisde of the local LAN, so some kind of cloud server must be doing some of the work here.

I suspect what’s happening is that when a game is started, a real-time server (like node.js or SingalR) is called to create a room. Clients connect to a website that also has a client to the realtime tech, and the code point them into that same room. The logic is run back to the clients and the PC/console, and the game plays out.

My questions are:

  • These games have a one-time up front cost to buy. But it seems like the games themselves are hosted in a place where costs would just keep accumulating based on how many games are played. What’s the business model here?
  • Are there other technologies besides node.js or SignalR for this type of thing - and specifically would they be more cost effective? I’ve thought of using things that web functions to do this work too.

I’ve put together working prototypes of this stuff already so I know I can get it to work. I can use MonoGame for both the console editions of the game and the mobile versions (or just serve up a mobile website for the phones). I’m just wondering how others have done it (or would consider doing it) at scale.

All comments are greatly appreciated. Thanks!

Replying because I’m very interested in this as well. I’m looking to hire someone who has experience connecting over 10k players in the same building.