This is a read-only archive of the old Scratch 1.x Forums.
Try searching the current Scratch discussion forums.

#2101 2010-10-31 18:22:25

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

shadow_7283 wrote:

I'm kind of running out of ideas for practical projects that really take advantage of BYOB3's features. Any ideas?

The thing I'd write next if I had time (I shouldn't be reading the forum right now!  sad  ) is an object-oriented adventure game with PERSON, PLACE, and THING classes.  These would be dispatch-procedure style objects, but each would be associated with a sprite, or, in the case of a PLACE, a background for the stage.  See this assignment from my SICP class; you can find the associated Scheme code here.  You might want to read the documentation of our mini-OOP language here.

Last edited by bharvey (2010-10-31 22:38:03)


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#2102 2010-10-31 18:40:13

ScratchReallyROCKS
Scratcher
Registered: 2009-04-22
Posts: 1000+

Re: BYOB 3 - Discussion Thread

bharvey wrote:

MathWizz wrote:

ScratchReallyROCKS wrote:

[script variables (a) (b) >]

Global variables?

Exactly.  The SCRIPT VARIABLES block makes variables local to the script in which it appears, even if that script is in the sprite's scripting area rather than in the Block Editor.

P.S. You guys should learn to edit down long quoted previous posts!  sad

Oh yeah, forgot about that.


http://imageshack.us/a/img694/3806/sigmad.png

Offline

 

#2103 2010-10-31 20:59:13

shadow_7283
Scratcher
Registered: 2007-11-07
Posts: 1000+

Re: BYOB 3 - Discussion Thread

bharvey wrote:

shadow_7283 wrote:

I'm kind of running out of ideas for practical projects that really take advantage of BYOB3's features. Any ideas?

The thing I'd write next if I had time (I shouldn't be reading the forum right now!  sad  ) is an object-oriented adventure game with PERSON, PLACE, and THING classes.  These would be dispatch-procedure style objects, but each would be associated with a sprite, or, in the case of a PLACE, a background for the stage.  See this assignment from my SICP class; you can find the associated Scheme code here.  You might want to read the documentation of our mini-OOP language here.

Interesting idea. I would look at the links, but none of them work for me. None the less, I'll ATTEMPT to make something similar.  smile

Offline

 

#2104 2010-10-31 22:40:05

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

shadow_7283 wrote:

I would look at the links, but none of them work for me.

Oops!  My browser is set to append "eecs.berkeley.edu" to unqualified host names, so the links worked for me.  I fixed them to have the full path; try again.


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#2105 2010-11-01 01:12:29

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

P.S.  Did you like deep-contains?  I was really pleased with how elegant it came out.  smile


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#2106 2010-11-01 05:11:29

xly
Scratcher
Registered: 2010-04-17
Posts: 100+

Re: BYOB 3 - Discussion Thread

bharvey wrote:

shadow_7283 wrote:

I'm kind of running out of ideas for practical projects that really take advantage of BYOB3's features. Any ideas?

The thing I'd write next if I had time (I shouldn't be reading the forum right now!  sad  ) is an object-oriented adventure game with PERSON, PLACE, and THING classes.  These would be dispatch-procedure style objects, but each would be associated with a sprite, or, in the case of a PLACE, a background for the stage.  See this assignment from my SICP class; you can find the associated Scheme code here.  You might want to read the documentation of our mini-OOP language here.

Woops ! In my very young years I had written in Apple ][ Logo all the basic functions concerning properties and object-oriented programming. Yesterday I have just started to make an evaluation "game" using these and I intended precisely to post concerning this important matter.

I jump to your references.

Offline

 

#2107 2010-11-01 05:17:17

johnnydean1
Scratcher
Registered: 2010-02-12
Posts: 1000+

Re: BYOB 3 - Discussion Thread

shadow_7283 wrote:

bharvey wrote:

shadow_7283 wrote:

I'm kind of running out of ideas for practical projects that really take advantage of BYOB3's features. Any ideas?

The thing I'd write next if I had time (I shouldn't be reading the forum right now!  sad  ) is an object-oriented adventure game with PERSON, PLACE, and THING classes.  These would be dispatch-procedure style objects, but each would be associated with a sprite, or, in the case of a PLACE, a background for the stage.  See this assignment from my SICP class; you can find the associated Scheme code here.  You might want to read the documentation of our mini-OOP language here.

