Finding the Fantastic in Fantasy Again

I’m going to talk about leaving and returning to enjoying the reading of fantasy novels¹ in a moment, but first I need to talk a little bit about my Dungeons & Dragons group. Bear with me.

I’ve played various tabletop role-playing games in my life, but D&D was the first and the one that had the most staying power. But before this year, the last time I had played had been while I was still at LucasArts, back in the early aughts. After moving to Maryland, I never really had a peer group that fit. I had a huge collection of modules and manuals and magazines in my basement, but mostly they gathered dust.

That changed this year when my elder son asked me if I would DM for a group of his friends, none of whom had played before but who were curious. It ended up being 8 kids² and so I ran two sessions over a weekend in March while they were on Spring Break. One was a one-off, and the other turned out to be a kick-off to a campaign. We’ve played every other week or so through the summer.

And they’re hooked; you can tell from some of them when they’re at the table — excited, engaged, enjoying themselves. Another’s mother told me about how much she hears about the sessions after the fact. And my own son tries to pick apart the various mysteries of the campaign over meals. They often gather after a session and discuss it together. They’re into it.

And their enthusiasm has carried back to me a bit, and mostly because of one fact: all of this is new to them. When I was young³ and playing this for the first time, we all knew too much about the game. We were in a time when there were fewer distractions, and we were all fairly obsessed; we studied the manuals when we weren’t together. When a creature was described, we’d all know exactly what it was, we’d know what we had to do with it. The game was somewhat more geared towards that at the time, to be honest, but it was also just a function of our age and the relative paucity of other distractions.

So what’s been great about this group is that I can describe the appearance of an undead troll, and they don’t know it’s a troll. They also don’t know that it regenerates or the only thing that will permanently damage it is fire. There’s mystery in it for them, and I really appreciate that sense of wonder that they have. It’s made it fun for me, and it’s also helped me realize why I’ve been able to return to reading some fantasy fiction.

I drifted away from reading fantasy maybe a couple of decades ago — I might pick up something from time to time, but for the most part it wasn’t part of my normal reading diet, and on those occasions I read it, it was more likely to be science fiction. I read more literary fiction, and I’ve always enjoyed detective, mystery, and police procedurals, with maybe the occasional espionage novel thrown in.

That was a strange departure: fantasy was how I first came to fiction, when I read The Hobbit and then The Lord of the Rings over a few weeks when I was fairly young. We had gone to the ocean for our summer vacation but when we first got there an off-shore storm had really roiled up the surf and I was too small to be able to get out into it safely4. My father bought me The Hobbit and long after the sea had settled I was spending all my time reading that.

It kept on. I followed adventures in Prydain and Narnia, and probably a dozen others I can’t even remember now. As I got older I read Conan and Weis and Hickman and Thomas Covenant and David Eddings’s Belgariad and whatever the other one was called, and even later Robert Jordan and Dave Duncan and just all kinds of stuff. But at a certain point, it just no longer engaged me; at the time, I put it down to growing up and putting away childish things, if I thought about it at all. I did read Harry Potter, but I skipped Game of Thrones even as it became this cultural phenomenon, even when I was surrounded by co-workers who really admired it and recommended it to me. I was just kind of done.

But over the last couple of years it has been slowly winning me back, and it’s been because I’ve sought out fantasy that isn’t primarily white and medieval. I had a year there where I read only women and I wanted to read genre fiction from them as well, and so I dug into Octavia Butler and Lois McMaster Bujold and Jo Walton. This year Ursula K. Le Guin died, and I went back to read her early Hainish novels and I loved them. I had a few that didn’t quite connect with me, but more that did.

In the last little while, maybe a year or so, I’ve especially enjoyed the work of N. K. Jemisin (The Thousand Kingdoms), Nnedi Okorafor (Binti), S. A. Chakraborty (City of Brass) and now Laura Anne Gilman is a new discovery to me (Silver on the Road). These aren’t the same medieval white fantasy novels of my youth; they’re something else. I’ve even been making my way through the Discworld novels by Terry Pratchett, which treat the staples of my earlier reading life with a welcome and uproarious sense of humor.

I’ve realized that the reason I drifted away from fantasy was that it became entirely too familiar. I’m not dismissing any of that stuff5 I’ve read in the past, nor anyone’s enjoyment of that or the new stuff in that vein; I took a lot of pleasure from those books. But for me, I could no longer take pleasure in it because there was no longer any mystery in it. The familiar is never fantastic.

What I needed, I guess, was fresh fantasy. I didn’t know I needed whole new mythologies, or just stories set in mythologies with which I was less familiar. I didn’t know I wanted a fantasy version of the wild west until I stumbled upon it. But I found my way to all of that by explicitly seeking out different voices, in authors who were women or people of color (or in many cases, both).

