kbuzsaki / bingosync

Collaborative bingo boards for speedrun races
https://bingosync.com
90 stars 108 forks source link

Separating board generation from the main repo #366

Open TheRealAlph4 opened 2 weeks ago

TheRealAlph4 commented 2 weeks ago

Hi! I'm from the Hollow Knight vanilla bingo community, and while I can't speak for the randomizer community, from what I've heard, this is their biggest issue as well.

We're pretty active (you might remember me fixing our mod sending faulty requests a few months ago), and we've made quite a few new gamemodes and goals, and we would really like to have them up on the official site, but making pull requests here is not really a good solution for several reasons:

  1. There's a lot more pressure and it's a "bigger deal", so people just don't do it.
  2. Any changes (spelling, wording, etc) are tedious to have to make a PR for (and tedious for you to have to deal with).
  3. That the PRs have to go through you makes the whole process slower than if all of it could happen within the HK community.

The solution that I think would be the best, would be to take all the Hollow Knight generator files and move them to a separate repo, where one or several people from the Hollow Knight bingo communities have permissions to accept PRs. This way, we could autonomously create new gamemodes, adjust the wording/spelling of goals and similar, without you having to look at every change. You also wouldn't have to give us any permissions over bingosync itself.

It would be awesome if you could make this happen, thank you in advance!

kbuzsaki commented 3 days ago

Hey, could you say a bit more about how you're envisioning this working mechanically? How would the generators in this separate repo be executed?

Right now Bingosync generates boards for its "supported games" by executing the generator javascript locally on the server. Because of that, I want to review all of the incoming generators to check that they don't contain malicious code. You're of course welcome to have a separate repo for your generators, but I would still need to review any changes before pushing them to the actual bingosync server.

Alternatively, if you want to also execute the hollow knight generator yourselves and then make a bingosync room with the board that you generate, that's possible today using the "Custom (Advanced)" function. It's maybe a bit tedious for humans to create rooms this way because they need to paste in the goal list instead of just selecting the game from the dropdown, but it technically works. The main functional limitation of this is that it makes it harder to have a truly fair hidden board since one of the users can see the goals when they paste them in.

One way to address your community's desire to have more control over the generator update process might be to improve this custom board support, maybe an API for room creation or new card generation that you can write a tool against so that it's easier for less tech-savvy users?

Another could be to separate out the hollow knight generator code and add support for custom hollow knight goal lists to be pasted in, similar to the "SRL v5" and "Isaac" variants of "Custom (Advanced)". With this model you wouldn't be able to modify the actual generator code on-demand but you would be able to paste in customized versions of the goal list and have them executed with random seeds on the Bingosync server.