Jump to content
  • Advertisement
Sign in to follow this  
  • entries
  • comments
  • views

Entries in this blog


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.




The Sims 3 Looks Rad

I absolutely love this "rise of the social single-player game" sort of mini-march I'm seeing occur in the industry right now with games like Spore, Fable 2, and Animal Crossing. With the announcement of The Sims 3 came a great deal of information about what EA Sims felt were the important parts of the Sims 2 and, thankfully, it seems they truly understand what was important about The Sims as a franchise. When it comes down to it, the Sims has never been about house decoration nor has it been about treating your Sim as a digital Barbie doll. These are things that players took and ran with to an extent that I'm not sure Will Wright had intended and, due to this, the franchise ends up with expansions pack which add more accessories and things to add to the Sims' living quarters than they do to enhance the single most important aspect of these games: the player-Sim bond in a world inhabited by other bit-breathing, digital-living Sims.

Casting aside the unnerving amount of joy the player-base gets from torturing Sims -- putting them in a house, making them drink water all the time, and never placing a toilet -- or letting Sims into a new room and then removing the door, the thing that sets the Sims apart from any other franchise is the bond that develops between the player and the Sims he/she controls. Whenever I first started playing a Sims game for the first time my only goal was always to experiment with all of the tools the game offered me. I'd see what kind of things I could design -- houses and Sims -- and I'd see what I could exploit in the game world to test the reactions of the Sims. This generally results in a very poorly-played game, unhappy Sims, and serial-killer levels of dead Sims. Playing the game like this fails due to one simple fact about it: at its core, The Sims 1 and 2 are actually fairly complex strategy games. And one of the reasons the games work so well is that there this weird little bond that the player can develop with the Sims within any given household throughout, as the Sims 2 introduced, the lifespan of an individual Sim from its teeny-tiny diaper-wearing days until it died of, if you maintained its basic needs well enough, old age. And with the Sims 3, the game will now have all members of a neighborhood age together, so that numerous generations of Sims within one household will no longer always be haunted by that tramp Betty who has, at this point in Timmy's life, made out with both Timmy, Timmy's father, Timmy's grandfather, and Timmy's grandfather's friend Jim (who, as chance has it, is also Timmy's current best friend).

One of the smartest decisions that the original game made was to never have any of the Sims speak even a single line of identifiable language. The inability for a Sim within the game to utter the same tired catch phrases, one-liners, and "you clicked me!" bits of dialogue allows the player to continually think of the Sims within a game as far more identifiable and lovable versions of Tamagotchis. Their inherently humanlike appearance and behavior further solidifies the ease of which a player can feel "closer" to their Sims in a way that, say, a particular unit in an RTS can't. The reason that I still maintain such an absurd amount of excitement for The Sims 3 is that, in their announcement for the game, the need to micromanage the aspects of Sim behavior that no one really likes dealing with has been eliminated. There is no longer a need to try and save time by finding an ideal moment in the "Bladder" gauge of a Sim so it can relieve itself without disrupting whatever you have planned. A player will still have to allow a Sim a bathroom break but, now, the player won't have to be consistently reminded that a Sim will, at some point in the future, reach critical mass. Obscuring the more trivial aspects of a Sim's life while maintaining the basic gameplay mechanic should, so long as additional micromanagement reminders aren't added in its place, should make the overall game so much more enjoyable.

The absolute coolest thing about The Sims 3, though, is going to be the way that character designing portion of the game is going to handle the creation of a unique personality for a given Sim. Gone is the pseudo-RPG stat management that went into creating a personality for Sims in the first two games that had a certain neatness value that, for the most part, had no place in a game like this. The Sims 3 is introducing a trait-based personality system that will have players choosing five traits from a pool of ninety-plus total traits. Using these five traits, the game will define the entirety of a Sim's base personality. So, let's say I wanted to create Sim Trent, I'd choose the Workaholic, Talkative, Enthusiastic, Opinionated, and Creative/Logical depending on the mood Real Trent was in when making Sim Trent. These five traits would then define the base personality for Sim Trent and, along with his physical make-up, allow Real Trent to go into Sim Trent's life and play the kind of game that he, er I, think(s) Sim Trent would most enjoy. It's a fantastic way to handle what, before, was an unnecessarily confusing system that had entirely too many gameplay ramifications attached to it.

