Friday, February 19, 2016

Makey-Makey Balloon Pop!





Here is my latest creation.

Makey-Makey Balloon Pop is an arcade-style video game. I programmed it to use with a custom controller that I constructed from materials that I had around the house--thick, curved copper strips, retail display pins, Sculpey and Legos!





General Description

You are at one end of a long 3-D hallway commanding three bunkers of missiles guarding against marauding balloons that will end your video game life!  The balloons advance up the tunnel and can only be shot by certain banks of missiles as they move over them.  As the balloons advance and grow in size, you have to use the missile banks closer and closer to you and then, YOU LOSE!!!.

Program notes and challenges

I spent about 2 hours putting the custom controller together (you can play without it--just use A, S, and D) and about ten hours on the Scratch code.  Several intricate calculations and tricks were needed to maximize the 3-D tunnel effect and the movement of the objects.  I deconstructed the 3-D Tunnel background that Scratch provides, and created cropped versions of several different sections of the original to simulate the sections moving towards the front of the screen, I had to scale the range of each missile bank, as well as adjusting the size and the speed at which each bank's missiles move.  

After initial gameplay trials, I added to the code so that when one missile bank fires, the others go on a delay, avoiding the "button-mashing" effect of shooting them all all at once throughout the game.  I also made it so that the smallest, 'farthest' missile banks score the most points to encourage the tough shots.  

It was also a challenge to make the balloons "advance" down the tunnel without appearing to defy the laws of perspective or impaling themselves on the missiles as they go over them.  The missiles give the appearance of being far below, but of course are not, they are in contact many times over the course of gameplay.  

I created several costumes of the same balloon with progressively larger sizes to create the illusion of the balloons growing in the eye as they get closer to the front of the screen.  Each bank of missiles is tipped with a different color, and each costume or "size" balloon can only be popped by the appropriate bank of missiles according to its advance down the tunnel.   I also had to play around with layers a lot to make the right objects appear to be in front of or behind other objects, depending on where they are in the tunnel relative to each other. 

Unfortunately, for reasons that I cannot explain, the game plays slightly differently in the "maker mode" than it does on either the  Project Page or the Full Screen version.  That is unfortunate, because in the maker space, everything works well, while in the other, more public spaces, the game is not proportioned correctly.  

When it works, the balloons appear to be right over or coming up to the missiles when they get hit and are popped, but in public play, they appear to be past them when they pop. I am not sure how to correct this, but ultimately I am happy with the Maker Space version.  If you play it, you should use the "See Inside" button and play from in there.  Still needs some good in-game music and whatever else you can think of.

Reviews


 awesomeness8888 commented on your project Makey Makey Ballo... : "this is hard! good job" 7:01 p.m.


Not only do I like the game a lot, I have one "like" message and one follower now   
(unless one of my classmates is "TheGuy19"). In any case, I was surprised to cross that line into something that I was actually entertained by playing, and that I keep going back to to add features.

Sunday, February 7, 2016

Notes on Papert Mindstorms

Chapters 2 &3 

These are some of the quotes that I highlighted from Mindstorms.  They are screenshots from Diigo.  I am pretty sure they are in their original order. Please excuse the inexactitude with which I highlight, as I usually just want to keep the place.  I did not know that I was curating for the public while I sloppily highlighted sentence fragments and half words (sheepish grin).


Saturday, February 6, 2016

Mobile Programming Apps--Kodable and Hopscotch

Mobile Programming Apps--Kodable and Hopscotch

This post documents my exploration of mobile apps for teaching coding to our students.  In my work, I looked at two apps, Kodable and Hopscotch.  

The first, Kodable (Figure 1), is geared towards the K-5 set and is a simple but powerful way for kids to begin engaging in computational thinking.  



Figure 1
The game environment is a simple icon-based environment whose setup is less open-ended than the scratch exercises that we have seen before.  In Kodable, students are challenged to put directional and operational icons in order in boxes in order to instruct a cute screen avatar through a maze-like environment to collect the most coins possible. In addition, the downloadable teacher resources provide all of the background and discussion material needed to prepare students for what they will experience in the actual game environment.  There are pencil and paper games and activities, such as a card-based game in which students 'program' a game of Rock, Paper, Scissors using cards to work with If-Then statements. (figures 2 & 3 )  



Figure 3
Figure 2


At first the operations are simply directional, but after each round of practice and [lots of!] repetition, the lessons increase in complexity, with the introduction of Conditional Statements, rules and exceptions, Loops and Functions (Thank You Lucie for including information in your slide show about the later stages of the program, that I would have. otherwise needed to upgrade to!)

The coolest thing about Kodable is that, while it is not nearly as powerful or customizable, the important components of computational thinking are all there for the student.  My favorite aspect of this is the debugging concept, which challenges students from the very earliest stages to detect incorrect steps in pre-made code sequences.  

Additionally, very powerful computational-thinking strategies are given to students in a way that makes sense to their developmental level.  It is this that gets me the most excited.  They will not be able to program anything super-exciting yet, but they are learning about the exact same logical patterns that they will use to manipulate more complex code later in life.  It is important that computational thinkng begin in children's minds as early as possible, and these puzzle-based learning environments go a long way towards beginning that process.  

Constraints=Problem-Solving :-)



Hopscotch

Hopscotch is a much more powerful application in the sense that it gives the user a much more open-ended environment.  As opposed to puzzle-solving, this app is more focused on creativity.  Students are given a very visual array of tools that are put together much in the way that the Scratch blocks are assembled. In fact, the array of tools was surprisingly familiar (Figure 4)


Figure 4
There is a significant limit to what can be done in Hopscotch compared to Scratch, but given that many classrooms are iPad-equipped and have not got standard computing, this is a very good next best bet.  The dimensionality of Scratch, the multiple ways to play with x and y values, random numbers, repeats, conditionals, if-else, clone creation, all allow for a rich, creative environment. Additionally, an extensive list of educational activities is available free to educators and other learners (though again, less so than in Scratch).

Below is some of the code that I generated along the way in a drawing program I made. (Figure 5) 

In addition to the key input commands seen in Scratch, there is also the option of all of the neat motion-sensitive controls that come with the mobile platform.

In Hopscotch, there are a number of fun, pre-coded routines that you can have the "characters" (like sprites) do, like dance, wiggle, draw spirals.  The code for these are revealable and editable, allowing students to see what more advanced combinations of commands can do.

Speaking of the characters, Hopscotch shows its limitations in the characters.  While they have a variety of available characters, there are many fewer then Scratch.  Unlike scratch, there is no option for drawing sprites or giving them multiple costumes to simulate motion. The only thing that can be done is to put together block shapes, like we used to do with the ASCII "graphics" characters back in the day.  Students have shared games they have made with rude but functional airplanes, etc made out of these blocks (Figure 6)
So is it Worth It?

It seems to me that both of these apps can be essential components to learning computer science. Neither is better than the other, as they both work on the same set of skills, just at different developmental levels.  

Students should be exposed to the ideas of sequence, iteration, loops, conditionals and functions as part of their education.  Whether processes need to get done on paper or onscreen, the thinking is the same.  Kodable is certainly simpler, childish if seen from an adult perspective, but that doesn't make it any less powerful.   

I remember the first time that I was introduced to the rules of grammar and sentence structure in third grade.  I developed an instinctive sense of how sentences were supposed to look and sound that never left me.  If I had been introduced to computational thinking as early in my education as I was to grammar, who knows what would have followed. From Kodable to Hopscotch to Scratch, anything is possible.