BYOB3-trailer

Install Java to view this project right on your browser!

user_icon bharvey shared it 2 years, 1 month ago
1108 views, 2 taggers, 41 people love it, 122 downloads, in 11 galleries
Add to my favorites?
Flag as inappropriate?

Comments

You need to be logged in to post comments

Add a Comment

 
Mokat Mokat 3 months ago

I thought that BYOB meant Bring Your Own [Insert item that starts with a B]

bharvey bharvey 2 months, 4 weeks ago

It's a pun!

(view all replies)
CheeseMunchy CheeseMunchy 3 months ago

Sweet. Parents strongly cautioned.

Javster Javster 3 months, 2 weeks ago

how do you do that!?

bharvey bharvey 3 months, 2 weeks ago

You download [url=http://byob.berkeley.edu]BYOB[/url]! And then you read the manual and/or watch the tutorials.

ranmat ranmat 9 months, 1 week ago

I think these features should be merged into scratch, but hidden by default so as not to confuse new users, but could be easily displayed by more advanced users.

bharvey bharvey 8 months, 3 weeks ago

Anyway, you're preaching to the choir; tell the Scratch Team!

bharvey bharvey 9 months ago

Me too, but the problem is that new users would see advancd users' projects that use them and get confused. So they'd have to hide those projects, too.

(view all replies)
rdlatimer rdlatimer 1 year, 1 month ago

I've got a binary tree data structure, preliminary, in byob. Anyone want to see this? Loads data into the tree - inorder, then prints out the tree in preorder, inorder, postorder.

rdlatimer rdlatimer 1 year, 2 months ago

Local variables in byob? Make a block 'Test' and use a 'script variable' x. I think script variables are meant to be local? Make a regular variable, also x. Set the global x to 0. Set the local, block, variable x to 10. When I do this, I think the global x is changed to 10. Not sure I'm creating local variables to blocks correctly...thanks for your help.

bharvey bharvey 1 year, 1 month ago

I'm guessing that you chose the SET variable before attaching the SET block to the actual script. SET can't see script variables unless it's part of the script; even if you later attach the SET to the script, it's still setting the global. If this isn't your problem, let me know.

rdlatimer rdlatimer 1 year, 2 months ago

How do you declare local variables for blocks? There's a nice sierpinksi triangle project on the link below, but I had to set the expressions for midx1, midy1, etc in the parameter list rather than using local variables. The 'script variables' didn't seem to work as local to the recursive block. Here's the code I based mine on https://webmail.fcps.edu/owa/redir.aspx?C=7bf3e6de227e4704900904cd94af38dd&URL=http%3a%2f%2fwww.nutt.net%2f2010%2f03%2f06%2fteaching-recursion-with-scratch-byob%

smeetie smeetie 1 year, 3 months ago

i have byob

coolboy2009 coolboy2009 1 year, 3 months ago

So, I suppose I don't need coding skills to use BYOB, right?

bharvey bharvey 1 year, 3 months ago

Since BYOB is a superset of Scratch, you can start by doing Scratch-ish things and gradually learn more. You don't need prior experience in other languages, if that's what you're asking, but some of the ideas will definitely stretch your mind. Check out the tutorial projects.

mchr mchr 1 year, 4 months ago

Excellent work ! Is it possible to embed a BYOB project in a web page, as it is possible for Scratch projects ? (http://info.scratch.mit.edu/Publishing_your_Scratch_projects_on_other_websites)

bharvey bharvey 1 year, 4 months ago

Not yet, sorry, but 4.0 (planned for fall 2011) will run in a browser.

Kaden Kaden 1 year, 4 months ago

Happy new year!

padowandan padowandan 1 year, 5 months ago

You should be able to have first-class sprites so that a script can run itself in that sprite or run another first class script in it!

bharvey bharvey 1 year, 4 months ago

Planned for BYOB 3.1, this spring.

Kaden Kaden 1 year, 5 months ago

I think there should be a series of blocks that make blocks. The pallet name? It should be "BYOB".

bharvey bharvey 1 year, 4 months ago

Planned (but we're still throwing around ideas about the precise notation) for 4.0, in the fall.

thecrazyguy thecrazyguy 1 year, 5 months ago

Byob rocks.

bharvey bharvey 1 year, 4 months ago

Thanks! :)

padowandan padowandan 1 year, 7 months ago

BYOB is SO complicated! The only reason I looked at these Extras was for MESH

bharvey bharvey 1 year, 5 months ago

About mesh, if you join a mesh (in the Share menu) then the other people in the mesh have access to your variables and sprites (using the [<> OF <>] block in Sensing). Is that what you meant?

(view all replies)
bharvey bharvey 1 year, 5 months ago

<true> and <false> are mostly for writing predicate blocks: IF <such-and-such> [REPORT <true>]. But Scratch should have had them all along; they confusingly sometimes use the text "true" and "false" but sometimes 1 and 0 respectively. So people end up writing IF [<such-and-such> = "true"] ...

bharvey bharvey 1 year, 7 months ago

Sorry -- maybe it'll grow on you. But, you don't have to use all the new features at once, or at all.

(view all replies)
ElectricSparx ElectricSparx 1 year, 8 months ago

The Scratch Team is actually considering to use some of these features in Scratch 2.0. http://info.scratch.mit.edu/Scratch2FAQ

bharvey bharvey 1 year, 8 months ago

BYOB does have source code! Double click "BYOB Development.bat" (windows) or "BYOB Development.sh" (mac) then shift-click the Edit menu to get to a browser.

(view all replies)
bharvey bharvey 1 year, 8 months ago

Hiding the advanced blocks wouldn't help. It's not the blocks themselves that worry the S.T., but rather the possibility that /projects/ using those blocks would confuse the users who have them hidden.

(view all replies)
bharvey bharvey 1 year, 8 months ago

Right now they're talking about allowing users to create command blocks, but not reporters. And no first class blocks or lists. This is a step forward, but less of one than I would have hoped.

(view all replies)
coolboy2009 coolboy2009 1 year, 9 months ago

Scratch+BYOB+Half-life?

bharvey bharvey 1 year, 8 months ago

Oh I see. The lambda in that slide is the computer science symbol for the operator that allows creating first class procedures, like THE BLOCK and THE SCRIPT inBYOB.

bharvey bharvey 1 year, 8 months ago

Umm, is that a video game?

(view all replies)
gsjs gsjs 1 year, 10 months ago

PLEASE REPLY will you put another block in there called save ( ,) to ( ) |( )means vaiable/list/text |,is dropdown it would show a list of variales/lists

bharvey bharvey 1 year, 10 months ago

I'm not quite sure what you want this block to do. I get the part about saving a variable or list, but not the TO part. To a filename, did you mean?

(view all replies)
gsjs gsjs 1 year, 10 months ago

PLEASE REPLY will you put another block in there called save ( ,) to ( ) ( )means vaiable/list/text ,is dropdown it would show a list of variales/lists

Harakou Harakou° 1 year, 11 months ago

Subroutines, anyone? =D

NNNEEEOOO11 NNNEEEOOO11 1 year, 11 months ago

I saved a BYOB project but it got deleted when I tried to open it in Scratch.

bharvey bharvey 1 year, 11 months ago

P.S. There's no way we can make it possible for Scratch to open BYOB projects; the whole point of BYOB is that it can do things Scratch can't do! Eventually we'll have some kind of sharing solution -- what we hope for is that the Scratch Team will adopt our design in Scratch 2.0 but failing that we'll have some technology for sharing. Not soon though; we're rushing to meet our August release date with bugs fixed!

(view all replies)
bharvey bharvey 1 year, 11 months ago

You can't open BYOB projects in Scratch, but Scratch shouldn't be deleting them either! BYOB projects are now saved with extension .ypr rather than .sb so maybe you're looking for the wrong filename?

(view all replies)
stickdude123 stickdude123 1 year, 11 months ago

shveet!

NNNEEEOOO11 NNNEEEOOO11 1 year, 11 months ago

Awesome!!!

bharvey bharvey 1 year, 11 months ago

I wish they didn't limit the depth of replies -- this is really a reply to your other comments below. We do have tutorials ((link to project) but I agree that there should be a simpler one to start the series. About games, BYOB doesn't directly make them multiplayer (although there is mesh networking), but its ability to do object oriented programming might help with keeping track of the local data for each player. I'll let some game programmer comment!

(view all replies)
steve1234 steve1234 1 year, 12 months ago

I have a suggustion. Byob is pretty good except you can only run it with Byob compilers. If you had a chance I would make it so you can convert them into .exe programs. Still it is fairly good, except once again you can make a project but you cant make it a real application. Please tell me if I'm wrong or if I misunderstood something.

bharvey bharvey 1 year, 11 months ago

You don't have to give us any money. I think the only license restriction, really, is about redistributing the Scratch (and therefore the BYOB) /source code/, which you're probably not doing. I must say, though, I doubt you're going to make a killing on software that's as slow as anything written in Scratch or BYOB will be, compared to languages that are really compiled into machine code.

(view all replies)
bharvey bharvey 1 year, 12 months ago

About credit: The .exe includes basically the whole BYOB interpreter, which is based on Scratch, so probably you should say something like "built in BYOB, based on Scratch from MIT." That should make everyone happy. :)

(view all replies)
bharvey bharvey 1 year, 12 months ago

In the "share" menu, the first item is "compile this project." It only works on Windows, alas, but since you said ".exe" I assume that's what you're running on.

(view all replies)
likegames likegames 2 years ago

I have the closest anyone can get to BYOB 3.0... 2.99013!

likegames likegames 2 years ago

I have the closest anyone can get to 3.0... 2.99!

flamegirl flamegirl 2 years ago

Som of this I understand, the rest....huh?! I wouldn't be able to figure out how it works!

bharvey bharvey 2 years ago

Yes, you would. Maybe not right away; the ideas are unfamiliar to pretty much everyone at first. Maybe try downloading the tutorial Scratch projects at http://byob.berkeley.edu and see if they help.

(view all replies)
lihkan lihkan 2 years ago

So from this you're saying data is scripts and commands. I so of get what you say, but what is still confusing for the reason of how you will fight off any glitches BECAUSE of the new blocks, if this occurs.

bharvey bharvey 2 years ago

If you mean that people can make mistakes using these tools, that's true, and we're working on debugging tools to help -- although people can always make mistakes no matter what! :) If you mean that our code might have bugs, it sure does, which is why we're doing a public alpha test, which has uncovered bunches of them already. We're pretty sure our official release in August will be solid, knock on wood.

