Unknown's avatar

About wjduquette

Author, software engineer, and Lay Dominican.

Compulsive Criticism

Recently I read something on-line that gave me pause. A blogger I’ve been following for many years now had this to say:

We were talking about the habit of being critical—discussing a person we both knew who was caustically critical (and often entertainingly insulting) about everything. She said she didn’t quite approve of that attitude, because it was so safe.

I was surprised by that word, and asked her what she meant, and she said—more or less—that hating or criticizing everything was safe because it meant you don’t have to take a stand. Liking something means you are opening yourself up; if nothing is good enough for you it’s another way of saying you’re superior to everything. Very smug, very snug. Being insulting and critical, admittedly a position of attack when face-to-face, is psychologically actually a position of retreat.

This did not appear on a Catholic blog, nor a political blog; it appeared on a Photography blog, and the thing being criticized was, oddly, the new Chevy Corvette. But the blogger, Michael Johnson, could have gone one step further: he could have pointed out that this attitude is spiritually and morally corrosive. And that’s something we in the Catholic blogosphere need to remember. There’s much in our culture to criticize—but we must never let it become a knee-jerk reaction, lest we fail to see the good in your rush to condemn the bad.

In short, we mustn’t emulate Prof. Quincy Adams Wagstaff:

George’s Saga: Big Increments vs. Little Increments

George When last we spoke, I was working out how to do combat in George’s Saga, using GURPS Lite as my inspiration. Which is one reason it’s been so long since we last spoke.

Since then, I’ve come face to face with a number of basic differences between table-top RPGs and computer RPGs, and the main one is that table-top RPGs are about big increments and computer RPGs are about little increments. I’ll explain that, but first a few words about my experience using GURPS rules for combat in George’s Saga.

Verily, they sucketh.

Here’s how a round of combat might go in GURPS, insofar as I actually understand it.

Our hero, Akallabeth the Bold, wields a mean broadsword, with which he has a skill of 14. His opponent, Ulthar the Underhanded, has a basic dodge skill of 12, to which his trusty shield adds another point of defense, making 13 in all. Akallabeth swings at Ulthar, rolling 3D6 to see if he hits. He gets 11, less than 14, so he hits. We roll damage, and Ulthar takes it in the shorts.

No, wait a minute. He doesn’t. Ulthar makes his defense roll, and gets 7 on 3D6, which is less than 13. He managed to dodge the Akallabeth’s attack. Akallabeth used his sword skillfully, but Ulthar was just too quick.

Now it’s Ulthar’s turn. He comes in from below with his Dagger of Stabbing, with which he has a nearly super-human skill of 17. He rolls a 10; he hits. Akallabeth is bold, but none-too-quick on his feet; he rolls 16 against his defense skill of 7. He fails to evade Ulthar’s hit. Ulthar rolls 3 points of damage (I’ll spare you the details), and now Akallabeth takes it in the shorts!

No, wait a minute; he doesn’t. Ulthar was aiming at his chest, and Akallabeth is wearing his Corselet of Kevlar…which can absorb 4 points of damage. Net result: 0.

Now, in a table-top RPG this might be a thrilling moment. Each player got to roll four times, and feels that he’s the master of his fate. Three points of damage is a huge amount; Ulthar would have been happy to do one point of damage. Each player has lots of choices of how to attack and defend, and these choices, at the GM’s discretion, can make a huge difference; if Ulthar had but known that Akallabeth was wearing his Boots of Achilles, he might have stabbed down instead of up, and that would have made all the difference.

I’ll pass over the next four rounds of combat in which Ulthar is knocked down, stepped on, and ultimately flees the battlefield nursing a hangnail, leaving Akallabeth with one point of damage and all the glory.

Here’s what this style of combat looks like when I put it into my computer game.

Akallabeth swings at Ulthar. He misses.

Ulthar swings at Akallabeth. He misses.

Akallabeth swings at Ulthar. He misses.

Ulthar swings at Akallabeth. He does one point of damage.

