Exploring dungeons and slaying dragons

Medieval dungeon
[image by David Kerkhoff]

I just went through a period of nostalgia, of the pencil and paper role playing game type. To understand more, read Wil Wheaton’s posts of his experience as a Dungeon Master in Part I, Part II, Part III, Part IV and some concluding thoughts. Thanks to Scott Beale for this.


Ok, I haven’t played much of Dungeons and Dragons (although I certainly owned a few of the books. Just for reference), or any of the other types of pencil and paper RPGs. But I’m absolutely fascinated by them. My first encounter was when I was 12 years old. I bought these books of the Dragon Warriors series.

For some reason, I only bought the first and third of the series. Oh right, the second one wasn’t available. My 12 year old mind didn’t think it was important. Besides, I didn’t know about the genre then. There was a book sale held at my school, and I was browsing when I chanced upon them.

They were totally awesome! There was mysterious magic, dank dungeons, hateful hobgoblins and tantalising treasure. They were different from the choose-your-own-adventure type of books, because anything can happen! The games master (the term used) can devise any manner of story plot to suit the players. The books’ content are a guide, but the games master is free to use the imagination to make the game fun.

Because I was so excited by this, I had to play it. The problem? No one’s around to play it with me. It doesn’t matter if I’m the games master or a player. I just want to play it.

Somehow I managed to drag my friend and my brother into the game. Creating character sheets was fun. Explaining some rules of combat took some time. And basically there wasn’t much of role playing, or creative use of imagination. But it’s ok. Remember, I was 12 then. Those 2 were even younger than me.

I think one of them was a Knight (or a Barbarian) and the other a Sorcerer. Now only the 2nd book (which I didn’t have) details the mechanics of Sorcerers and Mystics. But I went ahead anyway. I mean, the main attack mechanism was the Attack stat for Knights and Barbarians. There was a Magical Attack stat. Not hard to put one and one together.

The magic casting system was based on magic points. Low level magic spells cost less, higher level spells cost more. The first book provided character sheets for Sorcerers, so I had the number of magic points for a 1st level Sorcerer.

What about spells? Well, I made them up. I played enough RPGs to know the basics. There’s always some kind of fire spell, maybe a healing spell. Well, I was 12. Cut me some slack, will ya?

So my party of 2 was starting out in a basic dungeon, the one in book 1. As rookie adventurers do, one of them inevitably fell into a pit. They’re so rookie, the Sorcerer was in front of the Knight in their battle formation, so the Sorcerer fell into the trap first. No!! Spell casters behind front line attackers! *sigh*

They didn’t even think to use the coil of rope in their equipment to try to climb out. Since their role playing skills and creativity were worth squat then, I gently nudged and suggested that maybe a point of magic would allow the Sorcerer to levitate out.

I know, I know, the levitation spell is non-existent. They would also be stuck there for eternity if I didn’t intervene. Their first encounter with a pack of rats almost did them in. Then this pit. I’m no psychic, but I’m pretty sure they would abandon playing the game very soon if things didn’t pick up.

In another instance, my classmate (I’m still 12) held a game session. With 5 players. Or 7. My memory’s hazy on that. And I got to play! He used the same Dragon Warriors book 1 to play. Because I’ve already read my book to tatters, and I was a games master before, I was allowed to play, but I couldn’t make decisions until after other players did. This was to avoid spoiling the fun for others. I was basically in it to slash rats and batter goblins, which was still loads of fun.

His method of games mastering was different than mine. Maybe it’s because of the larger party, so he followed the book almost to the letter. My point is that, in this fantasy world, he controls everything.

He could add another ghoul if the going seemed too easy. He could “cheat” by making the enemies target the more prepared and healthier players, thereby allowing the weaker players to continue. He could drop hints for puzzles. He could add red herrings. He could do anything.

Then the games stopped. As in no one plays with me on Dragon Warriors anymore (or any other pencil and paper RPGs). A year or two later, I rediscovered a kindred soul… and I’ll tell you more in another article. Stay tuned.

Path of a Polymath Programmer Part 2

So I talked about how I started on my path to becoming a polymath programmer, and ended with an introduction to two book series on role playing games and a computer programming super spy. We’ll see how they played an integral part in my development.

Role playing games
Dragon Warriors was my first experience with role playing games. A role playing game is a game where you act out a (fictional) character in a script or story. You can be a knight in shining armour, or a dastardly devious crime lord. You can be a floundering wizard apprentice, or an imposing space fleet commander.

