Category / Personal

Summer Dev Blog – Intro June 3, 2009 at 11:38 am

Sailor's Sky - Siobhan Forrester
Sailor’s Sky – Siobhan Forrester

It’s officially summer, and that means only one thing for college students like me: summer jobs.  Last year, I had the wonderful experience of interning at EALA for the summer, and I was kind of hoping to return to EA this year.  Unfortunately, economies tank, people have sudden changes in where they want their career to head, and internship slots close quickly, so I’m not actually at EA or any sort of Triple A studio this year.  That doesn’t mean that I’m not incredibly happy about where I ended up, though.  And that also doesn’t mean I don’t get to design games this summer, either.  That’s right, I’m finally getting the chance to build my chops as a designer, and at one of the strangest places you could ever find a game designer: a hospital.

The games I’m working on this summer are a part of an experimental research project involving therapeutic uses for video games.  Now, I know what you’re thinking: “Serious games?  Lame.”  Generally, I’d agree with you on that.  But one of the central theories behind this particular project is that if you make a therapeutic game fun, the subjects will actually want to go to therapy.  It makes perfect sense, doesn’t it?  People generally don’t like therapy because it’s not fun.  But if you make it fun, people like it, and their condition improves faster.

Another central idea to the project is that fun videogames can be really useful to treat symptoms of Autism Spectrum Disorder.  Children with ASD tend to gravitate toward computers and videogames, so it makes sense to use them as a therapeutic tool.  The difficult thing is to figure out how to extract some benefit from the games they play.  There has been some research into this, and as it turns out, asking children with ASD to make distinctions between different human faces and human emotions has a certain amount of therapeutic value.  This is where my job starts.  As part of the research team, I’m responsible for designing and creating Flash games for use in this project.  The games can be anything, from strategy to puzzle to RPG-based, but they all must include the central concept of making distinctions between faces.  It’s a lot easier than you’d think, mostly because requiring that core idea gives me a base off of which I can build a design, but it’s still rather difficult.

But beyond the challenges, I think my favorite part of this job will be the chance to use games to help people.  Since last summer, I’ve decided that one of my goals in life is to create a game that is fun and entertaining, but also makes a significant impact on the world.  Games are so popular and so embedded in our culture that I can’t help but wonder if there is a better purpose for them.  The problem I see, though, is that any game that tries to do good for the world often loses sight of the reason most people play games in the first place: the fun.  A game like that which is fun would be like therapy for the world: its effect would be amplified by the fact that people want to play it simply because it is fun.  This job is letting me make almost exactly that, and I can’t express how exciting it is.

(Sailor’s Sky was painted by Siobhan Forrester, a young girl with autism, as therapy for overcoming her aversion to certain textures.  The original image, as well as other art by patients of the Center for Autism Research at CHOP can be found here)

Semester Postmortem – Winklr May 20, 2009 at 2:38 pm

And so ends another semester at the University of Pennsylvania. Last time this happened, I said goodbye and good riddance, but I actually had a really good one this time around. The next few posts are something of a rehash of Spring 09, and should feature some work I’ve done, some thoughts I’ve had, and are generally designed to get me back in the habit of updating my website more often. So, without further ado…

One of my favorite classes this semester, and one that you will probably hear of several times after this post, was Data Design and Information Visualization, or simply: Info Viz. It was a small class with a somewhat experimental syllabus. You see, despite the fact that Penn has been offering a cross-discipline major in Digital Media Design for more than ten years now, there has never really been a cross discipline course between the Computer Science and Fine Arts departments, much less one dealing with the visual aesthetics (read: Design) of interactive, data driven computer applications (read: Digital Media). Thankfully, the course was taught by one of the best professors in the Fine Arts department, David Comberg, and TAed by the equally passionate Nirav Sanghani. It was also the first class I’ve ever taken to feature a blog as an outside-the-classroom learning tool, which I thought was totally awesome.

In an art class full of engineers, you’re expected to come up with some really awesome looking final projects, and we certainly delivered in that regards.  One project, by Brynn Shepherd, used a really slick language called Processing to make a visualizer for her mutual friends on Facebook.  Another took data from the Penn Computer Science department and made an incredibly depressing (but very informative) flash animation on the declining number of female computer scientists.  Yet another project laid out in very plain terms the process to convert waste glycerol to fuel for vehicles.

My final project for the class was inspired by my previous failures with the Subculture Genome Project (my second project for the course, which I’ll get to tomorrow).  I basically wanted to make a program that could take in data from the Music Genome Project or similar classification-based data sets, and display them in a way that you could explore and have fun with.  I started out trying to make an interactive Flash animation, but then I realized I didn’t know enough Flash to do anything interesting.  Eventually, I borrowed some code from a cloth simulator I wrote for a different class, and started writing a C++ application.  The idea was to create a system of virtual masses and springs that represented the set of data I wanted to look at.  Because positions were actually determined by a physics engine, and not pre-calculated, I found that I could manipulate the mesh of masses any way I wanted to, and still have the masses maintain their relationships.  Plus, it was kind of fun dragging everything around and seeing what kind of new relationships I could see.  And so, after nearly 24 hours of straight coding, I created Winklr, which you can now download from the Studio page.

I’m really rather glad about how Winklr turned out.  It was really the first worthwhile, distributable program I wrote, and it got really good feedback at the demo session we had as the class’s final critique.  I’m also glad that, even though it’s finished, it still has a lot of potential for growth.  Of course, there are some bugs to work out, but in addition to that, I’ve been considering creating authoring tools for users, as well as possibly integrating it with the Music Genome Project so you can visualize your music tastes.

Now that you’ve heard the story, you should go try out Winklr!  Leave some feedback too, so I can improve it and really make it fun and useful!

Next up on the Semester Postmortem: The Subculture Genome Project