I wish Games for Windows had the various prototypes that EA Sims had their designers make before starting any serious development on the game up on their website (as it is, it's "coming soon") as that was the primary motivation for this column and for my next design/development project. When I notice it's up I'll certainly cover it if the prototypes end up being as interesting as the three they had listed in their magazine.




The Appeal of Real-Time Strategy Games

Video games are such a fantastic medium. I just finished playing through Gears of War cooperatively with a friend over Xbox Live and it was absolutely enjoyable, hilarious, and challenging as hell. As a child of the, uh, Manboy Generation? YouTube Generation? Whatever kind of generation I'm a part of, growing up with video games has obviously had a large influence on my life being that I am what some may consider a "hardcore gamer" along with being a game developer, designer, and so on. So, basically, my abnormal interest in games is a well-founded and, I believe, a very beneficial one. And as I was sitting here a second ago working on some optimizations for my near-finished old-school shooter in the vein of classic games like Asteroids and Robotron I realized that, above all else, Real-Time Strategy games remain the genre I most enjoy and love to think about. So many of my favorite games are RTSs that, occasionally, I am prone to ponder what makes them so awesome. This shortly-conceived and hastily-transcribed article is a sort of general, informal monologue about the genre.

One of the reasons that the genre is so immensely popular is that the games that exist within its boundaries lend themselves to an extreme amount of consideration and study amongst the hardcore audience of players. Much like certain first-person shooters like Quake, Quake 3, and Counter-Strike attract a very dedicated group of hardcore players who memorize the layouts of every map and can absolutely thrash even "very good" opponents in tournaments with ease, certain real-time strategy gamers gravitate to specific titles that are particularly conducive to gameplay which rewards a deep, occasionally disturbing, level of understanding of the game mechanics. The game that immediately comes to mind when thinking about the genre like this is no other than Starcraft, which, particularly in Korea, has an overwhelming number of gamers which treat the game like a religion. I've heard rumor of Starcraft tournament stars being likened to the traditional rock stars of American culture. Whether this claim has any legitimacy is unknown to me, as I haven't really traveled to Korea lately, much less a Korean Starcraft tournament.

For me, the appeal of the genre doesn't quite stretch to the hardcore understanding that would lead me into victory in any tournament. My favorite RTS is, without a doubt, Rise of Nations. I feel that this game is the perfect blend of typical RTS research-and-attack conventions while also having a very unique and interesting economy. I was never a much of a heretical fan of the Age of Empires series (though I have enjoyed them greatly) and, for me, Rise of Nations a fantastic middle-ground between Civilization and more action-oriented RTSs like Command & Conquer and Warcraft that Age of Empires slightly missed. In the early parts of the game it was necessary to build up the area your central settlement and explore the continent you were spawned on while also researching your way into the next epoch. At some point, you'd expand your settlement (and this was a necessary step unlike a game of Warcraft 2/3 where an expansion base may not be the best idea) and then start establishing trade routes, building up your borders to ensure a strong defense when a foolhardy opposing tribe thought they could break down your walls and lay waste to your settlement early on in the game. Each game had a truly epic sense of scale as it took you from spears to fully-automatic guns, bazookas, and a staple of any good game: nuclear weapons. The game also had alternate victory conditions that didn't necessarily rely on violence (thought you would, almost definitely, engage in a handful of skirmish). Most importantly, though, this game did not require intense micromanagement for the most part -- though, in the late game, effectively managing all of one's settlements was an absolute pain -- and managed to contain all of its gameplay in a timespan under two hours which, for me, is probably when my attention for any one gameplay session begins to wane.

As I think about it now, the reason that Rise of Nations captivated me the way it did was due to its superb ability to pack all of my favorite things about turn-based strategy games into a real-time strategy game progression. Some games I loved playing an aggressive military game while others I enjoyed playing defensively and researching my way to victory while other times I enjoyed doing nothing but researching my way to nuclear weapons and blowing the rest of the map to radioactive wasteland. What it all boils down to is that real-time strategy games work because they promote a certain level of decisiveness in the gamer that can be reflected in-game surprisingly quickly whether it be related to a research choice and the immediate and long-term consequences, a choice to position a tank in combat somewhere specific or to put extra money into artillery instead of a tech which would boost your economy, and so on.

RTS games are, fundamentally, a microcosm of real-life topics and gameplay mechanics. They contain real-time combat that is dependent on tactics both big picture and instantaneous decision, balancing an economy that must fund both research and military, defense of your home base(s), exploration, and expansion. Sins of a Solar Empire, for instance, is a relatively slow-paced game that has its foundation in a lot of 4X (eXplore, eXpand, eXploit and eXterminate -- why it's not a 4E game has always boggled my mind; I guess X is just in a more extreme segment of the alphabet) turn-based gameplay that puts as much emphasis on economy and diplomacy as it does combat. In the end, Sins is primarily won through combat but the intelligent player is able to leverage a particularly strong economy to form alliances with other players in a multiplayer game who can function as the sword to his savings. Company of Heroes, on the other hand, is a game which is firmly rooted in combat. It still gives players a variety of possible play styles (I like to play infantry- and artillery-heavy) but the reason the game is a success is because it places such a fine point on its combat that, instead of focusing on large-scale economy decisions, the choices the player has to make are now large-scale combat choices -- how to capture territories and key points in a way that, if attacked in the process, will result in the most damage to the opponents forces and the least to the player's. So a player could rush into a point with a single piece of armor and a pair of infantry forces to capture the point while being supported by heavy machine gun fire, mortar shell launching, and the ability to call in a precision artillery strike if a hasty escape needs to be made.

The possibility for a large-scale RTS which manages to seamlessly mix the large-scale issues of research, diplomacy, and economy of a player-driven empire along with the less time-intensive and more short-term rewarding nature of visceral RTS combat is an idea which I absolutely adore. The day a game like this comes about is the day that RTS gamers can have their life-ending World of Warcraft.




Asplode! Optimizations and Beta Status

At this point, I think that it's fairly safe to say that the meat of Asplode! is finished. All of the primary gameplay is in place, the enemies are all implemented and handled in a state that I'm fond of, and the player controls, responses, and such are all implemented. At this point any more features that I add to the gameplay portion of the game are either polish points or experimental ideas that I may or may not keep as part of the game (a few automatic weapon upgrades, various ideas as to how to handle the score multipliers, and whether or not I'll allow the player to acquire more ships/lives as the game progresses or not). I mean, I still have to add the main menu, restarting/quitting mid-game, and handling option changes dynamically instead of by text file and such, but unless there's something I'm vastly underestimating about this process (I'm not having a fancy UI or anything), it shouldn't take more than two more weeks -- as I'll be gone all next weekend.

That all said, what I'm struggling the most with right is performance. The game runs smooth and excellently for the first two-three minutes but, shortly after the two-hundred second mark, it started chugging something fierce. My first response earlier this week was that it was, obviously, the particle system and its insanely inefficient rendering method where I filled a vertex buffer per-system and then rendered the contents (per-system). I remedied this by batching all of the particle geometry together into a single write-only vertex array/buffer indexed by a static index buffer and rendered all of the contents in a single draw call. The number of particles doesn't generally spill over into a second batch but, even as a worst-case scenario, that's two draw calls total for that. Pictures from that experiment (this actually went really well and I only had one screw-up):

That improved the overall framerate a decent amount but it still was, clearly, not the main problem. The only other huge graphical culprit that could have been causing a problem were the vector model rendering routines. When I started looking over the source code I realized that these were the first things I wrote when I switched back to XNA after my D3D10 experiments and the code was absolutely atrocious. I had two draw calls per every model and, on top of that, I was generating data for each of the models from the source XML data whenever a new enemy was created. So, not only was I reading and parsing the XML data but I was generating all the geometry from the minimal data in the XML. It took most of Saturday to sort out all of that and batch the model rendering routines together and, in the process, I made a number of pretty-looking screw-ups:

This gave me an enormous overall boost and almost a quarter reduction in the total memory usage of the game by the 250 second mark where, as of now, it's now running about 45-50fps on average (but on my pretty-decent machine). This is an enormous gain from where I was at a week ago, but I still have a number of other optimizations that need to be made. To start with, I'm going to eliminate all dynamic memory allocations made during the course of the game to the best of my ability; I may not be able to account for cases where games go on for a very long period of time but I can, for the most part, account for a hefty majority of the gameplay that most people should see. Luckily for me, I'm a pretty good shoot-em-up player and, I figure, if I make performance perfect for the longest game I'm able to play and then some, I'll be in good shape.

I'm officially declaring the game in beta testing status as of now and here are some screenshots from a playthrough an hour or so ago.




Annoying Things in Gaming

Following my cohort's lead, I'm going to list some things or trends in video games which bug me in some way shape or form. Poorly-Placed Checkpoints: In games which have a checkpoint save system, the checkpoints are occasionally very poorly laid out; when the player overcomes a particularly difficult/annoying puzzle or makes it through a rough combat scenario not having a checkpoint immediately nearby does not add to the game's difficulty level. All the lack of a checkpoint does is make the game unnecessarily annoying. As both God of War and Ninja Gaiden display particularly well, action games can still be tremendously difficult in situations without resorting to lack of well-placed checkpoints. This also applies to real-time and turn-based strategy games which handle auto-saves poorly. This gripe applies, most recently, to Army of Two's brolicious bro-with-bro killfest.
Poorly Implemented Multiplayer: The prevalence of excellent single-player games to simply tack on a very horrifically developed multiplayer component just to get the "Online Multiplayer Support!" bullet-point on the back of the box is simply mind-numbing in its stupidity. The time spent making an otherwise enjoyable game feature ugly multiplayer game modes could have easily been spent polishing the actual gameplay and, in the end, making an overall better game but, instead, the importance of the bullet point tends to win out. The Darkness for the PS3/Xbox 360 is a recent example of a game with an innovative single-player campaign but, yet, horrible and dull multiplayer. What makes this particular case so depressing is that the game's engine could have used additional optimization and polish and it would have resulted in a far more enjoyable and well-received experience.

The other side of this gripe is poorly-implemented multiplayer features in a multiplayer-focused game where the actual online gameplay can be a riot but the server browser and lack of necessary social features ruins the overall experience. Battlefield 2, for example, was an exemplary online team-based shooter that was heavily hampered by a pathetic server browser (complete with no-ping servers, filters that only worked when they felt like it, and a server list which would not let the player interact with it while it queried for servers), no in-game messaging or, even worse, no friends list whatsoever. A sore point in my gaming 'career' is Rise of Nations which, as anyone who knows me can relate, is a game I worship from head-to-toe like a beautiful Egyptian goddess queen. The GameSpy-driven online components, though, were so bad that I only was able to play two or three games before I become utterly disparaged and cried myself to sleep for weeks.
Lack of In-Game Voice Chat: Along the same lines as the above item, there's really no excuse for a team-oriented multiplayer game not having in-game voice chat in today's high-bandwidth laden environment. I mean, I end up in Ventrilo, TeamSpeak, or XBox Live voice chat most of the time whether the game supports it or not but there are still times when I just want to jump in a game with and against a group of random people where I would like to either shoot the proverbial shit with people along with having the ability to coordinate strategies with teammates. I've been playing Company of Heroes a lot lately and it seems like a crime that this game doesn't have VoIP (Voiceover IP) given the complexity of the gameplay. Enemy Territory: Quake Wars was released with any in-game voice support as well which, given its action-oriented, team-based gameplay, is nothing short of an atrocity (luckily, developer Splash Damage realized this and has since issued a patch which include very well-done VoIP).
No Windowed Support: This is a PC-only complaint but, at this point in time, if a game doesn't support windowed mode or, in an arguably worse scenario, is an RTS which supports windowed mode but does not capture and contain the mouse when the window is in focus, I will still play the game but it will not have legs in its gaming lifespan. In all but a select few cases (Company of Heroes being the most notable) I always play a game in windowed mode due to the simple fact that I'm a social butterfly that loves to talk while I play games. If a game doesn't support windowed mode and doesn't support my monitor's native resolution then the result is simple: I will absolutely not play this game. I hate playing games on an LCD that will not run at a native resolution due to the feeling that I'm looking at an ugly, stretched display of the game. And this makes the graphics programmer that resides within a certain portion of my brain a sad, sad panda.
A Limited Camera: Specifically, I hate Real-Time Strategy games that will not allow me a zoom level in a reasonable range. The 3D Command and Conquer games (C&C: Generals, C&C3, and The Battle for Middle Earth 1 and 2 which used the same engine) along with coconspirator Petroglyph (Star Wars: Empire at War and Universe at War) are particularly guilty of this sin. When I play an RTS and feel hampered by the severely limited maximum zoom level of the game it becomes a major distraction for me while I'm playing the game. In Universe at War and TBFME2 this was particularly noticeable as I was a great number of units (in TBFME2) or enormous units that wouldn't fit on a single screen (Universe at War). I understand that there may be technical limitations to a distant zoom level but do whatever it takes to allow me to play the game at a comfortable range. In the RTS genre, being able to get a decent overview of the battle is absolutely key and being unable to see that at a glance at a decent size -- minimaps don't count -- ruins that aspect of the gameplay. Not all games have to have ridiculous levels of zoom like Supreme Commander and Sins of a Solar Empire, though, as Company of Heroes makes up for its fairly limited zoom level by having a completely free camera and a very well-done tactical map.
Godzilla-Sized User Interfaces: It's very easy to design an in-game user interface (which is what's it called in an RTS; in an FPS it's more of a Heads-Up Display/HUD) which doesn't take up half of the screen. Age of Empires 3 and Supreme Commander both released patches post-release (AoE3 had its patch on release day) which offered the ability to significantly decrease the size of its UI -- this should always be a priority for RTS game designers. If it's absolutely impossible to fit all of the various controls and buttons and bars and icons in a minimalistic UI then allow the user to decide if they can do without certain things. Look at the evolution of the Supreme Commander UI, for instance, on release, after one patch, and in its expansion (and I'd imagine in a patch to the original game). The current UI is a beautiful thing since I can, you understand, see the game.
Post-Release Support: I can't emphasize the importance of post-release support for games enough. It may be a sad state for PC gaming that certain titles aren't "complete" when they are released but, at this point, games have gotten so complex that I'm understanding about titles that seem to lack a certain amount of polish upon release so long as the developers are candid and open about the problems or imbalances a given game has and what they plan to do to fix them at no additional charge. There are so many games I've played that have been completely mediocre on release but, yet, turned into some of my most-played games ever after some quality patches or even after some fantastic expansion packs. Soldiers: Heroes of World War II and Titan Quest weren't actually all that great until they received some hefty post-release support in patches that added a great deal of absolutely must-have features. Sacred, one of my favorite hack-and-slash-games, become an entirely different game solely because of its post-release patches. Other games, Titan Quest included, also become all-around more enjoyable experiences -- whether they needed it or not -- with expansion packs; on the list of these games I would cite Warcraft 3, Diablo 2, Galactic Civilizations 2, Supreme Commander, Sacred, Company of Heroes, Starcraft, and many others I'm sure I'm forgetting.
The Rest of the Pack: Here are just a minor list of things which primarily speak for themselves: Bad AI, Lack of cooperative modes (in games which scream for it), Poor endings/ending sequences to otherwise fantastic games, Bad controls, Unoptimized graphics, Lack of system scalability, Unnecessary item collections, Fetch quests, MMO gameplay... And, really, this list would go on if I allowed myself to think about so many of the "little things" that crop up in games which deserve to be so much more than their tiniest of problems allow them to be. Given the development cost of games, tight schedules, and publisher pressures, it makes complete sense that some games may get hurried out the door before they get a chance to be truly "finished" or polished but, if the platform of discussion is the PC, there's no excuse for a lack of post-release support. The most saddening case of annoying features in games is when someone thinks a particular aspect of the game is an actually a design decision like the use of unbearably limited zoom levels in RTS games...

This was a fun little rant.




Asplode! Screenshot Dump

Not that I spent recent nights playing stuff like Army of Two, Mystery Dungeon: Shiren the Wanderer, Company of Heroes, Master of Magic, Supreme Commander: Forged Alliance, Bully, Ratchet & Clank, Geometry Wars, Everyday Shooter, Advance Wars: Days of Ruin, or God of War: Chains of Olympus instead of actually updating my dev journal or anything... But, yeah. Pretty much did exactly that. I've still gotten a bit done on Asplode! every night but, by this point, I'm mostly making various optimizations wherever I can to support the ludicrous amount of enemies and their assorted particle effects on screen in the mid-to-late game. Here's a screenshot dump of shots that would have been attached to journal entries if I wasn't playing so many games lately:




Video Games Need a Divorce From Hollywood

It seems like it's time for the video game industry to grow up and realize that it needs to start producing games with the idea that the experience they provide to gamers is one wholly unique to the industry. I finally saw There Will Be Blood earlier this week and, after witnesses the absolutely mind-numbingly fantastic performance of Daniel Day-Lewis I came to a fairly obvious realization: games will never provide an experience as fulfilling, captivating, and, most importantly, truly captivating viewing experience as a movie like this.

I don't mean that a game will never have the ability to provide a thoroughly enjoyable, thought-provoking, and memorable experience. The primary distinction that needs to be conveyed is that, in their current form, video games seem to be handling their narratives in a wholly unoriginal form. So many video games released for both PC and consoles over the last year try to present what is, quite honestly, a mundane story with adequate voice acting in the same form as a movie may try to present a story: through non-interactive cutscenes. It seems absolutely insane to me that, as advanced as games have become, the industry still has yet to get past the idea that the only way to present stories is through heavily scripted scenes. I understand why the desire to force players to sit through a noninteractive or unskippable cinematics; developers put an absolutely ridiculous amount of time into developing their games and planning out their storylines and so on. So much work that it seems crazy to make the storyline in a game subtle or completely optional. But, by that same token, I know a great number of gamers who simply skip past any and all cutscenes that show themselves in any game.

There are, basically, two categories of games when narrative is the topic of discussion as far as I'm concerned: abstract storylines and concrete narratives. I consider games which place the game front and center as a game with an abstract narrative. These are games where, for the most part, there is no requisite story or the gameplay defines the player's interpretation of a story. A game like Geometry Wars, for example, has no real story whatsoever. In my experience, and I'm not making this up, I tend to make-up completely irrelevant storylines to complement the gameplay; I'm destroying the crap out of these geometry blights upon my galaxy. For what, you may ask. To this I respond with whatever mood I'm in for that day: for destroying my similarly geometric self's rights, for destroying my convex homeworld, for taking my harshly-edged fiance captive. I do this completely subconsciously and it's something that I never would have realized if a friend of mine hadn't mentioned this game during my midday rant about the same topic as this column. A more concrete example of an abstract narrative, in my eyes, is a turn-based strategy game like Galactic Civilizations, The Sims, or Civilization. There is, in fact, an entire set of storylines which surround any given game in these titles but, for the most part, the meat of the narrative occurs as I dictate it. I have a home world and I expand but, yet, there are the teal race of wobbly-armed balls of goo who are attempting to prevent me from helping my race to survive the depths of space by positioning two giant space ships around the planet I had my eye on. A planet with fertile soil and a friendly atmosphere. I need that planet and these teal bastards are trying to stop me. Why? Who knows. They probably do, but I can make my reasons up as I play. These events occur in-game without any necessary exposition whatsoever and no particularly keen observations on my part, but the narrative is there, whether I care to excavate its meaning or not.

The other type of game is one with a definite narrative. A game with a very well-defined and fleshed-out game world set within a unique or special universe all of its own. This could be a game like Bioshock, Half-Life, Starcraft, Diablo, or Lego Star Wars. These are all titles which present a particular storyline set amidst interactive gameplay. These types of games definitely have a place in the industry as experiences wholly unique to the medium but, in my mind, I would love to see some more chances taken with the narrative expositions. Bioshock, Half-Life, and Crysis are the closest and best examples I can think of that help to bring the industry closer to the kind of definitively interactive types of gameplay/narrative that video games should be representative of. The most important story in Bioshock is not that of the player's dealings with Atlas and Andrew Ryan; no, the most important story is the one presented by the scenery of Rapture (Ken Levine understood this as he indicated in his GDC presentation). In Half-Life 2 the most memorable experiences for me are not being given objectives by the NPCs, it's seeing Alyx's face as she is impaled by a Hunter in the beginning of episode 2 and attempting to take down a Strider for the first time in vanilla Half-Life 2. I don't give a crap about whatever dull story Crysis wanted to present; I was more interested in trekking around the landscape exploring the crevices of the island.

Why should players ever have to completely pause and be stripped of their controls so that a writer can impart his words as voiced by generally poorly acted lines? Video games are the only medium which can present stories in such a dynamic and interactive manner and, yet, we seem to be bound by the conventions of Hollywood.




The Asplode! Mid-Project Hum

This post may seem filled with tired material that I've covered before in my dev journal, but a coworker told me to start posting my development entries on the newly redesigned company-created blogging site JoeUser so, short of reposting every single dev entry there I went with a summary post in the form of a mid-project hump entry.

One of my design mantras -- and I use the word 'design' loosely -- is that while coding the game I keep things as simple, quick, and efficient as possible. As one might guess, this can become problematic at times. Less so in the implementation of routines and ideas so much as it is the necessity of shooting down some gameplay mechanics that, while fun, would defeat the purpose of such a simple Robotron/Geometry Wars knockoff. And, really, that's all I'm hoping to accomplish with Asplode!.

When I started the project my sole goal was to see a game through completion. I never expected to enjoy doing more development-related activities once I got back from a day of work filled with them as much as I am but, since I am, I figured I would take it to the next step. Once I finish with Asplode! I'm going to move onto a slightly more ambitious game idea that, in concept, seems like it could be a lot of fun. Of course, the first step is to actually finish the current game before getting too carried away with thoughts of "the new hotness." This has been the turning point of most of my projects in the past (it also has a tendency to carry into more general areas of life, but that's unrelated): something new comes along that, in my head, has so much more potential to be fantastic that there's really no reason to continue with what I was doing. The Grass Is Greener on the Other Side Syndrome. Yes. I suffer from it and a general case of activity/project-related ADD and it has a tendency to get in the way of attempting to get across the mid-project hump.

