Wednesday, April 20, 2011

Here. Have a Sword Sandwich.

I never had as much fun as playing computer games as a teenager. The true gift of being a teenage boy is this unwavering focus that let's you immerse yourself into something and so very little can bring you out. It is of course, as much of a curse as a blessing but I'm choosing to only remember the good times.

To me, games today limit your imagination. Found a new gun? Well, you're not level 7 nor do you have 16 strength and you haven't talked to Willy the Scrapdealer. So you can't use it. I played Borderlands recently and was amazed at how uninspiring it was to find a new gun. For all practical purposes I could have had one gun the entire game that leveled along with me. The idea of "finding" a new gun was a complete red herring. I was guaranteed to find a new gun every few kills and it would be exactly balanced for me and the enemies I fought at all times. The way they led me from quest to quest I started wondering why the game didn't just play itself - what was I really doing?

Before all this structure, games were a bit more like the wild west. Call that good, call that bad but that's what it was.

I can remember spending a good few days playing a role-playing game on my Commodore 64 (yeah). If you're not familiar with role-playing games (and honestly, if that's true I have absolutely no idea why you'd be reading this blog) you take on a Tolkien-esque persona of a rogue or a magician and go into dungeons and slay monsters. All along the way, you gain experience, which gain you levels, which gains you power. You can only use that power really to go kill more powerful monsters and get more experience and more levels. Its quite the hamster wheel really, but its engaging for awhile. And for a teenage boy, best of luck trying to pry my cold dead fingers off the keyboard.

Anyway, like a good little player I created a new level 1 rogue and entered the game. I was placed in a town full of hustle, bustle, mystery, and intrigue (all rendered in wondrous 8-bit graphics of course).

I spoke to the constable. He had a problem with some rats in a basement. A wacky old witch wanted me to deliver a pie to hermit on the edge of town. The bartender kept trying to get me to drink his "magic mead".

After a few minutes of toying around with being in-game drunk (an event worthy of phone calls to other teenage boys at the time) I got bored with all these town citizens asking me to do their silly tasks and went to look for the dungeon.

In retrospect, this was probably a bad idea. I was level 1. Dungeons were full of monsters and monsters were at *least* level 1 and probably way higher. I was doomed.

But hey, what did I know. I was a snot-nose 15year-old know-it-all. Bring it on.

I ignored the warnings of the town guards as I left town - "kobolds have been seen in the area". Whatever dude.

To find the dungeon, I expected a long, perilous journey through dank forests and foggy swamps, needing to slink past bands of orcs or flocks of dragons. I prepared my entire store of guile, wit, and perseverance and treated every keystroke like it may be my last.

I did not however, consider that my computer at the time only had 64k of ram. And apparently when you're making an Role-playing game in 64k of RAM you don't have a lot of room for dank forests and murky swamps. Apparently, you pretty much put dungeon entrances 14 paces outside of town with some text that says "dungeon" above them.

Right then.

So, with all my pent-up, unused perseverance and all that - I entered the dungeon.

