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

#3201 2010-06-22 18:04:09

SeptimusHeap
Scratcher
Registered: 2010-02-01
Posts: 1000+

Re: Panther development thread

I propose an idea: PantherOS. It would be a collab made by Panther devs, and longtime supporters (like jd1) using Panther features.

I will make a file saving word processor, and when the pic2text contest is over, I will make a file saving paint program.


http://i46.tinypic.com/dw7zft.png

Offline

 

#3202 2010-06-22 19:25:48

Zorbak42
Scratcher
Registered: 2009-01-27
Posts: 100+

Re: Panther development thread

that sounds awesome! Can I help make it? I've been supporting for a while, sorta. I just haven't been posting on the Panther forums.

Offline

 

#3203 2010-06-23 03:38:22

sparks
Community Moderator
Registered: 2008-11-05
Posts: 1000+

Re: Panther development thread

it's a nice idea, and I might help out, but perhapse we should wait until 1.1 as there are a few major changes there that will make OS building easier.


http://img541.imageshack.us/img541/7563/scratchbetabanner.png

Offline

 

#3204 2010-06-23 11:07:59

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

Re: Panther development thread

Ill have a go and post a link. It wont be finished so...


You can now reach me on Twitter @johnnydean1_

Offline

 

#3205 2010-06-23 14:55:32

markyparky56
Scratcher
Registered: 2008-03-20
Posts: 1000+

Re: Panther development thread

johnnydean1 wrote:

Ill have a go and post a link. It wont be finished so...

Have a go at what? Panther OS is a collab, not a singal effort.


http://j.mp/jgVnTq
Check out my game engine development site: NewDawn I'm a Level 171 Scratcher.I am http://bit.ly/nkvLNT

Offline

 

#3206 2010-06-23 15:28:05

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

Re: Panther development thread

I know, im already making a OS, it has its own coding language so you can download apps or write them yourself!


You can now reach me on Twitter @johnnydean1_

Offline

 

#3207 2010-06-23 15:30:07

markyparky56
Scratcher
Registered: 2008-03-20
Posts: 1000+

Re: Panther development thread

johnnydean1 wrote:

I know, im already making a OS, it has its own coding language so you can download apps or write them yourself!

Cooooooooool! Thats a good idea, whats it called?


http://j.mp/jgVnTq
Check out my game engine development site: NewDawn I'm a Level 171 Scratcher.I am http://bit.ly/nkvLNT

Offline

 

#3208 2010-06-23 16:36:54

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

Re: Panther development thread

Dunno yet, I am 1/2 way there in the coding. It will decompile a string at diffrent coding lines, and will reconise 3 commands. Im doing this so apps can be added easily!


You can now reach me on Twitter @johnnydean1_

Offline

 

#3209 2010-06-23 20:05:32

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

Re: Panther development thread

I have a great idea for Panther. It would be the ability to name scripts and to call block numbers. I got this idea from BASIC (which I have been teaching myself by the way) because it has a 'goto (line number)' command which is really nice. Here's some mockup blocks I made:

http://img28.imageshack.us/img28/823/blockidea.png


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

Offline

 

#3210 2010-06-23 21:45:56

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

Re: Panther development thread

ScratchReallyROCKS wrote:

I have a great idea for Panther. It would be the ability to name scripts and to call block numbers. I got this idea from BASIC (which I have been teaching myself by the way) because it has a 'goto (line number)' command which is really nice. Here's some mockup blocks I made:

http://img28.imageshack.us/img28/823/blockidea.png

Yes and no....

You see, I don't believe that the name block should be a command block; simply stated, it neither affects the code itself (control structures) nor the sprite (functions), so it should not be considered a control structure or a function. I will eventually redesign hat blocks completely, making them able to handle multiple events, handle no events, have return values, etc.

You are, however, discussing program labels; labels are generally considered "bad practice" as they can be dealt with (in higher level languages) in more elegant and neater (and easier to understand!) ways. The hat-block "redesign" I am referring to (and which may become a part of Panther) is more an incorporation of functional programming, rather than labels. I especially think that a block which looked something like this: "name this script []" would be incredibly confusing if it was synonymous to "label []."


