Code block presets?
-
Creaticode should have a presets area on the tabs section with presets for both 2d and 3d
My idea is that CreatiCode will have block presets like: 2D movement, 3D movement, AI Chat block presets, and so on
-
Do you mean a set of blocks? The “Motion” category is for 2D movement, and the “3D Action” category is for 3D movement. Are you referring to some smaller subset of blocks?
-
@info-creaticode Yes, I’m referring towards an area where you can have pre-built blocks, and maybe even community-built blocks.
-
OK. Sounds like you are talking about “snippets” of blocks that can be reused by others? Such as WASD key controller code for 3D movements? That’s a very interesting idea. We need to think about how to design the UI to make it easy to contribute new snippets and search for snippets.
-
@info-creaticode Alright, thank you
-
@info-creaticode You should probably add a moderator that watches for new submissions so that if they have NSFW images/text in them, they wont be allowed through until it’s too late
-
We do have some forum moderators (volunteers), who are doing a great job spotting issues in new posts. Of course, if you see any issues, please feel free to report them as well.
-
@info-creaticode Alright, thank you
-
@jd131111 this would be like a public backpack with verification to submit to it
-
Yes, it is similar to a backpack that’s shared with everyone, and you will also be able to search for the snippet you need.
-
@info-creaticode said in Code block presets?:
We do have some forum moderators (volunteers), who are doing a great job spotting issues in new posts. Of course, if you see any issues, please feel free to report them as well.
Thank you
-
@info-creaticode It could be like community built custom blocks is what im getting. I like the idea, so people can share code and stuff easier to use across projects. I do have one request for it though: it needs to be implemented in a library-like fashion. This would prepare students for the real world & getting into serious programming, like with NodeJS or python, etc., where to get extended functionality you would need to download packages/libraries from NPM to your project (or code it yourself). For how it would get added, there would be a “add package/library (package chooser)” block that needs to be put in the stage in a “when green flag clicked” block. The package chooser shows all community made libraries.
These community made libraries could/would consist of variables, tables, lists, and most importantly, custom blocks. To access stuff from libraries, they would appear as an extension to your project like how “Widgets” is or “3D”.
In fact, an easier/alternative method that you guys could also add would be allowing users to submit their own scratch extensions (they would need to be reviewed by someone before appearing publicly).
then
For this idea, when the add extension menu is up, there would be community extensions as well for more advanced users (such as myself) that would like to give extensions to the community and add more functionality to CreatiCode projects using code. For a normal user, they could be able to put trusted (moderator reviewed) extensions in their projects.I know the idea needs more fleshing out but this is just what I’m putting out there for now as I think more of how a system like this could work.
-
You are right. We should allow users to submit new extensions.
However, the code snippet library should be more like backpack than extension, since it will allow users to modify the code blocks after a snippet is imported. If it is an extension, then users won’t see its implementation and also won’t be able to customize it.
-
@info-creaticode Ohh, that makes sense and I understand. Since it’s more adding things to your backpack than an extension, then it needs to be bigger and work more because the struggles I have with the backpack are that it’s a bit small and oftentimes says something like “Backpack failed to load” after opening and closing the menu a couple times.
Perhaps libraries would be a seperate thing then, since that’s the point of libraries, to be shared for others to use and not be modified. I was thinking that perhaps a seperate page would be made to customize extensions after they have been published and that it would work like extensions more. For libraries added to a project, their information could be accessed using this perhaps?
And things like tables, lists, and functions (custom blocks) would be accessed from other things and maybe even just a section/extension for it itself rather than using the “[property] of [sprite]” block as that is more limited. I just think the idea of like modules/libraries is a great oppourtunity to show how they work in other programming languages in an easier way as well as making CreatiCode easier to code projects with.Community extensions/libraries (in the way i suggested) would be implemented a database rather than being hardcoded into the site code, which would be great for advanced users like myself to write code for new blocks that can do more and don’t need to be added into CreatiCode itself, like the suggestions I’ve made in the past that have been rejected (for things like string encryption and making HTTP requests).
My solution is for there to not only be a code snippets library but also a community extensions library. Their differences should be explained so people can know what the right choice(s) are to make, and they could even use both in their projects. When these are used, the creators of these snippets/extensions would also need to be credited, so on the project page, there needs to be a message in the same fashion of “Credit to the original author, (author)” when it’s remixed, but like “Code snippet (title) by (author) was used”.
For both of these, they would need to be moderator reviewed, like in a posting queue system.
-
@jeffreyrb03-gmail said in Code block presets?:
For libraries added to a project, their information could be accessed using this perhaps?
Can you please explain this part more? An extension is usually just a list of new blocks. It is not clear why you would need this sensing block to access it.
-
@jeffreyrb03-gmail said in Code block presets?:
For both of these, they would need to be moderator reviewed, like in a posting queue system.
We will probably allow the users to submit a new snippet after automatically running it through a moderation AI checker. Then, later, anyone can review them and report issues.
-
@info-creaticode That was just an idea I didn’t think much about before putting it there. To access things from an extension it would be done the normal way.
-
@info-creaticode I originally was going to say either AI or moderator review, but then I realized, for a snippet trying to get a user to run dangerous code or say a snippet that places inappropriate images, the AI can easily be fooled due to its lack of spatial awareness/capabiltiies. You could obfuscate a string, with various methods like say jumbling the letters and dejumbling them, to put strings the AI can’t interpret, and it would be even more effective to put comments that distract the AI like “3D raycasting algorithm” or something or misleading function names. I think human review would be good alongside AI since bad things could happen.
-
Yes those things can happen, but they can also occur with new comments or projects, and we can’t really review all of them manually. So we will just have to assume most users are well-intended and delete any user that tries to do harmful things immediately when we find out.
-
Not a bad idea, not gonna lie. However I feel like it going to Extentions is a bad idea. Maybe we could make a separate category called Community Code so that official Extentions don’t get mixed up.