Holiday Blockbusters

I decided to upgrade the blog list on the right and switched it to the widget so you can see the posts. So please feel free to stop by friends of mine and see what they think of whatever the hell is going on.

So Laura fought a harrowing journey to get to Chicago on last Friday. The major storm that swept over the mid west and headed east did not do us a lot of good. Being a tough and smart cookie, she was able still make it and only be about an hour off her original flight. Being super awesome, Laura snagged up Banjo-Kazooie : Nuts and Bolts for us to play. I got to tell y'all : this is game is bonafide holiday blockbuster. Now what exactly does that mean? Well I feel that true holiday games are the ones that can keep you coming back but are easy to still step away from or even better, allow you to include others. N&B is not a co-op game but the sheer comedy that can come from watching people put vehicles together then test em is pretty good. Last year, Guitar Hero 3 was definetly the holiday blockbuster. Just about everyone that I spent time with was captivated by it and found themselves coming back to get some more. So far I feel that way with N&B. The game does not have a gripping story (in fact it like to make fun of itself for this) or nerve-wracking gameplay that you feel exhausted (mentally of course) afterwards. Instead it has this laid-back nature that just encourages you to have fun while at the same time providing enough direction and motivation to keep you playing.

I just realized I should probably explain what this game is all about. N&B is essentially a platformer game but with a vehicle twist. In the game, you will find several challenges (which reward you with tokens that you need to unlock more challenges, etc) that will require you to use a vehicle. Now this is where the game's awesomeness comes in. You build the vehicles. A simple to use editor allows you to take parts you've collected and construct all kinds of vehicles. Initally these are simple but the game will pull you along by giving you a new piece here or there that will make your eyes pop just thinking of possiblities. So in the beggining, you will make fairly simple land vehicles but very soon you will get wings, propellers, hoverpads and even springs. So its perfecty reasonable to build a glider with no propulsion but springs to launch it up into the air and then glide down. Its pretty mind-blowing how you can live out kid fantasies just messing around with the vehicles. My personal goal: make a truck with a breakway helicopter in it...and apparently this can be done!

From what I've been hearing from Raj, this game has even more amazing components that come later on. From what little I've done so far, I'm very much into the game. Its providing a nice relaxer to games like L4D, WoW, and RA3. Just simple and goofy. Now if only we were playing this during Thanksgiving in front of my nephew....instead of all those shooters.

Stay Classy San Diego

Greetings and Salutations everyone. It has been awhile since I've blogged properly so I figured I'd take some time while my target machine at work makes it 8 minute powercycle to hop on the blogosphere and do the bad thing. To make sure I get it all in, we'll start and the end and work our way back.

I finally caved in and bought Wrath of the Lich King. I always thought WoW was a great action-rpg and provided a good enough "solo during multiplayer" experience to scratch my stat-crazy side. After finally hitting that point where I could not stand playing my existing characters anymore, the only main thing that brough me to Lich King was the new Death Knight class. As many have stated about the expansion, this is for existing WoW players. Nothing about the Death Knight is simple and while the class is pretty freaking awesome (both gameplay and visually) it can be incredibly overwhelming trying to figure out how to fight. My interest in the Death Knight stems from being a Warcraft fan from way back and any spell that lets me get closer to being a necromancer is always a good thing. So far my feelings are kind of mixed. The starting area was really cool and provided a unique twist for WoW quest standards. However, like many have also stated, its a totaly let down when you go into the Burning Crusade content and realize you have 10 levels of pretty much boredom before you can experience the new cool stuff. A new thing I'm trying to do is be more balanced about how much I play the game. This isn't so much about addiction, but about not getting burned out quickly on what could be a very enjoyable game. This sort of leads into my next topic, which is again more on Left 4 Dead.