nXIII

Offline

 

#3211 2010-06-23 21:55:33

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

Re: Panther development thread

nXIII wrote:

ScratchReallyROCKS wrote:

I have a great idea for Panther. It would be the ability to name scripts and to call block numbers. I got this idea from BASIC (which I have been teaching myself by the way) because it has a 'goto (line number)' command which is really nice. Here's some mockup blocks I made:

http://img28.imageshack.us/img28/823/blockidea.png

Yes and no....

You see, I don't believe that the name block should be a command block; simply stated, it neither affects the code itself (control structures) nor the sprite (functions), so it should not be considered a control structure or a function. I will eventually redesign hat blocks completely, making them able to handle multiple events, handle no events, have return values, etc.

You are, however, discussing program labels; labels are generally considered "bad practice" as they can be dealt with (in higher level languages) in more elegant and neater (and easier to understand!) ways. The hat-block "redesign" I am referring to (and which may become a part of Panther) is more an incorporation of functional programming, rather than labels. I especially think that a block which looked something like this: "name this script []" would be incredibly confusing if it was synonymous to "label []."

Okay that makes sense. I still think it's a (semi) good idea though.


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

Offline

 

#3212 2010-06-24 04:13:35

sparks
Community Moderator
Registered: 2008-11-05
Posts: 1000+

Re: Panther development thread

one of my fave day-to-day thing about Panther is that the CYOB feature is absolutely brilliant for quickly creating great looking mockups  tongue


http://img541.imageshack.us/img541/7563/scratchbetabanner.png

Offline

 

#3213 2010-06-24 07:18:40

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

Re: Panther development thread

sparks wrote:

one of my fave day-to-day thing about Panther is that the CYOB feature is absolutely brilliant for quickly creating great looking mockups  tongue

I know, I love it too.  tongue   big_smile

Last edited by ScratchReallyROCKS (2010-06-24 07:18:55)


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

Offline

 

#3214 2010-06-24 08:03:21

henley
Scratcher
Registered: 2008-06-21
Posts: 1000+

Re: Panther development thread

sparks wrote:

one of my fave day-to-day thing about Panther is that the CYOB feature is absolutely brilliant for quickly creating great looking mockups  tongue

I prefer to use  BYOB for that. As long as there is no programming needed, the only better thing about CYOB is that you get to choose the blocks color. BYOB only lets you use already existing colors + gray.


"I've worked so hard for you and you give me nothing in return. Do you need help... Or do I?"

Offline

 

#3215 2010-06-24 10:31:36

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

Re: Panther development thread

henley wrote:

the only better thing about CYOB is that you get to choose the blocks color. BYOB only lets you use already existing colors + gray.

I know, I miss that feature fairly often.  Somewhere down the road I'd like to steal the whole first class color idea from Panther.

But, to be fair, CYOB beats BYOB in that you can make blocks that do things beyond what Scratch already allows.  In BYOB if you want, say, a "Make sprite draggable" block, you're out of luck.  (I know, Panther provides that one as primitive.  But you get the idea.)


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

Offline

 

#3216 2010-06-24 10:37:45

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

Re: Panther development thread

ScratchReallyROCKS wrote:

I have a great idea for Panther. It would be the ability to name scripts and to call block numbers.

About calling block numbers:  BASIC did this because it didn't have procedures -- the whole program was one big script and it made sense to jump around from anywhere to anywhere.  (It was also a huge source of bugs in BASIC programs, but at least it was clear what it meant.)  But jumping into the middle of a different script is really problematic.  What if that other script has local variables, for example?

Also, in BASIC you actually wrote the line number in front of each line.  Your way, implicitly numbering the blocks consecutively, works if you're jumping to block 3, but your user will have a hard time getting it right if s/he wants to jump to block number 472 of a script.

As for naming scripts, I think BYOB got that right -- the naming is part of the creation process, not something that happens while the script is running.
Or alternatively, since scripts are first class, you just use the general Scratch naming mechanism, namely variables.

