Facepunch / sbox-issues

175 stars 12 forks source link

Let users submit Json files for each game #4921

Open youarereadingthis opened 8 months ago

youarereadingthis commented 8 months ago

For?

S&Box

What can't you do?

At the moment if you want users to submit things like custom levels from an ingame editor, you have to make your own backend. That means maintenance, fees, and security issues due to inexperience.

How would you like it to work?

Each user for each game can submit up to 20 .json files up to 1MB each. The user has the ability to submit and delete these files ingame, and users can rate these files ingame.

There would be a way of listing and downloading these files ingame, with an option to sort by highest rated.

Org owners could remove submissions and ban specific users from submitting.

What have you tried?

This is something I'm trying to do on my own, but I felt like this would be a really good feature for some games to have which support custom content.

Additional context

There are more uses than just user-made levels for this kind of feature. Any kind of ingame content that can be serialized into Json would be supported, such as pixel art that can be turned into textures animal crossing style.

garrynewman commented 8 months ago

You're basically talking about a custom UGC database., like workshop, per user, per game.

We can do that.

youarereadingthis commented 8 months ago

I was suggesting Json as I felt it was a much simpler idea that would still allow a lot of creativity, but if you want to give us full blown workshops per game then who am I to disagree? Garry out here making big plays.

My level editor serializes its data into Json, so I hope that the text/json filetype is allowed as well for per-game UGC, and allowed to be uploaded/voted/deleted in the game itself.

If my users had to copy the URL into their web browser to submit/vote on levels then that would be.. not nearly as cool? And I mean specifically for the Json file type. It's just text, not a model/material/sound, so I hope that is viable.