Archive for October, 2007

The dream of a standardized gaming platform

There was a small story last week about a guy from EA (Gerhard Florin) saying that dedicated consoles are bad for developers and consumers, and that an open, standard platform would be preferable to the current state of things. Ars Technica has a nice write up.

The idea is a bit out there given the current climate of competition between MS, Sony, and Nintendo, but it’s not without its merits.

I’m not going to reiterate what’s in the Ars Technica article, but a few things I thought about after reading it:

  • 1. A cheap machine that almost anyone can afford to pick up and that can play any game on the market is not a bad thing.

    Consider DVD players:
    • They’re cheap
    • A single platform and disc format = simplicity. (put in a dvd disc and it plays a movie)
    • Almost every movie can be found on a DVD disc.

    Now consider the typical console or gaming PC:
    • They’re expensive
    • A multitude of platforms and disc formats != simplicity. Think of it from the dumb consumer’s perspective: I want a game, I don’t want to consider my hardware platform choice or graphics card specs. (When you buy or rent a DVD, how often do you consider what type of DVD player your going to play it on?)
    • Unless the developer/publisher supports your platform, your screwed. As Nintendo continues to exclusively support its platforms and Sony and MS buy up studios to bring out exclusives for their platforms, the library of great games for a platform shrinks (due to less third-party developers and publishers), and in a weird sort of way I think this diminishes the value of the platforms themselves and weakens sales and exposure of the games which are exclusive to the platform (maybe Resistance: Fall of Man would have been much more popular if gamers weren’t forced to buy a $600 machine to play it, and maybe even Halo 3 would be even more insanely popular than it already is if it was released on multiple platforms). On the flip side, publishers which try to support all the platforms have a much harder time due to increasing development costs and technical hurdles; they are ultimately forced to take very little risk on new ideas or focus on platform exclusive titles.

  • 2. While a standardized platform could certainly be a hardware solution as EA sees it, a software solution is not a bad idea. If all consoles and PCs have a common platform on which to develop, porting a game would be significantly simplified. It doesn’t achieve the DVD-player-esque usability I outlined above, but it’s certainly better than what exists now.

  • 3. The lifetime for a console seems to be getting longer (the biggest selling console last christmas was the PS2), if the lifetime for the current “next gen” consoles are even longer, the PC may swing into the limelight. What’s a high-end PC today will become a cheap, ordinary PC soon enough and hardware-wise it would be more capable than any of the consoles. In this event, releasing PC games may become more attractive as there will be a very large install-base for the target platform.

Anyways, a lot of this may just be a lot of wishful thinking. Sony, Microsoft, and Nintendo won’t waste any time in trying to crush anything that challenges their market share.

Resistance: Fall of Man Lighting

I stumbled across an interesting article last night; it’s the creation of the lighting for Resistance: Fall of Man by Eric Gooch, a lighting artist at Insomniac Games. He also has a pretty cool blog and I totally agree with him about level bosses.


I think it [System Shock 2] has an atmosphere. Not a lot of games have atmosphere, and that really draws people…

–Ken Levine (quoted from this article)

I’ve always felt that atmosphere is one of the most important, if not the most important, element of a game; it is ultimately what draws you in, encourages you to explore, gives you empathy or disdain for characters, and traps you in the virtual world for hours on end. However, the term itself is almost never used by gamers, reviewers or even designers. When a game is compelling and draws you in, its atmosphere is typically (by some incredibly bizarre mechanism) dubbed as “storyline”, “narrative”, or “plot.” Then it seems subsequent analysis focuses on the narrative elements of the game due to the false terminology. I think Half-Life is probably the biggest victim here. For years I’ve read forum posts and reviews about how Half-Life was incredibly popular and and able to push the bar due to its incredible story. However, if you take a step back, Half-Life had a pretty lackluster story: you open a portal to another dimension, there’s some mysterious dude following you around, you make your way to the lambda complex, you go to Xen, you kill the Nihilanth, you make some deal with the mysterious G-Man. You could probably write it all out along with all the dialog in a couple of pages. In terms of storytelling it doesn’t really go beyond first-person-shooters such as Quake or Doom. The bottom line is that Half-Life had a terrible storyline, it was the atmosphere that drew you in. A sense of chaos (after the resonance cascade), danger (fighting the extermination squads), and alienation (very literally, being in Xen). This is also what made games like Doom and Quake (and probably every other game on a “greatest ever” list) popular. In fact, even though I mention Half-Life, there are games which, in my opinion, are a lot more fun to play and do a much better job of creating a captivating atmosphere (e.g. System Shock 2, Deus Ex, Thief, Homeworld, … I can go on and on…).

(oh, and I’m specifically not making any criticisms of Half-Life 2 b/c I haven’t played it… yea, I know, it’s been a long time since it was released… maybe, I’ll pick up the orange box)