Akallabeth swings at Ulthar. He does two points of damage.

Ulthar swings at Akallabeth. He misses.

Akallabeth swings at Ulthar. He misses.

And so on and so forth. Kind of lacks that old dramatic tension.

And that’s why computer RPGs are all about small increments. In GURPS, a powerful character might have 18 or 20 hit points. Losing one point is a big deal. Losing 10 is a catastrophe. Skills runs from 1 to 20, averaging around 10 or 11. Gaining 2 points of attack skill is huge. One would expect GURPS characters to become more skilled over time, but only very slowly; and there are hundreds of skills, each of which might be of use in a table-top scenario. But there’s so much else going on, and so much of it is going on only in the fevered imaginations of the GM and players, that this slow rate of progression doesn’t harm the play.

A computer RPG is different. Battles need to progress. You need to know whether you’re stronger than the monster or the monster is stronger than you, and you’d like to find out before he kills you. You can only judge this by the respective rates at which you each lose hit points…and that means you need to be able to hit and do damage with some frequency. If you’re only connecting every four or fifth stroke, it had better be because the monster is a lot more powerful than you are, and the monster had better be having you for lunch.

And then, your character needs to grow in strength throughout the duration of the game. Every time you level up you should gain strength. Each slight improvement in your weaponry, or your armor, or your various magical talismans should give you an edge. And this growth needs to be gradual; if it’s too rapid, the game will perforce be a short one.

Similarly, the monsters need to grow in strength, slowly and gradually. Of course, your party doesn’t grow in strength at quite the same rate as the monsters: sometimes it’s slower, and sometimes it’s faster, sometimes you’re enjoying a walk in the park, and sometimes you’re having to fight every inch of the way. That leads to a kind of rising action that carries you along to the end.

So…GURPS combat was not a success for me. GURPS is an interesting system, and I hope to mine it for a number of ideas, but I rapidly discovered that I needed something else.

George’s Saga: Armor

George So it’s an RPG with hand-to-hand combat against vicious Ladybugs and Cosmic Horrors and such-like. It’s a tough world out there; you have to have armor.

Now, in a typical computer RPG (AKA a CRPG) there are different types of damage that armor can protect against: physical damage, natch, but also acid damage, fire damage, and so forth, all of the usual elemental folderol, plus maybe some peculiar additions of my own. (In homage to Doug Piranha, I’m thinking I might have to add rhetorical damage. Ahem.) And in CRPGs, it’s typical that a player character (PC) can wear a number of articles of armor at the same time: body armor, helmet, boots, shield, and so forth. The number of different kinds depends on the RPG, but sometimes it can be quite stunningly high. George’s Saga currently supports the four types listed, though the list might prove to vary by character class. (The Friar’s shield might prove to be remarkably…book-shaped. Ahem.) And then, the effect of the various items of armor is cumulative: all of the armor the PC is wearing combines to block any hit.

So my notion was that each article of armor would block some percentage of each kind of damage, i.e., 33% of the physical damage but only 20% of the acid damage. Similarly, monsters would do damage of one or all types: a Fire Roach’s bite might do 5 to 10 points of physical damage along with 5 points of fire damage. When the Fire Roach bites the George, doing (as it turns out) 9 points of physical damage and 5 points of fire damage, George’s armor blocks 33% of the physical damage, living 6 points, and 20% of the fire damage, living 4 points, and so George takes 10 points total. Conceivably there could be other effects as well. George might be stunned by the damage, or burned by the fire such that he takes damage each turn until the burn heals. (Pokémon! It’s all in Pokémon! What do they teach in these schools?)

This scheme turns out to be somewhat problematic. When George, having gained 10 or 20 levels and having gotten the Truly Amazing Unobtainium Armor with the patented Asbestor Inner Lining that blocks 60% of physical damage and all fire damage, returns to the Fire Roach’s lair…the Fire Roach’s 10 point physical attack is still going to do 4 points of damage. It sure seems like George ought to be able to wade through the Fire Roach’s lair with impunity.