Fortunately, knowing myself like no one else can, I knew this would happen eventually, so I braced myself for the "oh, new shiny thing!" problem to come around and instantly gave myself the necessary self-encouragement I needed to get back to work after a week of procrastination: Asplode! is simple, it will only take another month to finish, and it's enjoyable for me to play every time I launch it to test a bug-fix, feature implementation, or whatever. This was very much a game I made for me to enjoy and a sort of cheap little labor of love that, when it's finished, should be a fun little game for some others.

Another fairly important reason I found for finishing Asplode! is that, if the next idea is the "winner" I think it is, getting all of the experience and feedback I can from the current project is a necessity for moving forward. I am, traditionally, a graphics programmer more than a gameplay programmer or game designer (despite being a "hardcore gamer") so it will be useful to hear what people have to say about this game once it reaches a playable state or, since it's already very playable, a distributable state. Getting some feedback about the basic mechanics, the "feel" of the game, the overall aesthetic and so on will prove invaluable when starting my next project. I'm also interested to see how my use of XNA will turn out when it comes time to start giving the game out to people; I'm told that setting up a decent installer will cure the PC distribution fears I've been having lately and, now that Microsoft is turning part of Xbox Live into an XNA-centric YouTube sometime this summer, it will be interesting to see how 360 distribution works out.

