There are lots of different ways to introduce kids to coding, but often the best way to teach someone a new topic is to pair it up with something they already love. Want to learn about a historical event? Watch a movie about it. Interested in learning how to cook? Then try recipes for some of your favorite meals. When it comes to learning how to code, why not build a game around that goal, specifically? That’s what Jonathan Martin and the rest of his team at Win2Learn are doing with their successfully funded Kickstarter game Starcoder.
Coding for the Masses
Learning to code is an increasingly useful and versatile skill in today’s world. Regardless of your profession, it’s incredibly valuable. I’m a writer, but knowing basic HTML principles helps me do things like set up a portfolio and assist with formatting. Learning rudimentary programming languages even lets me dabble in game development.
A lot of great ideas evaporate from our brains before ever making it into the real world. Luckily for Martin, he made sure to grasp onto the idea for Starcoder and flesh it out. “I was inspired by some science fiction that I was reading last summer,” said Martin. “One of the things the writer imagined was the effect of a lower gravitational pull on a planet smaller than earth…It sounded like a cool idea to have students create and populate their own unique planets using code and think about how its properties might alter the life forms.”
Once Martin latched onto that concept for a game that let kids create and populate worlds, it was a natural fit to not only focus on coding as the primary element, but to thoroughly explore the sci-fi theme as well. All those strange words and numbers on the screen are incredibly daunting, though. As someone who has learned bits and pieces of coding through YouTube and web articles, I can attest to that.
So a game that caters to a wide range of ages and skill levels and makes that process easier is a huge boon for not just kids in classrooms, but for any kids interested in learning to code. “I like to think of our approach to teaching coding as the Planet Fitness model of creating a ‘judgement free zone,'” said Martin. “So this means being able to try stuff out in the coding window or interacting with elements of the game and not being afraid of breaking anything. This is an important skill to learn in general when trying to have the freedom and courage to make something new. Doing it digitally and in a game with an avatar lowers the risk and cost of these types of experiments.”
Ideas Into Action
But no ideas are worth much if they don’t actually play out as intended. The ultimate question is: How does Starcoder actually work, if at all? The beauty of a game that’s built with the central premise of coding at its core is that there are truly no restrictions on what players can do, or as Martin puts it, “the possibilities are limitless.”
In a traditional game, the player is limited by the vision of the game’s creators. In Super Mario, you run around, jump on bad guys, and break blocks to collect coins. In Minecraft, you can build things, yes, but only using what’s provided in the game itself. Teach the player what makes the game tick and give them the tools needed to turn everything on its head, and they most assuredly will.
Martin and his team at Win2Learn have been fortunate enough to see Starcoder in action in classrooms already. In one setting, he teamed up with a talented second grader against three middle school students. “The rules were simple: to see which team could create the most trees of their color on planets within within a 7-minute time frame,” said Martin. “When you plant a tree, it turns the color of your ship. If you tag another player’s ship or tree with your laser, it changes to your color. Also if asteroids hit your trees they are destroyed.”
The rules are simple enough, but in Starcoder nothing stops at simple. The middle schoolers each took on one duty: one tried to push the other team’s planet out of the map, one strategically arranged their planet, and the last player upgraded his laser to have a wider range so he could shoot as many of the other team members as possible.
The kids were learning to do things like make their ships invisible, increase their speed, or even alter the environment itself. “This was so enjoyable because it highlighted the students’ creativity using a flexible game platform with a large possibility space,” said Martin. “It was rewarding to see how quickly and democratically the players organized themselves and came up with new strategies to win the game.”
Starcoder and Self Expression
If you strip away the aesthetics of an early ’80s retro game and the setting of space, what you get is a platform for creation. Painters create paintings, writers create poetry and stories. Coders create a form of art as well—except it’s interactive.
With a game like Starcoder, Martin is allowing users to “interact with artists in real time,” he explains. “So rather than just see a artifact, you can fly to someone’s planet and see what they are in the process of creating. You can also evaluate the features on each other’s space ships for example and exchange the code used to create all of these things in real time.” It is at once both competitive and collaborative.
“Each planet becomes like a player’s own digital gallery,” said Martin. “The concept of a ‘gallery walk’ is common in many classrooms where students post their projects around the room and they take a tour and evaluate and learn from each other’s work. Starcoder is a digital universe where students from all over the world can take virtual gallery walks and immediately share techniques and concepts.”