I'm ten and I thought I knew Scratch pretty well, but then I saw Archmage's tutorial and I realized that the real Scratch Projects were way out of my depth. How do I get better at Scratch?
Offline
Hey, I am 15 and i do advanced C+= stuff. But I am no good at Scratch because I don't spend time in depth learning it like the other programming languages. I've been honored by many Top Comps and stuff. Maybe you and I could join "forces"?
Offline
If you want to get better at Scratch, just practice a lot. Use it often, look at advanced projects and try to understand them. Maybe learn how to trim your scripts down a bit. Learn all of the tricks to Scratch and explore the program. There's no question that the program is very limited, and it doesn't have infinite possibilities, but it still has quite a large number of ways you can use it. Try all sorts of projects. You'll get the hang of it eventually.
Offline
Nice advice !
Offline
Thanks. But actually, Scratch Version 2 is coming out soon, and I'm wondering if it'll have the same type of system as this version. Maybe spending a lot of time learning Scratch Version 1.4 is a bad idea if Version 2 is nothing like it...
Offline
Ace-of-Spades wrote:
Thanks. But actually, Scratch Version 2 is coming out soon, and I'm wondering if it'll have the same type of system as this version. Maybe spending a lot of time learning Scratch Version 1.4 is a bad idea if Version 2 is nothing like it...
Actually, we have a while. At least till next spring.
You should just find the kind of project you like most and view the a code. Then start trying to make it. It is ok to look at someone else's project to see how it works and how you can make your own better.
Offline
Will it be the same block stacking and snapping system? I heard it'll be in flash, but that doesn't necessarily mean they'll drop their puzzle piece type of programming.
Offline
Ace-of-Spades wrote:
Will it be the same block stacking and snapping system? I heard it'll be in flash, but that doesn't necessarily mean they'll drop their puzzle piece type of programming.
Why wouldn't it be? Scratch is all about it's snapping system. Scratch wouldn't be Scratch without it.
Offline
In that case, it would still be the same as it is now for the most part, so Helltank, you should start examining Scratch closer soon.
Offline
Ace-of-Spades wrote:
In that case, it would still be the same as it is now for the most part, so Helltank, you should start examining Scratch closer soon.
Yeah - don't worry, Scratch 2.0 will be very similar to the current version of Scratch, only it'll have some additional features. So yeah, you can get started now!
Offline
helltank wrote:
I'm ten and I thought I knew Scratch pretty well, but then I saw Archmage's tutorial and I realized that the real Scratch Projects were way out of my depth. How do I get better at Scratch?
Well, like anything, Scratch takes practice. You really just have to experiment with some of it's features to learn more. I've been using Scratch right from the beginning, Scratch 1.0. I actually didn't know what variables were, so I never used them. So, like I said, just experiment and you'll get it.
Offline
helltank wrote:
I'm ten and I thought I knew Scratch pretty well, but then I saw Archmage's tutorial and I realized that the real Scratch Projects were way out of my depth. How do I get better at Scratch?
Which tutorial are you refering to? I think all my finished tutorials my pretty straight forward and easy to follow.
If you want to get a really good understanding of how to program I reccomend trying to program in a real language.
-> helpful tutorials can be found @ http://www.highercomputingforeveryone.com/
On the other hand, if you are not so eager then make sure you take programming classes when you are able to in high school.
Scratch was designed to teach the bare basics so I think once you learn the basics, you will be better off learning real programming.
Offline
Hang out in the All About Scratch forum. Post every time you need help with a description of the problem and a link to your uploaded project. But also read other people's posts about their problems. We solve every problem about 5o different ways and usually very quickly!
Download projects, find ones you like, run them till you are familiar with what they do, then look at the script. Look especially for shorter scripts with variable names that make sense like Health, scrollX, Timer, etc instead of crazy weird stuff that looks indecipherable.
Then save the project under a slightly different name (maybe add "My Mod" at the end.) The first copy will be a backup in case you trash the Mod copy. Go open up the Mod copy's script and look for some interesting variable to change slightly.
After you change it, re-run the application and see what effect your change had. Even dynamic (changing) variables usually get set at the beginning of some script block. If health usually gets set to 100, what does starting it at 200 do? Does it mess up other routines like the health level indicator sprite, picking up powerups, etc? Find a bullets top speed setting and double it. Yeah, it looks cool going faster but does the collision detection routine still work right or is it flying right 'through' some sprites and walls?
Don't try to do the next Epic Game of the Century today. Concentrate on doing smaller, working and finished projects rather than getting lost and frustrated in a bigger project to the point of giving up. An Epic program is basically just a well-thought out collection of small working projects used as routines So concentrate on projects that do some smaller part of a big project that you would someday like to do.
Me, I love game programing. So if you look through my projects, you will find a lot of mini projects that demonstrate everything from scrolling, random dungeon generation in a pseudo-3d environment, collision detection, high score sorting, costume flipping, Pong type bouncing, etc etc. I admit that one of my first projects was the dreaded "Epic" game (RPG Battlefield) but honestly, going back now, the code I wrote makes me squirm, lol. I would have to completely re-write it to continue it now or I wouldn't be happy at all.
And the thing about games is regardless of the format/language you are programing in, practically ALL games use the same kind of sprite movement, collision detection, trigger variables, costume swapping, etc routines so by learning them easily in Scratch, you are more fully prepared to do them in another format later. For instance, I write some pretty cool stuff using a free macro program called AutoHotkey. Like for the Facebook Graffiti app I made my own stay-on-tip window that lets you save color swatches, trace images into the Graffiti draw window, draw straight lines, do bezier type-curves, all kinds of stuff! One of my very first pictures made it to the #1 spot in the Weekly Top Graffiti list because people were amazed by what my macro could do, even though most had no clue how I did it. So again, what you learn here doesn't just die someday when/if you leave Scratch.
Learn how to debug your Scratch scripts! This is a MUST because literally every project you write, you will have to fix it as you develop it. And the better/longer the project, the more debugging you must do. Find out how to use single-stepping to watch and see which lies of your script are running and which are being skipped. Learn to insert small blocks like "say Hello" followed by "wait until Q key pressed"
This will let you halt a script anywhere you want so you use it to see if a routine is being triggered to start. If the sprite never says "Hello" and pauses, your bug is somewhere earlier in the script loop.
I am 39 years old and I am still learning and programing new stuff literally every day. The people I see posting about not having ideas should hang out in Show and Tell and the All About Scratch forums more often because I always have more ideas than I have time for.
Scratches weakness is actually its strength. It was designed to bring younger people into programing and through its drag and drop scripting with instantly viewable results and at this it excels. Therefore we always have a ton of new programmers here which is great! But you are also gonna find more people whose skills are still developing and who say things like about how Scratch is weak or it can't do something. Usually they just don't know how yet. I LOVE seeing "you can't do that in Scratch" posts because what better challenge than to figure out something like that? And I've nailed a few!
Anyway, I hope these tips help someone out. Above all, I say make use of the All About Scratch forum. It is free, live 24/7 help by coding ninjas who are here out of love of programing. Does it really get any better than that?
What the heck, lastly here are some of my personal tips for forums. Learn and obey the rules and courtesies of whatever forums you are at. Always be kind and thank people even if you disagree. Otherwise you will feel silly someday when you change your mind, lol. Not to mention looking like an idiot. People love it when you participate so if you want more responses, give more responses. If you don't get the responses you want, don't get mad and give up or get nasty. Just say something like "Well thanks to everyone so far but this isn't working for me. How or whom should I ask instead?" Now just read The Tao of Pooh, learn to flow like water around all obstacles in a natural fashion rather than beating yourself against them and I think that pretty much covers most of the important stuff in life! Lol, just kidding, thanks for being patient, you will need that!
Last edited by Locomule (2010-07-21 12:04:19)
Offline
Good Tips locomule, especailly the "epic game" tip. I tried to make an "epic" scratch game too (smash bros scratch) but it would not run in the online player (works offline though).
I think that the best way to learn programming well is to not use Scratch because Scratch was not designed to teach high level programming. But, if you are not at all interested in real programming then you can still work with scratch, but you won't become as good if you did real programming.
Some tips for getting specifically good with scratch.
-Understand how things work. Usually when I see user created tutorials they consist of "put these scripts here" which gives good results but no understanding. In order to become better with certain aspects of Scratch you must have a complete understanding and be able to work out the logic yourself. One example of poor understanding is scrolling. Scrolling is simply moving a set of sprites in unison but when users have no understanding they can't modify it to suit their needs ie. y-scrolling.
-Break it down into small steps: When coding something, make sure you start small and build your way up. You must make sure that your scripts are easy to manage and understandable.
-Do some research: If you wan to know how to do something then try searching on google. Asking for help on more specific topics in the forums is also good.
That is it for my tips. Let me know if you want me to clear things up in thaty tricky tutorial I wrote
Offline
Practice a lot, stay on Scratch, and just keep trying to push yourself to do more!
I always used to think I was pretty good at Scratch, but looking back at my older projects I realize I wasn't all I thought I was So I pushed myself to do a bit more advanced, a bit better, and ended up making a perfect Pathfinding AI within a day.
Don't go embarking on projects that will take you several months without having a clearly defined plan in mind, and keep to projects that will interest you for a while.
Know how to do what you're doing! Nothing is worse than getting halfway through a project and then realizing you lack the knowledge of how to do a particular part and having to give up the project altogether
Offline
Locomule, you really put a lot into your post!
...
You can't get better straight away - it's not like that. Just keep on using the Scratch program, and you'll find that you get better and better.
If you see a really cool project and want to know how it was done, you can always download the project and take a look at the scripts - that can teach you a lot of good stuff! If you're going to use those scripts in a project, try and understand the scripts - if you understand them, you'll be able to develop more things based on it.
Keep on Scratching!
Offline
Thanks for your help everyone! Windowsapple, I'll be glad to join forces! Oh, and coolstuff, what's a pathfinding AI? Archmage, the tutorial about scrolling stumped me. The amount of costumes needed is way beyond my grasp. I now have a programming plan: I'll start off making small apps for OSes, then make my own OS, then make games, scrolling games, and so on. I hope to make the next Scape! (in maybe 2012 at most...)
Offline
helltank wrote:
Thanks for your help everyone! Windowsapple, I'll be glad to join forces! Oh, and coolstuff, what's a pathfinding AI?
It finds its way from one point to another, around any obstacles... Check out my "Pathing AI" project
I hope to make the next Scape! (in maybe 2012 at most...)
I'm flattered that people strive to make projects like mine! Truly flattered! Thank you!
Offline
helltank wrote:
Thanks for your help everyone! Windowsapple, I'll be glad to join forces! Oh, and coolstuff, what's a pathfinding AI? Archmage, the tutorial about scrolling stumped me. The amount of costumes needed is way beyond my grasp. I now have a programming plan: I'll start off making small apps for OSes, then make my own OS, then make games, scrolling games, and so on. I hope to make the next Scape! (in maybe 2012 at most...)
I would be glad to join forces.
Offline
My posts are long because I'm old and if I stop typing, I could like just die.
Quick warning about "joining forces."
Good side- Even if you are the "best" programmer/artist/whatever in your new group, you can STILL learn a lot by working with others. With more people interacting, you should also get more attention and fans for your projects. And if you are not the best programmer then you will gain even more from this situation!
Bad side- Now you are investing your time and effort into something that you are not in complete control over. One of the biggest obstacles to new programmers is trying to code something too complicated, getting frustrated, and quitting. So don't be offended or get discouraged yourself when someone is programing like crazy one day and then just disappears and leaves your group hanging the next day.
People who are good at anything are simply people who kept going where others gave up. Which I guess means that personal success is measured by the failure of others.. remember to thank them on your way to the top?? Lol.
Last edited by Locomule (2010-07-22 11:02:53)
Offline
Locomule wrote:
People who are good at anything are simply people who kept going where others gave up. Which I guess means that personal success is measured by the failure of others.. remember to thank them on your way to the top?? Lol.
Actually, success is the progressive realization of a worthy ideal.
Offline
helltank wrote:
Archmage, the tutorial about scrolling stumped me. The amount of costumes needed is way beyond my grasp. I now have a programming plan: I'll start off making small apps for OSes, then make my own OS, then make games, scrolling games, and so on. I hope to make the next Scape! (in maybe 2012 at most...)
I've written more than one tutorial on scrolling, so I don't know what you are refering to. In any case, it seems that you need a better understanding of things. Scrolling doesn't involve complex scripts or calculations, its mostly common sense knowledge and basic math so you would do well to understand it.
You should ask questions on the parts that confuse you. I can tell you are pretty confused since you claim that the problem is the number of cosutmes but the number of costumes does not matter at all.
If you truely want to get better at Scratch specifically, you need to understnad what makes the parts of good projects work. Things like scrolling, jumping, collisions, are essential.
Teaming up with someone on Scratch I think is a bad idea since Scratch users have a history of not getting things done in collabroations. Just continuing making OS programs won't help you progress. You have to do things with the purpose of learning if you want to get better.
Last edited by archmage (2010-07-22 12:18:39)
Offline
What a breath of fresh air this was! quite possibly the most wisdom I've ever seen collected in single thread on this forum!
Must be true what they say about it coming with age!
I totally agree with you guys - don't over-stretch yourself to begin with - just play around and explore what Scratch can and cannot do - think of some simple programming problems and solve them using Scratch - pretty soon you'll be moving on to more complex programs and producing projects that will amaze your friends!
...and unlike the real IT world, there are loads of people on here who can offer help and advice when you get stuck!
Offline
Ratty1967UK wrote:
What a breath of fresh air this was!
quite possibly the most wisdom I've ever seen collected in single thread on this forum!
Must be true what they say about it coming with age!![]()
I totally agree with you guys - don't over-stretch yourself to begin with - just play around and explore what Scratch can and cannot do - think of some simple programming problems and solve them using Scratch - pretty soon you'll be moving on to more complex programs and producing projects that will amaze your friends!
...and unlike the real IT world, there are loads of people on here who can offer help and advice when you get stuck!
Um...Usually you can get help in the real IT world too. But you're right, the Scratch community does offer more help then in the real world.
Offline
Hey everyone! With the help of Mr Determination and Sir Perseverance, I've managed to create a scrolling game! I'm working on my OS right now... the major setback being the app shop- how do I make the app appear at the right place when I import it?
Offline