Archive for May, 2009

A bit about storytelling

Sunday, May 17th, 2009

Recently, I read a New York Times blog post previewing a new video game based on Dante’s Inferno.  This post discussed the implications of telling stories through video games rather than books, which is something that I’m really interested in.  Like so many topics that are as emerging and undefined, it’s something that I find really fascinating.

What I’m finding right now is that the video game industry is really interested in a storytelling model that borrows a lot from novels and cinema.  It’s very plot-driven – your character fights his/her way through various action sequences and set pieces, interrupted by cut scenes that tell the story.  Perhaps there are a few stock alternate endings that come up based on crucial actions you did during the game.  I think this model has proven to be familiar and hugely successful, but I personally wonder if it’s making the best use of the interactive nature of video games.  It seems to me like the player is not truly engaged in this model – they’re just jumping through game-related hoops to complete a story that has already been written for them.

Instead, what I’m interested in is telling the story through the mechanics of a game.   Rather than building the game around a plot that must be followed, build it around a few simple, easily understood rules and a overarching goal.  That way, the player is given the freedom to explore any alternative they can think of, and create their own story.  And since it is their own story, they relate to it much better.

One game I can think of that did an admirable job of what I’m describing is the classic Mega Man series of games.  A major thematic element that Mega Man has always brought out for me is the idea of persisting in the face of a challenge that may just be more than you are capable of.  Yet this theme is not explored using traditional storytelling elements – for instance, Mega Man never has an impassioned monologue in which he despairs over the difficulty of his situation but vows to continue anyway.  Instead, it’s a natural consequence of a few basic gameplay rules.  Mega Man has powerful special weapons that can only be used a limited number of times.  His ammunition is not replenished if he loses a life.  Most of the major enemies in the fortress are more difficult if Mega Man does not have a particular special weapon, and a few are literally impossible.  As a result, as you go deeper and deeper into the fortress of your nemesis, Dr. Wily, your weaponry begins to dwindle, and as you approach the final bosses, which of course are the most difficult ones, you begin to wonder if you have enough left to pull through.  It puts a different spin on losing a life as well; as opposed to a game like Super Mario Brothers, in which dying merely means that you have to try again, dying in the wrong place in Mega Man might mean that you no longer have enough weapon power left to win.  When you see that you have 8 Hard Knuckles left and you need 7 to defeat the boss, you truly realize that you must succeed this time, since there will not be a next time.

What I find interesting about this example is that it doesn’t put a feeling into the player’s mouth, so to speak.  Instead, it’s something that they themselves realize on their own, and their reaction to the situation is truly genuine.  Furthermore, it’s their own path, rather than one scoped out for them by a scriptwriter.  Finally, note that Mega Man was able to accomplish this with simple 8-bit graphics and sound, as opposed to the hugely time-consuming and expensive 3D graphics, cinematic cut sequences, music and voice acting that the mainstream game industry is enamored with.  It just goes to show that you don’t need to put in a great investment in order to get an emotional payoff.

Project: Readerfall

Friday, May 8th, 2009

Given that my previous post had listed all of my current projects, I thought I’d give you a taste of one of these projects.  This one is called Readerfall, and it’s a visualization of my Google Reader feeds, built using Processing.  I’ve been working on it on and off for about a month now, and I think it’s coming along very nicely.  Here’s a screenshot for you:

Screenshot of Readerfall

Screenshot of Readerfall

So basically, every column in this graph represents a different feed that I subscribe to (Reaction, Ajaxian, USCHO, etc.), and each block is a different story.  The blue stories were shared by someone else, and the green stories were shared by me.  They’re also color-coded, so that older stories are darker.  I also recently added a slider at the top so you can filter out entries within a certain date range.

I’m really happy with how Readerfall is going so far, but it’s got a little while to go before I’m going to post it.  I need to set it up so that it actually loads the most recent list directly from Google, and so you can log in with your own username.  I’m also interested in adding more animations and such to accentuate the “fun” aspect, since it’s meant to be personal rather than strictly informative.

Any other thoughts?

Graduation

Sunday, May 3rd, 2009

So it’s official – as of yesterday, I have completed my studies and earned my Master of Science degree in Information!  It’s a great moment for me, although a little bittersweet.  My plans are still unknown, but for the short term I am staying in Michigan.  In the meantime, this gives me a great opportunity to work on some of my own personal projects, and I felt now is as good of a time as any to list them all, both for my benefit and that of my readers:

  • Nutty Bolts: an online multiplayer word association game, similar to Apples to Apples.  It’s in been in a playable beta status for a while now, although more testing and tweaking would always be helpful.  I’m also interested in building some more learning opportunities into the game – for instance, I’ve heard the suggestion to tailor it towards learning languages, which I think would be really cool.
  • Readerfall: a visualization / art project to show stories in your Google Reader, organized into columns by feed, and detailing the age and date of each story.  I’m mainly doing this to teach myself Processing and try out an artistic visualization style.
  • VizierFX: an open-source library that draws network graphs in Flash.  It’s workable now, but there are so many things to be improved on it.

And here are projects that I’m not yet actively working on, but are in the pipeline somewhere and may or may not see the light of day:

  • Battleground: a political election simulator, played turn-based-strategy style.  I’m hoping for a lot of possibilities for viable strategies (both in terms of different candidates and different tactics), and that it gets done before 2012 (or even better, 2010).
  • BlueShift Hockey: a visualization of shifts taken by NHL players during hockey games.  I did this project earlier using JavaScript, but I canned it because of technical difficulties and because there was another similar site.  However, I might resurrect it if there is interest.
  • Sustainability game: No real concept of how this project might work, but I’m looking to do a simulation to foster a discussion on sustainable local resource use.
  • Beware the Penguins: an arcade-style game I had developed about 12 years ago that I think would work really well in Flash.

And there you have it.  Regardless of how the job search goes, I think you can agree that I’ll have my hands full!