Thursday, February 7, 2008

My new love/hate relationship: the XBox 360

Some things have happened over the last couple of months that have kind of brought me down.  Killed my mojo, cramped my cool, etc etc.  While I refer to them lightheartedly, they were anything but.  While I had all this offline time to contemplate life and feel sorry for myself, I started obsessing about my original reason to become a programmer: to write video games. 
That's right, it's so amazingly rare, but there are a few programmers out there that started out with the idea that that they would learn how to program and become the next John Romero (creator of Doom for those too young to remember).  I fell victim to this fleeting dream, and began buying books like "Learn C++ in 24 hours" and "Write video games in 10 days" and other crap titles like that.  Some of them were better than others.  When I was 10 and working on my state of the art TI-99/4A home computer learning basic I set out to write a video game.  Remember writing this program?
20 GOTO 10
Eventually I learned about cool things like subroutines, then started buying books and magazines with game source code.  That was the shareware of the 80s.  Countless hours were spent typing in source code from various magazines just to play a game.  Sometimes I understood it, and sometimes not so much.  Eventually I struck out on my own, attempting to write a Battleship game.  Graphics on the TI were brutal, but it helped me learn Hex at a very early age. 
In my 20s, I revisited, and finally finished Battleship.  My first Game!  Woohoo!  It was somehow easier in C++, plus I had the advantage of mode 13h (320x200 DOS based graphics, 16k colors, as I recall.)  It was pretty cool, and the computer actually beat me several times, even though it took random pot shots until it found a ship.  That was until I lost the source code in a hard drive crash.  I wasn't much for making back ups back then.
Today, I've become obsessed with the XNA Game Studio.  I've written about this before.  I live and breathe in C# every day now, and am a .NET evangelist of a sort.  It's not an official title.  I took a stab an writing a game using the DirectX SDK, but wasn't very successful.  To be honest, game programming is an entirely different type of programming than business application programming, which is what I do every day.  I'm a bit out of practice at it, and there's a whole lot to learn.  It doesn't stop me from still craving the satisfaction of coding a game like when I was a kid.  The promise of being able to code a game that can be easily deployed to an XBox 360 or Windows platforms using the same tool was really exiting, and it's free!  Totally free!  God Bless Microsoft!
So I downloaded and gave it a shot, but Dell's lack of foresight on the design of my PC forced me to buy a less than desirable graphics card, making game development difficult at best.  About two weeks ago, I finally broke down and bought an XBox 360.  It's about time I got a next-gen console.  It's my first XBox.  I had a Playstation 2 for console gaming before. 
First impressions: Wow!  My HD "compatable" TV is finally showing HD pictures for the first time since I bought it.  Woohoo!  I'm high tech now baby!  It was about $350 for the unit.  I wasn't able to get the elite version, which really bummed me because the Elite came with the 120 GB hard drive, which I was pretty sure I was going to need.  I knew enough to avoid the Arcade version like the plague.  Next stop: extra wireless controller.  Wow, it comes in Elite version black.  If I can't get the Elite XBox, at least I can get the wireless controller.  $49. 
XBox Grand Total: $400.  Hey, we need some games.  If I'm gonna pay that much for a console, I need something to play.  It can't be All development.  Besides, I'm not that good.  Halo 3, Lego Star Wars for the kids (mostly), Ratatouille (also for the kids, mostly), and it comes with Marvel Alliance something or other, and Forza 2 something or other racing game.  Cool, that should keep me busy. Total: $120.  XBox Grand Total: $520.  Starting to sting a little.  I rationalize it to myself by saying "okay, I've got an expensive hobby, but it could be worse.  I could race cars and have to buy a $100,000 race car." 
I get home and can't wait to hook it up to the PC and start deploying sample code I've downloaded to try debugging an XBox 360 game over the LAN.  Hm, doesn't work.  I'm missing something.  Check the docs.  Oh, need to download the XNA Game Connect studio on the XBox.  Surfing the XBox marketplace, there it is.  Download.  Downloads fast.  Very nice.  Hey check this out, game demos and arcade demos are already on the hard drive.  Some of them look kindof fun.  Hey!  My hard drive only has 9.9 GB free!  WTF!  It's a 20GB hard drive and I just freaking bought it!   Figure it out later.
It's downloaded.  Hm, still can't connect.  I'm still missing something.  XNA Game Creators Club membership?  Doesn't sound so bad.  Go sign up somewhere on a website, right? 
$99.00?!?  WTF?!?  Ninety-nine dollars?
That's right.  You can develop on the PC all you want, but if you want to develop on the XBox, it costs you a $99 annual membership in the XNA Game Creators Club.  Breath slowly, must... slow.. heart... rate...  *sigh*.  Oh look! A place for me to enter and store my credit card information right there on the XBox.  How handy....
XBox Grand Total: $620.  Okay, it's all working now.  Create and build the sample apps and deploy to the XBox: IT WORKS!  WOOHOO!  I set a break point and it actually HITS IT!  WOOHOO.  Play around with few tutorials, they all work.  This rules, and somehow seems worth the money.  I made a little program following a tutorial where I show a space ship and can fly it to the left, then fly it to the right.  Oh yeah!  Well, it's a start.  Okay, I can live with it.  Let's try out some of the games I just bought.  Hey look XBox Live options.  That's how you play online.  I'm used to the Playstation model, which is if you can connect to the Internet, you can play on line, but the XBox doesn't work that way, oh no.
Your brand new XBox comes with a XBox Live Silver membership.  That sounds pretty good, but a little digging lets you know that the XBox Live Silver membership is free anyway, and it gets you exactly dick.  If you want to play online, you have to have the Gold membership.  Gold isn't for the people who want to play in tournaments, nope.  Gold is for anybody who wants to play online... period.  Admitedly, they had different options for membership, and they went something like this:
  • 1 month: $8.  (8X12=$96).
  • 3 months: $30 (20X 4 = $80).
  • 12 months: $50.  (really the only economical choice, eh?)