(view all replies)
Magnie Magnie 2 years ago

"BYOB 3" should be called "Scratch Advanced" once it comes out. I don't think I understand half of what was said or how in the world you would be able to make it do the things that you've mentioned. Well, I'm going to go fry my brain with BYOB 2.99 by not understanding it.

bharvey bharvey 2 years ago

There are two tutorials (look in my stuff or the BYOB3 gallery) that I hope will be helpful in understanding the new capabilities. It does take some wrapping your mind around it; don't think you're hopeless if you don't get it all instantly.

(view all replies)
DoomedChicken DoomedChicken 2 years ago

This is excellent. The 'call with inputs' is especially good. I am definitely downloading this.

bigreader bigreader 2 years ago

Doesn't "propaganda" mean "information, esp. of a biased or misleading nature"?

bharvey bharvey 2 years ago

Sure, but the "especially" part leaves room for something to be accurate and still propaganda. I labelled it that way to make clear that this project advocates a point of view, and that I know that a complete, unbiased, scholarly discussion would explain other points of view with equal clarity. (And there aren't just two points of view; there are many ideas floating around about the best directions for change in Scratch 2.0.)

(view all replies)
-CherryStar- -CherryStar- 2 years ago

It looks awesome! I'll have it the second my computer gets fixed! :D (I'm on my dad's computer now and he doesn't like me to download)

