Jump to content
Site Stability Read more... ×
  • Advertisement
Sign in to follow this  
  • entries
  • comments
  • views

Entries in this blog


The Political Machine 2008

I've been working every day (and what long days they are) for the last couple weeks on The Political Machine 2008 as we make our final surge to the game's gold date and figured I might as well plug it here since I haven't had time to write about anything else lately. My role on the game is primarily as a gameplay programmer (which has been awesome). Anyway, pictures:




Immersion in Modern Games

The video games we play have advanced seemingly exponentially in terms of their technological complexity, and therefore the complexity necessary to create such advanced pieces of software. Why then hasn't the immersion of these games, on average, advanced alongside of everything else? When I pick up a new game to play, I feel just as much outside of the game I'm playing as I did to games I played years ago; this fact disturbs me greatly. Why should I feel as little involvement and immersion with these newer games as I do games like Super Mario Bros. (the original for NES)? After all, these games have voice actors, a unique musical soundtrack, incredibly life-like 3D graphics, extensive plots conceived by professional authors, etc. These games we play have infinitely more complex technology than the games I played on NES yet, I very rarely feel truly roped into a game world by a game. Shouldn't every single game I pick up be a completely new experience that I can be totally immersed in from start to finish?

War of the Worlds
The answer to the previous question is yes, but first let me take a quick detour to talk about my trip to the movies yesterday. I finally went and saw War of the Worlds yesterday (along with Batman Begins, which was fantastic, but not applicable to this discussion), and the first hour and a half of the movie had me absolutely riveted throughout the entirety of it (the last fifteen-twenty minutes were an abomination to an otherwise perfect film, but I digress). I had absolutely no conception of time through this period, as I was simply captivated by what was happening on-screen. Three particular scenes stick out in my memory as being absolutely flawless in their execution: first there is the scene where the first alien tripod rises out of the ground as Tom Cruise and a number of other people crowd around this very odd hole in the ground that was created by a lightning storm where lightning had struck an individual spot twenty-some times in a row. Chaos ensues afterwards, and the camera focuses solely on Tom Cruise as he tries to run for his life away from this mechanical giant while the people around him are vaporized right in front of his face; no music is played during this (if I remember correctly), the sound the audience hears is composed entirely of sound-effects from what is happening around Tom Cruise. It's a truly frightening and suspenseful experience as the viewer feels immersed right into Tom Cruise's situation during the run for his life.

Another scene that struck out was when Tom Cruise and his children are resting, asleep, in the basement in a house somewhere. The camera pans to a basement window where we see a brush/weed-like thing being beaten against the window by strong winds. The noise is enough to wake Tom Cruise up out of his sleep, and then a number of thunderous sounds occur that wake his two children up. The three of them huddle together in fear and confusion (which is the feeling most people in the audience will share) as the noises get louder and louder and the flash of lightning illuminates the dark basement; the bass of the thunder shakes the speakers in the theater, making the audience feel even more a part of what is occurring on-screen. Then the lightning that appeared to be illuminating the basement before is joined by a different illuminating color - a shade of green. The colors start alternating frequently: green, purple, green, purple; alternating faster and faster, while the thunderous sounds become more and more intense. The fear of apprehension in the audience grows, signaling a kind of "Oh, shit, we need to get away, or safe, or anything" response. Soon after, the audience is shoved into a pitch-black room, with no sound or music. And that's essentially the end of the scene.

The final scene is far shorter, though still very effective. The camera is following one of Tom Cruise's children, a small, sick-looking blonde-haired and blue-eyed girl, as she tries to find a spot in an abandoned woods to go to the bathroom. The camera follows her from a kind of behind-the-shoulder point of view, with no music playing and only the sounds of the little girl walking against dead leaves filling the theater. Slowly music starts playing (very softly and silently introduced, and getting very slightly louder, as if its creeping up on the girl) and the girl stops to look at a little river that she is near enough to jump into if she wishes. She just stares at it for the moment, the music in the background still playing and getting louder and more intense, and then, on-screen, something appears to be floating down the river. The music is still fairly soft as the object in the river starts to come into view and turn, and then it rises to a very loud crescendo as the object turns a bit more, and the little girl (as well as the audience) can see very clearly that the object was a dead body floating down the river. Then a grouping of three-four more bodies come into view, followed by a large number of them, all dead and floating down the river. The camera turns and focuses on the little girl, just as Tom Cruise suddenly comes up and grabs her and shuts her eyes quickly.

Using Film Devices in Games
The previous three scenes from War of the Worlds were some of the most intense I've seen in any movie in a while, and they worked via a combination of visual and audio cues that worked with each other to produce a very strong, very emotional, and very immersive scene in the movie. Every video game should be very capable of producing, and sustaining, similar feelings, especially given that games have an added ability that movies do not: the player is actually experiencing the game first-hand with his own decisions and consciousness controlling the in-game character. Using a series of subtle audio and visual cues, it is extremely possible to put the player into situations where the player's senses are just going haywire due to a pure overload of situational details, and this should be a desirable thing for games that are based on making players experience the details of a game. I'd say this idea of player immersion is something that is most easily done in first- and third-person games.