And then, why should armor that protects against 10% of the damage of a Fire Roach’s bite also protect against 10% of the physical damage inflicted by the Inflatable Cosmic Horror Juggernaut of Doom, which can do a whopping 500 points of damage with the lash of a single inflatable tentacle? It doesn’t pass the laugh test.

So how does armor work in GURPS Lite?

First, a piece of armor protects the part of the body it’s on. Helmets protect your head, breastplates your body. If your opponent strikes your head, your helmet matters and your breastplate doesn’t. Second, armor has a damage reduction factor (DR), which is the number of damage points absorbed by the armor. If your breastplate has a DR of 6 (appropriate for plate mail), then it will block six points of damage.

This highlights a significant difference between table top RPGs and CRPGs. In GURPS really amazingly good body armor has a DR of 12 points. Just twelve. There are no epic boss battles where you’ve got to be able to absorb or block thousands of points of damage in this scheme.

Shields are also different than the usual CRPG fair. In CRPGs, shields are usually just another kind of armor, interestingly mostly because if you use a shield you can’t use a two-handed weapon. In GURPS Lite, shields aren’t armor in the sense given above. Instead, shields help you to avoid being hit to begin with. That’s an interesting notion, and one I intend to think about—but that’s a combat detail, while I’ll have to come back to later.

So what should armor look like in George’s Saga?

First, armor effects will be cumulative for all armor worn; monsters simply aren’t going to be targeting particular body parts.

Second, some armor should clearly affect your evasiveness, i.e., whether you get hit at all. Shields are good candidate for providing this as a usual thing.

Third, armor should probably block damage points directly, rather than as a percentage. Thus, a given degree of armor protects you against a certain subset of the monsters in the game, leaves you somewhat vulnerable to others, and hardly protected at all against others.

Fourth, a combination of the effects might be useful: this armor protects against 20 points of physical damage plus 50% of the acid damage (because it blocks 50% of the acid). In short, I can use one scheme for some kinds of damage, plus another for other kinds. I like that.

George’s Saga: RPG Basics (UPDATED)

George So when you’re writing RPG software, eventually you need an RPG to base it on. What I mean by that is, you need a model of characters that includes basic statistics, skills, combat, damage, and the like, and how they all work together.

I’ve got a very simplistic RPG at the moment. Characters have “life points”; they can take damage, and if their life points drop to zero they die. They can wield weapons; the amount of damage a character can inflict in combat depends only on his weapon. They can wear armor, which absorbs a percentage of the damage done to them. This seemed like a neat idea when I first came up with it, and then I realized that a powerful character with lots of armor would still take damage from a cub scout with a pen-knife. Of course, they are no powerful characters, because I’ve got no notion of leveling up.

As you see, It’s easy to put together something, you should pardon the expression, half-assed. It’s less easy to put together something that works, and so great minds (and mine too!) look to see what others have done. And here’s where there’s a problem: the models underlying computer RPGs are often obscure. They’ll tell you a certain amount about the stats are, enough so that you can customize your character as you level up…but they won’t tell you what the stats of the monsters are, or just how all of the stats are used in combat and other activities. It’s possible to reverse engineer some of this, some of the time, but ugh! This is supposed to be fun.

That leaves looking at table-top RPGs for inspiration. That’s also a problem, because table-top RPGs don’t really translate well to the computer world. They assume lots of discretion and intelligence on the part of the GM (computers have none), and allow for a vast range of choices on the part of the players, many of which don’t translate well to the GUI world, and would be tedious as all get out if they did. But at least they are well-documented: they have to be, or people can’t play them.

So I asked Tom McDonald, Games Maven, for advice. He suggested I look at a number of freely available RPG rules:

to which I added Legend, a set of rules I downloaded a year or so ago and never did anything with.

The d20 System is basically a set of rules abstracted from Dungeons&Dragons by the owners of D&D, and made free to download and use. It is Very Complete. It is also Very Complicated. And some of the things I’m most interested (like how to put together a character and level him up) were judged to be Proprietary and Left Out, so far as I can tell. There is much to be learned here, but not World Enough and Time to learn it given my limited resources.