scriptmaven scriptmaven 2 years ago

Woahhh.....

fludd12 fludd12 2 years ago

so that symbol I saw WAS the lambada?!

bharvey bharvey 2 years ago

Ah, finally somebody got it. :) (But: "lambada" is a dance step; the Greek letter is "lambda," only two As.)

(view all replies)
DarthPickley DarthPickley 2 years ago

oh my this is confusing... it seems so backwards to me. its like a language where you can have a variable be a function, and then have a function of a function, and that would be... ugh...

bharvey bharvey 2 years ago

I didn't mean that we're going to program fourier transforms in BYOB, although there's no reason you couldn't. I meant just that the psychological factors that make calculus seem so hard to most people are also part of first class procedures. It's the mental shift between "actions are actions, stuff is stuff" and "actions can be stuff too." Once you're over that hump, I think the details aren't hard.

bharvey bharvey 2 years ago

Sorry, ran over the charater limit. ... help people over that hurdle. But, once you get it, it's really a thing of beauty, and you feel like you have super powers compared to all those muggle programmers who don't get it. :)

bharvey bharvey 2 years ago

Don't be discouraged. This /is/ a hard idea: functions as data. For example, calculus is notoriously a hard course even for some people who were great at high school math. and the reason is that it's about two important /functions of functions/: derivative and integral. Most people have to struggle a while to get past the wall in our heads between actions (functions) and stuff (data). But I'm convinced that the visual representation of functions in Scratch is going to help people over that h

