Here’s a Concept! Flatland Shooter October 15, 2009 at 6:31 pm

I’ve been stuck on the whole 2D/3D concept since my Blogs of the Round Table post.  In particular, I’ve really been thinking about how 3D games are presented.  I’m not really talking about style or meaning or mood, either.  I’m talking about how they’re presented in a physical sense, as in a screen.  Think about it: all the fancy shaders and intricate models in the world can’t change the fact that everything gets projected onto a 2D plane.  We discussed this briefly in a course I’m taking on human perception, and it got me thinking about how that limitation can interact with gameplay.

Flatland Shooter would play very much like a top down shooter, a la Geometry Wars or Vector Effect.  Players would control a ship confined to a 2D plane that must survive an attack by shapes from 3-space.  Each shape would appear first as a dot at a random point on the screen, grow slowly to the full cross section of the shape, and then disappear back to a point.  The overall effect should be that the 3D shape is passing through the plane of view.  If the player finds himself directly in the path of a shape, he is pushed out of the plane and dies.  However, if he is slightly out of line (e.g. slightly off center of a sphere’s path), he is pushed out of the way.  The player must survive for as long as he can.

Would you play it?  I might prototype this if I get some time, just to see what it’s like/how frustrating it is.  I feel like there’s a big source of frustration in the fact that you can’t actually see the enemies until they’re already on the screen.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • StumbleUpon
  • Tumblr
  • TwitThis

Legitimate? No. Delicious? Yes. September 21, 2009 at 12:53 pm

I almost feel ashamed that this is going to be the first cocktail post I’m writing.

I say that partially because I’ve been experimenting with cocktails for a while now, and up until now haven’t had the guts to put it out here on the intertubes.  But now that I won’t catch hell for posting about my interactions with alcohol, I figure I’ve got nothing to lose.

I’m also ashamed that this is going to be the first cocktail I post because, well, to be honest, I’m ashamed to drink it.

A little background: the other night, my friends invited me to dinner at their place.  They were cooking, so I felt obligated to bring some sort of dessert.  As I was walking around the local supermarket, I happened upon the foreign foods section, which for some reason was filled completely with Caribbean goods.  I don’t mind this all that much because I love Caribbean food.  Anyways, I happened upon a can of something called Irish Moss Peanut Drink.  Intrigued, I bought a can.  I tried it, and wouldn’t you know it, it tasted like peanuts!  This, combined with the fact that I had just finished building a bar at my friend’s house, got me thinking.  Could I somehow incorporate this peanut-y drink into some sort of delicious desert/drink hybrid?  It would spare me the time of actually cooking dessert, and I could get an opportunity to use my new, lovingly crafted bar!  The result, after some thinking and a decent amount of experimentation, is The Reese’s Cocktail:

Photo by Nirav Sanghani's iPhone.

Photo by Nirav Sanghani's iPhone.

The Reese’s Cocktail

1 oz Vodka

0.5 oz Kahlua

1 oz milk

1.5 oz chocolate syrup

2 oz Irish Moss Peanut Drink

Shake with ice until cold and the chocolate syrup has blended.  Serve in a cocktail glass with half a Reese’s cup for garnish.

So… yeah…  This drink sort of feels like something that you’d order at a TGI Fridays or a Uno’s Pizzeria, and I’m not entirely sure what to think about that.  On the one hand, I know it’s delicious.  The Kahlua gives some complexity to the chocolate flavor, and lets it blend with the peanut drink better.  On the other hand, it’s… you know… commercial.  Something doesn’t feel quite right about the whole thing.  It’s like I’ve taken one of the arts I appreciate the most, and just let it become a parody of itself.  I feel like Kurt Cobain, except I’m not nearly as famous and can’t write music for my life.

Can I at least get some props for coming up with the concept in line at the supermarket?  No?  Fine.  I’ll see you at Chili’s.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • StumbleUpon
  • Tumblr
  • TwitThis

Here’s a Concept! 3D Arcade Classics September 17, 2009 at 5:06 pm

