What inspired Matt to create Boku was the following observation:
If I’m a kid today, looking at the computer, am I going to see it as an art tool, as something that’s there for creative expression? Or am I going to see it as a content channel, really just a television with some interactivity and a whole lot of channels?
He contrasts that with his own early experience of computers:
If you turn on a Commodore Pet, or an Apple II, the first thing you get is the Basic prompt, and it’s really just saying that the computer is a blank slate, and it’s waiting for you to create something in code. That idea that the computer screen is a surface you can paint your ideas on, and then have those ideas come to life in a magical way, that’s what I wanted to recapture.
True, the pendulum is swinging back toward an architecture of participation. Text, audio, and video artifacts are pouring onto the net. But, says Matt, “you can express creative ideas in programming that you can’t really express in any other way.”
Exploring ideas in the realms of gaming and simulation should be as accessible, Matt thinks, as blogging and podcasting have become. So he’s created, in Boku, a programming environment where programs always run, are never incorrect, and are developed by the accretion of actors, of objects, and of rules that govern their interactions.
The roots go back to Logo and Smalltalk, but there’s also a very modern aspect: the system is decentralized and loosely-coupled, behavior is emergent. The robotics examples that Henryk Nielsen demonstrates in this screencast are spiritual cousins to Boku: loosely-coupled systems of independent, rule-governed actors.
If Boku teaches kids to think in these terms, I think they’ll be well prepared not only to create their own interesting games and simulations, but also to negotiate the emerging ecosystem of online services. With the Commodore Pet and the Apple II you were the ruler of the universe. But no more. As programmers who act in a world of loosely-coupled services, we can no longer aspire to total control. Instead we need to learn how to be effective consumers, producers, and — above all — interactive peers.
Boku is also, by the way, fundamentally social.
If you make something that’s cool, not a 4-hour game but just a 15-second interesting visual phenomenon, you give it a name and maybe a tag, and you hit a button, and it goes up into the cloud so other people can pull it down and take it apart. You can’t download a game without getting the source, Boku doesn’t really distinguish between the two. We consider authoring and tweaking to be part of the play.
Matt recalls a conference at which Ray Bradbury spoke, and said that while he was impressed with all the tech, the real problem lay elsewhere.
He held up a blank sheet of paper. What do you do when you’re faced with a blank sheet of paper, and you don’t have an idea? How do you come up with that idea? How do you express it? Our shorthand for that is the blank page problem, and we think about it all the time for Boku. The community is the answer. If you’re stuck, go and surf what others have uploaded today. If you can’t figure out how to make the motorcycle jump over the canyon, go and browse motorcycle and jump, and look, someone else did it. So you pull it down, and of course the code’s built in. It’s obvious I guess, but the Internet as an infrastructure for creative communities to come together — that’s really what it’s all about.
In case you can’t tell, I hugely enjoyed this interview. I hope it will be heard not only by those who care specifically about game programming but also by those broadly interested in creativity, education, and commons-based peer production.