Supernoob got a stupid high rank without playing a single game by spectating. The current system of arbitrary medal tiers for time ingame is silly. There should be a lot of small utility packages at the end of this, nice building blocks everybody can use, be they javascript or typescript I don't fancy rebuilding basic stuff like this from scratch, better to share and improve alike. PRDownloader etc, I'd really like it if that part of spring-launcher was hived off into its own package so that mutual maintenance could happen.Look at the way Zoom has a person who controls the meeting called the Host, but that person is just the admin of the zoom meeting, the hosting is done by servers elsewhere They don't necessarily have to literally host the game on their computer. If they leave, the first person in the list gets passed the host.
They can hand the host to another player. The first player in a battle is nominated the host.Autohosts won't manage the battle itself, they're dumb launchers for the spring executable.Anybody with node could spin it up with ease
npx spring-start -engine="." -map="." -game="." etc should download the relevant engine if it's not already, then start up a headless spring. The command should be runnable via npx, e.g.Alternatively a docker container that takes an environment variable containing the battle ID and a shared secret for API auth.A heroku dynamo could be spun up for each battle using the Heroku API and a github repo to auto-scale.Autohosts would just be instances of dedicated spring that are told "go to /wp-json/lobby/v1/bar/1234 and start an instance, then POST to that endpoint to say you've started, let us know at the end who won/lost.
a lot of it can be partitioned into separate projects, Discord login is a highly desirable plugin that others would want who have nothing to do with BAR or Spring, free testers and maintainers ftw.any $1 webhost can be setup to act as a game server in minutes, multisites can be used to partition games/battles, object caching with Redis should make things stupid fast with the right data structure.I'm in favour of using WP to manage login and REST API, with no WP frontend or WP interface for users.