vinibrito 1 day ago

How do you abstract away the multi tenancy for your developer/user? As in different rooms or instances. Or similar. I'm asking because I'm building a visual development tool for web apps, and all such abstractions, as in computer powers to non developers, are interesting for me to see how they are done.

1
BSTRhino 1 day ago

Yes, all the Easel games are sharing infrastructure, which is much more cost-effective for all of us. In general it's not really something that really affects players or developers.

When a game developer chooses to publish their game, they choose either a subdomain (e.g. https://pewpew.easel.games) or a subpath (https://easel.games/@alzarath/snake). It just takes one click and then they have a URL to share with other people.

When players request to join a multiplayer game, they are matched to other players who are playing the same game, who are close to them geographically, and who are wanting to play the same game mode with the same parameters. A single game may have many lobbies running at once.

To the server, all inputs have the same format, regardless of game, so it's really efficient and just churning through relaying the inputs from one player to another. Because determinism is guaranteed for Easel, the server does not actually do any simulation at all, it just relays inputs, so I don't currently have to manage issues with one "noisy" tenant overwhelming the server and degrading the experience for others.

Not really sure if any of this answers your question!