Saturday, August 11, 2012

Programming with Stencyl - How will it work in the classroom?

Update 2/2/2014:  I recently posted a review of a book that will be great resource for learning Stencyl:  Learning Stencyl 3.x Game Development. If you are considering using Stencyl in class or if you are just learning the program, I recommend the book.

Last year I tried to use Stencyl to program some Flash games for a graduate project.  It promised to be a flexible tool for making many types of games and several examples were offered that proved even teenagers could use it.  Like Scratch, App Inventor and GameMaker, it simplified the task of coding by using blocks that snap in place.

Unfortunately I was so confused by the application that I gave up.  I had some success with App Inventor prior to this, but Stencyl made no sense...until I came back to it this summer.

In version 2.0 they introduced Events as an element of programming.  Previously everything was done as Behaviors and I couldn't make those work.  This summer I gave it another try and the Events made sense to me.  I'm sure I'm programming very inefficiently at times, since I completely ignore Behaviors (which I guess are reusable sets of Events), but I am able to make games.  I'm happy.

I got lost for many enjoyable hours this summer while creating this Flash version of What's It to Ya?.  I felt like a kid exploring my old Commodore VIC20 thirty years ago.

But my own interests aside, the big question I need to answer is whether or not I would use this in the classroom.  I will be working with some digital media courses at the high school and middle school levels this year.  I know many of the students will want to make games.  Is Stencyl going to make that possible?

The short answer for me is not yet.  I simply have not figured out how to introduce students to complex programming tools like this.  In the past, when I taught very simple computer programming, I would provide some projects to get them started.  In this case, though, much of the learning would have to be done on their own.  After a few weeks of exploring they will be beyond my own skill level.  Knowing the students that we generally get in these classes, their desire to make video games will far exceed their logical reasoning and patience for learning about, building and debugging programs.  I hope I'm wrong, but my guess is that many will not be disciplined enough to proceed on their own.

(As an example of complexity, the What's It to Ya? game I programmed was very simple in the fact that it had just a few Scenes and movable objects.  I didn't have to concern myself with things colliding or animated characters.  Still, figuring out how to calculate the scores for a round really taxed my brain.  I admit I'm out of practice on programming in general, but even once I figured out how I'd do it with other languages I had a very hard time putting it into Stencyl.  After a few frustrating hours I had to admit that I only know of two or three students I have taught in 18 years who would have worked that hard to learn something new.)

If a few students are capable and moving ahead in the class I would start with Gamestar Mechanic at the middle school level instead of Stencyl.

At the high school level...I'm still undecided.  Scratch seems like a good starting point for actual programming, but most examples I have seen make it look like it's aimed at a younger audience.  I need more experience with GameMaker to be able to help them or to decide if it clearly is easier to learn than Stencyl is.

A quick search for Stencyl in the classroom has turned up a few leads about how other teachers are putting it to use.  I also just came across CodeHS this morning, which calls for all students to learn programming.  Obviously teachers are accomplishing good things with tools like these, so I have some research to do.  I want to offer students the possibility of making games, but at this time I am far from being ready to offer this to all students in my computer classes.

If you have suggestions for where I can find more ideas to get started, I'll be glad to hear them.


  1. Take a look at I have been using with MS and HS students in summer programs for 3 years,

  2. I think this is an interesting program but the cost is a bit much (or am I missing a free version). Still, the idea of kids being able to design, create and publish to an app store is pretty motivating for a lot of students, and the use of Scratch-like programming (pulling the lid off the game) is valuable for everyone to know (including adults). That said, I (like you) would need more time to explore before I felt comfortable bringing it into the classroom.

  3. After getting comments here and on Twitter I did a little more investigation of GameMaker and GameSalad. I hope to write something conclusive up soon. For now, each has advantages and disadvantages.

    There are free versions for all and the free versions certainly will provide plenty of lesson material for the classroom. Usually if you want to transfer any of the games to the various mobile devices that they are compatible with it involves extra cost, sometimes quite a steep price.

    App Inventor is completely free, but it only makes apps compatible with Android devices.

  4. Just came across this blog and thought I'd pipe up about my experience teaching students in grades 4-8 to program using Stencyl. Yes, there is a free version, which we taught with all of last year. The crash courses were great for the initial learning. Stencyl allows students to learn the fundamentals of traditional programming without having to suffer through the details (declaring data types, understanding subroutines, and even just having to type everything).

    Stencyl generates Flash games in the free version. You only need to pay if you want to port the game over to an OS (Windows, Mac OS X, iOS, and with Stencyl 3.0 beta, one can port to Android and HTML5). They do have an educational program: a single $199 license will cover your entire class for development, but not publishing to the App Store.

    The students learn about programming in the class, of course, but the real focus of the class is learning how to learn — helping them to explicitly understand the learning process, both the procedural and emotive aspects. The underlying idea is for them to become comfortable with teaching themselves. I started the class by showing them an old computer punch card, which is what I learned to program on a mere 30 years ago. We have no idea what they'll be using 30 years from now. So, teaching themselves is now a required skill (and should always have been — satisfying one's own curiosity is, well, very satisfying! And highly motivating!!).

    Over all, the students enjoyed the course. To learn more, checkout the class website at

  5. Thanks for the insight and the link to your website. After I wrote my post I had a chance to work with one group of students with Stencyl. It went well and the students definitely enjoyed it. Unfortunately the class isn't running again this school year, so I haven't had a chance to try it again with more experience.

    I checked out the website and really like what you've done with video and commentary from the students. For some reason the games aren't loading for me, so I'll check back next week when I'm at school and have a few other computers to try it on.

    I will send your site as an example if teachers express interest in using Stencyl or other programming with their classes.