Having fun remixing a project again

I couldn't resist remixing a beautiful program, again; this time the original was made by cornelios207.

Remix is embedded below.


To add an element to the chain, use 'E' key on keyboard; to remove an element from the chain, use 'Q' key.
To make an element longer, use 'A' key; to shorten them, use 'D' key.

Nice. I could never do this >.>

That's what I was saying a few years ago when looking at other people's projects, too. But I kept learning by looking inside them and trying to remix them...

I need this kind of mindset. sometimes projects are overwhelming, I guess.

Yes, they can be, but you need to refuse to be intimidated by them, just try to have fun changing a little bit here and there. Sometimes I begin remixing a project by doing nothing else but renaming a variable here and there. No need to start big.

Alrighty, guess I could run with that. :3

I'm happy to see that there are other people tinkering around with my project! Love what you have done with it

The great thing about it is that this isn't school; there's no penalty for messing up. You just try again.

We all get overwhelmed sometimes; the ones that are hard for me to work out are the ones with a dozen sprites.

That is primarily while I liked Scratch and now this, I just get to mess around I guess. Also I get overwhelmed by a bunch of claustrophobic scripts mainly :S, like a bunch of scripts clumped together or just all over the place, I like when things are organized and spread out.

I've always been in awe of the way Scratch kids, back in 1.4 when there were no custom blocks, could write these super long scripts that go on and on forever, and actually debug them. It's sort of an obsolete skill, like making a fire by rubbing two boy scouts together, but still impressive.

It is hard to follow the logic of scripts; the more they are, the harder it is, I think.

That's why I tried to organize them by using connections between them visually as shown here, however nobody replied or discussed the idea, although I think it is helpful especially when there is - as you say - 'clustrophobic' amount of scripts and one needs to always see how they are organized.

Spreading them out is helpful, too; one can spread out a few scripts easily, but once you have a lot of them, spreading them out is not so easy anymore, so connecting them visually is almost necessary.

I think Andy DiSessa had the right idea about this in Boxer: let chunks of code grow and shrink visually, so that the amount of normal-sized code on the screen at any moment is fixed, but the tiny bits put the bit you're reading in a context.

What we do is quite different, but works well for disciplined programmers: We hide all custom block definitions unless you ask to see one. So, if you're good about breaking your program into meaningful chunks, your toplevel script(s) will ideally consist entirely of calls to custom blocks, not doing any of the grubby detail work at top level. Then you can open and close editor windows as needed.

It doesn't work well if you write the sort of code in which a block makes assumptions about its caller. Then you have to see everything at once to make connections.

P.S. I'm a horribly undisciplined programmer, so I'm only guessing. :~)

I do think something like that would be definitely helpful since there are a lot of projects where scripts are just scattered all over the place and numerous. Also if there are a lot, I would agree it'd be hard to organize them, and it would likely get just tedious using the scroll wheel constantly even on bigger screens.

What do you think about naming different groups of scripts, using names of body parts, for example like on the picture below.

Well it's more organization, seems more productive to me.

Hi, cornelios207, first I apologize for my belated reply. You made such an amazing project. It never ceases to fascinate me.

Thanks for sharing it.