XBox grand total: $690.  But what about all these little arcade games?  They're sucking my soul.  Some of them are really cool. 
Microsoft points are very interesting.  So far I've listed prices mostly in the format of $8 rather than $7.99 because that's an ancient marketing trick that drives me insane.  It's not seven dollars, it's eight.  Microsoft points are the same thing, but taken to the next level.  They currently work out in plans like this:
  • 500 points: $6.25 (6.25/500=0.0125)
  • 1000 points: $12.50 (12.50/1000=0.0125)
  • 2000 points: $25.00 (25/2000=0.0125)
  • 5000 points: $62.50 (62.50/5000=0.0125)
Do you see a pattern emerging?  This is a trap for people like me who always assume that the most expensive plan is the most economical.  So far that's been true, but not now.  They're all the same.  Exactly the same.  Still, being me, I bought 5000. 
XBox Grand total: $752.50 (tax not included <homer>stupid taxes</homer>).
Race car is more expensive, Race car is more expensive, Race car is more expensive, Race car is more expensive....
The points system is very interesting though.  Each point is worth 1.125 cents.  That means if you buy something for 800 points, you might be tempted to round off to 1 cent=1 point, in which case you would get $8.  Wrong.  800 cents X 0.0125= $10.  Misleading if you don't do the math.  At least I knew how much I was spending.  Halo cost me 1200 points.  That's $15.  Not so bad when you consider the used copy at the game store was $20, but still, it looks like $12 but it's not.  It's that old marketing trick taken to a new level. 
At any rate the madness stopped there.  Except for a burning desire to run out and purchase Call of Duty X because the demo was so freaking cool, I think I'm done sinking my children's college fund into my gaming habit for a while.  I'm a little piqued at Microsoft for the "Nickel and Dime" you to death method of console gaming they've created, but overall It's still the best gaming experience I've had in a long, long time.  That's the love/hate part of the XBox.  I love it, but hate that it's sucking all my money. 
My gamer tag is at the bottom of the site, if you ever want to blow the living crap out of me at Halo 3.  I really suck.  I don't remember picking as gamer tag, but it seems like the sort of thing I would do, so it must be me.  I was once a member of the DNRC (Dogbert's New Ruling Class).  At anyrate, everything there is stuff I've just done so it is me.  I might change it though....


  1. Being involved with video game creation is the dream of every gamer. The big question is how far do you get with it? I once tried making a game with RPG Maker. At some point I realized I loved video games, good at playing them, but I'm more into writing and art. Sure, that's part of making games, but pushed me more towards making my own table top gaming worlds and adventures. For that, you don't need to write code. I have a lot of respect for people who have the patience and ability for that aspect of it. I still dream about the video game I would make, but, you can't follow every dream at once! At any given time, though, you should be reaching towards one. :) Even if Microsoft (the starved for money non profit they are) is making you feel consumerist guilt, it's admirable you're going back towards your dream. My little bro has an Xbox live account. Are you interested in having your but kicked in Halo (1, 2, Call of Duty, etc.) by an 11 year old? :) He makes me feel like a granny. I'm good at Halo.. falling and dying in Halo that is.. "In my day we had Doom and we didn't jump around like a bunch of pansies. Why is there so much jumping? Why am I looking at my feet?" :p :) I'd best stick to rpgs and strategy gaming... I'm still good at those.

  2. The funny thing is, I found Doom on XBox Live Arcade. The graphics are pretty cheesy by today's standards, but I can't begin to tell you how many hours were wasted in that game. It was my first First Person Shooter (If fact I think it might have been the first First Person Shooter), and my first Deathmatch experience. I love that game. I bought it with some of my points and have been playing it almost as much as Halo.

    I've been trying to think of what I want to write first. I'm still getting the hang of XNA so my first game is a bit off, but I though Tetris might be a good starting point. Then again, maybe it's time to write Battleship again. Uno or Monopoly also seem like good choices. Somewhere down the line I'd like to do some kind of FPS like an update of Doom. I've also looked into making an update of the Bard's Tale, another favorite from my youth.

    Yes, at some point I'll want to make somthing original, but copying older games let's me concentrate on How and not so much What while I'm still learning.

    As for getting my ass handed to me by an 11 year old... bring it :D I'll most likely get smeared, but it'll be fun for a bit. And I held my own in my first Doom Deathmatch in over 10 years last night. Well kindof, I started out with a frag count of -2 but as I got the feel of the game back, I got up to about 35. I think the other two were probably considerably higher though.

    I'm not sure on the details of how one distributes an XNA creation, but once I get far enough to need to figure that part out, would you be willing to try out some of my code?

  3. Moi play test? Hell, yeah. I'm *awesome* at finding bugs in games.

    At first thought, my first 1st person shooter was Wolfenstein 3d for the PC (1992). Thinking about it more, Midimaze for the Atari ST (1987) was actually my first. (smiley faces floating around- more creepy than Doom in some ways) My Uncle Mike exposed me to a wide range of Atari gaming at a very young age. :) Both of these predate Doom, but I think Doom was the first to popularize mutiplayer gaming.

    I looked it up. Looks like no one is sure what the first 1st person shooter was, but Maze War (1972?3?) is a popular guess.

    Copying is a great learning technique- go for it! What is sort of irrelevant without the how.

  4. I stand corrected. I had forgotten about Wolfenstein. I even have the complete Wolfenstein on CD. I have a soft spot for old games. I have the complete Zork collection on CD too. If only I could figure out what I did with Doom 2....

    I don't remember any of the others you listed, but if Wikipedia says Maze War was the first, they're probably right :D

  5. My little bro friend requested you on Xbox live. Vic And Spike is his handle.

    I make sure Vic has respect for the older games, even if they were made before he was born. Whatever I think of that I can get to run on Vista. :)

  6. @Celes:
    "My little bro friend requested you on Xbox live. "
    I saw that and accepted, though I haven't had a chance to get in any Halo yet. One thing I have to say I like about the M$ approach to online console gaming is this Live community thing they've got going. Despite the cost, it's nice to have a couple of friends saved that I can message and challenge to a game when I want. You can meet people in games and if they're not too annoying you can save them as friends and mark them as people you prefer to play with. It's nice. I've even got Rory saved. It'll be interesting to see if I can get him into a game of Halo....