(view all replies)
MartinWollenweber MartinWollenw… 2 years ago

Hi Jens an Brian: Great Work! I'm very happy about your very sophisticated efforts to enlarge the possibilities of Scratch. Hope one day (soon!!) the MIT-Team puts many of your BYOB-Prototype-Ideas into mainstram Scratch. Scratch is a great start for young people, but you are showing ways to invent the future of teaching programming to everbody...and perhaps not only teaching but programming itself get's visual by something like Scratch...

roger- roger- 2 years ago

by the way, when you put a block into a starting block (ones with a wavy top), what does it do? I mean, if you put move 10 steps into a starting block, what happens?

bharvey bharvey 2 years ago

You can't just drag an existing block into a hat block. We put a-block-in-a-hat-block at the top of the script you write in the Block Editor. That block-in-the-block is the new block you're creating!

roger- roger- 2 years ago

i think i'll leave this for next year....

HollowAizen HollowAizen 2 years ago

...you lost me after 26 seconds...

bharvey bharvey 2 years ago

Sorry to hear it. I take it the 26 was approximate? Because nothing very technical happens 26 seconds in. Maybe try looking at my project BYOB3-tutorial1a and see if that helps any.

(view all replies)
MaxusBaxus MaxusBaxus 2 years, 1 month ago

I shall show my dad the smart man that could make anything like this on scratch for his knowledge is extensive beyond several millions of lightyears for he is smart. he made my other account Deth109's "space adventures with joe" project.

soupoftomato soupoftomato 2 years, 1 month ago

That was amazing!!! I've already made an [animate costumes [] through []] and it's working really well, it makes animating things so much easier. But I still wonder what the "Run" block is for.

bharvey bharvey 2 years, 1 month ago

You're probably imagining putting a specific command block into a RUN. But think about putting a /variable/ in there, where the value of the variable is a script. Give me a couple of days and there'll be a tutorial up about it.

(view all replies)
bharvey bharvey 2 years, 1 month ago

Okay, IT'S HERE! http://byob.berkeley.edu

floppy_gunk floppy_gunk 2 years, 1 month ago

Yes, yes, YES! This contains just about everything I wanted on Scratch, and more! You can almost do as much as with a real programming language! I can't wait for the release of BYOB3! I think that the lists within lists was a great idea!

gsjs gsjs 1 year, 10 months ago

I know. I can't wait another second

The-Whiz The-Whiz 2 years, 1 month ago

Wow, this looks great! I've been using BYOB pretty much since it first came out, and you've put a lot of features in that I wanted. All those input types are great! The lists within lists are great, and I love all the features in general. I can't wait for it to come out!

jimjersy jimjersy 2 years, 1 month ago

are you actually going to make this?

bharvey bharvey 2 years, 1 month ago

Oh, yes, we /have/ made it. The pictures in the project are actual screenshots from BYOB2.99. Jens is fixing a few last-minute bugs, and I'm trying to figure out why I can't get it to quit on the Mac, but I'd say tomorrow at the latest.

(view all replies)
vgman20 vgman20 2 years, 1 month ago

...wooooah. you lost me a bit for some of it because im not the most experienced programmer, but the entire thing looks amazing. Not to mention the fact that people who find these things daunting can choose to program without them. Please, scratch team, use these updates in 2.0!

pumacat4000 pumacat4000 2 years, 1 month ago

really great ideas! please tell me when its out.

