Skip To Main Content

Glitching Scratch 3.0 on an Embedded Web Game Console

Posted by Boaz Sender

May 29 2019

Today, we are excited to announce our partnership with JoyLabz, which began in 2017 and has centered around the development of a new game console called GameBender. JoyLabz, developers of Makey Makey and Drawdio, and founded by former Lifelong Kindergarten researcher Jay Silver, has been an incredible partner. We are excited to finally share the beginnings of our work, and to continue working with JoyLabz on research and product development.

Picture of children using Gamebender.

What is GameBender?

GameBender is a National Science Foundation and Kickstarter-backer funded gaming platform that encourages bending, extending, and deconstructing Scratch games as a core mechanic for demystifying how code works. The system runs on Scratch, the visual programming language which serves communities speaking 70+ languages in 165 countries. GameBender gives players access to the millions of games and other projects available from the Scratch community in a console format, with built-in tools for glitching and editing the underlying Scratch programs. These features encourage learning during moments of play, and teach computational thinking through a “change-the-system” feedback loop.

For example, in a pinball game, you can clone your pinball and have double the chances of winning:

Or enlarge the bumper so you never lose at all!

“Cloning” and “enlarging” are two of the dozens of glitches and filters that come with GameBender out of the box. Players can also use Scratch to introspect, modify, copy, and extend the underlying code behind games and glitches on the console. By modifying the rules of the games during and between moments of play, players get the chance to change technical systems to their whims. This also teaches players that the instructions in games and glitches are what direct the behavior of the system.

Scratch has been developed over the last 10 years by the good folks from the Lifelong Kindergarten group at MIT Media Lab. We recently helped the Scratch team rewrite the system in ECMAScript/JavaScript, and can attest to both their deep level of commitment to creating safe and pedagogically critical learning environments for children, as well as the high quality and embeddability of the Scratch 3.0 virtual machine.

How did we do this?

We embedded the Scratch virtual machine on an Arm 64 single board computer from JoyLabz’s manufacturing partner, Rock 96. We used Electron’s embedding of Chromium to run our web application, and Node.js to interface with a stripped down linux kernel based on Linaro ALIP. We built the lobby and game chooser in React and WebPack, and developed our glitch pipeline in Node.js.

Why Did We Do This?

We are especially excited about GameBender because it aligns deeply with our values: creating safe and critical learning spaces for the web platform, and contributing to projects and libraries that make the web run more reliably and inclusively.

We love working on Scratch! The scope of the project is huge and humane, and the team of designers, project managers, and engineers behind it are kind. Scratch encourages a new generation of web authors to develop computational skills with a critical lens, and build community with their peers. JoyLabz brings a creative exuberance around invention literacy, and coloring outside the lines, which resonates with our team. At Bocoup, we provide the engineering skills, software development leadership, and web platform expertise to bring this vision to life. We are incredibly proud of GameBender, and we can’t wait for you to try it.

Scratch 3.0 is also one of the most ambitious open source web applications that we have on the web platform. It implements web features that demonstrate the capability and power of the web platform while. Embedding and extending Scratch 3.0 on an Arm-based single board computer really pushes the limits of the web platform for interactive media applications. We’re excited to step through this in more detail in future posts.

What’s Next, How to get a GameBender?

Today, GameBender is live on Kickstarter. You can fund the project to help us keep working on it. We’re excited to continue working with JoyLabz on the manufacturing pipeline, over the air updates system, and developing their evolving software development organization.

In the coming weeks, we will highlight some of our favorite parts of the GameBender project, including the technical details behind metaprogramming Scratch with Scratch, the ways that GameBender has contributed to the health of the open web ecosystem, and the impact of our work with the Electron team to use Electron on an ARM-embedded device. Each part of the GameBender story tells a different aspect of the work required to bring this educational tool to life. Today’s launch of GameBender is the culmination of years of work from designers, project managers, hardware and software engineers, educators, learners, and inventors. We’re excited to finally share the results. We can’t wait to see what types of games and experiences the community builds!

,,

Comments

We moved off of Disqus for data privacy and consent concerns, and are currently searching for a new commenting tool.

Contact Us

We'd love to hear from you. Get in touch!