In these types of games there are usually two types of dungeons (from the programming standpoint). Either static map layouts with specific points of interest and/or logic (i.e. you might find a "bathroom" or some other indication that someone used this place for something besides just being a fantastic architectural undertaking only then to be abandon and subsequently infested by a large number of monsters that for some reason don't kill each other).

Or, you just make it random. The computer generates a random map and places random monsters and random stairs and all other sorts of randomy random stuff.

This dungeon was one of those (the random types).

As I entered I found myself in a room that thank god my 15year old imagination was able to wildly transform into the dankest, darkest, deepest nastiest dungeon in the universe. The walls bled slime. The floor was wet and sticky for no discernible reason. It smelled of sorrow and death.

To my surprise (which should of been NO surprise, but again, what did I know) - in the room with me was a Kobold. Holy crap - those guards weren't kidding. And given that I was a full 14 paces plus one stairwell down away from those guards - they really weren't kidding. "Kobolds have been seen in the area" - really? Like they could have probably seen this one just craning their neck towards the stairwell a bit.

The kobold noticed me, snarled viciously and raised its rusty dagger to attack (translation: the non-animated 8-bit representation of apparently a kobold moved one square in my direction).

I nearly jumped out of my seat! I have no idea what level that kobold was but I was not about to find out. I went to go back UP the nearby stairwell, but in my haste, I went the wrong way.

Before I knew it, the kobold was between me and the precious stairs to safety (or at least to the safety of showing the guards this kobold - not that they would have helped me. They probably would have let the kobold hack me to mush all the while they sat there going "I told you so").

Drat.

I continued to flee but now "into" the dungeon. As I ran down a nearby hallway I came upon another set of stairs. But these stairs were going down.

Maybe I was 15 but I knew one thing. Computer monsters in role-playing games made with only 64 kilobytes of random-access memory do NOT follow player characters down stairs.

Right. Down I went.

Now again, as I said, this dungeon was randomly generated. No other player had probably seen this exact configuration ever before. This wasn't terribly important as even though all maps are random, they are at the same time, all sort of the same.

Every floor of the dungeon was sure to have a set of stairs going down to the next. What I didn't know that in this dungeon system there was apparently also a set of stairs that went down 4 dungeon floors. I started on floor 1 where ostensibly, you'd find easy monsters. Floor 2 would be tougher, floor 3 even tougher and so on.

The designers put in stairs to leap past dungeon levels so that once you became powerful enough you get back to town (to sell your loot) and then get quickly back into the action.

Sadly, I had stumbled upon just such a stairs. I found myself on floor 5. Now, a level 1 character on level 5 of a dungeon is pretty much a walking hor d'oeuvre. But what did I know, I was 15. I sniffed triumphantly after valiantly escaping the frothing kobold and walked forward.

Ha. No monsters to be seen. Word of my courageous kobold evasion adventures precede me!

By the grace of random dungeons, just a few steps away, I chanced upon, yet again, another set of stairs downward. Another set of stairs leading down 4 floors. Randomness triumphs!

Fine. Seriously at this point I've pretty much felt I had won this game. What danger lie down there that I could not skillfully run away from? I trod down the stairwell.

The game spent a moment drawing the new level.

And, then, there I was. My 8-bit avatar standing next to the stairwell I had just descended. The dungeon looked bleaker than ever before.

I am, quite sure to this day that the designers of that game in their wildest dreams did not expect a level 1 character to ever set foot on the deep 9th floor of that dungeon. It would take a commitment of cleverness and persistence (and just the right random dungeon setup) that they probably didn't worry about the chances of it happening. But there I was. Level 1 me on floor 9 of the dungeon of death.

Oh. hey. And what's that. There's me. There's the stairwell. Who's that guy in robes standing next to me trying to communicate with me sign language?

Hey wait a second. That's not a guy. That's a SPECTER.

Now. I might have been 15, but even I knew what a specter was. Or at least I had a vague idea and it wasn't good. It is an undead creature formed from a tortured soul cursed to walk among the living spreading its tortuous hate with all it comes in contact with. You know, pretty standard fare for undead.

Hmm. That can't be good. And those darn guards only mentioned kobolds - nothing about specters. Maybe they meant "kobold specters"? Heck I don't know. But at this point, I had a situation here.

The other icky fact about specters is that if they so much as touch you, they literally "drain your life force" from you. Again, not good. That might sound like it just kills you - which it probably will, but in role-playing game terms what it does is suck experience points from you. Which to a role-player - that's even WORSE!

And most undead that do this suck enough experience from you to suck away one full level - but specters - specters are worse. They suck away 2 full levels of experience. If you've spent weeks getting your character to level 7 - one touch from a specter and you are now level 5. This blows.

Well anyway, the whole time I'm freaking out about all this the specter of course is standing right next to me. And, as specters are wont to do, he reaches over and touches me. And not in a nice way. I didn't even try to dodge. What a noob.

What happened next is a mini-mashup of role-playing games, undead specters, level draining, 64k's of ram, and 8-bit computers.

As I said, it's pretty safe to say that the designers of this game never expected a level 1 character to reach this deep into the dungeon. They probably expected you to be level 10 or 12 before you ever got here. You would have died 100 times before seeing this part of the game - I hadn't even died once!

In fact, the highest level the game allowed you to achieve was only like 20 or something.

Now time for a little programming quiz. If you were a programmer and you had to store a player character's level in memory. And that level could only ever reach a maximum of 20 or so. What kind of variable would you use? If your answer is "an unsigned byte" - you'd be right. And at the same time, oh so wrong.

So, what happens if a level ONE character gets level drained TWO levels?

Right. He becomes a character thats level 255.

Unsigned values stored in bytes don't underflow into negatives. They underflow to the top of their range. Which for a byte - is 255.

Now. You could imagine the look on that specter's face.

In walks dinner, he touches it like the jerk he is. And BAM - dinner just turned into superman.

Now if you're thinking I knew that all this had happened boy are you wrong. I was 15, I was probably being yelled at by my mom to take out the garbage or something. All the while the specter starts flailing at me - trying to touch me over and over and over.

Thing is - now he couldn't hit me. The only thing he would have done is got me down to level 253 or 251 or something but at level 255 my armor class and dodge abilities skyrocketed. Some lowly little level 9 specter doesn't have a chance.

Wondering why I wasn't dead, I finally composed myself enough to take a swing at him with my sword. One swipe - one dead specter. Neato !

Trying to understand what happened I looked at my statistics - and saw what had happened. Huh. Ok. I'm level 255. That sounds nice. I must be really good at this game.

I proceeded to amble through the dungeon steamrolling any monsters I encountered. I finally worked my way back up to the first floor of the dungeon and found that little kobold. Hey dude. Remember me from like 14 minutes ago? Some days are bad days to be a kobold. This was one such day.

Now, I going out on a limb here saying you probably shouldn't give god mode to a (mostly) bored 15year old boy. Once the dungeon was cleared I went back to town. But in addition to having all new weapons, armor, and levels - I had a whole new attitude.

And honestly, I was sort of a jerk. You want me to deliver that pie do you? Here - have a sword sandwich. Oh Constable, you have rats in the basement? Maybe we should just level the house - oh and here, have a sword sandwich. Magic Mead you say? Well, this here is my magic sword sandwich.

I'll admit that the game sort of became not fun after that. I sort of killed everything. But I'll also point out that it was VERY fun up until that point.

You can surely say games of today are far more polished and wonderful and all. And that crazy bugs are happily long gone.

But I really doubt I'll ever write a blog entry about playing Borderlands. If I did it would be titled "I got the level I expected and then could use the gun I expected and can now do 10% more damage to the new enemies I'm fighting who have 10% more hitpoints".

Yeah. Whatever. Here. Have a Sword Sandwich.

5 comments:

thundarr said...

I love it. Silly programmers.

My first text-based RPG I wrote in BASIC for the Sinclair computer had a major error because I was so poor at GOTO and GOSUB statements.

Basically, one action not only had you win the game "You find the hidden treasure." But it also made you lose at the same time, "the ceiling falls in on you."

Fun times.

Arun Kumar said...

Lovely post... I never really got into games at that age, and now that I AM into them, I like to recapture that 'lost youth' by reading experiences like these :)

Jason said...

"Hey dude. Remember me from like 14 minutes ago? Some days are bad days to be a kobold. This was one such day."

This was my favorite bit of the post. Thanks for that.

Carl.Gould said...

Great post - totally agree about today's games too. Seems like they've tried to become so 'cinematic' that I might as well not be playing.

Randell said...

Is this a case of missing If HP < expectedDamage, HP = 0; else, HP -= expectedDamage condition?