I’m glad to be back reading fantasy fiction again, that it’s back in the mix. And I’m glad to be able to play Dungeon Master for a bunch of kids who helped me realize what I had been missing in it. What a gift. Now if I can just get some games to go out there and find some new settings….

¹Note: I use fantasy often to also include science fiction. There’s probably a better term, but I was taught that science fiction was a sub-genre of fantasy when I was a lad, and it has just stuck.

²They are kids to me, though they are 19 or 20. Those that are attending college enter their junior year a month from now.

³I started playing in ’81 or so, around the age of ten. A kind teacher used to let us use his classroom during recess to play, or after school.

4I’d get out there to body surf and just be pummeled into the sand, to the point I feared I wouldn’t be able to come up in time. I remember it well. It was the first time I felt pure terror in my body.

5Though, to be sure, some of it is a lot better than others, and some I would probably not necessarily recommend anymore.

How One Line in a Text File Changed Jedi Starfighter

There’s a bug in Jedi Starfighter. It was caused by one line of data, and although we considered the bug pretty significant, and although we knew about it before we shipped, we didn’t fix it. This is the story of that bug.

In the original Starfighter, the damage done by laser blasts was a bit of data that was specific to each ship type (more or less), defined with a single line of our data definition language¹. Laser fire was defined by four floating point values as I recall: a minimum amount of damage, a maximum amount of damage, the distance before which the maximum was applied (i.e. shots closer than this distance did the maximum damage), and a distance beyond which the minimum was applied. In between, we interpolated between the two. This was meant to be a quiet inducement to the player to engage in dogfighting — close-up fights were more exciting, showed off the ships to better effect, and also better to reflect the feel of Star Wars space combat.

One source of the bug was this: because it was perfectly mathematically valid to have the maximum damage actually be lower than the minimum damage, the idiot programmer² who coded it up didn’t think to have the game warn if that were the case. Sure, it didn’t make any sense for a laser to do more damage the further it went, but it wasn’t harmful for that to happen, and anyway, this is Star Wars, who knows what kind of space lasers they might develop.

In Jedi Starfighter, the data for the player ship³ was tweaked so that this happened, which dramatically improved the ability for players to destroy ships from long range with just their lasers, using the camera zoom. Lasers became more powerful the further they traveled, up to some maximum amount. Effectively, what was meant to be a game about close-quarters combat became about at-edge-of-visual-range combat. We went from a game we thought was about handguns and knives to a game about sniping, metaphorically speaking.

No one involved in this bug was acting improperly. The implementation was general enough to allow for as wide a number of behaviors as possible. The person who made the change did so based on personal taste. When we played the levels, we all tended to shoot things from long range anyway, and when you play these things every day you might mistake sudden changes in the data as simply being much better at the game (because you play it all the time). At some point, the vision of JSF as continuing in the legacy of Starfighter and having that close-quarters feel was not reinforced enough, but we were a short project and most folks had worked on the first. Reiterating that design goal may have seemed unnecessary, or may have simply slipped through the cracks with the other pillars we were pursuing: Force Powers, improved performance, some other stuff.

Now, as I said, we discovered the bug before ship and didn’t fix it. That was the right call then, though it might not be today, hard to say. We discovered the bug once we were either in beta or very close to it. At this point, hundreds of QA hours had been put into the game already, and the game had been balanced around the fact of how the weapons worked, whether we liked that or not, whether it led to the gameplay we liked or not. For business reasons, the game absolutely could not slip, and so… we just left it. It was too risky to change. Balancing all those numbers is so often just a house of cards, and the amount of damage the player’s weapons does are one of the ones at the bottom of the pile. You can’t just pull it out and hope the whole thing will stand.

We had other options, but they weren’t good ones. We could have put the lasers back to where they were on Starfighter, and done a round of tests, but that might have simply ended up burning a test cycle to learn that wasn’t practical, and lost that time forever. As close as we were to ship, and with real bugs that had to be fixed for cert and what-not, that was simply too costly. Today, we might have patched it after more time could have been spent with it. At the time, the best decision we had available to us was to leave it as it was. We couldn’t afford the risk of other options.

So I feel for the folks who missed a typo in some data file on Aliens: Colonial Marines. I’ve been there.


¹I hesitate to even call it a language. It had no control flow statements in the original Starfighter and I don’t think even any variable support, both of which were added in minimal ways for JSF but which aren’t really germane. I just like to digress.

²I feel comfortable calling this programmer an idiot because it was a long time ago and also I was that idiot.

³OK, technically, there are several player ships and so this bug was replicated in several places, but essentially a single line each time. <waves hands in air>

Here goes… something else

In 2005 I started blogging, and in 2017 my approach to managing my blogging software¹ finally showed its flaws. So here’s a first post to do things like testing of this new platform (finally on WordPress because it’s well-supported by my hosting company).

At some point, I’ll put a link to the old blog here, I guess that’ll probably show up in the sidebar. Thanks for bearing with me.


¹Tried and true method: ignore it until it breaks.