All-in-all, in the end, I'm enjoying my time spent developing the game and, despite its simplicity, the game itself. The fact that the game is incredibly easy to get into (and with no fancy tech requirements unlike a lot of graphics demos I've made in the past) and understand is also an appealing idea to me, as I've made clear in a recent article. Though, most importantly for me (as the developer) is the quick turnaround for the project. I started work on the game in the middle of January and, if things work out as I think they will, it should be feature-complete sometime in March. Once it's finished I can move on to the next project which will take a bit longer to develop but, still, should have a relatively speedy turnaround as well. I like that. And now screenshots of one enemy being spawned in a circle:




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.




The New PC Gaming

There have been a startling number of PC-Games-Are-Dying sort of statements coming out lately, the latest of which coming from Cliff Bleszinski of Unreal Tournament fame. This statement no doubt related to the poor sales numbers of Epic's own Unreal Tournament 3 and Gears of War PC. I suppose it's worth noting that Gears of War PC was released almost a year after its 360 version and its relatively high system requirements may or may not be a contributing factor in its sales numbers.

Of course, there is certainly a point to be made here regarding the kinds of sales numbers that PC versions of games see in relation to their console counterparts. A Gears of War PC to Gears of War 360 comparison is fairly meaningless, but a Bioshock 360 to Bioshock PC (800,000 in its first month to the PC version's 80,000) or the order of magnitude difference between the 360 and PC versions of Call of Duty 4: Modern Warfare (383,000 for PC and 3.04 million for Xbox 360). The low PC sales numbers were attributed to rampant piracy by Rob Bowling, the Community Relations Manager for developer Infinity Ward. Although the percentage of users playing pirated copies of the game was never given, it's safe to assume that Bowling's claims were well-founded. A number of companies have attributed poor PC sales to piracy in recent years but, unless there's a vast, overpopulated colony of pirates somewhere that I'm unaware of, if every PC gaming pirate had a change of heart and bought a copy of the game they were previously pirating, I would wager that the total PC sales for a game still would never touch the enormous console sale number.

This, in my mind, is due primarily to a changing PC gaming climate. Video games are becoming increasingly mainstream as is evidenced by a single game like Call of Duty 4 selling over seven million copies across all of the platforms it was released for. The PC is, however, becoming the dark horse platform when multiplatform game releases are the topic. When you switch the topic to something like Massively-Multiplayer Online games there is a different case to be made, what with World of Warcraft's ten million subscribers and the continually high sales of The Sims month after NPD-counted month. Does this trend mean that all PC games should become MMOs and life strategy games? Well, as the sea of dead MMOs would all scream up in one blood-curdling yelp: no.

PC-exclusive games still have a very well-defined place in the world of video games. As a platform, the PC has a lot going for it that consoles can't compete with. For one, it's an open platform that doesn't have to have patches and content packs monetized as a necessity (though it can be if the publisher or developer wishes). As another, it has the benefit of an incredibly wide and varied user base. While I don't have numbers to back the forthcoming claim up, I would say that more people have computers of some form than they have current-gen video game consoles. These computers probably don't all have DirectX 10- or even DirectX 9-capable video cards, but they're all capable of playing games. When I was growing up, my mother was an absolute solitaire fiend. She played the game so often and so much that even my best score (and, as gamers go, I'm no slouch) would have been scoffed at by even this most nurturing of figures. Standard Windows games like Minesweeper, snake, and so on and so forth are basic computer terminology for people. Even if the mention of World of Warcraft falls upon deaf ears, the mention of computer solitaire or minesweeper should get an ear perk.

Yes, I'm advocating the idea of the Casual Game as being a genuinely good sign for PC gaming. Despite what some people might say about the single-person development teams or the garage developers being dead and such nonsense, there is still a very strong place for small development teams within the scope of casual games. A good game mechanic is a good game mechanic; people of all ages and gaming proficiency recognize this as a truth, whether they can put it into words or not. Bejeweled, for instance, is loved by anyone with a pulse. There's something inherently addicting about it. It's nothing that hasn't been done before in some form whether it was a tabletop game like Connect 4 or a Genesis game like Columns. It didn't even have to be the first to think of the game mechanic, it just had to be the first to do it well and make it as easily-accessible as possible. And who's say that a legitimately fun game can't be made out of this simplest of mechanics? If you say something in the negative to that claim, then Puzzle Quest would love to meet you out back for some words. The ease of accessibility is something that Garage Games is taking to heart with Instant Action as well; they already have a combination of games available along with a forthcoming Tribes-like title that by no means should qualify as a "casual game" so much as it should a "fun game" with a unique distribution method.

And none of this is to say that big, complicated PC-exclusive games should be abandoned, because they shouldn't be. The point that is consistently echoed by gamers in response to "PC Gaming is Dead" variety news is concise and simple: if a PC game is good, people will buy it. This is not a cardinal truth, of course, because there are always truly excellent games that fall completely under the radar of all but the most well-informed gamers. A few recent examples of this are Ironclad's Sins of a Solar Empire, Crytek's Crysis, and CD Projekt's The Witcher. All three of these games are fairly niche titles, with Sins being a mixture of 4X and Real-Time strategy gameplay and The Witcher being a herald back to Baldur's Gate 2 with a very mature, morally ambiguous, fairly chauvinistic RPG. Crysis is less niche in its genre so much as it is its appeal in the current gaming atmosphere; it's an adrenaline-fueled first-person shooter with a very high system requirement entry fee. These three games have all received critical praise while also proving to be surprisingly strong sellers -- though, it's a bit early to give a definite commercial judgment to Sins since it was just released a couple weeks prior to the time of writing.

In the end, the "PC Games Are Dead!" type of articles seem more and more like the reactionary and ill-founded claims that they are. The concept of PC gaming ever dying is just a vacuous concept; so long as PCs remain a common fixture in the lives of so many types of people, PC gaming will live. It may evolve and shift forms as time goes on, but a good game will remain a good game.




An Open Letter to Sony

Your stupid PlayStation 3 has made me lose three days worth of productivity. I hope you're happy.

You're all standing over there on your high horse yielding your Everyday Shooter sword complete with a Super Stardust HD shield atop your Warhawk shouting something about your "Uncharted: Drake's Fortune!" You smug bastard.

I'll overlook the fact that I think you were raped by your parent; I know a broken seal when I see one. I was told you were new. Your shell looks new, that's for sure. But your input device, once I had the feel of a separately-purchased new one in my hands, felt so tainted by the hands of another man. I have nothing, of course, to point fingers with -- aside from my actual fingers -- though, so unless more evidence to your foul play arises then you're safe. And I love you. You cruel, time-sucking succubus.


PS. Fuck Gamestop. Fuck it straight to hell.




A Nervous Tic Motion Of The Head To The Left

I'm most certain that this week has felt longer than it should have felt. On the plus side, we (as in Stardock) did release Sins of a Solar Empire; a game which, aside from the occasional pre-release testing and feedback, I had no part in developing. This fact does not deter Shacknews members from congratulating me on an "excellent game," though, despite my attempts to rectify the notion that I had any part in it. One particular user said:
While another said:
Had I only known years ago that taking credit for a game's development was this easy, I would've started falsely pimping my name for various sure-fire hits years ago. On a more serious note, though, go buy Sins of a Solar Empire now so that I may pay off my student loans then pay for food for my scrawny self. Seriously. I'm 6' and 150lbs. Feel bad for that to the point where my student loans will magically disappear. Into thin air. Like the monetary debt equivalent to pixie dust. Or cocaine in a mob den.

This isn't begging so much as it is emotional blackmail.

Asplode! has seen a decent amount of development this week at the expense of sleep and, what is most likely more noticeable, my mental well being. When I originally envisioned the asplosion combo idea for the game, I had thought of it as a huge chain reaction of enemies where each enemy in the chain would set off its own explosion which would instantly kill any enemy in a certain radius -- an idea which I now realize I probably acquired from the audiovisually superb Every Extend Extra Extreme. What I realized after going through all the code setup for the necessary routines to execute this vision is that it would, almost entirely, defeat the purpose of the game I was actually in the process of developing. It would actively hurt the meth-inspired twitch gameplay to which I so dearly aspire to achieving. After careful spontaneously-occurring reconsideration I changed the combo system so that every pentabomb would set off an asplosion combo (and no other enemy could). The real point multipliers, then, would become exponentially higher (2^x) for every pentabomb in an asplosion combo. So if you happen to get a particularly high point enemy or two in a combo of four pentabombs, you're looking an 8x multiplier on top of whatever constant point multiplier you have as a player. Every enemy involved in a combo will also emit a shockwave to serve as a visual indication that they were part of a combo; I will enhance this later with some score-based text indicating the results of combo as well, I think.

Aside from the combo stuff, I've also implemented a basic score display along with tweaking a lot of the various particle effects. Here are this week's screens (with the last pair being the most recent):

And, finally, one of my absolute favorite game journalists, Chris Remo, has either left or been fired from his gig as Editor-In-Chief as Shacknews after his three year stint where the site has grown from a list of links and screenshots posted throughout the day to a very oft-updated site with a ton of resources, "heart", and original content. Over that time it has become my most-visited and most often read gaming site and his departure (in whatever form it took) from the site and, potentially, from game journalism as a whole is particularly saddening. So, here's to him. And, if nothing else, game journalism still has a beacon of hope in the ridiculously talented and personable Jeff Green.




Mosane Pi

One of the nicer aspects of finishing school -- because, really, there aren't very many (huge amounts of loans, lack of hundreds of college girls when spring begins, the near-excessive amount of social camaraderie, etc.) -- is the amount of "free time" that doesn't change every week or two. When I get home from work I can generally rely on the fact that I have the rest of the night to do whatever. And while the overall amount of time I have open is generally decreased (it's hard to tally up the amount of time spent doing homework during school), the reliability that there will generally be at least three solid hours of time every night. This temporal reliability is one of the reasons that, for the first time since I finished my book five years ago, I can see myself actually finishing a project which, in this case, is none other than Asplode!. In honor of this fact, I unleash the first public video of it at its incredibly early and barebones stage: Asplode! early gameplay (and the base directory if you don't want to click the 3MB WMV directly).

The song in the clip (that I didn't realize would be picked up by the recorder) is from Rez. The inability to move outside of Pi/4 angles for the ship is something that will be relegated solely to keyboard controls and, for that matter, will be rectified whenever I get a way to hook up my 360 controller to my PC. The gameplay at this point is fairly simple as I have yet, until an hour or two ago, to start on the pentabomb-trigged asplosion combos but, yeah, that's the game at its current state after almost three weeks.

This weekend I got the Kamikazygon (which will get a "Meet the ____" post eventually) tracking character movement. This was something I implementing the same evening that I added the model to the game but, in my consistently-exhausted state, could not get working correctly until Saturday morning when I realized that I was never updating the player position so the little fella' was always homing to the world origin. I also implemented a simple scoreboard, enemy scores, enemy health, and bullet damage. All of this took me about a half-hour, all told, and the rest of the surprisingly little time I spent on the game over the course of the weekend was spent on coding two different background types and laying the framework for the asplosion combos. The majority of the weekend was spent playing Burnout, Rez, and, the new addition to the game lineup, skate..

The first background that I added was a simple one: a number of randomly-sized, alpha-blended quads (about five-to-six hundred of them) that would light up when in a certain radius of the player -- this effect has been toned down slightly since the video so it would be more of an ambient one than a visually distracting one. Here is the result:

The second background visualization that I attempted was going to be a slowly-fading pulsing circle that added a spike and color change whenever an enemy was killed. Before I went to too much trouble with the specifics I wanted to get a basic test with an every-so-often spike occurring just to see what the pulse looked like in-game and whether it was too distracting or not. By the time I got to the iteration you can see in the fourth shot, I figured it was a bit much for the game that, while stylistically jiving with the experience, did not visually match with the rest of the game the same way that the quad background did. I do think that I will use the pulsating circle of spikiness as the protagonist of a future game though (without a doubt). Here is the evolution of that:

And, finally, I realize that these entries aren't exactly the bastion of interesting development chronicles -- they end up being more development logs. This is an unfortunate side effect of my choice to write them when I'm fairly tired and feeling particularly uncreative/mundane/McCain. These are, though, the best times chronologically in the day for me to actually write them, so this is, sadly, a trend that will continue save for the most superimportant or awesomelyinteresting entries. Those get my full attention and creativity. They get them because they're special.

And if you have a Wii and you haven't purchased No More Heroes yet, then I hate you and everything you stand for. I don't have a Wii. I know I would like this game. If you refuse to buy this well-developed, superbly-designed, and downright stylish game, then you're not fit to own a system which is foreign to such levels of excellence. Shame on you. You're filthy.




Area 3 and Venus

Aside from coming up with a new enemy -- who will not be properly introduced until a later entry, which I refuse to write until it moves and handles in-game like I want it to -- I've been working on various effects for Asplode! this week. While the overall aesthetic of the game is decidedly retro, I allow myself liberties on the way I achieve the overall aesthetic. I also allow myself to use an asinine amount of particle effects. This entry is an image-based one in the evolution of the pentabomb's asplosion effect. The first attempt I made for it was a relatively smaller-scale one, as I didn't want to go too over-the-top with the asplosion effect due to concerns about screwing up the minimalistic visual style of the game.

I was happy with this effect until I realized, this evening, that the pentabomb's asplosion must set off a chain of subsequent enemy asplosions. Without that key visual effect the underlying gameplay mechanic felt cheapened. The overall area of the effect must be enough to encompass nearby enemies along with convey a sense of force and destruction necessary to make nearby ships asplode. This was the motivation for the following test:

This, also, felt like I was underselling the potency of the gameplay mechanic. I asked around in my various IRC channels for ideas and the idea of a shockwave was mentioned a couple times. This, at first, was an unappealing visual concept. Then, once I thought about it, the idea of a shockwave from the first asplosion was a great, simple effect to add to the normal asplosion effects from ships to indicate both destructive power (in the asplosion chain) and to serve as a visual cue that each asplosion is a part of the combo. So, after a few minutes of tweaking the particle engine, I came up with this (which must be viewed in sequence, as it's intended):

It's not perfect by any means, but after seeing it for the first time in action (and tweaking it), I really kind of dug it. More Asplode! news in the futureish time span.

Also, Rez HD is cool as hell.




For The Geometrically-Inclined

Since I didn't get a chance to finish last night's post, consider this the aptly-named second installation of the yesterday's unfinished dev entry masterpiece. As I was saying, the first things I worked on over the weekend were level geometry rendering, collision detection and response (player/enemy-to-stage and bullets-to-enemy), and the enemy overmind, which will spawn the enemies as-needed and in whatever player-screwing pattern would best match the length into a given match.

Once the more gameplay-inclined features I wanted to have implemented by the end of the weekend were finished Saturday afternoon, I thought I'd take a bit of time to improve the overall visuals of Asplode!. Originally, I didn't have a great idea about how I'd get the game's retro-ish look aside from just using basic geometric shapes with edge outlines. A lot of Kenta Cho's games, for example, perform a "luminance" pass on the game at the end of rendering which helps his titles achieve the brighter, neonish color palette in some of his games. Geometry Wars, on the other hand, just chooses some brights along with a surprisingly noticeable bloom filter and entities which consist solely of an outline with no inner-fill. I had originally planned on doing solely a luminance filter akin to Cho's work but, in experimenting with a fairly simplistic bloom filter with a very small blur area, I think I've managed to achieve a pretty decent look. Here is the evolution of that:

Once that was done, I played with the ship movement code a little bit. In the process of doing this, I realized that, for whatever reason, my keyboard imposes a three-keys-at-once limit when using certain characters. For Asplode!'s keyboard input (there will eventually be 360 controller input as well) I'm using WSAD for ship movement and the arrow keys for aiming. I have no idea why this limit is imposed or if it's solely a Microsoft Natural Keyboard issue but, if it's fairly widespread, I'm definitely going to have to make keyboard plus mouse input a viable alternative.

The next graphical feature I worked on was the inevitable particle engine. Rather than using something incredibly fancy that could be reused in future projects -- like I would normally do -- I chose to write a system that was custom-tailored for use in Asplode!. This system uses quad particles which have a base size along with a size magnifier in the opposite direction of the particle velocity to create larger particles depending on their speeds. I am, at the time of writing this entry, still working on this so, for now, here are some work-in-progress images:

And now for a conclusion like Assassin's Creed or The Sopranos would handle it: for the next entry




The Dangers of Exposure

Alright, now I'll write a real dev as opposed to the hardly-classifiable-as-a-cliff-note entry I made yesterday (well, two days ago at this point). As I sit here right now, I'm realizing that ever since I started development of Asplode! I have lost an average of about two hours of sleep every night. This is okay, though, because I'm using that time in such an awesome and enjoyable manner that I should be able to postpone the inevitable coding-all-day-and-night (eight-ten hours of work coding and then a night of game coding) burnout by at least a week. Maybe two. The point, though, is that Asplode! has become this incredibly enjoyable hobby that, I believe, I enjoy more with every successive night of work that I'm able to put into it.

My current development pattern right now is: gameplay feature, visual feature, gameplay feature, visual feature, etc.. By working in this manner I'm able to take a step back from either the graphics or the gameplay with every half an iteration and realize what needs tweaking as I go along. At this point, I'm tweaking the player movement every couple of days along with the various vector model graphics to try and get the game to be as close an approximation to the game I have envisioned in my twisted brainpan. Whenever I implement a feature, whether I'm happy with how it turned out or not (like the way the ship's firing is implemented), I leave it in and move on to something else to see if I can best pinpoint what was most boring/unpleasant, for me, about the feature while as I test the one I'm current implementing. So far, given the limited amount of things I have in the game still, this seems to be working pretty well.

The first thing I did was add a basic border to the playing arena to give a sense of the stage boundaries rather than just having the dimensions of the screen dictate the playing arena:

The simplicity and effectiveness of the simple border graphic ended up adding far more to the game scene than I thought it would; I was planning on having that simply be a placeholder but, I think, I like it enough to keep it in and build the game around that as the border of the game. I like having the border be a set piece of the game screen, as well, as opposed to the scrolling gameplay arena that Geometry Wars: Evolves has. That may change as the game gets more complex but, for Asplode! at least, I will probably stick with the well-defined boundaries. The next thing I implemented is pretty boring to describe but it, basically, acts as the manager for all enemy entities in the game. I call it the EnemyOvermind. Clever, I know. Here's a test of it spawning a bunch of enemies:

I had more, originally, that I was going to write about for this entry but, at this point, I'm realizing that I woke up way too early this morning and actually could use some sleep right now. I'll write about the rest of the weekend's work tomorrow night. Same bat time, same bat channel.

Also, No Country for Old Men was absolutely brilliant and I got 887,895 points in Geometry Wars this morning. Win.




New and Fancy

I have more I could show, but for now here's a quick screenshot of the fancified graphics that I'm playing with:




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.





I think I have a winner here. This was totally in-game too. None of that prerendered crap that's all the rage these days.




Thundercats Are Go

The productivity boost that I've witnessed since switching to XNA2.0 is absolutely absurd. Unlike the work I did with Rawr 1.0 (the DirectX 9/10-based framework) where I wanted to ensure that if anything was used in the framework it was all written by me, I want to actually take advantage of all the utilities that something like XNA offers to make my life easier. The goal of Asplode! is to actually end up with a full game (well, "full") for the first time in my development career. When it's done I want people to actually be able to play and enjoy it as a game not as a tech demo or what have you.

When I started work on the game on Saturday morning at an obscene hour due to my lovely little feline making an absurd amount of noise I searched around the Internet with no real purpose and I re-stumbled across the work of Kenta Cho. I've played Gunroar in the past and enjoyed it well enough but it wasn't until Titanion that I fell head-over-heels in love like a virgin landing first-row seats in the Victoria's Secret fashion show. The vector graphic style is something I really dug, especially given the joygasm-fest that I wrote about regarding Geometry Wars (and, yes, Space Giraffe is almost equally fantastic).

Shortly after that (immediately after that) I went to neural-storming up a way to efficiently generate the visual representation of the filled polygon with a specific edge outline. I thought about going totally Kenta and hard-coding the geometry into the game but that seemed a bit of a hack. If nothing else, that approach didn't lend itself to any use in future projects very well. What I ended up deciding was that I could use an XML capable of generating the desired model with minimal input necessary; in this case, that input was: a polygon type, fill color, edge color, and the base vertices for the polygon. So, for a quad with a triangle hat the XML file would look something like this:

"1.0" encoding="utf-8" ?>

"1" LineWidth="5.0">
"0.3" g="0.3" b="0.3" a="0.3"/>
"0.9" g="0.9" b="0.9" a="0.9"/>

"100.0" y="100.0" z="0.0"/>
"80.0" y="-100.0" z="0.0"/>
"-80.0" y="-100.0" z="0.0"/>
"-100.0" y="100.0" z="0.0"/>

"0" LineWidth="6.0">
"0.3" g="0.3" b="0.3" a="0.3"/>
"0.9" g="0.9" b="0.9" a="0.9"/>

"0.0" y="200.0" z="0.0"/>
"100.0" y="100.0" z="0.0"/>
"-100.0" y="100.0" z="0.0"/>

This produced a horrible image that looked like this. Once I cleaned up the generation of the edge geometry -- and it is geometry, since I felt that using an edge outline shader would not defeat the purpose of the look along with being more problematic in certain cases -- the resulting hat-wearing quad looked better:

Tonight I set to work on fixing up the look of the vector model on top of miscellaneous other game fix-ups. I also made a slightly more attractive model:

It doesn't look super awesome right now by itself but I have faith that, by the time I get more aspects of the game's visual style in place, it'll turn out looking pretty neat. Then again my brain is considered by many people to be a far more pleasant and imaginative place than reality could ever even hope to be.




Of Project Change and Pretty Pyrotechnics

Since the work I'm doing near-daily at my job has reached a critical overlap with the work I was doing on Rawr I'm putting the project on indefinite hold. In its stead I will be starting work directly on a game (not a framework; I'll only be adding to the framework on an as-needed basis during game development) that I'm calling Asplode!. All work is shifting to that and, as if to add insult to old-and-busted Rawr's injury, I'm titling the framework/engine for my XNA projects (did I mention I'm using XNA?) Rawr. I could call it something silly like "Rawr 2.0" but that just seems unnecessary. Anyway, here's old-and-busted Rawr's last-known form:

More details on Asplode! as they come available.

I've written in the past about my interest in color as it applies to scene composition and the effects that a well-constructed scene can have on a viewer/gamer. The case study tonight is the absolutely fantastic Geometry Wars (more) and, more specifically, the Retro Evolved "SKU." It's a game that was intriguing to me based on screenshots a year or so ago and one that, when it came to Steam, I used my cafe account (given to me in the days of my gaming journalism) to nab it and play it a few times. It was a game that made a favorable impression, overall, but it wasn't until I was able to get the game and play it with a 360 controller and a large television that it truly took on a life of its own for me.

Geometry Wars is, really, an incredibly fast-moving game that puts a gamer's hand-eye coordination to a test best described as an audiovisual gauntlet of the gods. Its graphics are nothing to write home about and, despite what all of the frantic screenshots may paint the title as, are a perfect example of minimalism in a game where you have pyrotechnics and glowing lines flying about at a near-incomprehensible rate. The player's main ship is little more than a seven-eight polygon claw and the first enemies that a player will see in the game (generally; they're tepidly random) are a purple quad, a green quad (each with a slightly different design), a teal diamond, and a purple pinwheel. The reason I went through so much extra typing to point out the colors of these "enemies" is that once a player gets into the game and the action picks up to a near-impossibly frantic pace the only way to really succeed in navigating and shooting your way through the card is to "transcend" simply looking at the dozens upon dozens of enemy ships and sensing/knowing their presence and potential course.

What's so interesting about the game is the ease and fluidity which it allows the player to slip into a sort of mechanical trance -- don't get me wrong when I use the word "trance" either as I don't mean that playing Geometry Wars is any sort of relaxing, lethargic experience. Successfully playing the game means that the player needs to operate without any hesitation in movement or shooting in order to plow through a field of enemies without any direct contact with them in any form (instant death). In order to do this the colors of enemies become synonymous to their shape and functionality as the game progresses to the point where, as you're moving through a, maybe, 300 pixel-wide box of space that gives your ship little-to-no easy way of escape unharmed, you must be able to determine which enemies to blast and how to navigate your ship in order to end up in a relatively "open space" (and I'm being generous with the usage of 'open') so that you can reorient yourself and plot the next course of action. What this equates to in-game is the ability to sense which enemies around your ship can be easily killed without any repercussion -- as blasting some will actually cause the enemy to split into two and, potentially, be detrimental to the course you set out for yourself through the neon-colored maze of enemies -- based on the functionality you have come to associate with certain colors.

All of the game's activity is made even more chaotic by the ridiculous amount of particle-composed pyrotechnic displayed on-screen at just about any point in the game. The explosions are huge and stylish, the weapon effects create mini-explosions, the vortexes (vortices? ) are swirling displays of sexycolor, and the game's "grid" is a living, moving entity which reacts to everything that happens within the framed-in bounds of the Geometry Wars game world. The definitively-colored enemies which each make a certain set of distinct sounds, the pyrotechnic display, and the music (a singular techno-ish track that loops throughout play and is largely forgettable) all combine to form a very uniquely Geometry Wars experience that I, needlessly to say at this point in the entry, absolutely love.

I will try to emulate these things in a uniquely-me fashion in Asplode! to the extent of my abilities as the artist, designer, and programmer of the game.




Hey, It's 2008

The goal was to get some development done over the course of this break but, being the awesome people they are, my parents got me a 360 for Christmas. I followed that gift up with the purchase of a way-over-my-budget-but-zero-percent-financing-for-eighteen-months-is-amazing 42" LCD television capable of 1080p. It was the most expensive impulse buy I've ever made but, looking back six days later, it's one of the best decisions I've made. With the recent couch, television, and console purchase my apartment is finally starting to feel like an actual "home" rather than an extended dorm room. The result is my living room (yes, yes, it's barren in terms of color/decoration):

Anyway, that's as close to a dev entry as this is going to get. I'm going to go back to playing Crackdown/Dead Rising/Whatever else.

Also, as an edit, has anyone else run into this problem with Visual Studio 2008? It plagued my work project a month or so ago and, as of yesterday, it's screwing with the debug build of my hobby project.



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!