Based on the lessons of Prof. David, it looked easy to use. I even liked the part where you can have a Sprite (that is any screen object) or a character in the screen move and then bounce when it hits the edge of the screen. It looked cool.
Right after I finished the second lecture video, I then downloaded scratch (http://info.scratch.mit.edu/Scratch_1.4_Download) -- and then installed it. It looked easy to use but when I actually started using it, I realized I don't have any idea on how to start. So I looked for video tutorials on youtube and luckily I found a set of videos (10 actually) giving a walk through on how to use Scratch. Here's the first one of the videos:
Although I created my own game in under 4 hours, I actually spent more time considering I watched these videos, thought of the game concept and then initially learned the some of the functions I needed in the game. I finally ended up with Paddle War listed below:
http://scratch.mit.edu/projects/rapidscc/2843406
It's very elementary, I was thinking of a classic arcade game when I conceptualized the idea for the game and that's what I was able to produce.
What I think about Scratch
Scratch is a nice programming tool to create fast animation and simple games. It even comes with graphics and sound effects. I think beginners will enjoy using it and learning game programming with the tool. However, it lacked productivity functions. If you want to line up objects on the stage, you'll have to manually do it one by one. A simple align functionality would have been nice. You can't also copy the script of one sprite to another. You'll have to export the sprite with the script and then add it back to the game. That's how you get to copy the script. A simple copy and paste would be very nice.
The code editor (or puzzle box) is also a bit tedious to use for those who are fast. You see to add a functionality, logic, variable, control or any code you'll have to drag and drop the equivalent puzzle piece and stack them all up. This is nice, a graphical representation of how things work but you can't drag a puzzle piece in between to puzzle pieces. When you do, it will drag all of the puzzle pieces below the piece you are trying to drag out. Of course you can just hit right click on the puzzle piece and delete it but what if you don't want it deleted and just want to remove it from that particular section?
Anyway, scratch is still excellent. I can see that beginners and those who don't understand programming much will appreciate the tool since you can easily layout the steps of your codes one by one in a puzzle type environment. But for advanced programmers who optimize their codes, it will be slightly irritating.
I guess this is the reason why the Harvard CS50x course offers two problem editions, one standard and the other the hacker edition where a more advanced tool is presented. I assume the standard tool is for those who are really really fresh in programming while the more advanced hacker edition are for those with more advanced programming prowess..The only catch is you don't get credit if you don't do the standard edition.
In all of this experience, I can say that I enjoyed using scratch aside from the minor disappointments and I was able to create a game in under 4 hours, it's a very basic game but considering the time spent I can say that it's just right.
As of the moment I'm waiting for the week 1 lecture which will probably be posted by next week, in the meantime I'll just try a few more things in scratch and maybe try the more advanced problem edition.

Hi, I thought I 'd say hello, as I'm doing CS50x too.
ReplyDeleteI'm completely new to programming, and where the Scratch programming wasn't difficult as such, a lack of problem solving and some OS set backs held me back a little.
Its nice to see you blogging along a similar track too. Kind Regards from the UK Nathan :)