When Filament Games first received a request to talk about engineering in video games as a fun activity that could be presented in 50 minutes, we were stumped. It’s easier to talk about designing games by creating your own or think about art styles by creating pixel art projects than it is to teach an entire new language to a bunch of middle schoolers. Thankfully, MIT had us covered.
Scratch is a visual coding language developed by MIT that allows anyone to program their own interactive stories, games, and animations. It also has a very strong community aspect, with active forums and opportunities for users to “remix” creations by adding their own tweaks and edits to another person’s code. Producer Ethan Cayko and I went to the Spring Harbor Middle School Environmental Conference to present. While the activity itself was not environmental themed, Filament Games has a history of working on environmental education games.
When students asked how developers describe their jobs, our Director of Development AJ Low said:
“The big picture: we find the answers to questions. Questions like:
- How do we show a character on the screen?
- When we hit a wall how can we stop moving?
- How does the player resume the game?
- We need to be able to click this thing and have it do another thing...how do we do that?
Most of our code can be grouped into two categories - Code that operates on visual or audio assets, and code that maintains a logical state of the game’s data and what it’s supposed to be displaying.
Typically, any button pressed or command input results in feedback or some backend modification. We implement that feedback.”
While this might seem hard to get through in 50 minutes, we managed it. Starting with a ten minute introductory PowerPoint, we went over the basics of Scratch and then issued a challenge - take a sprite (essentially an object or an image) and make it move based on some sort of input. We encouraged those done with the first challenge to create another, more complicated challenge involving sprite interactions. Many of our participants already knew and loved Scratch and had opened their accounts to busily start coding. Every student managed to complete the first challenge and most had started on the second challenge by the time the presentation ended.
Of the projects, some were happy to remix other’s work from the Scratch website, though we encouraged them to make their own. Many came up with interesting stories, like sibling superhero flying cats or a naiad that said “hey guuurl” if clicked on. One thing that Ethan and I emphasized was that the point of this exercise was to organically explore the Scratch language - we weren’t going to be giving answers out willy-nilly. While students would occasionally raise their hands to ask for direction, often times they would turn to crowdsourcing the information. If a student found a particularly interesting piece of code, they would turn and share it with their neighbor and so on. This resulted in an interesting compilation of various rotating objects turning every hue of the rainbow and “easter eggs” that popped out when you hit a certain key.
Five minutes from the end, we encouraged sharing what had been made with others in front of the class. They talked about what was easy and what was difficult. It was great to see the students engaged with the language and creating games of their own. I’m certain that they will continue to work on their games in the future and if they don’t, they still know a coding language which encourages an interdisciplinary approach to learning.