Thursday, March 26, 2009

Twitter Hate or Love?

Got to work today and was forwarded a link with this Anti-Twitter graphic created by Josh Holland. I started reading up on the thread via comments found on Joyengine

Admit
They say before you can move forward you must face the music and face your demons. Yes, I am a Twitter user, and yes I think that Twitter is a powerful tool. Ok.. now that I have said it, we can move forward from a centered place.

Bobble Head
I have come across many Twitter naysayers and people who just don't see any value in it. They usually question the fundamentals.... like.. "what does it do?" or "I don't get it, I signed up and then what?" or "How do I know who to follow?" Be patient my young Luke Skywalker, in this world of immediacy some things, like a good bolognese sauce, take a bit of time. You don't need everything to hit you over the head Tony Little style.

Statistics don't lie
No matter what you think of Twitter, you can't ignore the stats and the adoption rates and all those unique view statistics that you can find on Mashable. It's a growing phenomenon that is moving so fast that it can give you whiplash. Yes, Twitter is now up to about 14 million Unique views in the month of March. Anything with this much momentum and views is a gold-mine.

My value
So what's up with Twitter for me? I have been able to come across the most diverse and unique data when using search.twitter.com. This is a very different search engine when compared to google search. It's a way to scrape for keywords in the twittersphere, a sampling of what people are talking about at the moment vs. data mining tons of html that is quickly becoming out of date. If I'm attending GDC, I'm not going to search google for "GDC '09" and expect to find out what is going on right now. Immediately I reach for search.twitter.com

Example
Prior to shipping Dead Space we provided a bunch of "pre-released" copies of the game to certain people in the industry. I started searching twitter for "dead space" and utilizing the results.

I would get things like "@jimmygameplayer I've just started playing Dead Space and will hope to have a review soon." Having access to this kind of connection is incredibly powerful. I would follow up by clicking on this Twitter page to see what he has been tweeting about. Following the link to his website or blog etc. Immediately I would find out that @jimmygame player was a reviewer for xbox360 magazine. Nice.

In most cases I would follow up by tweeting @jimmygameplayer with "I hope that you have fun, turn off the lights and wear your diapers. We spent tons of time tweaking our lighting."

This would usually create an immediate dialogue. I'm saying "shit, how would I ever have made a direct connection to a game reviewer for xbox360 mag." I'm sure that he was saying something similar "shit, how did a developer on Dead Space find me, and sweet to be connected directly to someone on the team."

The possibilities are somewhat endless here.. but just a sampling of a way that I find Twitter very useful and informative.

Nutshell
So what does this all mean? I think that Twitter and Social Networking sites are something that we can't ignore. In the game-space that I work in.. I think that it would be extremely foolish to think that we can continue to develop in our small little world when a giant one exists just nearby. The power of Kutcher and Armstrong to direct traffic is incredible. We need to embrace this movement and utilize it for the potential that it has. I could go into lots of detail on this subject, but just like the good sauce... with a bit of time, you can conjure up some of your own ideas.

Wednesday, March 11, 2009

Anatomy of a Dead Space frame

So there were a few good comments after I tweeted that there should be a "lighting" category when referring to video game awards. Great to hear that lots of peeps really agree regarding the importance of lighting. This prompted me to dig up a few images from a Dead Space lighting and Post Effects presentation that I gave here at EA Black Box in Vancouver. Theses images are from a slide entitled "Anatomy of a Frame" from the video game Dead Space. I was the lighting director on this title and the lighting / rendering /post effects aspect was paramount in an effort to achieve a living breathing ship where actions had consequences not only in a game play sense, but in a visual sense as well.

So.... here is a breakdown of lighting and post effects for a single frame of Dead Space.

------------------------------------------------------------------------------------------

Ambient Only - This is what the frame would look like if there was just a single ambient light in the scene set to a value of 1,1,1. An ambient light is infinite and has no directionality. Might be easier to say that it is a light that contributes equally from all directions. It does not contribute to specular term. Compare this frame to the final frame for the true before & after.
------------------------------------------------------------------------------------------
Ambient Occlusion - We are storing the ambient occlusion values in the form of lightmaps. Ambient Occlusion is computed using a simple raycast to determine visibility. Our max distance is set quite low to only provide occlusion values between objects that are quite close in spatial relation. These lightmaps are computed offline via a Render Farm. Only the occlusion values are used in rutime to effect the final pixel values generated via shader calcs.
------------------------------------------------------------------------------------------
Lighting - When considering all the lighting calculations the image starts to become more compelling and complex. We can't see what's in the background because it's very dark... starts to feel slightly scary? One of the limitations to this deferred rendering approach is the lack of specular "outside" of the light volume. This is becoming more apparent to me when looking at these images closely. Further investigation and potential solutions on this topic are in my future.
------------------------------------------------------------------------------------------
Shadows - This might not be the best example of shadows in the game, but here I have enabled shadow casting from the main directional light in the scene. I won't get into the details of this cheat, but the effect seemed to work fine. Nothing really fancy here, just a depth map runtime shadow approach. We supported multiple depth map buffers including shadow casting from the player weapon/light. Even though the shadow rendering tech was basic, our shadowing triggering/messaging system was complex. Next time check out what happens when you enter and exit one of the stores/upgrade stations in the game. You will see a shadowing light turn on and also a depth of field effect being triggered. Notice how these go away when you exit. This is a good example of our messaging system triggering lights / shadows and post effects.
------------------------------------------------------------------------------------------
Emissive Lights - One of the key elements or visual signatures of Dead Space was through the use of emissive textured light sources. Clearly in this example it helps define the length of space and direct your eye into the frame. These very bright light sources are critical aid to navigating through a level. One of the key observations here is that during "low-light" situations, the natural "filmic-response" is for anything moderately bright in the frame to become completely blown out.
------------------------------------------------------------------------------------------
Post effects - There are a few post effects that we used regularly. This image features a "bloom effect" that basically takes the brightest part of the image, blurs it, and composites this back over the top of the original image. It's not quite that simple, but that's basically what is going on... combined with a few added tricks. You might be able to see some camera relative "lens effects" that are part of the ceiling lights here as well.
------------------------------------------------------------------------------------------
Final Frame - Here is the final shipping frame. The only difference here is that I am showing it with the "look-up" table applied. The lut or color correction is a way that we remap the colors of the image. We implemented a very nice way of scripting the color correction based on game-play or just about any event in the game. In this image the color is being pushed toward cyan/blue and re-balancing the contrast a bit, while pushing the brights to achieve more bloom. Color correction is such a vital part of the image. Take a peek at any Michael Bay film or Minority Report. What would these look like without color correction! Now take a look back at the first frame and see just how important lighting & post are to crafting a compelling image.