Interesting idea. I would look at the links, but none of them work for me. None the less, I'll ATTEMPT to make something similar.  smile

As I suggeested a tile based game might be good.


You can now reach me on Twitter @johnnydean1_

Offline

 

#2108 2010-11-01 06:13:34

johnnydean1
Scratcher
Registered: 2010-02-12
Posts: 1000+

Re: BYOB 3 - Discussion Thread

I made this. Its a base for a game like line rider.


You can now reach me on Twitter @johnnydean1_

Offline

 

#2109 2010-11-01 17:35:01

shadow_7283
Scratcher
Registered: 2007-11-07
Posts: 1000+

Re: BYOB 3 - Discussion Thread

bharvey wrote:

Oops!  My browser is set to append "eecs.berkeley.edu" to unqualified host names, so the links worked for me.  I fixed them to have the full path; try again.

Thanks. It should be fun!

P.S.  Did you like deep-contains?  I was really pleased with how elegant it came out.

Yeah, it's great thanks.  smile  I'll add it to my steadily-growing list of custom blocks!

EDIT: I think I'm going to adapt it and make it a tile-based scrolling environment, with the same basic idea.

EDIT2: I'm going to make it isometric too!  smile

Last edited by shadow_7283 (2010-11-01 17:43:13)

Offline

 

#2110 2010-11-01 18:18:31

shadow_7283
Scratcher
Registered: 2007-11-07
Posts: 1000+

Re: BYOB 3 - Discussion Thread

Hmmm... I'm kind of missing single stepping. The BYOB3 debug feature is better, but I'm still having trouble navigating through it. Sometimes I just need to see live action as blocks are run through. The debugger does that, but it is much more tedious and the code is harder to understand.

Offline

 

#2111 2010-11-01 18:27:32

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

shadow_7283 wrote:

I'm going to make it isometric too!

I had to Wikipedia that -- to my generation, "isometric" means having both hands pulling on opposite ends of a rope.  smile

Sounds like a fun project!

PS to JD1: I'm not ignoring you, I just haven't had time to download and explore your project yet, so it'll take longer for me to be able to comment on it.  hmm


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#2112 2010-11-01 18:29:57

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

shadow_7283 wrote:

Hmmm... I'm kind of missing single stepping. The BYOB3 debug feature is better, but I'm still having trouble navigating through it. Sometimes I just need to see live action as blocks are run through. The debugger does that, but it is much more tedious and the code is harder to understand.

Yes, we know that the debugger has to improve.  Jens invented it at the last possible moment before 3.0 because we knew we needed something to help debug recursive functions.

Jens?  Bring back "single stepping" (with a name that actually corresponds to what it does)?  The opposite of turbo mode; maybe we can call it obrut mode.  big_smile


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#2113 2010-11-01 21:45:42

shadow_7283
Scratcher
Registered: 2007-11-07
Posts: 1000+

Re: BYOB 3 - Discussion Thread

I forgot how time-consuming making BYOB projects is! I spent a couple hours on my project and I've hardly made any progress! Oh well. I'll finish it eventually.

Offline

 

#2114 2010-11-02 00:19:02

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

johnnydean1 wrote:

I made this. Its a base for a game like line rider.

Okay, I've taken a first look.  It does a lot!  I'm looking for ways to make it even more BYOB-ish.  One tiny thing is, you use the letters T and F to represent true and false, and then you have to do tests like

IF [<something> = <t>] ...

If instead you used the TRUE and FALSE blocks in the operations palette to represent true and false, you could later just say

IF <something> ...

I think this = test dates back to the Scratch bug that you can't just put a variable in the boolean input slot of IF.  smile

Now I'm trying to figure out whether you can save anything by using THE SCRIPT [PEN UP] instead of the text "pen up" in your lists.  Maybe replace the numbers in the blocks with instructions; then you could say

FOR EACH  ITEM IN <some-list>
   RUN < >

so for example instead of a list of x coordinates and another list of y coordinates, you'd have one list whose elements are

GO TO X: <...>  Y: <...>

blocks.

Just as soon as I get some time I'm going to start playing with your code.  smile   (Not very soon, alas.)


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#2115 2010-11-02 10:35:15

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

shadow_7283 wrote:

I forgot how time-consuming making BYOB projects is! I spent a couple hours on my project and I've hardly made any progress! Oh well. I'll finish it eventually.

