Last night’s bug fixes introduced a brand-new bug. Fixing it was a matter of changing a single character. I had managed to make a typo that was perfectly acceptable to my compiler, but made no sense in the code. Thankfully, it was an easy and almost instant fix. It also tells me I should get more sleep. :p
So today I decided to take a break from all that and work on a table.
Back in the old days, I loved the histories of artifacts given in Eldritch Wizardry, and the many variants on that which have followed. Couldn’t I make a table do that? Well, yes … but the thing’s hit 2100 lines already and it isn’t done!
This is the kind of output it’s producing so far:
Of mysterious origin, the Icy Axe of Demons was first found in the possession of a necromancer and his four minions, who were slain by Baroness Ramphorica the Noble and her adventuring party, the Red Fellowship. Ramphorica was killed by a corrupt monk and the Axe disappeared. Missing for decades, the Axe was eventually seen in the hands of Ramthasie, of the Silver Circle, who carried it when she conquered a stronghold in the Fell Mountains. Following her adventures, Ramthasie retired from adventuring to spoil her grandchildren and the Axe was eventually sold at her estate sale. Decades later, the Icy Axe of Demons is thought to be a legend.
I picked the best of 10 results for that one; obviously, the table needs a lot more work, though it still will never touch something like the Codex of Infinite Planes in Eldritch Wizardry. And I’m still not happy with some of the punctuation. Still, it’s a pretty good example of what you can do with a table. There are a lot of little things you don’t see on the surface, like good, neutral, and evil item-owners having different epithets, going on different quests, and so on.
This is one of those tables which edges closer to being a program than something you could, or at least would want to, actually roll dice on. (for one thing, it’s got over 200 subtables and still growing) It would run 37 pages (so far) if you printed it out at 66 lines to the page, and if every computer on Earth was using it to roll up 100 item histories per second, it could go until long after the heat death of the universe before it repeated itself. (in fact, before it even hit the “half-life” of repetition) Honestly, I’m not sure why I’m doing this; I’ll just end up throwing it into one of the Fantasy Table Packs at some point. It was supposed to be just a quick and dirty table to give an outline of the history of some item so a +1 sword could be more than just a +1 sword. It … grew some. Or it’s gruesome, I’m not sure. (though I just did a major rearrangement of the subtables, because it had the approximate structure of a bowl of spaghetti)
In the end, all of the names and such are superfluous; the user is going to want to fill in their own name for every item, every owner, every country, and so on. They’re all in tidy sections so you can do that easily.
On an unrelated note, there are times I really hate the English language. I had an idea, for a brief moment, that I should have a function to use the past tense of any given verb — i.e., “fight” to “fought”. Moment is the word for it, too, because the little voice in the back of my head started screaming hysterically, gasping out something about “are you mad?!?!?” between shrieks. I don’t think there’s any way short of having a ginormous dictionary of words in the program to hand a language where the past tense of “link” is “linked,” but “drink” is “drank,” and “think” is “thought.” Maybe if I was doing a Spanish version….
Ah, well, back to the code mines. Time to put this table away and get 1.4.5 tested so y’all can have it. Though, come to think of it, the table in question is a pretty good workout for 1.4.5 — it’s using a number of new features, prominently among them .CAPTURE. (why didn’t I write that a long time ago?)