#Some unstructured thoughts on the new UGC system

7 messages · Page 1 of 1 (latest)

white stone
#

I've been thinking a lot about the upcoming stonescript distribution system and how it might work. It's especially important for it to work well on mobile, given how many more people are on phone and how headachey the current system is for custom imports. here are some of the things I'd expect it to have (not sure what has or has not been thought of already):

  • a way to either upload your current mind stone, or upload from a file on your device (mobile included), or both.
  • a way to view and possibly edit any scripts that you have added/downloaded ingame
    • this could either be done through storage in your device's file system (I know handling files in mobile can be complex but it might be necessary here), or through an added tab interface in the mind stone
  • a "public-private" visibility toggle. this is especially important on mobile because as I see it it's basically the only way to get custom private imports on mobile to work (unless you figure out a good local storage solution there)
  • a way to search for scripts in the Faire (or wherever you find new ones) by name
  • a simple review system would be nice; maybe just positive/negative like in steam workshop
  • also VERY IMPORTANT: some sort of robust validation scheme is absolutely necessary. if .txt files are going to be uploaded to the server, we want to be absolutely sure that they include only stonescript and not any other arbitrary executable code
#

since like half of these concerns could be easily addressed through just letting scripts be stored locally somewhere on mobile, maybe that's what needs to happen

keen patio
#

Is stonescript compiler/validator viable?

white stone
#

I mean the game actively interprets it already

#

a validator could possibly work by running through it and rejecting any unknown commands or properties

#

oh that reminds me though,

  • should have an option to mark dependencies when sharing scripts, and automatically check for and add said dependencies when the script is added
median grail
#
  • time namespace can be used to find a persons location, that needs some thought (something like scratch's system, warning you before you run it "this project uses the time variable!!! are you sure?" maybe)
  • need to make sure lag bombs arent shareable probably