So what constitutes atmosphere? This and similar questions I constantly think about. (I’m currently writing a design document, but that’s besides the point). It’s very difficult to come up with a comprehensive list, as a lot of atmospheric elements (not only in games, but art, movies, etc.) just seem to come together naturally when looking at the finished product. In any case, here’s my attempt to dissect what constitutes atmosphere in a game:

  • Overall environment (weather [I’m so sad more games don’t have interesting weather fx], plant-life, terrain)

  • Architecture

  • Lighting (both globally, i.e. the sun, and locally), shadows, and colors (of light and textures)

  • Characters and dialog (not necessary, but if there are characters in the game and they can draw you in and you can connect with them in some way, I believe it adds to the atmosphere. For example, if you have to protect someone, and they’re represented as a genuinely innocent and vulnerable person, the game suddenly has an added sense of danger as well as heroism and empathy. On the other hand, if the character is an empty vessel, just there to fulfill the mandatory “escort mission,” the character adds nothing; perhaps he/she even takes from the atmosphere)

  • Sound effects (from the article linked to above, “You can’t [in System Shock 2] identify every single thing you can hear. Sounds, voices, things people are saying, things you can’t hear that are of unclear meaning. That creates a great deal of tension. It adds another element of mystery, another element of suspense.”)

  • Music (I think music adds a lot, I was really disappointed that Doom 3 and Quake 4 didn’t have music tracks, and they may have been better games with compelling music to drive the action forward; especially, given the repetitive nature of the missions.)

  • Animations (especially w/ humanoid characters, if it doesn’t look right, it’s usually instantly noticeable)

  • Level of detail, the higher the better (i.e. nuanced elements in any of the areas above. For example, the reload animations for certain weapons in counterstrike, the way clips or parts of a weapon are “slammed” in place, giving a sense of force [it’s been a long time since I played counterstike, I’m specifically thinking about the M4A1 or the Steyr AUG A1, I don’t remember which]. Similarly, the way Duke Nukem slams clips into the pistol. I could give a million example here in a variety of areas, but I’ll keep this short.)

  • Interactivity with environment, (in general) the higher the level, the better, (how the player or characters are able to interact with elements in the environment, from the largest to smallest scale. For example, can you shoot out a light? blow thru a wall? (ugh) push a crate? I say *in general* the higher the interactivity the better because in certain cases interactivity with the environment could destroy a lot of the preceding items in this list. For example, being able to move the sun, this can significantly screw up lighting, shadows, and colors of a level. For certain games, a real-time simple lighting or radiosity solution *might* offset the impact, but that very dependent on the game itself and the artists working on it.)

  • Non-linear or seemingly non-linear level design (A level doesn’t have to be non-linear to be good, and a non-linear level isn’t always a good thing, as it can confuse games and annoy them with what they consider to be pointless detours. However, painfully obvious linear level design is not a good thing and makes you painfully aware of the artificiality of the virtual world your in. For example, at certain points in Quake 4, once you’ve killed a bunch of Strogg, a door which was locked will magically open up.)

Anyway, that’s my list, for now, maybe I’ll modify as I learn new things, play more games, and reconsider certain items I’ve listed. In particular, I’m thinking a lot about Bioshock, and the concept of allowing the player to make moral choices.

oh, and if you haven’t figured it out, I hold System Shock 2 in very high regard 🙂

Java IDEs, The KMPlayer, and the uncooperative bedfellows

I do a lot of programming in Java. I’m required to. Being the non-Luddite that I am, I almost never write code outside of an IDE; I’ve experimented w/ most of the major Java IDEs:

  • Netbeans: Seems to have a nice set of features, but I dropped it pretty fast as it was horrendously slow. It seems to have to freeze the IDE and write to the HD after every few keystrokes or every time the code completion dialog had to popup; incredibly stupid behavior considering I always had a ton of memory free.
  • Eclipse: Probably the most popular IDE and it seems to be loved by the open source community. As with Netbeans, nice feature set, but not as pretty, in fact the interface is pretty ugly. It doesn’t have the nice “open on mouse-over-tab” side menus which I first fell in love w/ in Visual Studio and I always seemed to be fighting to see my code. Also, in terms of performance, Eclipse is no rabbit. It’s significantly better than Netbeans, but there is quite a bit of disk thrashing and its code completion is not very responsive. However, this was a very long time ago and a few months back I attempted to do an install of the latest version to see how far Eclipse had come, and I couldn’t get it installed; I remember some stupid error during setup, but can’t recall exactly what it was. I decided it wasn’t worth my time given my previous experience.
  • JCreator: The IDE I currently use. I’ve been using the LE version, and will likely get the Pro version depending on how much Java is in my future. The most notable feature missing from the LE version is code completion. Even w/o code completion, this is the best Java IDE I’ve come across, excellent performance and very responsive in all areas, stable, easy setup, and it has those nice side menus I mentioned above. It’s not as rich as Visual C#, but it does seem to take a lot from the Visual Studio family which is a very good thing.

These criticisms may no longer be valid or fair as I don’t actively keep up w/ new releases, but first impressions do matter.

Now for something completely different…

I’ve used Winamp for a long time. There’s really only a few other good media players around for Windows: Windows Media Player (function, but the thing’s a beast), iTunes (same crit as WMP, performance is also crappy on older machines), VLC (seemed like the greatest thing since sliced bread, but I installed it a while back and just couldn’t get it to play anything). I liked Winamp, but lost favor w/ it b/c of it’s poor support for video formats and, more than anything else, installing a new version of it placed a ton of AOL shortcuts everywhere (start menu, desktop, bookmarks, etc.).

In my search for a new media player, I discovered The KMPlayer a while back. It has great video support (there are a few color issues in the odd video here and there), great audio support (as long as it had mp3 and ogg I would have been happy, but it also played a bunch of old MOD files I had lying around), and a really nice interface. Just fuckin’ sweet.

Now, I have an incredibly weird situation on my system. KMPlayer and JCreator don’t play nice together. If they’re both open, some JCreator panels and menus are suddenly blank and don’t refresh and the side tabs panel is transparent, showing thru to the desktop. As for KMPlayer, I can’t open anything, clicking play (which plays the last file opened when nothing else has been loaded) does nothing, and certain items are mysteriously missing from the context menu. This hasn’t been a big deal for me, and I still use both JCreator and KMPlayer, but it would be nice if they worked together. Also, I have to wonder, what is the common component causing the conflict here, what would a media player and a java IDE both be using or trying to access concurrently? (assuming there is a conflict for a common component, which I suspect might be the issue here)

Independently both products are great, they just don’t seem to like each other.