Doomlaser

Super Mario Galaxy: A Visual Tour

I picked up Mario Galaxy last night and have been enjoying it, both as a game, and also picking it apart technically. The level design really stands out in how it consistently surprises you with creative platforming gameplay.

But what’s more interesting is how Nintendo is using the modest Wii hardware to achieve its graphical effects.

I could never quite tell from the YouTube previews, but it appears Mario’s using something like stencil shadow volumes to handle all its shadows– which are always projected in gravity’s direction. Unfortunately this technique means unsmoothed edges and a uniform brightness for all shaded areas. Side effects include moving platforms whose shadows suddenly blink onto surfaces when they approach, and suddenly disappear as they pass.

An element that Galaxy uses all over the place to great effect is something like a fake rim lighting shader. From what I understand, the Wii isn’t fragment shader capable, so maybe they’re faking it by setting an independent directional light aimed reverse relative to camera for each rimlit object? I’ve read a few things about the Wii’s Register Combiners and TEVs, and I wonder if they’re using them for pixel shadery purposes.

It’s all that lighting around the silhouettes of objects that helps give the characters and environments that signature plastic pop.

The fur shading is fairly nice as well, and I wonder how they’re doing it on the Wii hardware, whether it’s an actual shader, or they’re doing tricks rendering a multilayered shell of increasingly translucent polygons like in Shadow of the Colossus

Anyway, I am really enjoying the game so far, and the art direction is top notch. It’s also great to play Mario along to a live orchestral score — too bad Nintendo didn’t make the switch in time for Twilight Princess.

The shadows are the only real graphical let-down. It seems like they could be doing something more clever with the alleged crazy fill-rate on the Wii. Blurred textured shadow maps for near geometry or something? Also, multisampling would be nice, but playing on a standard def tv is forgiving.

I’d love to hear other people’s insights into the graphics behind the game. The rim lighting shading is something that could be easily applied to indie games looking for some eye candy punch…

Good Games are Hierarchies of Attainable Goals

Kyle Wilson has written an insightful article called The Flow of Intentional Gameplay, where he picks apart survivalism and goals in videogames. He makes the case that good gameplay hinges on the player having readily identifiable goals at all times, and that games like Half-Life 2, and consoles like the Wii are successful because they are good at doing this.

Very interesting read. [via GameSetWatch]

Space Barnacle: What a Terrible Fate… to be Reborn in Space

I’ve been hard at work for approximately the last month, creating a game. Space Barnacle is the end result: an ultra-violent pixellated platformer modeled in the 8-bit style.



The project came about as a result of a B-Game Design contest, hosted by the excellent Independent Gaming Source community, and writing it has been some of the most fun I’ve ever had in game developemt.

I wanted the game to feel like a long-lost budget title, perhaps developed for the NES or Commodore 64 somewhere between 1989 and 1990. Thus, the native resolution is 288×180 pixels, and most of the characters are a mere 16 by 16 pixels square.

My friend Kevin shared pixel art duties with me, and we tried to work from a limited 55 color NES palette. But we took some liberties, taking advantage of additive blending, parallax scrolling, and particle effects for blood and vomit explosions.

The music is composed entirely of chiptunes in Amiga module format, emulating the sound of the Commodore 64′s famed SID chip, and we were lucky to be able to include compositions by Reed Richards, among others.

In developing the engine, I was intrigued by the approach of Knytt, Within a Deep Forest, and Lyle in Cube Sector, which all used the rapid development environment, Multimedia Fusion.

Coming from a background of Mac OpenGL development, building a game in this environment was quite a shock. It both saved time, and caused endless frustration, as the method for logic control is completely insane.

In the end, I’m pretty pleased with what we came up with. We’re not done working on the title, and I’d really like to come up with a solution for an OS X port. I’ve been trying to hack together a little encapsulated Wine Binary Launcher for the game– sort of a low-rent version of Cider. This would have the added benefit of potentially bringing some other great indie games to the Mac.

Until then, Windows users can play the game natively, and Mac users can play pretty adequately through CrossOver, which has a free 60 day trial.

The Frustration of Being a Third Party Facebook Developer

Back when Facebook’s much lauded platform API launched this past May, I wrote and released two apps. The first was a little screensaver for Mac OS X that grabs photos of your friends and creates a fun little Quartz Composer visualization. The second one was something I worked on with another guy I met in the facebook developers IRC channel.

It’s a little utility called Shortcut that allows you to very quickly jump to the profile, wall, or photo albums of any of your friends without an intermediate page load – kind of like an app launcher such as Quicksilver, except for your friends.

The second one lead to several webdev job offers I was totally unqualified for and a small but enthusiastic userbase.

So anyway, I woke up this morning and noticed that Facebook has added the functionality of Shortcut into their site-wide search bar, without so much as a courtesy e-mail. I suppose it was a fairly obvious idea, and the app itself used a feature provided by Facebook and most famously used in their photo tagging pages, so I can’t be that pissed… But I still feel a little swindled.

As an aside, I suspected Facebook might add this feature sooner, but figured they hadn’t because it would really slice into their pageviews. I guess this means it really is true that Facebook is more concerned with viewing time than page views, which is a great attitude for its users. Think about how many page loads it takes to do anything in MySpace.