It's just like building buildings.  For months you have a big hole in the ground and nothing seems to be happening, and then one morning you wake up and the whole frame is in the air.  (In other words, you are making progress that won't be apparent for a while.)


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#2116 2010-11-02 10:51:17

johnnydean1
Scratcher
Registered: 2010-02-12
Posts: 1000+

Re: BYOB 3 - Discussion Thread

bharvey wrote:

johnnydean1 wrote:

I made this. Its a base for a game like line rider.

Okay, I've taken a first look.  It does a lot!  I'm looking for ways to make it even more BYOB-ish.

It was originaly made in Scratch, but ported to BYOB as it was very slow in Scratch. Ill improve it soon.


You can now reach me on Twitter @johnnydean1_

Offline

 

#2117 2010-11-02 11:56:23

johnnydean1
Scratcher
Registered: 2010-02-12
Posts: 1000+

Re: BYOB 3 - Discussion Thread


You can now reach me on Twitter @johnnydean1_

Offline

 

#2118 2010-11-02 20:41:26

rubiks_cube_guy238
Scratcher
Registered: 2009-07-02
Posts: 100+

Re: BYOB 3 - Discussion Thread

shadow_7283 wrote:

How would a sprite go to the x position (set x to [say "Hi!"])?

I tried that; it sets the X position to 0.
______________________________________________________________________________

nXIII wrote:

My idea for 3.1: move zero-argument reporters to the "variables" pane.
Basically, all those zero-argument reporters (size, x position, direction, etc.) would be moved to the variables pane and be treated as variables. This means one would be able to set them with the SET () TO () primitive, and all the other SET primitives would become obsolete. One could also override the default behavior of these variables, such as transforming (e.g. scaling or rotating) the x/y position variables from their values.

Oh. I just realized that wouldn't work.... If you can override the behavior of the SET (x position) TO () block, how would you set the x position in your function? I mean, for x/y position it's obvious, but what about size? Hm. Any suggestions?

What about the [blocks] <timer> [/blocks] ?

Last edited by rubiks_cube_guy238 (2010-11-02 20:44:25)


The glass is never half full nor half empty; it is twice as large as it needs to be.

Offline

 

#2119 2010-11-02 21:08:58

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

rubiks_cube_guy238 wrote:

I tried that; it sets the X position to 0.

Yeah, Scratch tries very hard not to let anything be an error, and one of its strategies is to take any strange input as zero.

What about the [blocks] <timer> [/blocks] ?

Good point!  Although it's different only in degree from the strangeness of having (x position) change because the user drags the sprite with the mouse.

Last edited by bharvey (2010-11-02 21:10:41)


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#2120 2010-11-03 12:33:20

JTxt
Scratcher
Registered: 2010-05-19
Posts: 100+

Re: BYOB 3 - Discussion Thread

Hi bharvey and jens,

I can only guess from this statement that scratch 2.0 will not allow mods:

Scratch2 FAQ wrote:

What will happen to modified versions of Scratch?
We expect that Scratch "mods" based on the Scratch 1.4 Squeak source code (e.g. BYOB, Panther, Slash, and others) will continue to thrive and inspire the Scratch community.

Do you know if scratch 2.0 will be opensource too?

I believe you want Scratch to take on BYOB3's features; they're going to have a form of "BYOB", but not everything first class, right?

Will you be able to mod scratch2.0 as BYOB4? or will you stay in Squeak?

What are your plans/hopes for BYOB/Scratch?

Thanks!

Last edited by JTxt (2010-11-03 12:38:50)


http://scratch.mit.edu/static/icons/buddy/524717_med.png?t=2010-06-15+09%3A48%3A36

Offline

 

#2121 2010-11-03 12:37:23

nXIII
Community Moderator
Registered: 2009-04-21
Posts: 1000+

Re: BYOB 3 - Discussion Thread

bharvey wrote:

What about the [blocks] <timer> [/blocks] ?

Good point!  Although it's different only in degree from the strangeness of having (x position) change because the user drags the sprite with the mouse.

Well, I guess the timer could be like any other variable and could be reset to any number; it would just count up from that number.


nXIII

Offline

 

#2122 2010-11-03 16:11:59

fullmoon
Retired Community Moderator
Registered: 2007-06-04
Posts: 1000+

Re: BYOB 3 - Discussion Thread