I’m one of those “long time watcher, first time writer” types when it comes to Corvus Elrod’s Blogs of the Round Table. It’s just been one of those things, I guess. I enjoy them every time they happen, and sometimes even have a cool idea or two about the topic of the month, but never get around to writing it all down. So, what better way to kick off my new blogging habit than to participate in this month’s discussion!

This month’s topic:

Isn’t That Spatial? Every video game has certain benefits and constraints in the way it represents space. Interaction fiction, arcade titles, 2D side-scrollers, isometric RPGs, and first person shooters all have advantages and disadvantages to how they deal with space–some technical in nature, some design-based. This month’s topic invites you to explore the ways games have represented the spatial nature of their storyworlds and what this does for the audience experience. Is it possible to ignore the constancy of spatial relationships in a graphical game? What would such a game look like? Are there ways of representing spatial relationships that we haven’t explored? Do you have ideas for games that could intentionally twist the player’s perception of space, or do you want to write about a game that already has?

I’m particularly excited about this month’s topic because it meshes very well with an assignment I’ll be doing later this year.  It’s for a game design course I’m taking, and it goes a little something like this:

Redesign and recreate an Atari-age classic so that it plays in 3-space.

The difficult thing about this assignment is how easy it is to simply add a bunch of models, a camera, and some lighting and call it a game in 3-space.  The question is, if it doesn’t incorporate a third dimension into the gameplay, is it really a 3D game?  Personally, I think not.  You could add pretty meshes and a 3rd person perspective to Asteroids, but if you can’t move up and down, it’s not a 3D game.  That is to say, in order for it to be a 3D game, you need to be able to interact with the third dimension.

I’ve been working on some concepts, and the best so far has been a 3D version of my favorite Atari classic, Centipede.  I envision a 3D Centipede as very similar to the original.  You still run around the bottom of a large playing field shooting up at a centipede decending from the top of the field.  The camera, instead of being a top-down shot of the whole field as in the original, is slightly behind the bottom and above the level of the playing field, looking down on the entire field at a 30ish degree angle.  The player, instead of being represented by a garden gnome bent on destruction, is represented by a garden gnome in a tank bent on destruction.  The tank can strafe and move forward and backward.  It has two weapons, one of which is a gun that shoots parallel to the ground and only toward the top of the playing field (analogous to the gun in the original game).  The second weapon is a lobbed, area of effect weapon, like a mortar.  Both weapons can be used initially, but the lobbed weapon has a much longer cool-down than the straight shooting one.  Since the player has access to the third dimension, and the centipede doesn’t, the player has a huge advantage with that weapon, hence the longer cool-down.

I’ve also got an idea for a multi-planar version of Tetris.  Essentially, multi-planar Tetris plays similarly to original Tetris, when confined to a single plane.  As you complete lines, however, you acrue points which can be used to push blocks into another plane.  The hole you create by pushing the blocks fills with the pieces above.  On the new plane (the one you’ve pushed the blocks to), the new blocks appear in the same positions, and then fall to the bottom.  At any point before a piece drops, you can switch to another plane and drop the piece there.  The game continues until you drop a piece such that it rests above the top line (like in the original), or you attempt to push a block into a space already occupied by another block.

I had originally thought of a true 3D version of Tetris, where you drop 3-dimensional blocks into a space, but I eventually concluded that rotating in 3-space would be awkward and annoying, not to mention the issues with obscuring blank spaces.  I like the multi-planar concept better because it keeps Tetris’s simple control scheme and fits within the 3D paradigm (one way of looking at 3-space is an infinite number of stacked planes).  It also adds a bit of strategy with the pushing mechanic.

Would you play these games?  What other arcade classics could you bring into 3-space?  How would you do it?

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • StumbleUpon
  • Tumblr
  • TwitThis

The Death of a Doctor and the Birth of a Clone June 22, 2009 at 12:29 pm

The past few weeks have been a little crazy, which explains this multi-week post.  There have been some changes in the design process, some interesting events, and a lot of people around here to get to know.  So let’s begin:

First off, WhichDoctor is dead.  Well, maybe not dead.  More like in a catatonic state induced by some Haitian voodoo.  I’m slightly disappointed by it, but to be honest, it was shaping up to be a big game.  I never realized it, but making a scripted adventure game in Flash is actually really difficult and a very long process.  I wasn’t even finished with all of the basic guts of the game (walking around the world, the healing dynamic, the amulet system), and I was feeling a bit burned by the whole thing.  So, when Bob (the director of my project) told me that it didn’t fit into the concept of LFI, I wasn’t horribly opposed to the concept of putting it on the back burner.  Apparently, the main goal of the LFI suite of games is to get players to constantly make decisions about faces, and the pacing of WhichDoctor didn’t allow for that in the least.  So, onto the back burner it went.

In the interim, I’ve been playing around with the phenomenal Box2D engine for Flash.  I love it when games have realistic physics, so I wanted my next concept to involve physics in some way.  I had one idea that involved destroying buildings in a Terminator-esque universe, but that never really panned out.  It mostly never panned out because in order to get the game to even fit with LFI, it needed to be big.  After WhichDoctor’s failure, I really wanted to move into a more rapid process, which is why that project’s been backburnered.

After messing around with Box2D and a simple projectile launcher I wrote for the nameless physics project, I decided to try my hand at a Peggle clone.  Development on that one has been much quicker than any of the previous games I’ve worked on, which I find makes the whole process much more fun.  The rules have yet to be hammered out entirely, but the fact that I have art and something of a goal already in the game is really driving it along.

A few more exciting bits around the Center: several new hires came in last week!  None of them are actually working on LFI, but it’s still nice to see new faces around the office.  Also, we got some new gear, courtesy of the hospital: Wacom Intuos 4 tablets!  These things are freaking hot.  If I could use it to write code, I would.  They’ve got programmable buttons, really nice pen tips for different textures, and a decent amount of screen space.  I’m not sure if they’re going to improve my productivity, though, because I’m having so much fun playing around with mine!

And just in case you think I’ve just been messing around with it and doing nothing, here’s some art for you:

Oh, and one more thing: I’m working with my partner Salim to get these onto some of the big Flash game sites.  Our first stop will probably be Kongregate, just because they have a cool stats API and they’re the only site that’s not blocked by CHOP’s nuclear-powered firewall.  Any suggestions as to other sites we should look into?

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • StumbleUpon
  • Tumblr
  • TwitThis

Summer Dev Blog – Prototype #1 June 17, 2009 at 1:37 pm

In the shadow of WhichDoctor’s failure (more on that later), I’ve decided to take a step in the “design by prototyping” direction.

I’m currently working on something that works similar to Peggle, a fact which should be obvious from the prototype posted below.  It ain’t much, but I’m rather happy with myself that I could crank this out in less than a day’s worth of work.

The Flash plugin is required to view this object.

Click to fire, refresh the page to reset the game.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • StumbleUpon
  • Tumblr
  • TwitThis

Summer Dev Blog – WhichDoctor, Week 1 June 9, 2009 at 10:50 am

I think the hardest period of time in the creation of a game is the first week of development. You have a good idea for how the game will play (or at least one that you can go off of), and you’re generally excited about the project. You feel great about the whole thing as you open up Flash or Visual Studio or whatever, and then you see it: that terrible white screen that just taunts you, “Go ahead. Start writing.” It seems like it takes forever to get those first lines out, and when you do, you immediately second guess your design, your coding skills, and your existence as a human being. Well, maybe not that extreme, but you get the idea.

That first week is tough, and this week was no different.  This week, I started on a new Flash game that I’m tentatively calling WhichDoctor.  I’m looking for more creative, less pun-ish names, but here’s the general gist: you play as a witch doctor on a remote island.  You travel around the island, collecting amulets, visiting sick patients, and using the amulets to cast spells to cure said patients.  It’s all presented in a top-down, Zelda-style view, but with more tiki torches.  I’d consider it somewhat simply designed, but the cool thing is how it hooks into the autism research I’m working on.  Each “disease” that’s plaguing the island is characterized by a particular facial expression (e.g. angry, sad, surprised…), and the player can only use that to diagnose the illness.  For most players, this will be simple, but it will most likely be a challenge for children with autism.  Also, each amulet the player collects will be emblazoned with the face of a “god”, which is how players will distinguish them.  The images of the gods will actually be real photographs of human faces.  Again, distinguishing the amulets based on faces should be trivial for most players, but will provide an extra challenge for children with autism.