EDIT:  One advantage to your idea is that the named scripts are visible in the scripting area all the time.  We went back and forth about this for BYOB: should custom blocks' scripts be visible as scripts?  The advantage is the same as the disadvantage: you can see your whole program at once.  It's an advantage if your program is short, but a disadvantage if your program is long.  On balance I think we got it right: make it easy to see inside a custom block but don't have them onstage all the time.  But sometimes I worry that this goes against a Scratch design goal that I generally agree with, which is to make everything visible because that makes it easier to learn what's going on in a project.  Your idea would be closer to that Scratch idea than ours.

Last edited by bharvey (2010-06-24 10:42:51)


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

Offline

 

#3217 2010-06-24 11:50:09

sparks
Community Moderator
Registered: 2008-11-05
Posts: 1000+

Re: Panther development thread

I suppose, at least in the original BYOB, the point of making blocks was that long scripts could be collapsed down into something smaller and more managable, as well as the ability to duplicate "Scripts" quicker. This concept was a good one, as it lets people take shortcuts in their programming, rather than letting them expand what their programs can do. Obviously since your new release of BYOB, there are other functions that allow users to create more complex programs, but the whole block building concept is still there to make everything neater... a little like subroutines that can be jumped to and returned from.

If scripts could be named (for instance a string inserter in the hat block, it might be possible to actuall minimise the entire script and treat it as a single object by clicking on it. This would,as you say, hide a lot of the scripting, but it could just be clicked to open it, and it would save a heck of a lot of clutter in long script sprites. It would be taking the BYOB concept of putting scripts into blocks for the use of easy transportation and viewing.


http://img541.imageshack.us/img541/7563/scratchbetabanner.png

Offline

 

#3218 2010-06-24 12:45:26

markyparky56
Scratcher
Registered: 2008-03-20
Posts: 1000+

Re: Panther development thread

So would that naming block be more like:
http://img683.imageshack.us/img683/5279/nametisareablock2.gif


http://j.mp/jgVnTq
Check out my game engine development site: NewDawn I'm a Level 171 Scratcher.I am http://bit.ly/nkvLNT

Offline

 

#3219 2010-06-24 13:11:05

sparks
Community Moderator
Registered: 2008-11-05
Posts: 1000+

Re: Panther development thread

I was thinking more along the lines of
http://www.weebly.com/uploads/4/0/7/6/4076678/595957.jpg?160
(sorry about hasty render)

though perhapse a little neater, and maybe a collapse arrow in the corner to show/hide blocks below it.

It might have a default name rather than a blank string argument too, like script1 etc.

Last edited by sparks (2010-06-24 13:12:44)


http://img541.imageshack.us/img541/7563/scratchbetabanner.png

Offline

 

#3220 2010-06-24 13:45:48

markyparky56
Scratcher
Registered: 2008-03-20
Posts: 1000+

Re: Panther development thread

sparks wrote:

I was thinking more along the lines of
http://www.weebly.com/uploads/4/0/7/6/4 … 57.jpg?160
(sorry about hasty render)

though perhapse a little neater, and maybe a collapse arrow in the corner to show/hide blocks below it.

It might have a default name rather than a blank string argument too, like script1 etc.

But then you what if someone wanted to call only part of that, have it like classes and methods, the script is the class and inside that you have the methods.


http://j.mp/jgVnTq
Check out my game engine development site: NewDawn I'm a Level 171 Scratcher.I am http://bit.ly/nkvLNT

Offline

 

#3221 2010-06-24 14:08:52

sparks
Community Moderator
Registered: 2008-11-05
Posts: 1000+

Re: Panther development thread

markyparky56 wrote:

But then you what if someone wanted to call only part of that, have it like classes and methods, the script is the class and inside that you have the methods.

hm.... I suppose, but surely that's what broadcasts are there for...

Last edited by sparks (2010-06-24 14:09:13)


http://img541.imageshack.us/img541/7563/scratchbetabanner.png

Offline

 

#3222 2010-06-24 14:15:06

markyparky56
Scratcher
Registered: 2008-03-20
Posts: 1000+

Re: Panther development thread

sparks wrote:

markyparky56 wrote:

But then you what if someone wanted to call only part of that, have it like classes and methods, the script is the class and inside that you have the methods.

hm.... I suppose, but surely that's what broadcasts are there for...

Yeah... but it would make 1s1s projects easier. And more like a proper programming language, but thats not the goal of panther.


http://j.mp/jgVnTq
Check out my game engine development site: NewDawn I'm a Level 171 Scratcher.I am http://bit.ly/nkvLNT

Offline

 

#3223 2010-06-24 21:42:08

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

Re: Panther development thread

Okay, in the hat block redesign, the hats themselves will look like normal hats, except for a few things. Here is a mockup:
http://i46.tinypic.com/mj5klj.jpg
When dragged over another script, however, they will become command-shaped and a bottom puzzled edge will appear. This allows the structuring mp56 mentioned.

Events themselves will become blocks which can be added/removed so that a script collection can respond to both multiple events and no events at all.

Last edited by nXIII (2010-06-24 21:43:05)


nXIII

Offline

 

#3224 2010-06-24 22:59:14

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

Re: Panther development thread

sparks wrote:

I suppose, at least in the original BYOB, the point of making blocks was that long scripts could be collapsed down into something smaller and more managable, as well as the ability to duplicate "Scripts" quicker.

Not entirely -- a big motivator (this is before I was on "the team" but I think this is true, at least this is a lot of what we were talking about at the 2008 Scratch conference) was the ability to write recursive procedures, which adds /hugely/ to the expressiveness of the language.  With recursion you can recreate any iterative control structure, but not vice versa -- there's no reasonable way to draw a fractal tree with REPEAT <n> TIMES and the like.

P.S. about named scripts, named parts of scripts, etc.:  I really vote no on named parts of scripts.  This is an invitation to spaghetti code without really adding anything to the expressiveness of the language.  If there's a logical reason for giving a name to part of a script, then that part should be a thing in itself (a script, or, dare I say it? a block).  As for naming entire scripts, there's no particular reason not to have that feature, but it strikes me as kind of a half-feature that screams out for the other half: being able to provide inputs to that named entity.  In other words, from my vantage point this feature sounds like a sort of poor man's [sorry for sexist cliche] BYOB, and if you're going to do it, why not just do (or steal) BYOB itself instead of half-reinventing it?  (This comment does not apply to nXIII's feature of extending the expressiveness of hat block conditions; that's a separate feature that seems very cool.  Although I'm not sure I understand how it differs from the combination of a generic WHEN <predicate> hat and the existing AND, OR, NOT blocks.)

P.P.S.  I'm a little nervous about posting the above because I'm afraid someone will take it as one-upmanship.  Believe me, I'm not feeling competitive with you folks; you're awesome and I just want you to have the cleanest possible design that expresses the capabilities you want to provide.


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

Offline

 

#3225 2010-06-25 16:52:13

sparks
Community Moderator
Registered: 2008-11-05
Posts: 1000+

Re: Panther development thread

Of course not bharvey  big_smile  It's all good and your help is ever appreciated

(in fact, have you any idea why clicking on a Panther project opens Panther, but with a blank project rather than the one you clicked on?)

p.s. what seems to be going on about meeting in london at the moment?
________________________________________________________________________________

Most of you know that we are supplying Blockshop with panther 1.1 when it is released. We might also adapt nXIII's patches system (possibly with patches specifically for Panther customisation) and I would love to hear any suggestions you guys have regarding other usful apps we should supply? (oh yes, we might have EXE sharing with the next release). One suggestion is that we have a map of the earth, and people can run the project and make a little dot appear on the map (roughly) where they are. This is sent to a server and other dots display which countries are using Panther.

Any cool or useful ideas? Let me know!


http://img541.imageshack.us/img541/7563/scratchbetabanner.png

Offline

 

Board footer