@JTxt
I would be shocked if Scratch 2.0 wasn't open-source, but it might mean the end of prolific modding since it'll be in Flash. I can't speak for the BYOB guys, but I'm secretly thrilled about the shift since I can develop in Flash...so I already have preliminary plans for a mod.


http://i302.photobucket.com/albums/nn100/fullmoon32/wow.jpg

Offline

 

#2123 2010-11-03 16:38:01

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

JTxt wrote:

Do you know if scratch 2.0 will be opensource too?

Disclaimer: I am not the Scratch Team!

I believe that the intent is that Scratch will remain open source.  The paragraph you quoted just means that people with Scratch mods don't have to feel the need to rewrite their mods to follow Scratch 2.0.

I believe you want Scratch to take on BYOB3's features; they're going to have a form of "BYOB", but not everything first class, right?

As of my last conversation with them, they were convinced about custom command blocks with inputs, but not about custom reporters and definitely not about lambda.  Jens has been in touch more recently and may know more.

Will you be able to mod scratch2.0 as BYOB4? or will you stay in Squeak?

Disclaimer: I'm not Jens, either!

I want to see a BYOB 3.1, still in Squeak, with first class sprites and with constant-time adjoin and all-but-first for lists, at a minimum.  I can't speak for Jens, but I'm going to have very limited time until mid-December; I'm teaching three classes at Cal and just constantly putting out fires.  Next semester I have only one class scheduled, and I'm going to make the TAs do all the work so I have some free time.  smile

In parallel with 3.1, I want us to work on BYOB 4.  The current plan is to write it in Javascript, because everyone seems to want things to run in the browser (for reasons that escape me, but I'm a curmudgeon).  The Scratch Team have, as you know, chosen Flash as the platform for Scratch 2.0, because there are a few things that they say Javascript can't do, but the what-Javascript-can-do situation keeps changing, and they're interested in the BYOB-in-Javascript project as an experiment that might affect their later work.

I don't have a good sense of the timing of Scratch 2.0, nor of the time it'll take us to develop BYOB 4.0.  (It'll be in a language I understand, so I can help this time.  smile  )  So I don't know whether or not it'll turn out that we base our code partly on theirs or vice versa or neither.

What are your plans/hopes for BYOB/Scratch?

Oh, to take over the world, of course!  In the best possible scenario, the Scratch Team see the light and put lambda in Scratch 2.0, or maybe 2.1, and I can get out of the software business altogether.  smile

Another world-takeover possibility is that the College Board chooses our BYOB-based course as the curriculum for the planned "AP CS: Principles" exam -- the CS class that non-CS-majors take in college, or maybe in high school for AP credit.  (We are one of five pilot programs they're funding.)  Then every high school kid in (at least) the US learns BYOB!  (The bad news about that is that we have to make the curriculum something about which they can have a mostly-multiple-guess test.)  I think we're a long shot because most of the other pilots use some "grownup" language (some after a week or two of Scratch) and that's an easier sell to someone who doesn't understand the importance of big ideas.  But we're a year further along than most of the others in developing our curriculum, which helps.  Anyone who's interested can check out the course web page or the course Moodle lab activities.  (Log in as guest on the Moodle site.)

As for the software itself, I want it to run blindingly fast, and to have first class everything (costumes, sounds, web pages, files, you name it).  But even if we never touched BYOB again (not going to happen, don't panic, shadow!  tongue  ), I'd feel really proud of the elegant visual representation of first class procedures.  Jens did an amazing job of turning out a year's worth of daily design updates until we got everything just right.

(Not fishing for compliments, y'all don't have to say "I agree"!  Just, my hopes for BYOB are mostly already met.)


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#2124 2010-11-03 16:42:57

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

fullmoon wrote:

I already have preliminary plans for a mod.

It's gonna have lambda, right, fullmoon? *armtwist*


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#2125 2010-11-03 17:01:48

fullmoon
Retired Community Moderator
Registered: 2007-06-04
Posts: 1000+

Re: BYOB 3 - Discussion Thread

bharvey wrote:

fullmoon wrote:

I already have preliminary plans for a mod.

It's gonna have lambda, right, fullmoon? *armtwist*

Most definitely. I've been thinking about how to represent Java/Flash-style, dot-operator OOP with blocks...


http://i302.photobucket.com/albums/nn100/fullmoon32/wow.jpg

Offline

 

Board footer