I’m still up in the air about what I want the overall goal of the game to be.  I’m leaning toward a legitimate story, however that would take a considerable amount of time to implement in code.  I’m also not terribly confident in my ability to write a compelling story.  Another option is to figure out a way to speed up the game a little, and then add some sort of high score, see-how-many-patients-you-can-cure element to it.  I’m more than accepting of ideas from the comments.

Oh, and if you ever find yourself in a similar situation to what I described in the first paragraph, might I suggest diagramming the code side of your game before you even start writing?  StarUML is a great tool for that, and it definitely saved me some time and more than a few tears.

I also managed to eek out a little art this week.  It’s not much, but here’s the door to all the island huts:

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • StumbleUpon
  • Tumblr
  • TwitThis

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)
Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • StumbleUpon
  • Tumblr
  • TwitThis

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

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • StumbleUpon
  • Tumblr
  • TwitThis

Spreading Like The Flu April 26, 2009 at 9:24 pm

I don’t know if any of you have been on the internet recently (or watching the news, or listening to the radio, or…) but Swine Flu is big.  I mean big.  No, bigger than that.  I mean huge.  I mean gargantuan.  I mean, this thing is freakin’ bigger than Kennedy!  Its huge!  We’re talking if the 2008 elections made babies with the Apollo 11 landings!  This is BIG stuff!

I mean, look at this:

It’s all over the place!  Check this one out:

There’s mashups popping up to cover the outbreak.  Here’s a how-to guide to tracking it using the CDC’s website as well Google News and the World Health Organization.  The #swineflu hashtag on Twitter is getting 100+ updates per minute, Facebook is in a state of panic, and MySpace is in total anarchy!

Wouldn’t it be funny, though, if this whole thing was just an over-exaggeration?  Honestly, I’m not going to predict one way or another, because I’d rather not be wrong in either case.  But before you go retweeting a blog post about a blog post about a news update from Fox News, consider this: we live in a time where news is not only instantaneous, it’s ubiquitous, and as much as Bill O’Reilly would like to think otherwise, we all put our own spin on things.  Its the nature of communication, and up until recently, the personal spin was filtered out by the fact that news didn’t travel at the speed of a Google signed packet.  The news network we’ve constructed as an internet-enabled society is immensely powerful, but it can also spread rumors, promote factual inaccuracies, and possibly induce panic at that same speed.  Swine flu may very well be the next great disease, but in the end, it could very well just be the news of it that was pandemic.

UPDATE:
It looks like Randall Munroe over at xkcd shares some similar feelings.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • StumbleUpon
  • Tumblr
  • TwitThis

Flash Game of the Week – Music Catch 2 April 20, 2009 at 3:47 pm

Every week, I look for new, innovative, and fun Flash games that I think deserve a little bit of recognition.  It’s not much, but you have to give credit where credit is due, and these games are worth it.  So, without further ado, I present this week’s Flash Game of the Week:

Music Catch 2

Music Catch 2!

The main reason I love Music Catch 2 is what the gameplay does to the music.  Sometimes, music is used in games as audio filler for those times when you can’t have sound effects playing.  Most often, however, music is used to enhance a mood, provoke a mentality, or bring the player into the world of the game in some other fashion.  In this way, music enhances the game.  Music Catch 2 is different in that it often seems the game is enhancing the music.  As the music plays and shapes appear, the game feels like a Winamp visualizer.  The shapes take on a different meaning once you begin to catch them.  They begin to feel like the notes themselves.  As a result, each song has a much more kinetic feel to it.  The high-contrast and glowing forms of the shapes in combination with their smooth, flowing motion match perfectly with the music.  The sum-total of all these things leaves the player much more deeply involved with the music than simply listening to it.

Music Catch 2 was developed by Reflexive.  Its music was composed and performed by Isaac Shepard.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • StumbleUpon
  • Tumblr
  • TwitThis