Replies: 3 comments 1 reply
-
Don't we have a partnership with code.org? It might be good to use Game Lab instead of Snap!. Based on Javascript, which is based on Scheme it has all of the advanced concepts like first class functions and objects. But it runs fast. Game Lab also has better debugging facilities. As a teacher, I appreciate being able to use the more advanced tools when needed to debug student code. It also has built in version control. Comparing Game Lab to Snap! what we see is that Snap! gives the kids multitasking without mentioning it. Game Lab on the other hand gives the kids callback functions without mentioning it. I would rather debug a student's callback issues in class than a concurrency problem. |
Beta Was this translation helpful? Give feedback.
-
I restructured my game so it doesn't send messages in a synchronous (time constrained) loop. It runs much faster. So the moral of the story is don't send messages unless you have to. The slow version, which still runs acceptably fast in Scratch, has a single loop that sends a message to 6 sprites to each move once, then again to test for collisions. Those two messages being sent slows down the game to a crawl. So to the designers of Snap!, messages and block calls should be fast enough to be trivial. Otherwise, the language dictates the design. |
Beta Was this translation helpful? Give feedback.
-
Finding bugs in Snap!. Is there a list of known errors? There seems to be a memory leak or perhaps stop all doesn't stop all? |
Beta Was this translation helpful? Give feedback.
-
Does anyone use Scratch instead of Snap!?
I was working on the 2.4 do now. In the slide show, we ask about ideas to make the game more fun. I decided to implement my ideas to show the class and give them the source code to see how it was done.
What I discovered is that Snap! is really not up to the task. Here is the project in Snap!: https://snap.berkeley.edu/snap/snap.html#present:Username=jdonwells&ProjectName=Do_now_2.4_Cat%20and%20mouse
Here is identical code in Scratch: https://scratch.mit.edu/projects/575239197/editor/
As you can see Scratch is up to the task. While I understand Snap! is a much better language it must also be usable for the task at hand. Most of the language extensions are not going to be used in the intro class anyway.
I worry that when we get to Space Invaders the students will struggle with concurrency issues and be frustrated with the result. I would also imagine that for the final project students will try something at least as complex as my game above and be disappointed with what they have made.
Let's not set them up for failure.
Beta Was this translation helpful? Give feedback.
All reactions