To do this, the first thing the game designer needs to do is get inside the player's head by getting inside his own head. Generally if a designer makes a game that puts him into situations that freak, stress, or just generally creep him out, these same situations will work for a majority of the gamers playing his game. With DOOM 3, for example, id Software created a game that had the goal of keeping the player on-edge throughout the entirety of the game, and it seemed to work very, very well throughout the first fourth of the game or so, but after a while, the designers kept using the same tricks over and over, and it just become redundant. Though for those first few levels, I personally had a really hard time playing the game because I was just so stressed-out that I didn't think it was healthy for my heart to keep pounding so intensely for such a long period of time. The game simply made me uneasy; which it managed to do through some very simplistic video and audio cues. The visual cues employed were of two primary varieties: constant and instant cues (I'm making these up as I go, and entirely from memory). A "constant cue" is something that happens consistently as you look at a scene; something like a broken light hanging down from the ceiling that is flickering on and off constantly, providing a feeling of nervousness in the player. An "instant cue" is something that happens only once and in a confined instant that is meant to take the player off-guard for a moment; this is something like a monster throwing a severed head into the room and running away, or a ceiling tile falling to the ground with a loud "CRASH!" or something of this sort.

As far as the audio goes, I'm personally of the idea that if you want something to be emotionally impacting, there should be some sort of music playing that can alter in volume or intensity depending on the severity of the situation (such as the scene I described from War of the Worlds with the girl at the river). Though if you're going for a scary effect, I believe there should be no music at all; to create a truly creepy effect, the only things a player should be hearing are purely ambient environmental sounds, such as the flickering of a light bulb, the whirling of a fan, the whirr of a computer, etc., (with a few instant cues thrown in, as long as they don't get used so often they become predictable) along with the sounds of, say, the player's own beating heart, and the sounds of their body walking or their clothes rubbing up against each other as they collide during walking. Once you have this initial audio environment created, throw in some other sound effects occasionally. Throw in a rustling leaf, the sounds of a monster claw against metal moving around the player's location (though it must remain obvious that the monster is not actually in the player's space in the room, or else it will affect gameplay; the sound needs to used in a way that is purely environmental), the sound of a TV getting turned on and a reporter's voice echoing through the hallway, or, one of my favorites, a demonically-edited bit of dialog getting spoken continuously in a very hushed, echo'ing tone, the sound itself played in varying volume and position in the room. Remember: some of the most intense and scariest emotions are a result of never actually knowing the source of a video or audio cue; the player's sense of fear/stress is gone once the player learns or confronts the actual source of the stress.

Another way to immerse the player in gameplay is to throw the player in a situation where he is given no weapons, no immediate idea of a way to escape, or make him feel helpless. One of the very few things I loved Half-Life 2 for was the opening scene of the game. First the player is greeted with the face of the very mysterious and unknown G-Man, explaining very little, and thrusting the player into City 17. Next thing the player knows, he is thrust onto a train, and he enters a train with a very eerie and Big Brother-like overseer talking on a giant monitor, while these odd-sounding "guards" poke-and-prod people in a very violent manner. The very few sounds played during this introductory and confusing scene are incredibly scary, simply since the player is confused and "in the dark" about his entire situation at this point. Soon afterwards, the player must evade these guards while he is completely unarmed, so a rooftop chase sequence ensues where the guards are almost always directly on the player's trail. It is this moment, and this moment alone, where I felt truly immersed in Half-Life 2's richly detailed world. It is also this moment that was the peak of my enjoyment for the game, since no other aspect of the game managed to stress me out as much as this one did.

So why don't games ever truly immerse players in their gameplay anymore? Well, I don't honestly know. The technology is certainly there, and movies manage to immerse me into their story entirely even though I'm never actually in control of any aspect of the plot or occurrences in the movie. Some games really cannot take advantage of the immersion that I'm talking about throughout this article (the feeling of fear, confusion, helplessness, stress, etc.), but there are still a number of games that can and should be able to do this. Here's hoping that if games start to mimic Half-Life 2, they make sure to mimic the only part of the game, in my opinion, that truly excelled.




The Death of the Death of Game Criticism

Also published at my personal site.

Supposedly, there's a problem with game journalism (part one). It's worth pointing out that if you have an article entitled "The Problem with Games Journalism," then the tagline of your site best not be "Independent game journalism."

Yesterday, Kotaku published a piece by the site's Managing Editor, Brian Crecente which is entitled: "Death of Criticism: The Death of (Video Game) Criticism." The article is a response to a piece written by famed film writer/critic Roger Ebert entitled "Death to film critics! Hail to the CelebCult!." Ebert's piece should be considered a must-read; his insights into film criticism and, in some respect, criticism on the whole are invaluable and he's a remarkably talented writer. He was the first film critic to win a Pulitzer Price for Criticism back in 1975. 1975. When reading an article entitled "Death to film critics! Hail to the CelebCult!", it may be easy to think that the contents of such a piece will be a doom-saying condemnation of the state of modern film criticism from someone who is over the hill and out of touch with the times.

That's a trap.

Ebert doesn't drop a theory then throw a pun or a joke in stylish prose and leave the meaning up to his reader. The piece may run long but each paragraph consists of substance. When detailing his thoughts on the "CelebCult," Ebert gives his opinion on the matter, relates an example about the difference between the treatment of celebrities in the 1950s to those of a pair like Brad Pitt and Angelina Jolie, gives a concrete example of a paper's treatment of Twilight's fanbase over the film, and then examples of writers whose time has come and passed.

I have a background in English and Creative Writing, not journalism or literary criticism. The goal of a creative writing is for an author to imbue his own meaning into his story so that others can glean the writer's intended themes and messages while, at the same time, having a work resonate with them in their own unique personal way. This is a practice that, in my mind, is in stark opposition with the goal of a critical writer or journalist. Criticism is about an author bringing his/her interpretation of a creative work to light in a way that is both unique and thought-provoking. This is discourse that is inevitable in any industry based around a creative product; movies, music, film, and, yes, video games. Video games serve fundamentally different purposes than any of the other aforementioned media but they are creative works and, as such, will and should be open to critical discussion.

And this discussion does occur.

Given this mindset, the goal of Crecente's response article eludes me. At first it reads like an homage to the sad realizations of a critical legend and then it transcends into a sort of "I knew this for years" swan song. Crecente waxes lyrically in concordance with Ebert, echoing sentiments such as:

Stylistically, it's well-written prose but lamenting the death of critique by criticizing the lack of critique without constructing a valid argument of your own doesn't seem the best way to make a point. Normally, I'd pay an article like this no mind, but the name of the piece is "The Death of (Video Game) Criticism." Joining in Ebert's sadness for professional criticism is one thing, but it seems irresponsible to join in Ebert's sadness when referring to industry that's never made its ideas known within the boundaries of traditional media. The death of video game criticism isn't going to depend on the lifeblood of a newspaper's features section; I'm still amazed when I see a story in the black-and-white pages of my local newspapers that's even remotely connected to the video game industry. I'm more impressed when I see a story actually about the video game industry. And I'm amazed when I see a story about the video game industry that gets all the facts right.

The problem with games journalism is the focus on problems with games journalism and the idea that the existence of game reviews is mutually exclusive from the existence of game analysis and criticism. There was an article published by Keith Stuart which brought up the relevance of innovation in the scope of a game review. Leigh Alexander, a writer for Gamasutra, followed Stuart's lead and added her own sentiments. Eventually N'Gai Croal, a columnist for Newsweek who runs the Level Up gaming blog, also enters the mix. These three articles may not accomplish anything in the physical sense: no customers may have been motivated to buy or not buy Mirror's Edge as a result of their discussion, the lack of sensationalist headlines attached to their pieces may not have gotten a great deal of what I'm told are the incredibly important clicks, or anything like that. What these authors accomplished is more memorable than any of those individual feats (and is confirmed by the existence of "The Problem with Games Journalism: Part One"): people can get excited by the presence of intelligent game discourse beyond visual fidelity or amount of gameplay present for sixty dollars.

The fate of professional film criticism may hinge upon the fate of the goals of the Features section of newspapers around the globe, but as far as the gaming industry is concerned: the Internet is kind to writers. Keep it up. Writing about games is just getting started.




Gameplay First - The Dungeon Siege 2 Example

2005 is a great year for gamers as a whole, with the release of the highly-touted Xbox 360 headlining the news (and, consequently, the temporally inferior PS3) for the brutes of the gaming crowd and new graphics card technology and big-name game titles for the intellectually elite [Ha.] PC gamers. Far and wide the most important event of 2005 is the release of Gas Powered Games' Dungeon Siege 2, the sequel to the relatively under-appreciated original game of the same name, one of my top titles of all time. It is only through my striking ability of clarity, along with my tendency to avoid any type of "fanboyism" that I can say that the under-appreciation of the original game was quite well-deserved. The game was able to present the user with an absolutely gorgeously organized array of colored pixels for its time but, alas, the game was more of a visual spectacle than a well-designed gameplay-centric phenomenon.

Yeah, it was basically a mildly interactive screensaver. And I say this with love.

Not content to be just another roof housing cheap imitation game developers, Gas Powered Games instantly set to work on making the sequel to their beloved Dungeon Siege franchise (while plotting the mind-blowingly sexy Supreme Commander, of course). I've personally been following the development of Dungeon Siege 2 since the moment it was announced, taking in each newly released screenshot and interview with a bit of my inner-fanboy emerging with every new screenshot pixel or interview letter.

However many years later, and Gas Powered Games makes the announcement I've been waiting for: it went gold. And take a look at those screenshots (Or the ones from my DS2 gallery)... Wait, what has Gas Powered Games doing doing all these years? What the hell? This game isn't new. What the hell. They didn't change anything. What the hell!

What you've been absorbing is the best example of a game being released where the development company has all the resources of every other game development company around and uses them to... make a better game? That's right. Almost three-four years in development under the guiding powers of the infamous Chris Taylor (of Total Annihilation fame), Gas Powered Games now prepares to release the sequel to their Dungeon Siege franchise for the video gaming consumption of rabid gamers everywhere. And in these three years in development, the graphics engine was hardly touched at all. Sure the textures are crisper and some shader effects were thrown in, but the graphics engine for Dungeon Siege 2 is essentially the same one we all saw in the first game. This is one of the best instances I've ever seen where a developer has actually decided to divert their focus from the much criticized "graphics over gameplay" path that a lot of developers take, and instead focus almost all of their time trying to make their game world seem more alive through details while simultaneously spending time to make the actual gameplay perfect. Three years in development, and we get what Chris Taylor says "is the closest to perfection I've ever come on any game I've done!" Bold words from a game designer said to revolutionize the real-time strategy genre with Total Annihilation.

And here's where the point comes in: gamers are already up-in-arms about Dungeon Siege 2. And not about the developer's immense focus on detail and gameplay, but rather about the developer's lack of time spent upgrading the graphics engine. Comments I've seen from average gamers across a number of sites chastise Gas Powered Games (though, not directly of course, that would require backbone and thought) for releasing a game in 2005 that looks "so bad," yet go on to complain about the original game being a "screensaver." The nerve of Gas Powered Games! What were they thinking when they were following the ideal that so many critical editorials and articles express their fears that games are becoming so technologically advanced that the gameplay begins to suffer. What on Earth were they thinking in actually spending time trying to perfect their new game's gameplay instead of focusing on visuals?

And there's the beauty of this industry folks: graphics make the game. Despite whatever article on any game development, game review, or game-related website or periodical may say, at the end of the day, a game simply cannot be released these days unless it's using a shader model higher than any graphics card can support, unless it is taking advantage of HDR lighting, lens flares, per-pixel lighting, physically accurate shadows, mega-detailed textures, and super-shiny rough wooden surfaces (because that's totally realistic, dude). Nobody wants to play a visually par game anymore; hell, take a look at Battlefield 2. A ridiculously popular game, yet, it's released months before it should have been so buyers can function as beta testers, and with requirements that alienate anybody without the latest and greatest graphics cards. The video game industry is an industry well-versed in gamer hypocrisy, and the developers acknowledge it when they release games like Battlefield 2, Half-Life 2 (it's not a good game, I'm sorry), and DOOM 3.

If gamers really do mean it when they say that they would rather have a visually sub-par game with excellent gameplay, then let's all put our money where our mouth is. Buy games like Dungeon Siege 2. Reward the developers for releasing a great game and focusing on what really matters to gamers everywhere: the gameplay. I will be buying Dungeon Siege 2 as soon as I possibly can, and not only to support the developer's focus on gameplay, but because I think their laser-like focus and precision during the development of Dungeon Siege 2 has resulted in one of the best action/RPGs in gaming history being released on August 16th, 2005.




On the Use of TorqueX

Last weekend as a result of being hungover after my first time drinking in over a year and waking up on a couch in the apartment of a gay nineteen-year-old friend of my friend's and the first thing I saw being a Hannah Montana poster on the ceiling above the couch where I was sleeping I bought a license to TorqueX Pro. I've used other GarageGames products in the past for various experiments and random fun, but I've never used one to make a full game. I thought I'd use TorqueX for my new game idea involving a depressively-self-abusive blob who resides in the center of a city and the player must build buildings to handle a thriving economy without making the blob too sad so that he hurts himself to death and takes the entire city populace down with him.

I'm calling this game Bipolar.

Anyway, once I found out that TorqueX now had support for 3D rendering I figured that was all I needed to tip my tepid interest in the engine towards a purchasing point. After browsing bits of the documentation and checking out the four included demos I was, on the whole, happy with the way that the engine was packaged and structured. I have never worked with an aggregate-based codebase before, so the concept of TorqueX's "components" was kind of new to me. The documentation seemed solid enough, though, so I wasn't too concerned.

Of course, I didn't realize that the documentation was really only solid for the 2D portions of the engine. The 3D documentation only existed in API form in an included CHM file and is, at best, spotty. I discovered this Monday or Tuesday night when I was trying to cobble together a minimalistic base codebase with some nice debug features. Over the course of the week I grew increasingly familiar with aspects of the engine, though, and I was finally able to get something working a couple nights ago. The problem, for me at least, is that I like developing my game in-code. The engine seems keen on having a great deal of things defined in an XML file (terrain, camera, skybox, and such in the starting package I chose) and I'm not a terribly huge fan of that. Since there aren't really any 3D tools for the engine -- or, at least, none that I've uncovered thus far -- adding things to an XML file is far more unnatural than just coding up my game in a number of C# classes and such (which is a method I enjoy more, anyway). Determining how to properly build up an object/component to act like how I want it to within my C# code took a great deal more effort than I would prefer it to.

The other problem I've discovered is that the engine is surprisingly buggy for a full 2.0 release. Thus far I've found that, though there was a field in the options for it, enabling multisampling crashed all of the included 3D demos. I was able to determine why that was happening without too much effort, but that seems like a fairly obvious error that could be fixed. Another rough spot I found was that the included refraction material (I quite like the material system) seems to have an error where it "blows out" at certain viewing angles as seen below:

On the whole, I like the features that the engine has, I just think it needs more polish and far more documentation. If this was a beta release, I'd be a bit more understanding, but I bought it a week or so after the Torque X Pro 2.0 announcement/release. Blergh.




Half-Life 2 - It's Not a Good Game

Jump to: Before City 17 :: Reasons For the Hate :: Conclusion

If I were a bit more like the rest of the universe and a bit less like myself, two things would be true: One: I'd begin this article with a definition of the scientific meaning of "half-life," or Two: This article would simply never be written. Unfortunately I can neither start this article with a definition of "half-life" which would lead into the witty observation that, by all means, Half-Life 2 by definition is only half as good as the original Half-Life, nor can I ignore my burning necessity to inform the gaming masses that Half-Life 2 is not the end-all, be-all hallmark of gaming ecstasy and bliss. Do keep in mind that this is entirely an analysis of the game from a game developer's and a gamer's perspective; in short, this is not a review, but I heard you can get one of those things from other sites.

Before City 17
Let me say that I loved the original Half-Life. I played through it, and then I played through the Opposing Force expansion pack, and I do regard the game as one of the most fun and influential games to ever be released. With that game's excellence branded into my squishy brain's core by means of a combination of stamp plus hot metal, it was only natural for me to get unnaturally excited for the release of Half-Life 2. The first videos released of the Source engine tech demo (along with a few gameplay bits) from E3 2003 made me almost weep with a sense of superfluous joy and excitement. On Monday, November 15th, 2004 I did nothing except read up on Half-Life 2 articles and threads across a number of forums, the excitement for the imminent release building up inside my body until I began pissing little lambda symbols on frequent trips to the bathroom from the heavy caffeine intake required to keep me up well beyond the November 16th, 2004 3:00am unlock time. It was late at night, and I was just refreshing The Shack constantly. Twenty minutes until unlock. Fifteen. Ten. Five. One minute remaining. Ten seconds... And it's Live. I was one of the lucky few to get the game unlocked fairly fast. And then, the time had come:

Until finally...

And I played for two hours at that point, got a few hours of sleep, and then skipped class the next day so I could continue playing all day. And the day after that, at roughly 1:00pm, I had the game beaten. And I walked away from my computer at that point and said aloud to myself: "What a waste."

Reasons For the Hate
Half-Life 2's introduction, the first twenty-thirty minutes of the game (which I just replayed through before writing this), is probably the sole reason for my not bashing the game as a complete failure as a sequel to the legendary Half-Life. The game opens up with the mysterious G-Man from the first game, spewing such foreshadowing statements like "The right man in the wrong place can make all the difference in the world," and the screen doing a whole bunch of special screen-ops that make the feeling conveyed to the player all the more ominous (inverse color filters are obviously a sign of pure, unadulterated evil). The player is let out of a train station, and instantly is shown a big television-like billboard with an old man speaking about City 17 and talking about "our benefactors." Oh, 1984 please hold me and don't let go. What follows is a very immersive, and incredibly well-done series of exploration and action sequences culminating in a rooftop chase from the visually and motivationally ambiguous guards that appear to be abusing all the citizens of City 17.

The first tinge of disappointment I felt with Half-Life 2 came when I was first given a gun, replacing my trusty crowbar, which let me face the combine in a toe-to-toe battle. And this gun... is a little shiny silver thing that makes a pea-shooting 9mm baretta in Resident Evil look like a damn rocket launcher. This little gun neither had a deadly feel nor a deadly sound to it, and was the first instance in the game that brought me out of City 17 and back to reality with a "What the hell was Valve thinking?" exclamation to the empty room I was playing the game in. Being given a gun was fairly disappointing on its own, because actually being able to dispatch the combine with a few bullets really made them far less scary and intimidating, ruining the excitement that had been building and building up to that point.

And the rest of the game just went downhill from there for me (sans one moment, but I'll return to that). My feeling while I was playing through the game and even now as I write this is that Half-Life 2 never had a consistent "vision" in what it really wanted to be. One of the most important aspects of a game is that all the elements combine to form one thing: a brilliant, cohesive gaming experience. The introduction to Half-Life 2 was fantastic, perhaps one of the best times I've ever had in my history of gaming, but after that, it felt like there was another "director" in charge while I was trying escape Kleiner's lab. Another "director" while I went through the incredibly repetitive Ravenholm sequence. Another for the ant-lion sequence, the prison sequence, and so on and so forth. Every hour of gameplay was like Valve was trying a different experiment with gameplay, and while this would work if Half-Life 2 were split into a variety of "episodes" or releases, it does not work when playing through a single, continuous adventure experienced through a single character in the timespan of a single day (the TV show 24 suffers a similar fate when trying to watch through all twenty-four episodes in a row, but is more acceptable when you watch all twenty-four episodes in a week-by-week progression).

It may be that Valve intended to build these various types of gameplay on top of each other in an effort to ease the player into the game, and eventually make the player take all this knowledge at one point and use it for the rest of the game, but this never happens. Each segment of the game does not teach the player any of the necessities for the rest of the game (other than the bit where the player got to play fetch with Dog having just gotten the gravity gun). A new segment occurs, it may be fun for a few minutes, but the game simply drags on and on until the player is tired of the segment, and then Half-Life 2 takes a completely new direction turning a blind eye to the previous one for the rest of the game. There is no better example of this than the ant-lion "weapon" that you can use to focus a small group of ant-lions on an opponent, buying time for the player to run away or do something. This technique was only usable for a brief forty-five minutes of play, and then it could never be used again. Similarly with the cool environmental physics tricks in Ravenholm; sure, you could use the gravity gun for the rest of the game, but you never got to use features of the environment (like an enemy standing on a wooden platform) again quite like you could in Ravenholm.

The original Half-Life worked because it actually felt like I was Gordon Freeman in a desperate attempt to both escape from Black Mesa and save the scientists while trying to do so. The gameplay never really got repetitive because it was kept varied through a wide variety of enemies and bosses that were constantly keeping me, as a player, trying to refine my strategy for dealing with them. Half-Life 2 had very little variety in the actual enemies, so it tried keeping the gameplay varied through far more obvious means: throwing the player into very, very different situations, and never actually letting the player decide how to do things. I was never told how to best kill enemies in Half-Life, I just had to figure things out for myself, but in Half-Life 2, certain areas could only be "passed" by using certain features of the game. I could summon ant-lions to help me get past guard towers, but I could never summon them after that to help me in a situation I thought they could be used for. I could only, really, get rid of striders by using a rocket launcher (I would've preferred a "sweet spot" where I could use the weapon of my choice and had the rocket launcher as a "fire anytime" weapon that I had to conserve ammo with). There was very little room for my input as a player in Half-Life 2, I just had to play through the game as Valve wanted me to.

And speaking of enemies, where were all of my favorite Half-Life monsters? The only enemies I ever got to see were headcrabs (plus headcrab variation #2), three differently uniformed combine, ant-lions, and striders. The original Half-Life had everything from mutated dogs, to giant fish, a big alien plant, ninjas, mercenaries, and more. And there was only one instance in Half-Life 2 where these things actually fought each other (ant-lions vs. combine). What the hell happened to all the monsters from Black Mesa? We know it was nuked, and we obviously a number of aliens and such escaped (there was a war that the Combine won), so there has to be more of them somewhere, or else things like the ant-lions simply wouldn't exist at all.

Which leads me directly into my next point: the game's story, which I felt was handled perfectly within the first half-hour of the game through detailed character interactions, random conversations heard by the player, and a really cool way to handle part of the back-story (part of the back-story; I still wanted to know more). The story that's actually presented to the player is fairly weak, and lacks the kind of "intrigue" that the first game had, such as the government forces coming in to Black Mesa to cover-up the entire event, when the player was thinking they were coming to actually help Gordon and the scientists. Instead we get a weak plot twist where one of the characters, whom Alyx disliked (wow, that wasn't a big enough of a hint), is a traitor to the rest of the good characters. I was really looking forward to a more complex and more "visible" storyline in the game, but that may just be a personal preference, so I won't belabor the idea too much. Also, I don't buy that it had a really deep storyline that I had to "pay attention closely" to understand; I'm a big fan of the "show don't tell" writing mantra, but Half-Life 2's "deeper story" simply wasn't present. I'll understand if Valve wanted the player to create their own ideas about the story, but that does not mean Valve had something specific in mind while creating the game.

Finally in this laundry list of hatred, I wanted to comment on one very sorely lacking feature of the engine that I felt Valve should have done anything to improve: the level-loading. While replaying the game's introduction, my immersion into the game simply kept getting broken up with every level load. To this day, I wonder why Valve didn't do everything in their power to try and suppress the level loads into as small a number as possible. It seems to me that this feature would've improved the overall flow of game better than the inclusion of a pretty pixel shader effect thrown in somewhere.

Basically, it just comes down to one statement: Half-Life 2 is a good experience at times, but it fails in its attempt at being a good game. It takes a lot of steps in the right direction, but the jumbled mess of gameplay ideas just isn't nearly cohesive or tight enough to form a solid gaming experience. Valve simply did not show enough restraint in the use of their technology to form an efficient game, but rather was too aroused by their own work, and threw in an entire level of only being able to use the gravity gun, an hour-long segment of nothing but strider fighting (every strider I killed after the first did nothing except diminish the accomplishment I felt the first time), "puzzles" consisting only of "clever" usage of physics, and so on. If nothing else, the one thing I want people to take away from this article is this: clever usage of barrel or crate physics does not make a game more immersive or more unique

Half-Life 2 had the potential to be an amazing game, but it just squandered it so many ways that I can only point to very specific things in particular and say "Yeah, that's cool, I hope people continue that," rather than hold up a box of the game and say "We need more of this."




I'm Fairly Certain

I quit out of Team Fortress 2 tonight at 9:30pm because it seemed like a good time to get some work done. I ended up playing Audiosurf immediately afterwards for an hour. Then I looked at code, did some completely mundane coding tasks on Asplode! that should have taken me about five minutes. I'm tired. I blame the completely screwed-up sleeping schedule on Asplode!, of course.

I did manage to upload a video, though. This is a large 12MB file given that it's less than thirty seconds long, but I'm slowly learning how to record and compress videos, so take pity.

I am also seriously reconsidering my use of XNA when it comes time to start my next game. My ideal method of distribution, much like my praise for casual games in my last entry, is to make the downloading and executing of games I make as simple as possible. With XNA I have to have people install the XNA redistributable and, if that doesn't work, the .NET 2.0 framework. And I still have, to this day, only had about three people (of the polled eight-nine people) get the game to work without the XNA Game Studio installed. I'm told this distribution hassle is greatly eased by just creating a well-made installer but, really, this all seems like a greater hassle than it's worth. I'd just as soon go back to C/C++ with OpenGL just to ensure that execution is as simple as possible for the greatest number of users.

Don't confuse me with someone that actively seeks the opportunity to use OpenGL. I love DirectX. It's treated me well these last five-six years and I have no real yearning to switch to OpenGL but if it helps my idea for a far easier distribution method then I'm all for it. Kinda. Multiplatform DirectX would be far nicer.




Of Mice and Mittens

I've been spending the last few days with the the Torque Game Engine, and I must say, this is some of the most fun I've had programming in a very long time. Here's a quick run-through of the things I've been playing with over the last few days. Of note, though, is that I haven't stayed up this late in a while, so I may not be quite as witty (read: less than zero), verbose (no treatise on immersion :(), nor creative as I may [or may not] usually be.

The first thing I did with Torque was, naturally, play around with its terrain editor and particle editor. After about an hour of playing around with the editor, which has a built-in texture blender that can blend up to six 256x256 resolution textures (this 256x256 is a limit which made me angry) and having a lot of fun trying to figure out the particle editor without having so much as a clue as to what the various parameters did, I came up with this image:

The particle editor in Torque was surprisingly capable and powerful, though maybe not quite as powerful as the Max Payne 1/2 particle editors, nor as some of the particle engines I've cooked up over the years, but this will certainly do. And it will certainly do better as I update it. One really nice thing is that the editor already has support for a relatively large number of animated textures for the particle sprites (if I remember what I read correctly, it can support up to 5^6 animated textures for particles).

After playing with the particles and terrain, I set up an empty project in VS.NET 2k3 for all the various script files for the project I was working on at the time. It's a fairly large image (height-wise), so I don't want to post it here, but it's there if you want to take a peek at it.

Throughout yesterday and today, I was working with the GUI system to create a slightly more aesthetically-pleasing look for the game's option screen, and though I haven't started work on fine-tuning the rest of the GUIs yet, they do operate off certain parameters/images that I altered while playing with the look of the options window. I still have yet to finish my tweaking of this window, since I had gotten sidetracked, but eventually I'll be adding transparency to every GUI window as well. Here are a couple shots of the options window (left being the original look, middle being a rough draft, the third/final image being the near-current state of the options GUI):

What I got sidetracked with was the build of the Torque Shader Engine (I am now officially near-broke with just enough money to cover the first month's rent of my house for school this fall) that I decided to buy, going against my previous claim that I wanted to upgrade the engine with an entirely unique shader system of my very own (instead I'll just be working on a dynamic lighting and shadow system of my own). This decision came from the fact that I got an actual game idea in my head that I plan to flesh out and create a prototype level for all in the next six months. The screenshot below is the first build of the engine where I finally (only after about an hour of work) got the FPS demo from the first screen in this post working with the TSE:

If I didn't have class tomorrow, I would almost certainly be able to stay up all night just playing with the engine. I'm having an absolute blast with this. Another update tomorrow night.




iPhone/iPod Touch Game Development

The iPhone/iPod Touch is a pretty rad little platform. It has vastly more powerful hardware and a far greater ease of development than I would have ever expected going into it. The biggest problem for me at the moment is that I don't actually have a Mac to call my very own. Someone deemed me responsible enough to borrow a Mac for the course of the Christmas break so I could finally make good on my long-desired and very loud-mouthed wish to see what kind of independent development environment Apple provided to the public for the platforms. Turns out that if someone can stomach a bit of Objective-C and a lack of Microsoft Visual Studio (the latter being the biggest dilemma), Apple seems to have done quite well for themselves. Even if one doesn't own an iPhone or an iPod Touch, the iPhone SDK ships with an iPhone Simulator which seems to pretty accurately represent the environment (sans the real-world tactile focus). I haven't had more than two days to really experiment with the setup yet, but thus far I'm impressed and I'd like to hear some thoughts from people who have spent more time with the platform.

Hell, from what I discovered shortly before I left for my brief vacation -- where I am so clearly vacationing at this very moment -- it seems that even the Objective C requirement may be negligible. It seems to allow for simplistic integration of traditional C/C++ code into the whole mix. I don't know what kind of exposure any of you readers have with Objective-C but, my god, as far as I'm concerned the less I see of its demonic syntax the better the world will be for it.

The biggest issue I'm facing with the whole iPhone/iPod Touch development experience thus far is that, for obvious reasons, an Intel-based Mac is required for development. I'd love to pick-up a
Mac Book Pro or something at some point but, at least right now, that's way above my feasible price point for such a thing. If my short time with the Mini proves productive (and it has so far) I might try and pick up one of those on the cheap. Much like the sentimentality I have for Microsoft's XNA development environment, I think it's another quality step for independent game developers to have such easy access to a prominent and up-and-coming platforms like the iPhone/Touch (and mobile gaming as a whole).

The iPhone and iPod Touch seem to be an especially viable platform for independent game developers due in large part to the superb App Store accessible through the aforementioned devices and iTunes. In the mere two days I've had my iPod Touch I've already racked up about sixteen games ranging from free downloads to $0.99 titles all the way up to $9.99 (the maximum value I've seen). I'm not sure what kind of success the developers of Fieldrunners, Galcon, Enigmo, and Trism (to name a few) have seen but their titles seem to be very popular on the App Store. Galcon, especially, seems to have had surprising success given the very uniquely-nerd sort of gameplay it represents while being crossed with a more approachable and palatable mobile presentation.

If anything, it would seem that Apple made the accessibility of the App Store to independent developers almost too easy. For every great gem I've found hidden in the gaming sections I have seen three or four more titles which seem to present some meager offerings of something that can only barely resemble careful game development or a sound game design choice.

I am looking forward to getting back to my iPod Touch game experiment in a few days. I haven't had nearly enough time to provide much more than these barest of first impressions so, as I said earlier, I'd love to hear from others. I'll surely write some more on this topic as I get a bit more reacquainted with OpenGL (the ES persuation). I hope my first small game test, lovingly given its ridiculous working name of Asplodestroids!, will at least see a glean of the light of day before I find myself Mac-less again. It's also Christmas so feel free to toss a Macbook Pro into my stocking if you're feeling so inclined.

Because I'm sure that was someone's first instinct after reading this.




Top Ten Games of 2005

My Top Ten Games of 2005 list started on a whim on a bleak afternoon on January 3, 2006. I thought, hey, I like to write and I sure have played a ton of games so I might as well contribute to the gaming society by writing a top ten list. Yeah, that would be fun. I also like ranting about nothing, so I'll just make every article a few pages long, with most of the text not even directly relating to the game at hand. So, I did. And it took me over thirty-two days before I was finally even able to write all of the ten articles for this "list." I received a number of flaming comments for the number of delays I took over the course of writing this list as well as a nice share of friendly comments. And now, at 11:54pm on February 4, 2006, I bring to you a nice summary of the top ten games of 2005 according to me, Trent Polack.

I was going to write a paragraph for each of the games in this list, but a combination of laziness and ... Well, mostly the laziness just advised me to make an actual concise list of all the games I wrote about. Click the title of the game to go to the far, far longer article. #10 -- Dragon Quest VIII (PS2)
#9 -- Battlefield 2 (PC)
#8 -- Castlevania: Dawn of Sorrow (Nintendo DS)
#7 -- Psychonauts (PC, Xbox, PS2)
#6 -- F.E.A.R. (PC)
#5 -- Mario Kart DS (Nintendo DS)
#4 -- Guild Wars (PC)
#3 -- God of War (PS2)
#2 -- Civilization 4 (PC)
#1 -- Resident Evil 4 (GameCube, PS2) And there you have it. Around thirty typed pages, 12,523 words, and thirty-two days in the making: my top ten games of 2005. I hope you enjoy all of the articles I've written for these absolutely amazing games, and I look forward (hahaha) to doing for the top ten games of 2006 as well.





Flower is a rare video game. For one thing, it has flowers. For another, no one dies. It's a game where the player controls the wind that guides a lonesome flower petal (and its eventual flock of follower petals) through a game world in need of nothing more than some attention, love, and nourishment.

Flower is also a game that is difficult to explain.

In the most simplistic sense, Flower is about guiding a stream of petals from one checkpoint to another where each "checkpoint" is a flower in the landscape. Once the player's petal stream touches a flower, the checkpoint is considered "met" and a petal from that flower flies into the air and joins your petal posse. When all, or enough, of the flowers in a given area have been touched, a scripted sequence is set off and urges the player the progress onward. A new player's actions may feel fairly simplistic or minute, but this is a feeling that will dissipate quickly. As the player fills more and more of these area-by-area conditions, the landscape begins to come alive: dead grass is reborn, new plants spring forth from the ground, trees regain their color and lush leaves, and so on. As a player progresses through the world of Flower and the areas that its made up of, the game is also attaching a sense of gravitas and emotion to its most fundamental game mechanic: touching a flower.

Flower's other main game mechanic comes for the sense of flow that the game encourages a player to maintain. With only a handful of exceptions, it's always possible to stop going from new flower to new flower to unlock new areas and, instead, just fly around the landscape as it exists at any given moment. The ability to just guide a stream of flower petals through the air with no sense of purpose is a near-constant possibility in the game and that lends a great deal of validation to the atmosphere of the game. That said, Flower is at its best when a player can maintain a mildly fast and uninterrupted pace throughout an entire area and the chime that each flower emits when its touched is properly strung-together with the other flowers that make up a given "path" and the player is consistently experiencing rewards for completing the objectives in a given area. This emphasis on flow is especially true of the final three areas, where there is an actual feeling of urgency that motivates players.

The marvel of Flower, though, is its ability to convey emotion to players. Like no video game that I can think of before it, Flower revels in happiness and serenity. As players progress through the six areas in the game, the only possible result for any player that can allow themselves to submit into the game's atmosphere is a feeling of profound, rewarding warmth. The music, the art direction, and the controls all lend themselves to a playing experience where a player is able to minimize the gap between the player, the controller, and the game and buy into the concept that a player's direct actions are the reason these streams of flower petals are flying and sweeping through the gorgeous in-game landscapes.

Flower's developer, thatgamecompany, is doing some very unique work within the realm of video games and it will be interesting to see where they go from Flower. The company's last game, flOw (and the Flash release), is a game that also creates a very unique, strong atmosphere while allowing a player to define his/her own play style. While it bears very little gameplay similarities to Flower, flOw's minimalism and clarity of design are even more pronounced and well-defined in Flower.

When I finished all six of Flower's primary areas (and the exceptionally clever Credits segment), I went to Metacritic to see how the mainstream game reviewing sites handled their treatment of Flower. It was surprising to see how traditional the reviews for the game were; especially Eurogamer's piece which, of all things, criticized the ten dollar price tag of the game. Aside from my issues with the game's imprecise and flow-breaking sixaxis-based control scheme, I find it difficult to find much to gripe about with Flower; least of all its paltry entry fee for a game that lasted me about two-three hours and a game that I will no doubt look to play-through again when the memories of the game have faded a bit or I want to be reminded that games don't have to be about guns, death, and sex.

Flower is the rare kind of video game from which discussions of games as art, entertainment versus experience, and dollars per hour will blossom. Don't listen to that nonsense.




Warhammer 40,000: Dawn of War

Over the course of the last week I have become quite infatuated with the popular RTS released early 2005 (or was it late 2004?), Warhammer 40,000: Dawn of War. Dawn of War is set in the futuristic version of the pen-and-paper universe (there's also a fantasy version of the franchise, which also has a big-name RTS in development). And while this is all nice and well for people that find themselves getting all sorts of turned-on by that kind of thing, it doesn't really mean much to me other than the fact that it gives developers quite a bit of background material to work with. The gist of the thing is this: Dawn of War is a fast-paced RTS that could best be described as result of a lonely night where Starcraft had its virginity stolen away by its younger, hipper sibling, Warcraft III. What this means, in layman's terms, is that the game puts an emphasis on both large, important individual units (though there are no RPG components) while still making unit diversity and population as important as, say, Starcraft or Command and Conquer. In short: it's damn good.

The game was developed by the same company responsible for Homeworld (both the original and its sequel) as well as the less critically acclaimed Impossible Creatures. I played both Homeworld games and found them entertaining but a bit too slow-paced for my tastes; the completely free-form 3D game space was fairly overwhelming for me as well. I wanted to like both games (though I never gave Impossible Creatures a try) but they were a bit too complex to easily get into and given that I didn't find them that amazing I didn't feel the necessity to force my way into the guts of the game.

I have heard great things about the multiplayer component of Dawn of War but currently I'm quite engrossed in the original game's campaign mode, which consists of eleven missions played from the Space Marine faction's perspective. And, before you get yourself all down, when I say that there are eleven missions, I want you to understand that these missions are nothing to scoff at. The first two missions took me around an hour to complete whereas every mission since then has taken me roughly two to two and a half hours to complete on hard difficultly. These are some pretty huge missions and, despite there only being eleven of them in the vanilla game, it'll take you a nice chunk of time to complete. The story is also surprisingly compelling and interesting, which is a nice change from the highly predictable stories of every game I've played in the last couple months. I just finished up the seventh mission a few minutes ago, and here are some nice little screenshots to give you an idea of how hectic things are at this point:

Did I mention that the game is damn purdy despite the engine being capable of displaying a massive number of units and special effects on the screen at once? Each unit has an unsettling amount of detail paid to it, and the weapons/loadout on the unit will change if you choose to upgrade certain features on it. As an example, there is a tank on the Space Marine side that you can eventually upgrade to have two side laser cannons as well as upgrading the primary gun into a dual-laser turret (I feel nerdy just relaying that) and both upgrades will show up on your unit in-game. Generic tech upgrades will also have a visual influence on your units throughout the course of a match too; for instance, if you decide to upgrade the melee tech of your leaders/commanders, their melee weapons will switch from a kind of chainsaw-sword to an unnecessarily large power-glove with little electrical beams pulsing through it. It's the little details like this, rather than the polygon count, shaders, and texture resolution, that really help make a game stand out all the more in my eyes.

And let me say this now: you've never seen an RTS with such amazing, inventive (and violent) animations as will see in Dawn of War. The game fully earns its M-rating with animations which, as an example, have a very large "avatar" unit that spears infantry units on its sword while blood drips down. There is also a Space Marine mech unit that will impale infantry on its claw-like thing and then beat it to the ground. It's a very neat effect, not to mention jaw-dropping when seen for the first time, but definitely just a bit violent. I personally love it -- not sure what that says about me and I'm quite willing to keep it that way.

Overall though, Dawn of War is the most fun I've had with an RTS since Rise of Nations which was released almost two years ago (and then Warcraft III before that). I liked it so much that I actually went and bought Dawn of War's first expansion pack (as was recently announced, a second expansion pack is also under development), Winter Assault, which is something I very rarely do with games. I'm going to ignore the fact that the EB Games cashier didn't put in the first CD of the game when he was filling the empty box that was displayed on the shelves. Bringing that up just makes me sad.

Now, if only it wasn't currently 4:40am so I could get to work on starting the eighth campaign mission...




Cubegasm's First Dev Journal Entry

In lieu of actually doing any development tonight I, instead, chose to write a gaming article (still no Metal Gear Story; I'm still thinking about that) and then a particularly-lengthy GameDev.net Daily. Now, since I've given up hope of getting work done tonight and have accepted the idea that Battlefield: Bad Company will dominate my nights for the next few days, I'll write about what I'm actually working on for the moment.

I've never worked on a project that had any sort of physics simulation occurring within it before; when I found out that Havok released their SDK that could be used by hobbyists and by any commercial product that retailed for less than $10, though, I retreated from my previous stay at Hotel XNA and back into C/C++ Direct3D9 Land. I didn't want to spend months writing a framework and a rendering engine, though, since I'm currently in the kind of mood where I want to put out a game every two-three months -- a timespan which is variable based on game release dates, occasional social interests and obligations, and work schedules. It is a direct result of this mindset which led me to using OGRE. I spent a few days configuring my project, the engine (and all of the modules for it which I planned on using), and Havok in Visual Studio and then got about implementing a basic Havok simulation and rendering aesthetic worked out.

While doing these tests I had envisioned a bright, solid-colored color palette with a very minimalistic lighting scheme for the scene all with a slight HDR/Bloom glow attached. I had the Havok world and the cube objects all set up and working at the time the above screenshots were taken but, in movement, something felt wrong about the way they were interacting with the environment. I looked over all of the environment values that I had set and things looked alright. Then I realized that, when a cube-like entity hit a ground surface with a high restitution value from eighty meters above the surface that the chances of it rotating are, well, almost a certainty. And I wasn't taking an entity's orientation quaternion into account for the OGRE cube graphic whatsoever. So, yeah, fail. The right-most image in the following trio shows that OGRE is having some difficulties maintaining high rendering speeds with all of the cube objects which, really, seems not so good. I'm either adding the entities/nodes to the scene in an unoptimized fashion or the debug rendering runtimes are extraordinarily slow. This is something I'm still playing with at the time of writing.

I got back to this codebase about a week and a half after the previous set of images was taken (Metal Gear Solid 4 needed some love and attention) and when I started up my project build I realized I didn't really like the look things were taking. The aesthetic didn't really match the one I had envisioned for my game so, this past weekend, I went about remedying that (with the most current image being the far right one):

And, now, I'm just cleaning up the codebase as it exists right now and thinking about what, specifically, I'm going to do for the game. My current idea right now is a sort of Fort Wars single-player game against the AI; each player has a structured composed entirely of cubes and each one is attempting to blow up the other person's fort first to reveal a large target-like item in the center that, when exposed, must be hit a few times before it explodes and, then, ending the match. My idea is to make differing types of cubes that have a variety of effects once they are hit: some will give positive benefits to the player (increased damage radius, multiple launched projectiles per shot, etc.), some will give negative benefits, and some will simply be explosive that can take out a number of surrounding boxes at once. Whether this what I'll actually do for the game is, at this point, completely up in the air. I'm going to code some initial mechanics and play around and see which seems like the most fun for me.

That is, of course, once I devote some time to Battlefield: Bad Company.




Life As An Intern Game Developer

Jump to: Introduction :: The First Day :: Three-Week Mark :: Personal Implications :: Conclusion

As of now, I am officially a two-week-old intern programmer at the game development division of Stardock; a company most likely best-known for their Object Desktop suite of Windows desktop customization software (of which I believe WindowBlinds and ObjectDock may be the most well-known). Within the game development scope of things, though, Stardock is famous for their turn-based strategy series: Galactic Civilizations; the most recently released of which was Galactic Civilizations 2 and its Dark Avatar expansion pack. The company also developed The Political Machine, a turn-based strategy game which revolved around the 2004 presidential election. And, here I am, a one-class-away-from-graduating English major at the University of Michigan who is, as previously stated, a game programming intern at a company best known for its turn-based strategy games, Windows customization software, and a history of excellent customer service. And I, somehow, managed a position there.

Though, in all honesty, I think the folks at Stardock thought they were actually hiring a kitten. Imagine their disappointment when I had neither fur nor whiskers. Though I do meow.

The First Day
I have a history of sleeping issues when I lay down with nothing on my mind; the kind of sleep I get on the night before starting a new job in a part of Michigan I had never seen to start work with a bunch of brand new people is restless at best. So, after getting to sleep at around 3am, I woke up at 7am to give myself time to have a nice, relaxing morning with a big 'ol breakfast (... instant oatmeal?) and, well, that's really all I had planned for the morning's activities. I was planning to show up to the office at 9am, but being relatively unfamiliar with the kind of traffic I would have to endure on the drive from Ann Arbor to Plymouth, I left at 8:15 "just in case." So, twenty minutes later, I was standing outside the very impressive building with the glossy, pretty Stardock logo wondering where I would be working. It's probably worth noting that I had never actually set foot inside of this office before -- when I interviewed for the intern position it was back in the "old" office in Livonia; my first thought at the sight of the new building was "Wow. It's all sorts of pretty.

Galactic Civilizations

The first mission as a soon-to-be-employed intern was to actually find my way within the office itself. There are three floors of the building: the first floor, which is shared with an accounting firm (and part of Stardock that I have yet to actually see the inside of), the basement which is undergoing renovation, and the second floor -- which, through the window of a locked door looked like the place I wanted to find my way in to... But, for whatever reason, the locked door was, in point of fact, locked to the uncleansed outsiders (ie, me) of the world. I walked back down to the first floor of the building and tried the door to, what looked like, the Stardock portion of the first floor (as indicated by the Galactic Civilization poster on the wall), and that door was also locked. The secretary within the accounting firm across the hall gave me judgmental looks as I walked around confused. Confused and scared. My next attempt at getting inside was to go down to the basement and see if there was a hidden stairwell that I would be able to access to get into the office. There wasn't. It was dark and basement-like, though. Eventually I decided just to play around in the elevator on the ground floor. This elevator took me up to the second floor and into the main lobby where I said "Hi. My name is Trent. I'm an intern. I'm, uh, starting. Starting today. I hope?"

After a short sit-down-and-wait period within the Stardockian lobby, Cari came and met me and gave me a tour of the second floor along with introductions to all the people who were at work at the time -- it was only about 9:00am and, as I know now, a majority of people don't show up until after 9:30-10:00am. Apparently there were some lack of notifications about when I was actually starting, so I had a bit of down-time for the first hour or so while I was there. Though, this downtime was well-spent getting the surprisingly speedy computer that I was set-up with; my worry that I would have a rough transition from my dual-monitor setup at home to a single-monitor workspace was instantly rendered naught -- not only is my work machine near-identical to my home one, but one of the two monitors at my desk at work is actually larger than both of my home ones. This was a very joyous realization.

The Political Machine

Since I had yet to sign an NDA (non-disclosure agreement), people in the office were avoiding me like the plague, so I sat at my computer setting up software and downloading some of the necessities for fifteen minutes until I was given the requisite NDA; the moment I signed it, people around me lit-up and I was briefed on what my first task as an intern game programmer would be. I, unfortunately, cannot divulge any of the details here, but I can say that I was absolutely not expecting to be given a task of the kind of importance and awesomeness which I was given. As a measly intern, I was expecting to be doing nothing short of programmatically cleaning the office's gutters and scripting the trash bucket's cleanup routines. Instead, by the end of the first day, I was working alongside what I would consider to be a "veteran employee" in designing and organizing fairly major component of a project.

I could not have asked for a better job.

The First TwoThree Weeks
As of today, I have been at Stardock for a grand total of two weeksAs of when I started writing this article, I had been at Stardock for a grand total of two weeks; now, as I come back to this masterpiece in e-penmanship and creative thinking, I'm ending my third week there. It has been a weak and timid amount of time in the whole scheme of things (or, erm, I have been a weak and timid employee in the whole scheme of things; toe-may-toe/toe-mah-toe), but it seemed as good a time as any to finally write the little article that I've been meaning to get to since that first day.

I was talking to one of my friends earlier today about my job and, for a bit of background, this is someone who's greatest familiarity with the concept of video games is knowing friends who played Halo in dorm rooms, much less with the knowledge of what kind of work goes into modern video games. Anyway, I was talking to this friend, and I was trying to explain the kind of work environment present in Stardock -- the lead-in to this conversation being that I said it was difficult to imagine a larger development company being this... homey. Even as an intern, I don't get foul looks for walking around in flip-flops, being essentially draped across my chair/desk in an awkward looking, albeit surprisingly comfortable, bodily configuration while programming. For a quick break every now and then, there is a consistently-stocked lunchroom area with pop, fruit, snackables, mini-meals, and so on. Basically, the whole of the second-floor workplace (I still have yet to actually see the first floor) is a very comfortable, easy-going environment that makes working and adjusting to a completely new kind of work environment about as painless as I could have hoped.

Galactic Civilizations 2: Dread Lords

And then, of course, there are the people. I don't think I've had such pleasant things to say about such a wide variety of people in recent years. Even as a measly intern, people have been not only friendly, but also incredibly helpful; during my first few weeks if I was ever confused about something, there was never any intimidation factor in seeking out someone to get some help from. On my first day, I was given some very basic goals for the component of something that I was working on, on the second day I got some clarification, and on the third day I was playing around in the codebase working on implementing some of the most basic of features that would come in handy; other than these first few days, I've had nearly complete freedom in the way I go about designing and implementing my personal task (which is a fairly independent one, at the moment). This was not only surprising for me in the sense that I have a lot of freedom about how I go about working on things, but also that I would be given this amount of freedom on a non-trivial and fairly significant component of one of the company's current projects. Being vague and sketchy is fun!

Personal Implications
All of this really makes for a very encouraging experience for me, personally. After my first professional programming job the summer after my freshman year doing what was, essentially, contract work for the U of M Space Research department, I had a lot of my love of programming beat of me. Between that and my first-year Engineering courses at the school -- which, not to sound like too much of a jerk, were very work-intensive without a whole lot of actual learning occurring -- I decided that I would take my academic education in an alternate direction for my time at the school and do something... Well, different. So, despite changing my major to English, I found myself craving programming as a purely extracurricular activity; I got involved with implementing some additional features into the then-beta Torque Shader Engine and doing some very basic contract work (none of which really panned out). More recently, I decided to take a few additional Computer Science classes during the school year, since I had a large majority of the classes necessary for my English degree, along with playing with XNA during my spare time. It's been a weird sort of combination of work for me; surprisingly, there really are not a whole lot of similarities between English and Computer Science -- though, oddly, aspects of my Linguistics courses had connections to some aspects of computer programming languages.

Galactic Civilizations 2: Dark Avatar

As I stand now (one class away from a Bachelor's degree in English), I can't say I regret taking my academic "path" down a very different educational branch from my very Computer Science-heavy experience outside of school... But I did find myself worried that the degree in English would make finding actual employment as a game developer far, far more difficult than it would have been with a CS degree. And, as far as I know, an internship as a game developer may not make it a whole lot easier... But the one thing that has made an impact on me is that, in conversations with my coworkers at times, when I mention that I'm actually a near-college graduate English major the only reaction I receive is "Really? Wow, that's kind of weird for a programmer." I expected to be looked down upon -- nay, shunned -- for such a divulgence of my education. Saying that the lack of such a negative reaction gave me a bit of hope for myself would be a tremendous understatement.

I think the best way to sum up my experience thus far as an intern game developer at Stardock would be with a conversation I had with a housemate upon my return to my house at around 7:30pm last week. He looked at me with a grin, saying "Wow, you must have gotten to the office real late this morning." I looked confused -- it's a natural look that doesn't necessarily signal actual confusion -- saying "Erm. I think I got there at around 8:30 this morning, actually." He looked at me, eyes filled with confusion, asking "Did you... Did you do something wrong? You must be pissed!" I shrugged -- another natural reaction of mine. My response was simple: "I just lost track of time, I guess."




Metal Gear Gameplay

Over the course of the last week I was able to play the final chapter in a franchise which I first played as a rental on my NES way back when I was a munchkin; Metal Gear was a thoroughly confusing game for the four-year-old me. I very much doubt that I made it much past the first few areas as I was not a patient child. I may or may not have played Metal Gear 2. I did, however, play the hell out of Metal Gear Solid for myPlaystation back in 1998. I played it through about four or five times, got Snake's tuxedo on New Year's Eve 1998, and have very fond memories of Psycho Mantis and Meryl and the boss fight with Revolver Ocelot. I would be hard-pressed to think of a franchise which, to this day, I remain so positively nostalgic about aside from Metal Gear Solid (and Final Fantasy VII and Resident Evil). So, now that I've completed my first play-through of Metal Gear Solid 4: Guns of the Patriots, I want to write about the two halves of this game: thegameplay and the story.

When the first Metal Gear Solid came out the game was absolutely revolutionary. It merged action, stealth, and cinematic storytelling like no game before it had successfully done. Everything had fullvoiceovers , the graphics were phenomenal, and the violence was realistically gruesome. The series stagnated after this first iteration with the release of Metal Gear Solid 2 riding on the first game's coat-tails and, what's worse, forcing the player to play as someone other than Solid Snake for 75% of the game and containing unnecessarily lengthycutscenes that felt longer than necessary (especially its heavy-handed ending). Metal Gear Solid 3 improved on the Metal Gear Solid formula by leaps and bounds without changing any specific aspect too radically. Much like Resident Evil, the Metal Gear Solidgameplay was still utilizing fixed camera angles and by the time the third iteration of the franchise rolled around gamers began to tire of it -- though Metal Gear Solid was so remarkably well-done that it escaped a large amount of the potential criticisms which could have otherwise befallen it.

Loading up Guns of the Patriots was a fantastic surprise; gone was the top-down camera angle -- ditched in favor of an over-the-shoulder camera -- and the inability to fire weapons from first-person and still move around. Gone, too, was theHUD's radar that showed enemy positions and their line-of-sight. In the first ten minutes of Metal Gear Solid 4 a franchise veteran is suddenly faced with an abundance of viable play styles as nonlethal measures, stealth, and murderous rampages are all interchangeable. The nonlethal and stealth approaches both become powerfully tempting the moment that a key character is introduced that is capable of being used as a weapon launderer at any point in the time. Players no longer will face a dearth of ammunition or weaponry as dozens upon dozens of weapons can be purchased and customized with limitless ammunition for each being a triangle button and some in-game currency away. And, oh, these guns have gravity. Each possesses truly booming sound effects and carry with them a feel of destruction like no Metal Gear game in the past.

The implications of making the gunplay of Metal Gear Solid absolutely fantastic are that the entire flow of the game becomes radically different. Players have a deadly arsenal that puts the greatest weapons in Metal Gear Solid 1, 2, and 3 all to shame and this actually makes an entirely offensive strategy completely plausible. Finishing the game with a large number of kills andheadshots yields different end-game items and badges than, say, a game where no one was killed or a game where a single alert was not set off. From my first personal play through I wanted to be stealthy but once I accidentally killed a private military contractor and heard a group of rebels behind me shout phrases of thanks (one threw me some rations as payment) I realized that I could, instead, kill a bunch ofPMCs and aid the rebels in their fight. This, to me, was a far more enjoyable and worthwhile endeavor than sneaking around both groups of combatants. I also earned a lot more currency to upgrade my M4 into a grenade-launching, silenced, long-range killing machine.

There are other subtle additions to Snake's arsenal this time around as well. Snake's camouflage will automatically change the match the environment when he goes prone or presses up against a vertical surface and remains stationary for a few seconds -- a much improved mechanism from the menu-heavy method of performing the same task in Metal Gear Solid 3. The "threat bubble" that pops up around snake when he remains stationary while crouched or prone is also a superb way of highlighting the danger in Snake's surroundings by showing "blips" in the translucent circle that hovers and follows Snake around. And the agme is full of streamlined additions to the tried-and-true gameplay of the series and just serves as further evidence of the ridiculous level of polish present in Snake's final chapter.

For the first time since the original Metal Gear Solid I finished the entire game and still wanted more. The gameplay didn't feel like a means to advance the story or to just make my way to the next plot point; the story provided the impetus to search my environment, kill the PMCs, and make it to the objective that I actually enjoyed reaching. The basic mechanics all function so responsively and the levels are designed to promote both stealth and violence that alternating between the two feels completely natural.

What's more telling than this is that I started up a new game on the hardest difficulty tonight because I wanted to jump back into the game world and play more. Maybe this time I'll actually play through the game without setting off any alerts or attempt for a non-lethal means of progression.

I really, really doubt that will last.




Games of 2008: Introduction

It's been a superb year for gamers. There have been such a vast number quality major releases across any number of genres that the idea of a given gamer feeling "left out" is near unthinkable. The major, well-received releases can be categorized as a 4X RTS or simply a great 4X turn-based game. There are open-world shooters in Africa and two types of open-world games in the vein of Grand Theft Auto. Superb cooperative games involving things like zombies, chainsaw-mounted assault rifles, and a throwback to the days of Golden Axe. And then there are major sequels like Grand Theft Auto 4, Fallout 3, and Metal Gear Solid 4. Oh, yes.

The deluge of gaming was good to me this year as well as, for the first time in a few years, I was actually able to play every title that I had any desire to play across all non-Wii platforms (and even then, I'm currently borrowing one of those to play No More Heroes). Not since my 2005 games of the year have I felt well-informed enough to write about some of my top picks for a given year. Granted, I can't objectively write about games like Galactic Civilizations: Twilight of the Arnor or Sins of a Solar Empire -- both of which are games that I, as a gamer, hold in remarkably high esteem.

This year I'm doing something a little bit different. I'm not sure if I can really classify a deviation from a one-time top ten list as something "different" or not but I will continue to think my actions in this matter as such. It's no radical change, but I'm just going to write up three-four articles on games I consider to be the best of 2008's best with no regards to rank or categorization. At this point, I still have yet to figure out what I want to make two of the four games. They will be from the following list of games I'm in the process of choosing from. The following games are all superb and remain in my mind at this point in time as equally superb. No More Heroes -- I have only had a couple hours with Grasshopper Manufacturer's very stylized action/adventure romp. From what little I've seen, No More Heroes manages to bring legitimately enjoyable gameplay to the sharp writing and aesthetic that were present in Suda51's previous game, Killer 7.
Grand Theft Auto 4 -- GTA4 is the slim waistline after years of Grand Theft Auto: San Andreas' work-out routine; it's a focused and well-done partial reinvention of Rockstar's linear-gameplay-in-a-kind-of-open-world crime game formula. The gameplay becomes rote a bit around the middle of a player's journey through the game (which is also where the quality of writing experiences a quick death) but GTA4 is, at its core, a very enjoyable game.
The World Ends With You -- In some ways, this Nintendo DS RPG is an archetypal JRPG; after all, it has the angsty protagonist, pseudo-meaningful script, and Japan. But story and character design aside, The World Ends With You has the most daring game design of any Square-Enix title in recent years and, on top of that, as one of the most true Nintendo DS titles the system has seen.
Midnight Club: Los Angeles -- There were essentially four racing games this year that I enjoyed: Burnout Paradise, Gran Turismo 5: Prologue, GRID, and Midnight Club: Los Angeles. Midnight Club: Los Angeles comes out on top of them all; even its open-world racing counterpart Burnout Paradise. Rockstar's in-depth car customization support, the open-world presentation, and great car and motorcycle physics were all combined with one very important feature: the ability to retry races.
Dead Space -- It's more action than horror and more Aliens than Alien, but Dead Space is one of the year's great action games. Despite the choice to portray the game from a third-person perspective, EA Redwood succeeded at immersing a player in the blood, guts, and flickering lights of an abandoned space station to a level of success that I haven't seen since System Shock 2.
WipEout HD -- Serving as a combination of the two PSP Wipeout game releases (Wipeout Pure and Wipeout Pulse), this Playstation Network exclusive was served up to Playstation 3 users as one of the only "true" 1080p current-generation console games and it ran at an absurdly smooth sixty frames-per-second. And though that may sound like simple praise for the game's graphical prowess, the ability to play a Wipeout game with that kind of display allows for the best execution imaginable of the series' trademark high-speed racing gameplay. WipEout HD is a bit limited in the amount of content it provides but for the asking price on PSN it's the kind of game that no Playstation 3 owner should go without.
Battlefield: Bad Company -- Bad Company brought two very necessary gameplay changes to the Battlefield formula: destructible environments and a focused multiplayer progression. Instead of the free-reign that two teams had over a number of capture points in a large map, Bad Company funneled two teams into a more concentrated area. And the addition of destructible environments made the occupation of these areas into an uneasy and dynamic gameplay experience for all parties. Add these features to the refined multiplayer character progression and stat-tracking and Electronic Arts managed to make the first Battlefield game that actually worked for a console.
Everyday Shooter -- As great as the Playstation Network release of Jonathan Mak's Playstation 3 synesthesia-focused shooter was, the ability to play the same game with no major sacrifices made to the visual quality or gameplay on the Playstation Portable makes it all the more sweet.
World of Goo -- I can't recall the number of times I played around with the Tower of Goo back when it was released as part of the Experimental Gameplay Project. And seeing how 2D Boy's small team expanded that gameplay into a fully-realized game with a [Tim] Schaeferean art style and a great sense of humor it's not very difficult to recommend World of Goo to any type of gamer.
Geometry Wars: Retro Evolved 2 -- GW:RE2 wasn't a daring sequel by any means, but it iterated on the success of the first game in all of the right ways. And Geometry Wars: Retro Evolved already existed in my mind as the best robotron-esque arcade title in existence. That's high praise from me. Articles on my favorite three games absent from this list are forthcoming.




Cubegasm The New Design

This isn't a long entry, I just wanted to update this and indicate that I'm now back to work on Cubegasm. I mentally redesigned the game into an RTS and, since that occurred, I have a completely renewed interest in working on the game. Here are the three types of XML files I have created thus far:

Map XML:
"1.0" encoding="utf-8" ?>
"Level1" DisplayName="Cubegasm: Level One">
"2000.0" depth="2000.0"/>
"AttackTower_Fire1" SpecialName="DoogieHowserMD">
"10.0" y="0.0" z="10.0"/>
"0.0" y="0.0" z="0.0"/>

Fort (Block-by-block "model") XML:
"1.0" encoding="utf-8" ?>
"Weapon" Type="0" x="0.0" y="15.0" z="0.0"/>

"0" Width="6.0" Height="1.0" Depth="6.0"/>
"0.0" y="1.0" z="0.0"/>

"0" Width="4.5" Height="1.0" Depth="5.5"/>
"1.0" y="2.0" z="0.0"/>

"0" Width="5.0" Height="1.0" Depth="5.25"/>
"0.0" y="3.0" z="1.0"/>

"0" Width="5.0" Height="1.0" Depth="5.0"/>
"0.0" y="4.0" z="0.0"/>

"0" Width="4.5" Height="1.0" Depth="4.5"/>
"0.0" y="5.0" z="0.0"/>

"0" Width="4.0" Height="1.0" Depth="4.0"/>
"0.0" y="6.0" z="0.0"/>

"0" Width="3.75" Height="1.0" Depth="4.0"/>
"0.0" y="7.0" z="0.0"/>

"0" Width="3.75" Height="1.0" Depth="3.5"/>
"1.0" y="8.0" z="0.0"/>

"0" Width="3.25" Height="1.0" Depth="3.25"/>
"0.5" y="9.0" z="0.0"/>

"0" Width="3.0" Height="1.0" Depth="2.75"/>
"0.25" y="10.0" z="0.25"/>

"0" Width="2.7" Height="1.0" Depth="2.6"/>
"0.0" y="11.0" z="0.0"/>

"0" Width="2.0" Height="1.0" Depth="2.5"/>
"0.0" y="12.0" z="1.0"/>

"0" Width="2.0" Height="1.0" Depth="2.0"/>
"0.0" y="13.0" z="0.25"/>

"0" Width="2.0" Height="1.0" Depth="2.0"/>
"0.0" y="14.0" z="0.5"/>

Entity/Unit XML:
"1.0" encoding="utf-8" ?>
"AttackTower_Fire1" DisplayName="Attack Tower">
"25.0" Type="0"/>

All of this goes to create this little rickety attack tower which has an Eye of Sauron-like glow at the top that will launch firecubes at the oncoming crack squad of cube units that are assaulting the enemy fortress. I'll detail the types of units a player will control in a future entry.

Also, as a final note, I believe that this Friday will mark my final day of writing the GameDev.net Daily every week day. There may be plans in motion to make it a more communal sort of daily column so that the burden of writing everything doesn't fall solely on me but, for now, as I approach my eighty-ninth straight Daily it's becoming time for me to take a break.




The Pool of Gaming Familiarity

In the last decade, video games have become more and more like movies than their old-age makers could ever have even thought of. We have games like Halo 2 which are so big, expensive, and popular that it can generate more money in a single day than any blockbuster movie could ever hope to bring in on its opening day. One thing that is becoming really hard to do with modern games, though, is making a really "good" game; and, by good, I mean fun to play and experience. The actual source of this challenge is certainly debatable, whether it's because developers are really out of fresh ideas, or that publishers don't want to take any risks with new games for fear of not heavily profiting from it, but one thing that is for sure: games have the technology to be far, far better than some of the crap that's actually being released these days.

These days, a lot of games are all about two, maybe three, things: Franchises: These are games that, while maybe innovative in the first place, become so common-place in their own name brand, that a number of other games feel the need to copy aspects of the game in its own drive "to be popular." Every developer feels the need to always make a sequel when one of their big games has success, which is something I really don't blame them for, but just because this new game may be a sequel does not mean that it has to be the first game's identical twin plus graphics engine upgrade. For the love of God, guys, let's show some originality. The best sequels, in my eyes, are the ones that flop (or have extreme success, but if I said this first, you wouldn't read the next sentence). A flop of a sequel means that the developers tried very different things, and these things failed miserably; similarly for successful sequels, though they fared far better.

Examples of what I mean here are Civilization 3 (flop), DOOM 3 (success in my eyes, mostly a flop in others), Grand Theft Auto 3 (huge success), Half-Life 2 (success in most eyes, flop in mine), Warcraft 3 (success); these are all game sequels that made a big impact, either positively or negatively, in that they either GREATLY expanded or alienated part of their fan base, because the sequel was such a changed game. DOOM 3 was a far more cerebral and lengthy experience than its counterparts, while Half-Life 2 was a far more varied/gimmicky/abstract game than I think the original Half-Life was. A graphical upgrade is, in my mind, always a necessity for a sequel, but it's not very important to the overall success of a sequel, just a must to keep things "fresh." A game like Warcraft 3 kept a lot of the things that made the original game popular, but with the unit count cut in half, Warcraft 3 put a lot more emphasis on micro-management of units, rather than letting players just mass a large amount of units like in Warcraft 2 and Starcraft. I think the upcoming Dungeon Siege 2 will be one of the most successful sequels in PC gaming history; the original game may have a very big name, but it has a fairly small fan base. Though, despite this, the amount of work and effort that the guys at Gas Powered Games are putting into Dungeon Siege 2's new focus on gameplay has really paid off, and I think a lot of PC gamers will see this when the DS2 press and reviews start rolling in. The amount of fun I had with the Dungeon Siege 2 beta was incredibly surprising; DS2 is almost a completely different beast than the original game was, and the beta was some of the most fun I've had in RPG/Action gaming in a long time. Not many games make me do a double-take and yell "Holy shit, that was AWESOME!" at the top of my lungs.

A counter-example to my point here is Halo 2. The game may have had a graphical upgrade, and may be one of the highest grossing games of all time (I'm not sure if this is just for one day, or for all-time), but it's a horrible excuse for a sequel. Halo 2 is essentially the same game that the original was, except it had Havok physics, better graphics, and Live! support. "Oh, Trent, but it had a completely different player, letting people experience the game through an entirely new perspective!" Yeah, sure, but this "new perspective" only changed the fact that you could now use camouflage, but dammit, those aliens sure can't use a flashlight.
Movie Tie-Ins: Please... just... stop. I'm so tired of seeing games based on movies, which seem to always be either a Metal Gear Solid, DOOM, or Grand Theft Auto 3 clone. Movie tie-ins are cool occasionally, especially when it's a big-name movie that just screams the need for a video game version. In my time as a gamer, and I've been actively gaming for eighteen years (since I was two; yes, two) and only twice have I ever played a decent movie-based game: Goldeneye and The Chronicles of Riddick: Escape from Butcher Bay. Movie-based games are very obviously made solely for the extra income generated from the movie's success, and I know there's nothing I can say that will stop their production, but I just wish that since these games are being made, that they can actually have some genuine thought put into them (as well as into the question: "Should this game really even be made?"), as it seems like every one of these games is simply a port of whatever game is popular at the time. Currently the big thing is to make movie-based games almost exactly like Grand Theft Auto 3. I personally can't wait to play as a decked-out Tom Cruise and blast the shit out of tripods in War of the Worlds because, after all, that's exactly like what happened in the movies.

I might actually give the game a chance if all the game consisted of was my playing as Tom Cruise and simply trying to avoid the Tripods for a few hours.
The Third Type: These are the games that make me happy to be a gamer, and even happier to realize that I will one day be working in a game development company of my very own. These are the games that simply cannot be classified under a type. This is the type of game that comes from a fresh, creative mind that has the goal of revolutionizing the genre in ways that had previous not been thought of before. These are games like Will Wright's Spore and The Sims, Chris Taylor's Supreme Commander and Total Annihilation, Sid Meier's Civilization, Brian Reynold's Rise of Nations and upcoming Rise of Nations: Rise of Legends (two games in the same genre, though neither similar in the slightest other than the franchise name), and so very few more.
If only there were more than a handful of titles released every year that were truly raising the bar in quality then, maybe, publishers wouldn't be so heavily rewarded for releasing a hardly-update sequel in a popular franchise. Remember, it's not only the fact that a lot of developers don't embrace their own creativity, it's also a matter of the fact that the cash that gamers throw out for various games is what keeps the industry going. Support the developers who try something new and succeed. It's what will keep the industry from breeding in its own familiarity.




An Asplosion! of a Release

Yeah, so, I'm releasing Asplode! now and such. And, along with the game, comes all of the source to the game.

I originally wasn't planning on releasing the source but as development winded down and I started to play the game for longer sessions I soon realized that the game became virtually unplayable on my machine after about seven-eight minutes. I thought this may have been a result of poorly-managed graphical assets so I took a couple days to optimize them (and, as a result, the VectorModel and VectorParticleSystem bits of the code are an absolute mess to comprehend). After I finished doing that I jumped back into the game and, while it ran better for a while, the horrific mid-to-end game performance was still very much a factor. I went through and tweaked and optimized bits of code in other places that seemed like they would cause issues and, still, the performance problems persisted. At that point I decided that, since I got the game to a playable state and I didn't want to devote a whole lot of time to what is, essentially, a Geometry Wars clone, that I would just throw a main menu screen on the thing, an end-game screen, and release the source code and call it a day.

So that's what I'm doing. Here's the game; tremendous performance issues and all.

The Game: Asplode! plays out pretty much like you'd expect; on the 360 controller the left joystick handles movement and the right joystick aims/fires bullets. There is a score multiplier which is slowly increased with every kill made up to and the multiplier reaches a maximum of nine; every time a player dies, the multiplier is reset. There are also three possible weapon upgrades. (which persist after death) which are awarded based on the number of asplosion combos -- any death with a red pentabomb involved. A player has only three lives; I thought about implementing a way for a player to earn more lives but, since I have no life, the least I could do is minimize the amount of life a player can have. So there's three. That's it.

The Source: Uh. Yeah. Just try not to learn anything aside from what never to replicate. Ever.

The Requirements: One of the issues with an XNA title is that there are a few necessary items to install to get one running. So, I'm sorry about that. If it wasn't such a beautiful creation, I wouldn't use it. XNA Redistributable (Included), .NET 2.0 Framework, and I believe a run of the DirectX Web Setup and/or Visual Studio SP1 Redists if the first two don't get the job done.

And now off to start the game which isn't a blatant clone.




Magnetic Butterfly

Magnetic Butterfly is now finished.

After a development period of about a month and a half spread over the last six-seven months, I'm finally cool with "launching" it. I started working on the game on January 25th/26th while sitting on a couch at my parent's place in Northern Michigan while visiting for a weekend. Further development was done at random spots near Detroit, Michigan. And I'm finishing it while sitting on a bed in my hotel room in Salt Lake City, Utah.

The launch is purely symbolic, of course, as the game has been completely open to anyone to try at any point in it's development. This reduces the effectiveness of saying: hey, everyone, here's a game, play it! It did, however, greatly aid in the design and iteration on the primary control scheme, among other mechanics. For a game design that revolved around a very frustration-prone method of controlling the player's character, this iterative development was pretty invaluable. I didn't quite get to the level of input ease as I was hoping for, but it came pretty close to my expectations. I'm still not sure whether messing around with the player's primary control mechanism for a game is a smart design decision or not -- a lot of what I take from this project will be based on post-release feedback -- but it was a fun experiment (even if I don't do something like it again).

This was my first project with Unity 3D and, all things considered, I absolutely loved working with it. It's the best rapid prototyping toolset I've ever come across, the support is superb, it is constantly being updated, and the web plug-in is fantastic. The ability to work on some features in script, alt+tab into the editor, drag-and-drop appropriate objects to link them to the script, and instantly test everything out within a matter of seconds is one of the most astounding development work-flows I have ever come across. I had the basic gameplay for Magnetic Butterfly setup within a matter of days; everything after that was tuning and the addition of some small features here and there. It was great to be able to sit down with my MacBook and make some progress on the game in a matter of minutes; the number of features I developed sitting at waiting rooms across Michigan is actually kind of astounding (almost all GUI features were done at a local Discount Tire).

Despite being an arena-based game design (much like Asplode!), Magnetic Butterfly was my first step to a different approach to game design: a primary idea and mood established from singular concepts and emotions. Rather than the fairly blatant Geometry Wars vibe that established Asplode!, Magnetic Butterfly sprung out of a goal to experiment with a somewhat unique control style (not directly controlling a character capable of doing or taking damage) and a tonal focus on life and death. Forcing myself to adhere to these two criteria made the actual development decisions and the general style direction far easier than I would have ever expected it to be. Whether or not either of these concepts comes through in the gameplay -- and my pointing this out already taints the ability for anyone to judge that "effectiveness" -- is unknown, but for me it was a great aid.

Also, huge thanks to my buddy Josh Jersild for his work on the sound effects and music tracks for the game; these weren't added until very late in the game's development (earlier this week) and their addition really helped the project come together. Also thanks to Goran Grce who, upon hearing me lament my own attempts at modeling a butterfly (and being unable to animate one with my current tools) took it upon himself to hook me up with the perfect model based on some of my provided references.

One decision I made early on was to not bother with multiple graphics settings. I didn't feel this game was large enough to really deal with numerous graphical settings and a bunch of performance tweaks, so I got the game looking and running how I envisioned it and if it didn't bog down my MacBook at any point in the duration of a given game then I gave it the thumbs up. I'd be interested to hear how many people (if any?) have any issues with the technical presentation of the game, as that feedback will impact how I utilize Unity going forward. If a browser game has to deal with settings then, in my book, something is wrong.

All things considered, this has been a super fun project. I never really got tired of working on it and playing it here and there has always been fun for me. The super casual approach to development that I was able to take with Magnetic Butterfly is a testament to the usefulness and power of the Unity feature-set, and although I won't be using it for my next project, I'll definitely be coming back to the engine in the near future.

Going forward I'm going to try out far more focused game projects (using Flixel for the appropriately lower player install overhead) that can be taken from concept to completion in a matter of weeks, but Unity is going to remain my go-to solution for any 3D projects.




Meet the Pentabomb

I've been steadily working on Asplode! every night that I can and, at the moment, I'm currently working on gameplay that doesn't translate well into screenshots. I have yet to ever actually finish a game so, on Sunday, when I was expecting to move on to coding the particle and luminosity effects I took a moment to realize that, if I have never finished a game before, I probably screwed up by coding something unnecessary too early on. Upon hitting this mental revelation I figured that, instead of working on what I was expecting to work on, I'd do a complete roadmap turnaround and work on some gameplay components before coding up the prettification stuff. So, now, my goal for Sunday is to have a roughly playable build of the game up and running -- I figure this will encompass having the player's ship movable (completed), shooting bullets (not completed), having a single enemy in (quarter-completed), the basic arena borders functional and visible (about a fifteen minute process to code), and bullets being capable of killing said enemy. Once all this is in I'll either work on adding another enemy type or some graphical component.

With all this said, meet the Pentabomb:

The introduction of the pentabomb in the game made me realize two things: that I'm capable of thinking of at least one way to make the name of the game and the gameplay actually related (not that it was hard, given the name of the game) and that I may need to tweak the edge geometry generation procedure. For the moment, though, let's just talk Pentabombs.

The pentabomb, as an enemy, is most likely going to be simplest of Asplode!'s entities. It's creation will be random and fairly common and it will travel at a near-constant velocity in a straight line until it can travel that trajectory no longer and must travel a new straight line until it meets its timely demise. The base score for killing a pentabomb will be low, since it takes as much effort to kill as it does a paralyzed fish when you're armed with harpoons with miniature nuclear bombs at their tips. The usefulness of the pentabomb, though, is that it will be the primary gateway into Asplosion Chains which will be the quickest way to net points in the game. Whenever a pentabomb is destroyed, it will set off a unique explosion that will set off subsequent explosions in nearby enemies which will, so long as a pentabombs initiated the chain, set off explosions of their own to continue the combo chain.

From a gameplay standpoint, the idea is that the player may not always want to blast the potentially numerous and annoying pentabombs until certain moments in the game when there is a potential for not only a large enemy asplosion chain but, also, a chain consisting of numerous pentabombs to increase the score multiplier of the entire chain. Whether any of this will translate into actual "fun" gameplay has yet to be seen, but it seems like a decent way to make even a basic, primarily harmless (unless the player runs into it) enemy an asset to the player.

In other news, both Burnout Paradise and Cloverfield are totally rad.




Creating a GPU-Friendly Terrain Renderer

In yesterday's entry I went over some of my experiences and thoughts in regards to the Terrain Rendering Using GPU-Based Geometry Clipmaps algorithm. In the process of working with this algorithm, I was actually faced with the fact that I my video card could easily thrash a great deal of geometry being thrown at it without breaking much of a sweat. In thinking more about this revelation, I decided to carry out my musings in regards to the usefulness of the geoclipmap implementation as opposed to something far more simplistic with less overhead and, presumably, more room for variation.

I've always been a big fan of the Geometrical MipMapping algorithm for terrain rendering to the point where I asked its creator, Willem de Boer, to write the foreword to my book. Geomipmapping was, far and away, my favorite of the three algorithms which I discussed in my book, and was also one of the two algorithms I chose to write about in my Graphics Programming Methods chapter. So, when trying to figure out a very GPU-friendly way of handling this D3D10 terrain renderer it should come as no surprise that the base of the implementation would be geomipmapping. I think the mesh structure is absolutely perfect for GPU optimization, something that I didn't really have the resources to rely on four years ago.

So, the first part of the implementation that I worked on was the basic mesh structure; I don't have much of a need for a dataset larger than 2048x2048 height set, so I created a mesh structure of sixteen by sixteen mesh blocks of 128x128 vertex resolution. Since I'm developing with Direct3D 10, I get the absolutely joyous knowledge that I'm guaranteed functionality for vertex textures, so I can create a single vertex buffer for the 128x128 resolution block, and that's all that is required as far as vertices are concerned. I'm planning on having about four to five LOD levels, so I'm planning on creating one index buffer per LOD level. So, given all of this, I can manage to render the entire terrain in one draw call per LOD level. I can render all of the blocks of a given LOD by just instancing their origin into the shader and the vertex shader should be able to take care of all of the rendering details (I think I may be able to handle crack-fixing within the VS as well, but I'm not sure about that quite yet).

One of the oddities I ran into last night was that the non-instanced rendering of the mesh (I'm not using any LOD management yet) seems to be running about thirty to forty frames-per-second faster than the instanced rendering. I'm going to try slimming down the instance data (I'm currently using a transformation matrix, but I should be able to just pack the data into two short values instead), but I'm not sure if that will solve the differences or not. Shots below (non-instanced on the left and instanced on the right):

Once I had the base rendering working, I then shifted my attention to getting the height values being read in correctly from the height data by sampling the texture in the terrain's vertex shader. This actually ended up being more difficult than I had expected, due entirely to the fact that getting information from the DirectX10 Documentation is about as straightforward as using an extra-large porcupine for a bob-sled. Here's the current vertex shader (still under heavy coding):

VS_OUTPUT RenderVS( VS_INPUT vsInput )
VS_OUTPUT vsOutput;

//Get the world origin using the instance data.
float2 v2WorldPos = vsInput.v2GridPos*v4ScaleFactor.xy + vsInput.v2Transform_Inst;

//Convert from grid XY to world XY coordinates.
//ScaleFactor.xy: Grid scale.

// //Compute coordinates for vertex texture.
float2 v2UV = v2WorldPos + float2( v4ScaleFactor.z, v4ScaleFactor.z );
v2UV.x*= v4ScaleFactor.w;
v2UV.y*= v4ScaleFactor.w;

float y = texFineLevel.SampleLevel( samFineLevel, float2( v2UV ), 0 ).r*128;

vsOutput.v4Position = mul( float4( v2WorldPos.x, y, v2WorldPos.y, 1 ), matWorldViewProj );
vsOutput.v2TexCoord = v2UV;

return vsOutput;

Anyway, here's a look at the terrain as it exists right now:




How I Got Into Games

Every now and then it's nice to talk about game development; how to get into it, and what it's like to actually be a professional game developer after years of being a part of game development communities on the Internet. This post was inspired by a blog entry by the ever-fantastic Steve Gaynor. The entry is titled "Informative" and he discusses his approach to getting into level and game design from the perspective of someone who had no idea how to get into game development. It's a fantastic read and is a completely different approach to the way I got into game development.

One way to get into the industry is have the general knowledge of what game development consists of and keep this in mind as one progresses with his/her education. Maybe someone looked up a game school like Digipen or a trade school like Full Sail. I know a number of people that have gone this route and gotten good jobs in the game industry (one of whom is a close friend and colleague at Stardock). There are also a number of people who got into the industry in a sort of traditional training/educational manner. These are the people that maybe knew an widely-accepted path of learning a given artistic or programmatic trade through classes in high school and then continued the advancement of these schools through college. Both of these are very viable methods of learning the necessary skills to get a job in a very unique and competitive industry.

But that's not how it worked for me. And I have some of my personal history and some very unfortunate evidence of my past projects to share along the way.

I grew up with video games. Sure, I also had a fondness for basketball and, eventually, cross-country, but video games were always a consistent force throughout my life. I got a copy of Super Mario Bros. 3 from my grandparents for Christmas when I was around five or six. The problem that I remember back then is that I got this game and I didn't even have an NES. I wasn't sure what their angle was. I thought it was either a mean trick or my grandparents had no idea that a game cartridge wasn't a self-contained video game-playing entity. But I clutched that copy of SMB 3 in my hands for a week or two. At some point I accidentally dropped my copy of Super Mario Bros. 3 in a toilet. After that unfortunate event -- still not having an NES of my own to play -- I had an urgent need to visit my friend's house. He had an NES, see, and I had to ensure my holy grail hadn't been corrupted. Thankfully, it wasn't, and shortly thereafter I had an NES of my very own to play it with. It wasn't until I was eleven or twelve that I really ever started wondering how video games were made. But, that did happen, and it was, as is tradition for the small town of Kalkaska, Michigan, during an incredible blizzard that I started screwing around on a computer. Before I go further, I want to ensure we have the same picture of a winter as I do; these are recent pictures but you can't really tell the difference between back-then and now in this context:

So, there I was on a day where I clearly wasn't going to be visiting any of my friends, playing, most likely, a game of Warcraft 2 on the family computer that was used almost exclusively for word processing software. My immediate family wasn't a very technical bunch while I was growing up. Even this computer, the first one our family ever owned, was given to us by my grandfather (who worked as a computer analyst). At some point preceding this blizzard-filled afternoon, my cousin, who grew up in a very tech-heavy family, introduced me to QBasic and some basic Snake game that he downloaded off the Internet that was made with QBasic. So, on this day, I opened up QBasic like my cousin showed me and read through the in-program information and documents -- they weren't well-written, numerous, or particularly useful -- and began cranking away at a text game which integrated some text-based animations and my homemade Chiptune compositions. At some point I tried adding actual graphics to these games but, well, I was an eleven-year-old trying to figure out how to do basic computer graphics isolated of any knowledgeable help. I think I made a circle with one eye near the circle's origin and the other a few units to its right. It wasn't pretty.

A couple years later (and months after I stopped using QBasic for anything) and I was a fourteen-year-old with a far newer computer and an actual internet connection (a 28K dial-up modem). And it was at this point that I actually started wanting to learn how to make computer games using the same kinds of tools and information that the real "game people" used. I hopped on the Internet and, eventually, learned about C/C++ and how these languages had something to do with video games. I was working as a bag-boy at a local grocery store around this point and, with my first or second paycheck, gave my Mom the money to order a C++ programming book from Amazon.com (I reassured her that the site was safe and that she could use her credit card).

As soon as I got this book, I started reading and learning about the intricacies of the language. It was hard. I worked at deciphering what was an absolutely cryptic and confusing set of skills and information every single day after I got home from bagging groceries, cleaning bathrooms, and chasing after carts. Sometimes I had to read the book without immediate access to a computer to test new C++ functionality out or to try transcribing a sample program from the book into a free C++ compiler that I downloaded off the Internet. And I did this sort of thing nearly almost every day for a summer. And then school started back up, the book chapter on pointers was proving asininely complex, I joined a Cross Country team instead of a Basketball team (the running folks were way nicer and more relaxed), and forgot about my C++ learning for a while.

I didn't stop programming during that lapse in my C++ learning, though, which surprises me to this day. I ended up borrowing my mother's TI-86 graphic calculator for the math classes I was taking through my sophomore year of High School. And, one day during a class on Michigan History, I was playing around with my calculator and realized that it had a program editor installed. I went home that day and looked up information on the TI-86 and the kind of games that people were making for it. And through a series of nights working on a TI-86 BASIC program editor and tweaking the results in the middle of some of my high school classes I came up with a TI-86 game of my very own that the Internet has preserved for almost eight years: ARENA. The game won me a book from a site dedicated to TI-86 programming.

It wasn't until my last Cross Country meet that I had a mid-race revelation that ended up being kind of important; it was the one that reminded me that I stopped learning how to program and that I should pick my book back up again and start, once again, from the beginning. The one thing I did differently when I picked that book back up ended up becoming one of the most important lessons I like to relate to people who want to get into the game industry: join a community of people who share your interests. I joined GameDev.net, a community-focused site that was focused on its namesake: the development of video games. It was through this site, and others like it that have since ceased their operations, that I learned the most from and made a huge number of contacts and friends. I joined the site's IRC channel and talked to a bunch of other development veterans, which was helpful, but also to a group of people that were in the same situation I was in: learning on their own time and trying to make sense of all of the complexities of game programming. At some point, I got a group of people together (ignore the "Royal Rainbow" near my name; that's a result of antagonizing my fellow moderator last year about the lack of color to our tags) to make a game, had a bunch of people argue about what the "team" wanted to work on, and then all storm out of an AOL Instant Messenger group chat room. But I did meet some people that I worked closely with for a few months. One of the "games" that was born out the work done by myself and a fellow GameDev.net developer also, unfortunately, survived through the last eight years: ARENA: Evolution, the "sequel" to my TI-86 game.

And so my self-teaching went on. At some point I picked what I still consider to be the most game programming important book I ever bought (despite now realizing how many horrible practices it taught me): Tricks of the Windows Game Programming Gurus. I probably read this book cover-to-cover about three times trying to properly understand COM, DirectX (specifically, DirectDraw), and some basic tenets of game programming. And I worked with DirectDraw on some failed demos and little games for a few years; some screenshots of these awful projects can be found below. I didn't really grow to appreciate the concepts of color, scene composition, aesthetic design, and other such invaluable traits of a good game designer until at some point in my college career. It shows, yes, I'm well aware. I eventually moved into 3D game development with OpenGL with the help of Nehe's tutorials. These tutorials teach poor programming and development practices but were, at the time, a remarkably simple way of learning basic 3D programming. I ended up writing a basic series of game programming tutorials for NeHe but I had those taken down as I felt they gave some incorrect information and poor practices.

I contacted the author (Andre LaMothe) of Trick of the Windows Game Programming Gurus a couple years later, when I was around seventeen or eighteen, and eventually this action led to a book publishing deal for me. It was a very strange concept to get my head around but I finished that book and, surprisingly, didn't get beat up every day of High School for it; in fact, I actually made a bunch of new friends as a result of conversations about my book. I consider it be an absolute piece of trash both technically and stylistically (text and code) but, hey, a little selling-out never hurt anyone.

When I went to college at the University of Michigan I was certain that I wanted to be a game developer. I was eager to learn some proper programming information from the professors who spent their life developing applications -- maybe even games! -- using the kind of information that I've hacked together throughout the four-five years of learning I did on my own. It was tremendously exciting.

And then my first year ended and I didn't really enjoy programming anymore. Something about being taught the same programming principles that I forced into my brain on my own time became a dull, uninteresting endeavor when they were related to me by a college professor. I didn't see the relevance to video games in the examples that were discussed in various lectures and lab sessions. And when the video game angle was removed from the sort of technology and programming that I was so passionate about growing up I realized that I didn't care very much. I also had real concerns about how well I'd function in an office environment being that I was, throughout the entirety of my life, a very active, energetic, and oft-rambunctious person. I ended up dropping out out of the College of Engineering and switched to the school of Literature, Science, and the Arts. I received some strange looks during this process. People have to apply to transfer from LS&A to the College of Engineering but doing the opposite required only a signature from a College of Engineering advisor. So I did that. I switched my intended major from Computer Science to English.

I went through my second, third, and fourth years of college, at this point, with the intention of becoming a High School English teacher. I thought that I just wasn't cut out to be a programmer and, as such, didn't really have any marketable talents that would get me into the game industry. I really enjoyed a year of level design using DOOM 3's Radiant level editor and a bit of mod work within the Half-Life 2 Source Engine, but I considered those things hobby work. I also played with Torque Game Engine a little bit. Throughout this time I took a variety of classes about linguistics, literature, Roman/Greek history, and a number of creative writing courses which were all tremendously fun for me; I met a ton of cool people, learned new things, and realized how much I love writing. So throughout this period where I just enjoyed being a pretty unfocused college student who dabbled in a bunch of aspects of gaming and game modding I realized how much I enjoyed simply writing about games. So I did that. Often.

But, despite being a very connected person who still enjoyed talking to hobbyist game developers via IRC daily, I never once thought that I could have tried to get into the game industry like how Steve did.

Near Christmas my senior year of college I read about something that Microsoft was releasing to the hobbyist game development community that would allow independent game developers to make games for the PC and the Xbox 360 using the same code. So I downloaded the very first release of XNA Game Studio -- a beta that would end up being v1.0 of the development environment. I didn't know C# at the time so I was, in essence, trying to remember everything I knew about C/C++ (which was a bit rusty at that point) while also trying to apply those principles to C#. I ended up trying to replicate some of the graphics techniques I messed with when I was still in high school such as non-photorealistic rendering techniques and my favorite graphical feature of all time: particle engines (though, now, I find myself to enjoy programming new game mechanics and thinking about game design more than graphics).

I showed these images to one of the friends at Stardock that I had maintained contact with throughout my college career and, eventually, got an internship. It was a pretty simple endeavor, primarily because I interviewed and received an internship position withStardock back in 2004 near the end of my freshman year of college. I didn't have a car and as the time neared for me to actually start the job I also didn't have the money to purchase a car so, much to my disappointment, I couldn't take the job. But, three years later, I accepted a position as a game development intern at Stardock Entertainment working on a number of features for the recently-announced Elemental: War of Magic. My internship ended up transitioning into a full-time game developer position as I took my final class at the University of Michigan alongside working at Stardock from September 2007 until my graduation with an English degree in December 2007. And this is me at my desk playing with the iSight on my Macbook right as I was packing up to leave work this evening:

When I started this entry my goal was to discuss, concisely, how I got into game development and to give recommendations to anyone else who may be living in the middle of rural nowhere with a 28K dial-up modem. As I started writing, though, I realized how the beginning of my "game development career" began from apre-teen kid screwing around on QBasic on a 486 Packard Bell that was given to my family by my grandfather (who passed away last month). As simple an activity as that was, it was enough to get me to realize the kind of thing I wanted to do "when I grew up."

It's widely-believed that persistence and hard work are the two most necessary traits for any game developer. I absolutely agree with that. I'd like to add, though, the importance of communicating with other developers whether someone is just getting started or has been in the industry for years upon years. Much like when I was fourteen and using our family's new computer to talk to people about programming, I still find that sharing my development and gaming experiences with other like-minded people, even if I've never met them before, never fails to get me excited about the fact that I make video games. My work consists of making games that, in my opinion, are amongst a small group of definitively-PC games being made in the industry right now. And, when I get the time, I sit on my couch working on a MacBook to try and develop an iPhone game that will make good use of the platform's strengths while still being the kind of game that I love to make.

So, thanks Grandpa. You were the cause of me being, like, a super nerd.



Sign in to follow this  
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!