bharvey bharvey 2 years ago

It's out!

iCode-747 iCode-747 2 years, 1 month ago

I would pay big money for all of these features... Try to not get any ideas. ;) This is awesome!

fireball123 fireball123 2 years, 1 month ago

so could a series of costumes be in a list? like an animation? If so, I'm making my metal slug game with this. This is awesome

bharvey bharvey 2 years, 1 month ago

As of today, we've added only lists, blocks, and scripts to the collection of first class data. But costumes are way up high on the list. I had been thinking about first class costumes in terms of looking inside them (at pixels), but you're right, viewing a list of costumes as an animation is a terrific idea.

bman5 bman5 2 years, 1 month ago

Whoa.

skylukewalker skylukewalker 2 years, 1 month ago

OMG!

steppenwulf steppenwulf 2 years, 1 month ago

Awsome. Can't wait for it to be released :D

RHY3756547 RHY3756547 2 years, 1 month ago

This looks amazing! Will you be able to save block lists to files? (like saving text lists to files with export)

bharvey bharvey 2 years, 1 month ago

Eventually. Not next week, sorry. But of course you can save a project file that includes a script that reconstructs your list. (But it won't be as useful as text import/export anyway, because only BYOB will be able to make sense of your blocks, unlike text, which will interchange with any software.)

beetle16 beetle16 2 years, 1 month ago

That's the best trailer i've ever seen! Can't Wait for it! Thanks! Das ist der beste Trailer, den ich je gesehen habe. Ich kann's kaum abwarten! Danke!

demosthenes demosthenes 2 years, 1 month ago

This looks amazing! I can't wait for its release. I have one concern, however, when you create your own block for a program you make, and save that program, do you also have to give someone the image if you want to allow them to use the project?

Jens Jens 2 years, 1 month ago

Yes! you make your own blocks in BYOB and you can share the project or a sprite with someone else's BYOB. The blocks are defined in the project.

(view all replies)
Jens Jens 2 years, 1 month ago

BYOB has a built-in compiler that let's you export your project as stand-alone executables (for Windows).

bharvey bharvey 2 years, 1 month ago

Yes, BYOB projects run only in BYOB, not in Scratch. (Not the other way around, though; BYOB will load Scratch projects.) This is another reason why it's important to get these ideas into mainstream Scratch.

(view all replies)
ffred ffred 2 years, 1 month ago

This can be much more than I was expecting. Thank you.

Theanimator22 Theanimator22 2 years, 1 month ago

asum

soupoftomato soupoftomato 2 years, 1 month ago

However I love all the ideas in this prject, you might want to rethink the names of the new blocks. I found it hard to understand some. In Scratch, blocks do what they say and don't have prgramming language in them. I also didn't understand why you would need a run block, if a simple When Green Flag Clickedm starts a script and can decide when to run what you need by using wait blocks and ifs. Maybe I am misunderstanding the point, but by your demonstration, it ran the script in it.

bharvey bharvey 2 years, 1 month ago

"I found it hard to understand some." Could you be specific? That would be very helpful! Thanks! About the Green Flag hat, think about being able to write, yourself, a block like REPEAT (or the FOR in the project).

Jens Jens 2 years, 1 month ago

one idea is that you can create you own control structures in BYOB. Imagine creating your own block that is C-shaped like Scratch's IF block, or E-shaped like Scratch's IF ELSE block. Examples would be blocks iterating over lists and higher order functions. With BYOB3 you will be able to do all this. But you don't have to program in anything else but Scratch/BYOB for this. Instead BYOB gives you all you need to make almost any block you can imagine.

(view all replies)
AmoebaMan AmoebaMan 2 years, 1 month ago

cripes...

t-boy t-boy 2 years, 1 month ago

lol. scratch started as a simple fun little thing. now its turning into a regular languge

bharvey bharvey 2 years, 1 month ago

Hmm I tried replying but it doesn't seem to have gotten through. First, I replied to your comment on my "demo" project but it wouldn't let me call it a reply so you won't get a notification. Second, I think (hope?) Scratch/BYOB is/are still simple and fun! I bet you thought BROADCAST was a hard idea when you first saw it, but you got used to it. That's what we hope will happen with first class procedures too.

Please Wait...