There are real life role playing games, where actors and actresses play out their imagined characters, with full decorative settings and costumes. I’m referring to the pencil and paper variety, alongside Dungeons and Dragons and Blood Sword series. They are known as pencil and paper, because the statistics of the characters are recorded on paper using pencils. Statistics change frequently, so writing down values and then erasing them is common. The players still act out their roles, but only for dialogue, and they usually gather around a table with their stats sheets in front of them.

Recording character statistics (or stats) is a way of measuring progress in a game campaign. Typical stats to note are strength, speed and intelligence. These stats are used to determine the damage inflicted, reaction time in maybe dodging. You also note down possessions like weapons, armour and special items. Possibly relationships with other players, the character’s beliefs and lineage as well. Basically, you are charting down as complete a life story of a fictional person as possible, within the context of the game genre.

Thus I got introduced to the concept of storing values that can change frequently. In programming, they’re called variables. Mind you, I still don’t know programming. It’s the concept that matters.

Dice, statistics and 3D
Then there were dice. I’ve used the 4-, 6-, 8-, 10- and 12-sided dice. How do you get a value between 3 and 18? Oh, use 3 6-sided dice. What’s the difference between using 2 4-sided dice and just one 8-sided dice? 2 4-sided dice skews the results to the middle, while an 8-sided dice gives results of equal probability. Thus my introduction to simple math statistics theory and 3 dimensional geometry. The 12-sided dice boggled my mind…

Unlimited powered fettered by only by limited imagination
I also game mastered for my friends. A game master (or dungeon master) is the person who knows and controls everything about the game. I would play every single character in the story not played by anyone (NPCs or non-player characters), every monster they met, choreograph every battle, settle any unforeseen circumstance (like what to do if my friend “dies” but the others are still in). I can throw freak storms in, and see how the players react.

This omniscient and omnipotent ability might sound cool, but it’s very tough. Try keeping track of basilisk killing properties, beautiful enchantress back stories and making judgement calls for everything, all in your head. All at once.

Unreal rules
Then you’ve got to remember any rules specific to the game, but is hard to imagine in our real world. How do you handle weak gravity movement? Can magical fire burn on water? While astral projecting, can the person get hurt? Can zero point energy be pinpointed at one specific area? What would happen if a dagger is fitted to a piece of wood, and fired from a bow in place of an arrow?

So you’ve got to keep tons of stuff in your brain RAM, and take note of special rules. Sounds like loading a program in your head with business rules thrown in to me. Games mastering taught me people management skills, adaptability and coming up with creative solutions to non-standard problems, much like software management.

Introduction to programming
The other set of books is about this adolescent computer expert slash spy codenamed Orion, working in a secret government agency. In his adventures, there’d be situations where his programming skills come into play, and a program code would be given. There are about 5 to 7 programs included in each book.

The books start with Orion in some fairly normal setting, like in school, and he’d be handed some obscure piece of information. He’d then type in a program and using that piece of information, work out his next mission. And this first program involves encryption and decryption like substitution ciphers and ASCII value/number transformations (65 represents capital A).

Then there’d be programs you can play with, like the one on Nim, where you play against a computer enhanced human in the story. The odds were against you, but if you can find the place in code where your disadvantage lay and change the line of code, you stand a chance… Or you’d be desperately keying in the program code, and then entering the atmospheric levels of gases to determine toxicity. Though you’re safe, Orion isn’t, because he’s allergic to certain inert gases.

Since I only had a toy computer then, I couldn’t play with a lot of the programs listed. And my toy computer’s BASIC compiler is limited in some ways. Still, I got a kick out of reading the program listing, and guessing what ASC (change to ASCII value) or MID (middle of string, the substring function in BASIC) means.

Executing programs in your head
For these short programs, I found that I could “run” them in my head. There’s this program for calculating the precise angle to tilt a mirror so a laser beam is directed correctly. I didn’t even have to try out the program. Reading through the source code, I did some math, and came up with the answer (45 degrees).

What is interesting about Orion’s adventures, is the variety of situations where his programming expertise was put to the test. The code word programs taught basic encryption and decryption. The Nim program taught simple game mechanics and how to code them. The atmospheric gas and laser beam angle programs transformed math calculations into program code.

This kind of exposure is crucial. Business rules change. Science and technology changes. The ability to understand new concepts quickly and transform them into usable program code is far better than rote understanding of standard problems and their solutions. Building upon previous knowledge is important. Sometimes, quantum leaps in knowledge serves better, and quantum leaps come from that “Eureka” moment from many sources.

So, what’s next?
I’ve told you the impact role playing games and early program code introduction had on me. In the next part of this series, I’ll talk about typewriters, juxtaposition and the must-have story of how I got my first XT86 computer.

To becoming polymath programmers!

Continue to part 3