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.