The Saga rules are defined by a short rule book (about 30 pages) which I found to be rather un-succinct. Characters have skills, and assets (which doesn’t mean what you think it means), and traits, and I found numbers and concise definitions to be scarce on the ground. I’m not saying that what I need isn’t here; I’m saying I had trouble finding it.

Legend looks more interesting, but the rule book is much longer (almost 200 pages); plus, it’s based on a specific fantasy milieu. I might be able to pull what I need out of it, but right now I’m looking for quick-and-dirty.

And so I’m looking hard at GURPS Lite. It’s short (32 pages), and heavily focussed on the mechanics: what are the stats? what effect do they have? What die rolls are used, and what do they mean? How do you get critical hits? And what does that mean? How does armor work? It’s all here. More than that: GURPS characters are point-based: the GM gives you a certain number of points, and you pick the set of stats and skills that you like, within your point budget. This gives me a path to allow the user to define his own characters; and even if the characters start with a fixed set of stats, it gives me a leveling-up mechanism: give the player some points, and let him buy skills and stat improvements.

Whatever I implement will evolve, and will likely end up looking entirely different in the long run. (See below.) But this looks like it’ll get me off dead center with a minimum of effort, so there you are.

UPDATE: I’ve just glanced at Steve Jackson Games’ policy for use of their intellectual property, which GURPS is. I am not allowed to release a computer game based on GURPS unless I’m willing to get a license from SJG. As a would-be author, I find this to be completely reasonable. It does mean, however, that I will be looking at GURPS for inspiration rather than copying it slavishly, and that I will not be making George’s Saga available for download so long as it is distinctively GURP-ish. Just to be clear.

George’s Saga

George I realize I’ve been kind of missing in action over the last several weeks; and the reason is that I’ve been spending pretty much all of my free time working on George’s Saga with my sons. George’s Saga is a computer RPG with simple, old-fashioned graphics that I’m doing mostly for fun as a Java programming project. It’s come an amazing way in the last three weeks; and there’s lots more work to be done before we’ll have something that anybody else would be interested in playing. But I’m having a ball, and learning a whole lot at the same time.

George’s Saga is rather different from Ramble, another incomplete RPG I wrote a few years ago. Ramble was primarily influenced by Angband and other “Rogue-like” RPGs; it used small graphical tiles, had a single player character, and was keyboard-driven in an Angband-like way. George’s Saga, by contrast, is point-and-click mouse-driven, with multiple player characters and larger graphical tiles. From a user-interface perspective, it draws heavily on Avernum: Escape from the Pit, which I played on my iPad a month or two ago; I enjoyed Avernum very much, and the user interface was a big part of it. From a graphics perspective, it’s reminiscent of the original Ultima series of games, especially Ultima III, though with more colors and bigger tiles. From a humor perspective, it’s probably going to resemble the DragonQuest series more than anything else.

At this point it’s very much a work-in-progress. There is no story to speak of as yet. There are two player-characters, George (a farmer) (that’s him, up there, as drawn by my eldest) and Sir Fred (a knight). There’s an overworld map with a number of castles, none of which have anything inside them; a small town (which I only implemented today) filled with people who won’t talk to you, not because they are unsocial but because conversations aren’t implemented yet; and two small dungeons implemented mostly as a place to experiment with monsters. (Mwa-ha-ha-ha-ha.) The player characters can wear armor and wield weapons, including ranged weapons, but the combat system isn’t even a quarter baked. (On the other hand, ranged attacks are nicely animated.) They can also loot chests and carry items, but there aren’t that many items for them to find or carry.

So, early days.

I expect that George is going to occupy my time for a while yet; I might have more to say about him over the coming days or weeks.

Lost Treasures of Infocom

If the words “plugh” and “xyzzy” mean nothing to you, you probably won’t understand why I’m thrilled that the Lost Treasures of Infocom have hit the iOS App Store.

