Last year I stumbled upon Bret Victor’s website. In short, he’s one of those genius guys who did some of the real work at Apple making touch interfaces awesome. That’s not a very fair way to describe him, but I’m just trying to get your attention. I read this great article of his about new ways to think about math concepts, and then proceeded to go down the rabbit hole of wandering around on his website. I came across a mind-blowing e-book about information visualization called Magic Ink, and in November, one called Ladder of Abstraction, which was even more compelling to me.

I can say with complete confidence that it will soon change game design forever. Ladder of Abstraction is a revelation for games and videogames as media. In his article, Victor offers both a design process and a set of tools for understanding complex systems. I see it as a key piece of the puzzle in unlocking the “black box” of game design.

If you’re a game designer, and you were just taking a drink of something, this is the point where you spit it out all over the screen. Yes, I’m talking about the first step toward the end of trial-and-error design. In fact, I have not mentioned much about this publicly because my intention was to hide in a cave, apply the concept to a game tool, and then unveil it to the public like a hero (giving credit where due of course). A dumb idea, but once you understand the vision and its implications when taken a couple steps further, you’d be tempted, too.

You certainly need to read the article, but I’ll summarize/butcher. The concept presents a case for ways to view complex systems on different layers, i.e. rungs of a ladder, and then travel “up and down” the rungs to understand the system better. His example was an algorithm of a car following a road. Using interactive examples, he shows how those layers can represent time and space, and even shows how it can be helpful to view those dimensions with multiple instances of the car across time instead of a just at one point in time. Or even better, across the variable of the algorithm, such as how sharp the car turns back onto the road. He argues that going between these layers of abstraction gives you a much better understanding of the implications of the limited, yet still complex algorithm you’re creating. Playing with the examples, you can see for yourself how he’s absolutely right (below is an image; go to his website to play!).

After I recovered from reading the article, I immediately started applying this to more traditional videogame experiences in my head. Suddenly you could view all the possible instances of a platform jump by changing different physics settings to let you know if your platform is placed correctly. Or maybe the inverse, move the platform around and see at which position it can be jumped on. Why not just design your platformer level on-the-fly without even needing to play the game?

Well guess what. A few days ago a talk by Bret Victor was posted on vimeo, showing exactly that! He shows some live-coding examples that are not totally new but very well executed, and then the atomic bomb that is an example of the Ladder of Abstraction applied to a platformer, using art from David Hellman. These demos are of course wrapped in a brilliant, poignant talk in its own right. Maybe I’m still high from watching it, but I’d explain the talk as a whole as one that a TED talk merely aspires to.

My “principle” has me taking the Ladder of Abstraction concept a couple steps further to better understand meaningful gameplay, and I’ll be certainly doing whatever I can to make that happen. I just hope I don’t have to make my own awesome live-coding tool like that and can build off of his instead.

Subscribe to comments Comment | Trackback |
Post Tags:

Browse Timeline

Comments ( 3 )

This is pretty awesome. Thank you so much for pointing towards this and highlighting (for me) the “Kill Math” project.

Intuition (learned intuition, in this case) is an amazing force that I think we’re taught to ignore for a very long time, learning skills explicitly throughout structured academic environments. However, once we start creating or even working with natural objects, intuition is pretty much the only thing that we can lean on reliably and consistently.

It’s pretty awesome that he’s created a tool that allows him to adjust parameters and see those results (and record them) immediately and at all levels. Seems like the next logical step for software is to include these kinds of controls and metrics in all interactive development tools.

sonicblastoiseNo Gravatar added these pithy words on Feb 27 12 at 8:49 pm

I agree 100%.

I’m getting so tired of living in the 80s with these coding IDEs and having to stop the game to change it. Why do I have to be an expert programmer in order to sketch with programming? That seems the inverse of what it should be! Anyone can pick up a pencil and start scribbling to make visuals happen. Why can’t I scribble code to make virtual things happen?

godatplayNo Gravatar added these pithy words on Mar 15 12 at 11:49 pm

Saw this and immediately was reminded of Light Table. Then I realized the creator links to Brent. Full circle :)

But yeah, also 100% agree. I recently tried playing around with some procedural 3D meshes generations for a project, but I got disheartened precisely because I couldn’t immediately see what was happening.

mikeNo Gravatar added these pithy words on Jul 23 12 at 1:10 am

Add a Comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>