My friend Adam came to visit me last weekend and I sat his WoW-Raiding ass down on my couch and we rocked L4D pretty much all weekend. After he got the hang of it, we did a few campaigns then were joined by 2 other buddies who convinced us to try Versus. Now this mode (for those who don't know) is the same as standard co-op except that up to four human players will play as boss infected when the game decides to spawn them. On top of that, the infected players can even pick where they spawn and work together to come up with insanely devious tactics. The suriviors will get as far as they can go until they beat the level or die. At that point, they are given a score based and then the teams switch places. You do this until the campaign is over and the team with the best accumulated score wins. This mode was pretty foreign to me and from what I had originally heard it made the survivor experience very unbalanced so I was a little nervous about playing it. For lack of better words, boy was I wrong! Versus adds a much stronger reason to stick together (for both sides). If you are the survivors and you keep calm and most importantly work as a damn team you can overcome just about anything the infected can throw at you. Its pretty clear that Valve playtested the living hell out of this. It still amazes me how many surivor teams we fought that simply had too many "Master Chiefs" to stay alive. Master Chief is a term I've applied to any surivor in L4D that believes he can run out several rooms ahead/behind of his team and solo. "I've got a sniper rifle guys, I'm gonna snipe ahead or stay behind and Snipe." This is pure Master Chief ie the belief that you bad ass skillz (note the z) can have you decimate the entire Infected team. Now I understand if once this person was able to get the 2 hunters, smoker, and boomer all from getting him but that ultimately is luck. What happens when a hunter keeps you busy so a smoker can get you? What do you do then? Like suriving a hit by a car, it does not mean you are stronger. It was luck. Anyhoos, this Master Chiefs make the job of being an infected player oh so easy. With swift actions, we seperated the opposing team and tore them apart. When our team had to run the gauntlet, we stayed close as possible, always watched our backs and constantly remind each other of our distance from one another. Thats how its done son! Well I figured I'd share my infected/survivor fighting tips with y'all:

Survivors

  • Stick together! If you find yourself leading, always stop every so often and spin around to make sure your team is with you! If you are trailing or want to step of in a different direction, make sure the whole team knows. If for whatever reason the team is not into going that way then don't fight it. Go with them. You always stand a better chance together without that Molotov you were struggling to find.
  • Do not search! Now this can be a mixed bag. Searching can offer up goodies such as medpacks and bombs but can also leave you wittled down and low on ammo before you know it. In my opinion, searching naturally splits a team up as people step into rooms randomly. You are better off moving forward and progressing through the level.
  • Do not hunt or chase! When entering a new room, do not start scattering and hunting down every zombie you see. In many cases you can just walk past'em or close a door to make your life easier. This isn't too big of a deal, just make sure your team knows where you are going. Now chasing is a serious problem! When you miss that hunter and he goes running off, do not chase him blindly leaving your team behind. Odds are him and his friends will find you and get you before you get them. If you are going to hunt down boss infected, do it as a group. Call out where he is and move together to find him or wait for him to catch up again.
  • DUCK! For some reason, people are die hard against ducking in L4D as if it pains them to do so. Lack of ducking results in 90% of friendly fire. If you are leading, duck. This way your team can fire over you and keep your ass alive! If you get puked on by a boomer, DUCK! This way your team can get clear head shots on all the zombies are about to pound you.
  • When in doubt, Melee! Punching in L4D is incredibly powerful. You can shove zombies back several feet and buy yourself more time to reload. In fact, if you are puked its better for you to melee and allow your team a more clear line of fire (and prevent you from shooting them). Its is much faster to melee a hunter off a surivor. Do not wast time shooting if you can punch them. This goes for teammates who've been tongue tied by a smoker. Punching them will release them much faster then trying to shoot the smoker or hit the tongue.
  • Rear Guard. If you are in back tell your team you will get "rear guard" and keep an eye out behind you. Make sure you keep up with your team and make sure they know you are looking backwards, especially the guy right ahead of you. Its important to keep an eye on your rear especially when you heard the horde music. When that does happen, be the smart guy who looks in the opposite direction and prevents zombies from rushing you.
Oh scrats...need to get home. I'll finish this later.

I am Butterballman



The wife put this together for me. Pretty smashing, eh?

Xml Object Generation

So (there's that word again) I've been trying to work on a side project for awhile now. I think the whole side project thing formed a core component of my work ethic and if anything (outside of my wife and friends) got me through school, it had to be that. I started work on a new game called "Attack of the Robo Zombies" and my first approach was to go ballz out in making a prototype. I started slacking on creating an kind of design or plan to develop and instead got into the old trap of designing code while writing code. This is not 100% avoidable but you need to know the big picture before moving forward. Another problem was that as a side project, I was just trying to grind out something that didn't have an r&d hook that was keeping me interested in working on it. So in the face of all these problems I've started pretty much from scratch (again).

This time around, I'm building a prototype but I'm going to be using Bullet Physics to run dynamics for the world (making my life easier) and also focusing on developing a "robust" object generation system to make it easier to make the game data driven. This is more or less an experiment with Xml. So I figured, more for myself then anyone, I would dive into it here.

The problem that I encountered with previous projects was never developing a universal method to create objects from files. Usually I would end up writing several loading functions that would get a bit tedious since they only varied by a few things. While there are lots of solutions (and many better then the one I am about to go into), I started thinking about xml and how I wanted my solution to be driven by that as much as possible. For the game I wanted to make, I knew there would be many occasions where I would want to spawn things into the world. So lets say I wrote an xml file for a spawn point:

-spawnthis-
-enititylist-
-entity-
-/enititylist-
-spawnthis-

So from this, I wanted the ability to just say "Generate everything in ." Initially I thought yeah this could work but what if I wanted to add some kind of effect to be created with the spawn:

-spawnthis-
-enititylist-
-entity-
-/enititylist-
-effectlist-
-effect-
-/effectlist-
-spawnthis-

My normal inclination would be to write a special chunk of spawn code that would look for the EntityList and EffectList and generate special groups for each. But lets say down the road I wrote something else that wasn't a spawn point but had to do the exact same thing. So this got me thinking about making a system that forced me to write the object creation code in a generic/reusable fashion. So now I've created a static object called a Generator. The Generator has a map of Creator objects (where Creator is the base class) where each one is mapped to a name that corresponds to an xml tag (ie ). You give the Generator an xml node and it will start with the current node and go to the next one and so on. For each one, it looks for a Creator matching the tag and calls Create method. The creator allows for the unique code to generate that object. In most cases, this would create whatever was called for and also place it into the world (registering with whatever collections are neccessary). Now what if you needed to catch a reference to the newly created object? I provide the ability for a callback to be given to the Generate() function that will return a void* and name of the tag for each time a Creator is called for a node. I'm also going to add the ability to the Generator to store a list of "Default Nodes" that can be referenced by others. So for example:

-grunt-
-stats-
-/grunt-
-entity default="grunt"-

In this case, we add as a default to the Generator. When Generating , is retrieved from the collection of Default Nodes, it will pass both the and nodes to the Creator. This way if anything is not found in it will use defaults from .

There are definite drawbacks to a system like this. For one, it relys a lot on string comparisons and as of now, my use of Tiny Xml is creating a lot of strings on the fly so I'll need to iron that out. My hope is that by developing this feature now, I can use it to move prototype/game development faster. That and keep myself from regressing to doing nothing but playing games in my free time.

The New Danger

Just a quick thought: Mos Def's "The New Danger" is an album I hated at first but slowly learned is pretty damn awesome.

The Beggar is probably the sexiest song ever made.

I feel dirty just saying that.