Back when I was a lad, just getting started with computers, the neatest game around was called ADVENT. Also known as the Colossal Cave Adventure, it was the very first text adventure game, a genre now known as “interactive fiction”. Originally written in Fortran, it was eventually ported to pretty much every platform then in existence; and it can now be played on-line.

ADVENT is the remote ancestor of every adventure game now in existence. You had a large world to explore, monsters to cope with, treasures to loot, puzzles to solve, and an inventory of items to solve them with. Of course, this was 1976. The average micro-computer had no more than 64 kilobytes of RAM, and probably much less. There were no computer graphics to speak of; the game world was presented as text descriptions, and your commands were simple “verb” or “verb object” sentences parsed by the game, e.g, “GO EAST” or “GET WAND”.

The next big adventure game to come along was written at MIT, and was called DUNGEON. Set in the Great Underground Empire of Zork, it included a much more powerful parser, a much larger world, and much trickier puzzles. (You can play it on-line to, at the link given above.) It become so popular that it was commercialized by a company called Infocom, but it was too big to fit on micro-computers, so it was split into parts, now known as the Zork trilogy. Infocom went on to produce almost thirty different text adventures.

Infocom was eventually bought by Activision, and in 1991, shortly after dissolving the Infocom brand, Activision released a CD called Lost Treasures of Infocom, including all of their text adventures (except Hitchhiker’s Guide to the Galaxy, due, I guess, to licensing issues).

When I was in junior high, we had ADVENT running on a HeathKit H-11 computer at our house. Later we had the Zork trilogy running on an Apple II and on a KayPro 4. It was inspiring, and for many years writing text adventures was my educational project of choice when learning a new programming language. When Lost Treasures of Infocom was released for the IBM PC, I grabbed it. (I think I still have the CD somewhere.)

Now the Lost Treasures are available on your iPhone or iPad. For free. And per the linked review, Activision managed the transition to the touch environment quite nicely.

If you’re looking for retro gaming, it doesn’t get any more retro than this. Go check it out.

Miskatonic School for Girls

413zE2LEMyL SL500 AA300

So we were given this game for Christmas: Miskatonic School for Girls. The basic notion is that you are a student in an elite girl’s school in Arkham Massachusetts, and the kicker is that all of the faculty members, from the headmaster on down, are Lovecraftian horrors bent on driving you insane. Your goal is to retain at least some of your sanity (you won’t keep all of it) longer than the other players.

The mechanics are interesting. This is a deck-building game: you’re trying to build a deck filled with spunky, tough students, filled with stern resolve, who won’t easily be driven insane. But your opponents are trying to stack your deck with nasty demented cosmic horrors—teachers, that is—who will make your class times a horror. You start with 20 sanity points, and as your sanity declines the rules require you to cackle and gibber fiendishly.

It’s an interesting game. We’ve played it twice now, and I’m dimly beginning to work out some strategies. You can try to buy students who will give you lots of points to buy more powerful students (to defend you) or faculty (to afflict your neighors), or you can try to buy students who will do well in the classroom against the horrors that Student Was Not Meant To Know. Whether it will hold up over time, I’m not sure; it strikes me that there’s not quite enough interaction between the players.

The younger of my two sons loves to play to lose, because he really likes gibbering and acting insane. It’s kind of scary.

I Have to Sit Down

I like Simcha Fisher; she makes me laugh:

Listen, deadbeat. It’s too late to send out paper cards, which you’ve been “taking a year off” from doing since 1993. In fact, failing to send out cards is the only Christmas tradition you’ve managed to keep faithfully, other than miraculously transforming, every Christmas Eve, from someone who owns six pairs of scissors and four rolls of tape into someone who is seriously considering using little dabs of strawberry jelly to stick together the shredded edges of wrapping paper, which you attempted to cut by scoring it with a Budweiser cap. Jelly is sticky, isn’t it? Isn’t it?

Read more: http://www.ncregister.com/blog/simcha-fisher/how-to-write-a-family-christmas-letter#ixzz2Fi8lUbSu