Programatically creating clones

(I legitimately don't know where to put this topic. If you think somewhere else would be better, let me know!)
So @spaceelephant said something that got me thinking a few days ago.

For context, I believe mr_owlssssnap2 made a project in one block, and spaceelephant was saying that you could make it with one less sprite.
This got me thinking- sure, you can manage clones using "when I start as a clone", but could you do the same through recursion and custom blocks?

I found that yes! You can! I'm sure many of you have known this for a long time, but it's a new discovery for me. Here's the code I used:
untitled script pic (43)


untitled script pic (44)

This outputs:
Screenshot 2022-05-12 10.38.26

I feel like this opens up a new world of possibilities!
If you have questions, comments, concerns, etc., let me know!
__

Okay, I do have a question, though: is it possible to name a clone?
So the following code would output something?
untitled script pic (45)
__

Yes, just as it's possible to name a sprite.
image
Also, you can just use the image reporter instead of having to find the clones afterwards.

Holey, can I use this for my "game in one block" project?

You can! Thanks for asking.

Thank you!

Wait- how exactly would this be used to control clones in a block?

you can tell a clone to run a script
untitled script pic

oh, yay

I made my own version
image

that would actually be
[scratchblocks]
tell my clones to ({...}::grey ring)::control
[/scratchblocks]

"I" is saying the sprite running the block is a clone, not the parent sprite.

ehhh true
Edit: It works :DD