Friday, February 16, 2007

Windows Presentation Planets?

Way back when I was a kid we used to go visit my grandparents and cousins in Arizona each Christmas. My mom’s older brother, Uncle Jay, was one of those old-school computer engineers. You know, the kind that went to school before anyone had even thought of putting a bunch of vacuum tubes and telephone switchboards together to play pong.

Anyway, Uncle Jay always had the latest computer gadgets. And it was sooo cool. My two brothers and I lived for that one week a year. Not only did they have the Atari consoles, but you could also play their sweet TI 99 (it had a speech synthesizer module!), and hack away and play games on their custom-built PCs (anyone remember DR-DOS?). Donkey Kong was awe-inspiring on their huge projector screen lit up by the "color cannons" in back.

One of the games I remember playing at Uncle Jay's involved several ships in a star field. You could rotate your ship and choose how much power to give your shot. The idea was to hit the other guys before they hit you. The only trouble was, the screen was full of planets. Planets with gravity. Each time you shot, your missile left a colored trail so you could make lots of psychedelic designs on the screen. (The trails may also have been useful for calculating your next shot, but I don’t remember.) If you want to get a feel for how this works, check out my clone.

Ok, so fast forward a few years. Word on the street is there’s a new game in town; the “mother of all games”. Well, who wouldn’t want to play the mother of all games? So I got me a copy of Scorched Earth. This game is the stuff legends are made of. If you haven’t tried it out (which is pretty unimaginable, but stranger things happen), Tanks is one of my favorite clones. There are exactly 21,642 Scorched Earth clones.

By now you might have guessed what I am leading up to. That’s right. We are going to take these two totally rad games, sprinkle in some modern graphical and networking madness(courtesy of WPF and WCF), and take over the world. WPF über alles!

The Big Idea

Big weapons. Big explosions. Pretty psychedelic patterns on your screen. This is what we are after.

You and up to 3 other buddies slug it out, turn-by-turn at the keyboard or over the LAN. You get to choose one of several ship designs to fly into the heat of battle. The idea is pretty simple: bump off everyone else before they do the same to you. But there is stuff in the way. Mind you, we won't have mountains like in Scorched Earth. We’ve got to have planets, and lots of ‘em. And suns. Let’s also include the occasional black hole, a worm hole or two, and a space station. Lot's of stuff we get to shoot around. Or just shoot.

Just wait until you see a sun blow up. Sweet.

Of course, we are going to need money to buy weapons, shields, repair kits, and warp crystals. So the more tricky your shot (i.e., the longer it goes without hitting something) the more dough you’ll earn. Of course, you will also get bonuses depending on what exactly it was you hit (if anything).

And money buys weapons. Really crazy, insane, fun weapons. Here is an initial list to wet your appetite:
  • Torpedos - Your basic weapon

  • Lasers - Only black holes can bend 'em

  • Hammer - Massive, Planet-breaking destruction

  • Firefly - Remote detonation with a big blast radius

  • Trinity - 3 in one

  • Sparkler - Throws off mean little beasties wherever it goes

  • Drill - Punch a hole in just about anything

  • Ferret - Attracted to your opponent's ships

  • Vampire - Sucks out power from a sun or opponent to add to your own

One last thing, We should have theme support, so people can “skin” the game however they want.

All of this should give Windows Presentation Foundation (WPF) a pretty good workout. If it can handle this game, we are golden.

P.S. - I have no idea what to call it. Any ideas?