Teaching Games. Also, GT7K.

Thursday, May 17, 2012

So: Teaching is hard.

(If you are a teacher, this is where you make a face at the screen and say “no shit.”)

Quickly, before I begin: My high school students know how to use Google. And a few know the quiet art of Googling someone’s name to figure out more about them. So! Some of them are at least cursorily aware of this blog — some might even read this. In which case: Hello, there, young scholar. Mr. Knowles has a potty mouth. (They don’t call me “Mr. Knowles.” They also don’t really call me “Josh.” They prefer “Hey.”)

I do hope some students check this out, actually. One of the most eye-opening parts of teaching, so far, has simply been seeing the classroom from the other side of the desk. Being a student is kind of a freaky experience — you’re young, so your baseline is you sitting there stewing in fresh hormones. And then you’re dumped into the deep end of topics that you might not give a particular shit about — but if you don’t excel at them, well, then Your Future is in jeopardy. And you are judged. By teachers. By peers. By coaches. By parents. For me, at least, I had almost no headspace left over whatsoever to ponder what the teaching experience might be like. If I had, it probably would’ve relaxed me a bit. Which probably would’ve made me looser and more communicative in class. Less intimidated. Maybe one side-effect of this new communication culture in which we live is that current students can get a touch of insight into what’s going on in their teachers’ minds and outside lives. (At least those teachers who blog.) Which is humanizing. And good. (As long as the teacher isn’t into stuff like flashing people on the subway or dismembering squirrels.)

Some of that constricted headspace is necessary. School is about molding brains. So sometimes you just have to sit someone down and lay out the facts for them and make sure they remember what you said. But. High schools need significantly more Montessori-style and collaboration-focused teaching. Especially since if you get someone excited about the possibilities of a Thing, then they’ll naturally start asking questions about what that Thing is and how it works. And generating excitement is something that happens via play and exploration. And open conversation.

Which is kind of the over-arching goal of the game design class I’m co-teaching over at Bushwick High in Brooklyn. I’m trying to stoke their interest in making games (which isn’t terribly hard) and convert it into playful exploration with game making tools. And then use that to stoke their interest in other related topics.

I am not achieving that goal, currently. By the way. Currently things are a bit of a mess.

Which is why I say teaching is hard.

I have been given the chance to have an unusual perspective on teaching. Last year I taught, for the first time, a high school class, an undergraduate class, and a graduate course. It’s neat to be able to compare and contract students at these different levels. And there’s no question: High school is the most challenging.

Part of that difficulty is simply that it’s very, very hard to judge results — at least in a situation like mine where I’m trying to facilitate creativity (I can’t just give ‘em exams at the end). I try to communicate and, more importantly, I try to impart bigger perspectives and simply get them excited about something. And the students will superficially let you know what they think — they will, for example, drift off to YouTube the moment they get the littlest bit bored. But it’s tough to know what’s working at what’s not: What sticks in their head in such a way that they ponder it on their walk home after school? That’s extremely difficult for me to see. And, to put it in programmer terms, it makes it very difficult to optimize and debug my teaching.

Then there’s this second issue. The easy part of teaching game design is getting kids interested. Computer games (anything played using a device with a microchip) have such a tight grip on a certain demographic. It’s possibly the only subject these kids will have in high school where other teachers and parents will be concerned that they’re spending too much time with the material outside of class. And, possibly, one of the few cases where a strong argument could be made that the students have a deeper relationship with the material than the teacher does. (At least when it comes to certain games.)

The hard part is kind of everything else that comes after that.

For example. Let me start with a question:

What can you use game design to teach? What disciplines are contained within or overlap game design?

  • Computer programming. Obviously. (And, yes, “game design” encompasses more than just computer game or video game design — but that’s the format we’re dealing with in class.)

  • Technology platforms.

  • Math. Logic.

  • Visual design.

  • Sound design.

  • User interface design. (Rescue the princess? How does a player even know that’s the goal? What does the “A” button do? Why did I die when I touched that?(

  • Storytelling.

  • Social media.

  • Cultural context and situation.

  • Potentially all sorts of business stuff: Marketing. Sales. Money.

  • And then whatever the content of the game itself is about.

If you’re into games, none of this is new. (And I’m leaving out “game design” because, well, no shit.) But it creates a meta-design issue.

I’m trying to teach them how to make games themselves. Computer games. And when I taught this class last Summer I went through several tools before settling on YoYoGames’ GameMaker software. Which was pretty good. Except that all of our time was spent on the first element above: Computer programming. It took an entire two hour class to just get a sprite on the screen that they could move with the arrow keys. For a short class, that’s just way too long. Especially when they’re making 2D sprite-based games. They all just wound up making erratic variations of bullet hell shooters: Top-down games where you use the arrow keys to move a sprite around and fire a blazing torrent of bullets every which way in order to kill some baddies.

We had zero opportunity to even begin to explore any of these other topics. And — speaking as someone who codes all day and loves it — I think the computer programming part is the necessary but otherwise least important piece of the game design puzzle. Storytelling. Visual design. Hell, just the general ability to have a vision of a feeling or effect you want to have on your players. “I want to scare them.” “I want them to be so happy they can’t contain themselves.” “I want them to learn about how viruses mutate.” “I want a two-player game that causes people to fall in love.” That’s the meat of any creative art. “I want several thousand lines of Objective C code sitting on my hard drive” — ugh, no.

And we were additionally hamstrung by the fact that GameMaker lives on the computer hard drives, along with all their files. So they couldn’t work from home. And if they used a different machine the next week, they had to start over. And — critically — they had no way to be proud of the game at the end. No way to share. No way to see other people play it (beyond the few of us in class).

So I decided to be a hubristic coder and just develop my own game-making platform. Which — I don’t know. I’ve been bothering everybody about this thing, so I feel weird getting into it, here. But let’s go for it so I can do some thinking about what it is and where it needs to go. Because, as currently conceived, it is broken. But there is a spark of a core idea inside of it which is solid. It’s heart is in the right place. I think.

Oh: GT7K. Gametron 7000. That’s the name. Background: I made a simple level-editor tool as a project while at ITP. It let you make levels on the web and then play them on your mobile phone. (J2ME, bitches. 2006.) There’s very little overlap, otherwise, between these projects. But I kind of like the name, so I reused it.

(And you’re welcomed to sign up for a GT7K invite, but I’m not opening up the actual tool to everyone. It’s very undercooked at the moment.)

So. GT7K.

The whole idea behind GT7K is that I want to get the students from zero to simple game in five minutes. You sign in. I explain how it works. Click, click, click. Simple game. What took four weeks using GameMaker I want to compress into five minutes. Impossible, you say. But, no! Everything in GT7K is social. So if you want a space invaders game, you go find one that’s already been made that’s close to what you want. Copy it. Customize. Bam. You have a game.

And the thinking, here, isn’t that I want the students to make 400 shitty space invader clones per hour. The thinking is that I want to compress the computer programming part of the equation down so that after that five minutes they’re thinking of character design, level design, storytelling, etc. The other stuff. If they enjoy what they’re doing, they’ll dig into the coding side of things on their own. That’s how it works, right? Isn’t that how half of us (at least) learned to code in the first place? “That’s really cool! How do I do that? How do I change that? How do I do more than that?” If I can get the code out of the way so they can explore the other creative elements in game design, maybe they’ll unlock a deeper interest and appreciation and then they can go back and get excited by how the code works. (Or discover they love making graphics. Or playing with sound. Or writing stories. Coding is not the only thing people who make games do.)

One student exemplified this. Second class, I think. This semester (maybe a month ago). My approach to introducing my high school students to GT7K was simply to explain the overall philosophy of the app — what the different sorts of “objects” in the game were, how to edit them, etc — and then just let them explore. I’d answer any questions as they came up. By the second class, one student had already copied a simple platformer I made and had altered it to create a simple story. My platformer was mostly just a game engine test — making sure the sprites moved properly and that collisions worked and such. Not even a game. But he took it and took the random graphics I’d tossed into it (a girl character, a spaceship, some space invaders-like creatures), and created a story: You’re the girl. You’re on a planet. You have to fight through the aliens (jumping and shooting) to get to your spaceship so you can leave and get home. (Touching the spaceship ended the game with a “you win” message.)

This was very, very simple, obviously. Certainly the student who created it didn’t melt any brain cells doing it. But. It was exactly what I was hoping to see. He shortcut past most of the programming stuff and got straight to the point where he could think about telling a story.

And GT7K is all online, so that game is accessible on any computer on the planet without having to upload it or publish it or anything. (Again, I’m not going to link to it right now because all of GT7K is under wraps until I’m comfortable opening it up.) And he could work on it from home. Etc.

And! If another student finds it inspiring, they can make a copy for themselves and change it up however they want. Click, click, click. New game. New ideas.

Hopefully I am — in my babbling way — communicating my overall goals with GT7K. (I’ve had a few beers — can you tell?)

And, so.

Now the bad news:

This is a huge design challenge. Oh, lord. Currently, like I said, GT7K has a glimmer of something good flickering at its core, but creating tools that feel engaging, inviting, fun, understandable, satisfying… Holy shit. It’s not really any of those things at the moment. At least not as much I want it to be. And finding that point of balance between flexibility and ease-of-use is very hard. These kids with no programming skills need to be able to get their hands dirty with it and have success. But how do I balance between “understandable but restrictive” and “complicated but flexible?” I don’t know where that point it. It’s quite possible I’m in completely over my head.

(And, although my current audience is high school kids — how do I build this thing with an eye on the general population? I could see it being of interest to all sorts of people.)

This is where it gets all confusing and murky to me. Firstly, I’m not some epic game designer myself. The universe of game design is so rich and dynamic at the moment, every time I look there’s some fascinating new game or some interesting new tool for game making. Just last week, for example, Valve released their Portal 2 level editor called “Perpetual Testing Initiative.” I haven’t played with it yet, but wow. It looks amazing. And, of course, projects like GameStar Mechanic. Which, when it comes to thinking about the educational use of game-making platforms, I’ve put about 1/10th of 1% of the thought and creativity into it that those folks have. So I’m trying to navigate this narrow space where I’m allowing myself to build something inferior to other products in many ways just so I can learn and potentially have a revelation or two that will let it evolve in a new and distinctive direction.

Six months in, I’m just getting the first tastes of what those things might be. Though, the ideas aren’t well-formed enough to really write about here, except to say that restrictive tools can actually lead to creative power — that’s nothing new — so I’m beginning to hone in on how to turn the necessarily restrictive nature of a project like this into a feature, not a bug.

Well, and there’s a vary obvious differentiator, which has been a part of the idea from the start: All objects within GT7K are completely open and shareable between users. See something you like? Copy it and use it. As far as I know, I haven’t seen anything quite as molecularly shareable like this. It’s funny. That part of GT7K has been so baked in from day one that I kind of lose sight of it.

Anyway. That’s a couple thousand words, so let’s wrap up. Hopefully I’ve given a little insight into my thinking on teaching and game design. Both teaching and the attempt at creating this game design tool have been mind-expanding. (Hopefully for the students, as well!)

If you are interested in GT7K, please sign up so I have your e-mail address. The opening-up process will be slow, but I would love to get feedback from everyone I can. I’m not a spammer and I won’t do anything weird. I’ll probably just get a little over-excited if I think I’m stumbled upon something compelling.

Thanks for reading!