rjbs forgot what he was saying

not logged in (root) | by date | tagcloud | help | login

rjbs's tags

-- - ?? + ++
4   80s  
4   _to_read  
1   abe.pm  
7   addex  
1   ads  
26   advice  
1   airlines  
1   algorithm  
9   amazon  
1   amber  
1   america  
1   animals  
1   aol  
43   apple  
7   applescript  
2   architecture  
1   arf  
5   art  
1   assembler  
5   astronomy  
2   baby  
4   backup  
2   baking  
1   banjo  
2   barcode  
1   bash  
1   battletech  
6   beer  
2   bethlehem  
5   bible  
4   bicycle  
6   blog  
1   bonjour  
10   book  
6   bookmarks  
48   books  
9   booze  
1   boston  
1   brainfuck  
1   breadmachine  
1   bryar  
1   bugzilla  
1   bus  
2   c  
1   calculator  
1   calendar  
20   campaign  
1   car  
4   cartoons  
1   cdbi  
1   cellphone  
6   chart  
1   chemistry  
14   chess  
1   china  
1   chinese  
20   christianity  
2   christmas  
1   cloud  
6   cocoa  
16   code  
15   color  
9   comics  
7   compsci  
1   computers  
1   conference  
2   convention  
1   cooking  
20   cpan  
1   cricket  
2   criticism  
1   cron  
3   crossword  
4   crypto  
3   css  
11   culture  
1   cvs  
1   cygwin  
1   dad  
1   dashboard  
8   database  
2   dbi  
1   debian  
2   debug  
8   delicious  
3   design  
2   dice  
2   dictionary  
27   distzilla  
1   diy  
61   dnd  
2   dns  
1   drawing  
4   dreamcast  
12   dreams  
1   drm  
1   dropbox  
1   dvorak  
4   ebook  
1   ebooks  
2   economics  
8   editor  
2   emacs  
63   email  
1   encoding  
4   english  
3   ergo  
1   erlang  
9   esperanto  
2   etiquette  
1   evolution  
1   exchange  
2   exercises  
1   extreme  
3   family  
1   fax  
1   fbl  
2   ff  
2   fiction  
6   firefox  
1   flags  
10   flash  
2   fletch  
1   flickr  
1   fluxx  
1   foaf  
1   folk  
9   fonts  
20   food  
3   forth  
2   forum  
1   free  
2   freesoftware  
2   friends  
1   frink  
1   fud  
3   functional  
1   fundraising  
2   furniture  
8   game  
3   gameboy  
18   gamecube  
194   games  
50   gamesite  
1   gaming  
1   geography  
2   geometry  
1   german  
19   git  
1   glasses  
1   gloria  
1   gmail  
15   go  
2   golf  
3   goof  
6   google  
9   gov  
1   groups  
11   guineapigs  
2   gun  
3   gwb  
7   haiku  
2   halo  
46   hardware  
11   haskell  
1   hate  
1   health  
1   high-st  
3   hiring  
15   history  
7   hiveminder  
1   home  
14   house  
16   howto  
7   html  
2   http  
35   humor  
1   icehouse  
2   icon  
6   icons  
4   idea  
1   ideas  
3   illusion  
16   image  
1   infocom  
2   inform  
5   int-fiction  
1   io  
3   iphoto  
6   ipod  
5   irc  
9   itunes  
1   jargon  
2   java  
28   javascript  
4   jonstewart  
1   jott  
1096   journal  
1   jquery  
1   json  
1   karaoke  
15   keyboard  
5   keynote  
1   kinesis  
1   knave  
3   kwiki  
10   language  
2   lasertag  
2   latex  
2   latin  
6   law  
1   lazyweb  
2   lego  
2   library  
1   lighttpd  
11   linux  
4   liquidplanner  
10   lisp  
1   list  
2   literature  
7   logic  
1   logo  
2   lovecraft  
1   lua  
115   macosx  
1   magazine  
1   make  
2   management  
2   map  
4   maps  
6   mario  
1   markdown  
6   martha  
10   math  
3   mecha  
1   media  
2   memory  
1   metabase  
2   metroid  
2   mh  
1   microscopy  
1   microsoft  
1   mk  
9   mnm  
4   money  
3   moose  
2   motivation  
1   mouse  
19   movies  
3   mozilla  
1   mp3  
5   msie  
23   music  
10   mutt  
2   mysql  
1   mythology  
1   negativland  
1   nethack  
22   network  
9   networking  
8   news  
2   ocaml  
3   omnifocus  
1   omniweb  
2   online  
1   ook  
1   openid  
1   oracle  
7   oscon  
1   oscon2008  
1   outliner  
7   paranoia  
2   parsing  
1   pdf  
6   pedagogy  
3   pennsylvania  
304   perl  
2   perlmonks  
1   perlqa2011  
7   pets  
2   philosophy  
22   phone  
1   photos  
8   php  
1   physics  
1   piercing  
1   piet  
1   pike  
5   platformer  
1   pobox  
10   pod  
3   poetry  
11   politics  
1   porn  
1   portland  
2   postfix  
2   postgres  
2   ppw2007  
1   pr0n  
6   presentation  
1   printer  
22   productivity  
2   profiling  
1   programing  
401   programming  
5   prolog  
7   ps2  
2   psx  
1   psych  
1   pvoice  
11   python  
1   qmail  
1   quality  
1   querylet  
2   quiz  
2   rant  
3   rants  
3   recipe  
54   reference  
1   regex  
12   religion  
7   repair  
1   replication  
1   resource  
3   rest  
18   retail  
11   review  
1   rhetoric  
1   rifts  
1   robot  
1   rpc  
105   rpg  
5   rss  
3   rtf  
1   rubik  
20   rubric  
17   ruby  
1   rugby  
1   russia  
6   rx  
2   safari  
1   satire  
1   scala  
2   scheme  
8   science  
1   sco  
2   screen  
2   search  
10   security  
2   sega  
3   service  
4   sh  
5   shaving  
1   sheetmusic  
1   slack  
1   slony  
2   smalltalk  
1   smoking  
1   social  
13   socialnetworking  
182   software  
1   solaris  
2   sonic  
2   space  
8   spam  
1   speech  
2   sports  
1   sql  
2   sqlite  
1   startrek  
3   starwars  
2   steelbat  
1   strategy  
68   stupid  
10   subversion  
1   superhero  
3   svk  
1   switcher  
5   syntax  
1   tarot  
1   taxes  
17   testing  
1   tex  
1   thanksgiving  
1   theatre  
1   thunderbird  
7   tiddlywiki  
5   time  
5   tivo  
6   todo  
1   tolkien  
55   tool  
1   tools  
1   toys  
10   travel  
1   trek  
25   tutorial  
16   tv  
3   typing  
1   uk  
5   unicode  
9   unix  
1   usenet  
2   vcs  
1   vector  
2   vi  
10   video  
90   videogame  
1   videogames  
14   vim  
1   virtual  
1   virtue  
2   visualization  
2   vnc  
1   vocabulary  
1   voip  
1   voting  
6   war  
1   weapons  
1   weather  
58   web  
1   webgames  
1   weight  
1   wii  
20   wiki  
1   wikipedia  
14   win32  
2   wireless  
1   wodehouse  
1   wordplay  
19   work  
3   writing  
20   wtf  
18   xbox  
1   xcode  
1   xen  
8   xml  
1   xp  
1   xslt  
2   xul  
1   yahoo  
3   yaml  
15   yapc  
1   yapcasia  
4   zelda  
1   zen  
3   zombie  
1   zombies  
5   zsh  

RSS feed rjbs's entries with a body

collapse entry bodies

RPG Recap: Alar, 2012-05-12 (body)

by rjbs, created 2012-05-14 10:55
last modified 2012-05-14 10:55

Year 28 of the 7th Imperator, 13th of Declarations

The gang decided to put aside the question of the recovered tax money and go through with the job they'd signed up for. They waited until nightfall, picked off the two bandits who wandered down from the house looking for something, and then crept around the side to spook the horses to lure out more unwitting victims. This worked at first, and the first curious bandit was pelted about the head and shoulders with rocks. He was able to get back inside, though, and alerted his comrades. This began a long and confused attempt by the bandits to pin down and fire on their attackers. After a few casualties, though, most of them locked themselves inside and left one or two behind to keep an eye on things.

This left the party's archers and sling-wielders free to rain projectiles on the guards, at least until one of them cried out desperately for help: he'd spotted a large wagon, dimly illuminated by weak flames, rolling toward the villa. The rest of the bandits poured out and were mowed down in short order, except for a few who turned their attentions on the cart. As it grew closer to the villa, its escort came into view: a half dozen imperial soldiers, bloodied and limping along with a thousand-yard stare. The bandits took aim and fired, but even their hits were shrugged off. Two of the soldiers broke into a run and attacked viciously, but were eventually cut down by bow and spear.

Calliope, who had clambered onto the roof to take shots at the shuffling soldiers, lept into the house throught he compluvium to fight the small fire that had started in the vestibule. Ignatius pelted the poor cart ox with stones. Tilton bravely ran into the fray just as the last enemy was downed. By the end of the fight, the gang had nearly entirely escaped harm and was surrounded by a score of bodies.

RPG Recap: Beyond the Temple of the Abyss, 2012-05-05 (body)

by rjbs, created 2012-05-05 23:04
last modified 2012-05-07 18:17

Saturday, the 14th day of the Red Moon, 937

After a good night's rest indoors and without serious fear of attack, the whole party was feeling much better — except possibly for Delian, who felt great, but was looking greener than ever, and had begun to grow a long black claw from his left stump. The group braved the rain, ran to the nearby tented markets, and enjoyed the best meal they'd had in days. They did some shopping, and Delian picked up a scroll of Find the Way. Rocky was kicked out of several places after brandishing the now-animate troll head, including the inn.

He did manage to get some advice from the innkeeper on how to most safely (or, at least, least doomedly) find help inside the city. Their best bet, he said, was to head south and avoid the Happy Door and the Way of Sunshine in favor of Death's Door. ("Well, no," he admitted, "I've never actually been through any of them.")

The group decided to look for Hajiya Malaga, a priestess of Haarg, and got some rough directions to her church. They hurried through the ruins of Alithica, past a group of exiting refugees and into the park, where they'd been warned not to tarry. Immediately, they came under fire from a ghostly group of soldiers. Delian tried to negotiate, but to no avail. By the time the group hobbled away, they'd been terribly affected, and none moreso than Rocky, who was left a doddering old man, barely able to shuffle along with the group.

They all made it safely to Malaga's church and were shortly admitted to see her. She quickly identified Delian's condition as caused by his use of the Draught of Super-Heroism and said she could alleviate him of this service to Haarg, as long as he'd wear to another: securing for her an artifex. Delian agreed, and the deal was done. As for the rest of the group's problems — Delian's stump, Rigby's stump, and Rocky's accelerated decrepitude — she didn't have much to offer. She suggested that they might be able to seek out Krisos the Undying, beneath the old bazaar, but also explained that it would be extremely dangerous.

Sunday, the 15th day of the Red Moon, 937

The group spent the night in her care and the next morning, with two new hirelings (Bill and Jude) they headed out along the path they'd been given. Their walk was fraught with weirdness and danger: strange worshippers around a jet-black monument, a battle between a band of brigands and a flying wizard, a rescue operation being carried out by a bunch of bug-men and pygmies, and then finally the bazaar itself.

As the group closed in on the marketplace, they spotted a group of armed men with metallic skin watching the market from an alleyway. Assuming these were the market's guards, the party headed in and explained that they were just there to shop. The metal men didn't seem to like this explanation, and said that the whole market was in contravention with municipal ordinances and would be destroyed … starting with its newest customers. They attacked! Jude and Bill were killed almost instantly, and Rocky was incapacitated and carried off by Delian, who trailed the group as it fled back to the main road. On the road, a cart of red-skinned monks was passing by, and let the party climb aboard to flee their (very slow) pursuers. Everyone decided to try to figure out another route to Krisos.

In Memorian

R.I.P., Jude the Soldier
R.I.P., Bill the Soldier

Perl 5.16.0 is coming soon! (body)

by rjbs, created 2012-04-28 15:23
last modified 2012-05-01 13:02

In October 2011, Jesse Vincent handed me the patch pumpkin, meaning that it's now my responsibility to keep Perl development on track and moving apace. One of the biggest parts of this responsibility is making sure that we release new versions of perl, and that they're fit for human consumption!

We're getting quite close to the next production release, which will be perl 5.16.0. Right now, there are no open tickets marked as blocking its release, although there are a few that need to be looked at to decide whether they block. Even if so, we've got very few bugs on the radar, and we're getting ready to get this thing out the door.

For those of you who haven't been paying close attention to how perl 5 development has changed, it's like this: almost all of the development effort goes toward the development branch of perl, "blead." Every month we release a new development snapshot. Every year we release a new stable production release. As we approach each year's new stable release, the amount of changed expected (and allowed) in blead is reduced. Right now, we're in the frozenest part of the "code freeze" that precedes a stable release. Changes only go in if they're simple and obvious bugfixes, or complicated but critical bugfixes, or documentation improvements. There are some other categories, but this is a good summary. The code freeze, like all things in Perl development, is a priority, but not a hard and fast rule.

The perl5160delta document, which describes what's new in perl 5.16.0, needs some finalization, but not much more. After that, we're just on the lookout for serious bugs, smoke failures, and stupid typos. Smoke failures get categorized as either serious bugs, flukes, or edge cases. Failures categorized as serious bugs need fixing before 5.16.0. The other kinds don't.

So, this means that we could be looking at perl-5.16.0 RC1 within a week!

If you use perl 5, the most important thing you can do right now is test! Build perl from blead and test your code and your favorite modules. You can build perl with perlbrew very easily. Once you've got perlbrew set up, just run perlbrew install blead, switch to it with perlbrew use blead (or s/use/switch/ if you're on an environment where use won't work), and get to work testing.

Otherwise, you can clone git://perl5.git.perl.org/perl.git and follow the instructions in INSTALL. Build with the same options you use in production. Let us know what fails that didn't fail before, either by running perlbug or mailing p5p if perlbug gives you trouble.

I'm hoping we'll see perl 5.16.0 hitting mirrors in early May, and 5.16.1 a month or two later.

RPG Recap: Beyond the Temple of the Abyss, 2012-04-21 (body)

by rjbs, created 2012-04-28 11:47
last modified 2012-04-28 11:48

Thursday, the 12th day of the Red Moon, 937

Having passed a cold, unpleasant night's sleep in the Tower of Boundless Reach, the party bundled up as best they could and headed out into the snow. Their progress was slow. Rigby, Delian, and Rocky were sharing two coats between the three of them, and going without was getting to them, leaving them numb, weak, cold, and miserable.

After a few hours slogging through the snow, they stumbled across a pair of men on a loaded-down dogsled. The men, covered head-to-to in warm white clothes, motioned for the group to stop and send one man ahead to parlay. Delian approached and after some questioning by the man in white, tried to figure out where he should be going and how he should get there. The man in white agreed to trade his sledge and dogs for the six heavy coins the party had found in the package in the tower. He and his partner unpacked the sledge and trudged back west the way they'd came, and the party packed onto the sledge and headed south, toward where they'd been told there was a large city.

Some hours later, they came to a broad stream and decided to ford it. As they did so, they were approached by a black, floating metal … thing. It shone a bright violet light on them and interrogated them (ignoring Delian's replies). When Rocky showed them their Haarg "tapestry" depicting the fist-and-brain, the thing urged them to head to "the front" or southwest for medical attention. They agreed, but it wasn't enough: the metal thing began to emit a dazzling pattern of lights and sounds, mesmerizing almost everyone and leading them west. Prudence and Delian were unaffected by the display, and retaliated.

Delian attacked and was entirely ignored. Prudence attacked and was not ignored. The thing pointed an appendage at her and shot forth a bright yellow bolt that bored a hole through her chest, knocking her down. Still, between the two of them, they beat the thing to the ground, where it began to emit an irregular series of beeps. Everyone ran for cover and hit the dirt, but nothing happened – at least for a few moments, before the thing exploded. Everyone was beaten up a bit, but no one was killed except for the dogs, whom Tamara immediately cut open and started to eat, pausing only to prevent Rocky from looting Prudence for anything but the rest of the food.

The group made camp to sleep a few hours before heading on.

While the rest of the group slept, Delian heard noises from a distance and sneaked off to investigate. Eventually he found the source, four armed men in long leather coats, who weren't too happy to see him. After a few questions about Delian's comings and goings and his equipment, they decided he was lying and demanded to be taken to his camp. They woke up the rest of the group and asked more questions, rapidly growing angry at the party's lack of abject servility. When they learned that the party had found heavy rainbow-colored coins, they were intrigued, but when they further learned that they'd been long-since carried off to the west, the men were disappointed. They took the little remaining wreckage of the black thing and headed off south.

The gang decided that they couldn't stay here and headed off to the southwest, stopping when they met a strong river. After some deliberation, Delian carried everyone across on a Floating Disc and they began to continue their trudge southwest. Before too long, though, they spotted a group of men shambling down a hill toward them, and made a hasty retreat to the south. By this point, party members were collapsing from exhaustion and hunger as they ran, but they managed to reach the edge of the forest, and their pursuers stopped.

Once again, the party made camp. They ate crackers and pink sludge. They took little sips of this potion and that, with no great effect. They smeared grey balm on Prudence's organs and packed the wound with a blanket. Delian injected himself with whatever was in the orange-and-green vial. This, at least, left him feeling in excellent health, though it was later remarked that he looked a bit green around the gills. They finally admitted that Prudence was dead and, lacking any digging tools, buried her under a pile of leaves. (After looting her body, of course.)

They managed to pass the night in peace, although it was a poor night's rest.

Friday, the 13th day of the Red Moon, 937

The next day, the party looked off to the south, considering the immense city on the horizon, and decided to try their luck. They were suspicious when the first person they met claimed to be a healer, but Delian, at least, was willing to fork over some gold for healing. When they said they were looking for someone who could help regrow hands or help with more serious injury, the healer (Ganna) said that they could try heading into the city itself, but that it was a dangerous place, probably best avoided.

They thanked her for her advice, found a rickety inn built outside the city proper, and got quarters for the night.

In Memoriam

R.I.P., Prudence the Medium

XP

Delian  : 1636 + 140 = 1776 (Level up at 4000)
Rocky   : 1017 + 140 = 1157 (Level up at 2000)
Tamara  :   89 + 126 =  215 (Level up at 1500)
Rigby   :  402 +  60 =  462 (Level up at 1200)

RPG Recap: Alar, 2012-03-17 and 2012-04-14 (body)

by rjbs, created 2012-04-28 10:51
last modified 2012-04-28 11:49

I fell behind a bit in writing up Alar recaps. Oops! Things have been very busy lately, which I should write about in a separate post.

Year 28 of the 7th Imperator, 10th of Declarations

Calliope had died in a fight outside Mariava's house, beaten down by the unnerving guard-slaves. The rest of the gang decided it was worth trying to have her brought back to the land of the living, and that they'd seek the help of a priest of Adens, gracious host of the dead in the underworld. They asked the keeper of the Dirty Red Table who they might try asking for help, since taverners are well-acquainted with Adens' priests, and she suggested they could seek out Mersus of the Olii -- "but you won't like him."

They went looking for "the mighty priest" as directly, only to realize that The Mighty Priest was a bar and Mersus was a patron. They found him drunk and with a pair of prostitutes, but drove them off and told him they needed to talk business. The priest slurred his assent and led them back to a more appropriate place: his home, a tiny, filthy apartment above a nearby brothel. He said he'd be happy to help the group, but that they'd have to do something in return for Adens' favor. He said that a patron at the luxurious Plate and Cup in the old city was overstaying his welcome, and that they'd be doing a favor to everyone if they could have him seen on his way – but that Mersus' name should be left out of things. He wanted his kind service to the inn's keeper to be an anonymous gift.

"You can leave your friend's body with me," he leered. "I'll keep her safe."

The gang headed to the inn and bullied their way past the doormen and up to the top floor, where they busted into the wrong room before being confronted by the angry innkeeper. He had no desire to see his guest kicked out, but the gang wouldn't take no for an answer. They made it clear that the guy had to go, one way or another. The innkeeper suggested that this was a misunderstanding, and that maybe a certain priest of Adens was involved, but nothing was confirmed or denied. Finally, he agreed to evict his lodger himself. The gang waited in the kitchen, eating figs, while the deed was done.

Mission accomplished, they enjoyed a great rest at the Plate and Cup. ("Even the floors are more comfortable than our beds!")

Year 28 of the 7th Imperator, 11th of Declarations

In the morning, they went back to Mersus' place and said the deed was done. Mersus was relieved to reacquaint himself with the party and learn the reason he'd found a young woman's corpse in his bed. He led everyone to a nearby temple. From the outside it looked somewhat abandoned, and it had a fair amount of dust inside, but Mersus had it cleaned and suitable for use quickly, and did not slur and stumble his way through his invocations.

Meanwhile, in the underworld…

Calliope had been standing in a queue in the underworld for quite some time, slowly approaching the gates of the city from the blasted wasteland outside its boundaries. When she finally reached the tents of the city's bureaucrats – white-faced priests in black robes – she was taken aside for several hours to await special processing. Eventually she was told that she would be allowed to return to the land of the living, if she would agree to perform a service of Adens' choosing at some point in the future. The priest explained that should she decline, she would find herself unwelcome in Adens' home. Calliope didn't have to think twice: she agreed and was led down to a small room below ground where here spirit was dispatched (by an axe stroke) back to Alar.

Calliope's friends helped her to her feet and led her back to the Plate and Cup where they enjoyed another night's rest (already paid for, after all), avoiding Mersus, who was already there, carousing.

Year 28 of the 7th Imperator, 12th of Declarations

Feeling more or less back to full strength, the gang went poking around the imperial offices, looking for news or work. There were some reports of a bounty on the head of an escapee from the temple of Enoriaster, but when they went to seek more information, the guard recognized them as the blasphemers involved in the theft from the lighthouse temple. They party made a break for it, escaped unharmed, and took the rest of the day off.

Year 28 of the 7th Imperator, 13th of Declarations

The gang decided to look for work somewhere where fewer questions would be asked: the big board at the Commons of Knowledge. The daemon with whom they spoke sent them off to the south to reclaim the country villa of a citizen who had been evicted by brigands. The party was soon on their way and found the place, as described, atop a hill about a half mile off the road. Calliope made a long, slow circuit around the grounds, finding a number of crashed, empty wagons, complete with the drivers' corpses.

One of the wagons was home to a small, weird black creature that was rooting around beneath it. Calliope tried to coax it out, but when it made a lunge for her hand, she changed tactics to attack and it ran off, vanishing into thin air. Beneath the cart she found a sack of gold along with tax receipts. When she presented this finding to the rest of the group – who, while patiently waiting, had offed one of the returning bandits – there was some suggestion that they'd made more finding the bag of gold than they would by finishing the job, and that they should just go home. Tilton was the lone dissenter, noting that the gold was not theirs to keep, but was the property of his patron, Olixitus of the Abacus who, after all, had even pointed them to the wagons in a vision.

The party was not impressed, and some began to reach for their weapons…

essential (so far) iPad software (body)

by rjbs, created 2012-04-13 17:19
last modified 2012-04-13 17:19
tagged with: @markup:md journal software

I just got my first receipt for iPad software that I bought since buying my iPad:

GoodReader for iPad, v3.14.2 (4+) Good.iWare Ltd. App $4.99
Comic Zeal Comic Reader, v5.0.36 (12+) Bitolithic Pty Ltd App $4.99
Articles for iPad, v1.5 (17+) Sophiestication Software App $4.99
Tweetbot ― A Twitter Client with Personal… Tapbots App $2.99
Air Display, v1.6 (4+) Avatron Software, Inc. App $9.99

Then there are a few free apps that didn't show up:

  • Everything Butt Art
  • Adobe Reader

In addition to those, I've been using these apps that already had available from iPhone use:

  • It's Playing
  • Kindle
  • Instapaper
  • Dropbox
  • Night Stand
  • Amazon

I've got a bunch of other stuff installed, but I haven't really used it, so I'm not going to bother listing it.

I got my iPad to replace my HP TouchPad and my Kindle DX. I used my Kindle DX for reading technical books, children's books, Instapaper, and very occasionally other content. I used my HPTP for reading RPG books, comic books, Instapaper, and very occasionally other content. So, I needed to get iOS applications to replace these functions.

GoodReader is, I was told by nearly everyone I know, the best PDF reader around. Since I wanted this tablet in large part to read PDFs, I did not balk at dropping five bucks on the reader. I'm glad: GoodReader is pretty fantastic.

I don't need any of the annotations. I just need something good at listing files and displaying them. On the HPTP, I wrote a little rsync-ish script to load books into a directory when I mounted the tablet as a USB mass storage device. It was fine. The only PDF reader to speak of was Adobe Reader, and it was lousy. It was fine for reading a PDF in order, page by page, but it was slow and its interface for moving to arbitrary pages was a joke. Also, when you wanted to open a PDF, you could let it scan your whole storage for PDF files, which it would display in a single flat list. Argh! Instead of doing that, I used the Gemini File Manager to browse my file tree, then pick PDF files to open in Adobe Reader. It was pretty lame.

I saw that GoodReader had Dropbox sync, so I pointed it at my Dropbox. I told it I wanted to sync my RPG books folder and it got to work. A while later, my huge pile of PDFs was sitting on my tablet, still organized by folder. Then I synchronized my "articles to read" folder. I read a few and deleted them from my tablet, then synchronized the deletions back to Dropbox. Awesome!

Sadly, GoodReader uses Apple's (very fast) PDF renderer, which has some very unfortunate bugs that can cause text to appear missing or mangled. In my experience, it mostly affects OCR scanned files of now-unavailable texts, but even some modern documents, like the Pathfinder RPG PDF are affected. When I want to read these on my laptop, I fall back to using Adobe Reader, which is slow and ugly, but works. This bug is one of the reasons I had long hesitated to use an iPad to read PDFs. Yesterday, though, I learned that Adobe makes a PDF reader using their own engine, which renders these files properly! I'll still be using GoodReader for most files, but within GoodReader, if I see a file is rendering poorly, I can click "open in Adobe Reader" and read it there.

The other thing I wanted to read on the iPad, which I couldn't possibly read on my other ereaders, was comics. Reading comic books on my TouchPad was a revelation. I'd read them, before, on my laptop, and it was tolerable. On the TouchPad, they looked gorgeous. They looked, I though, even better than on the page. There was no problem with the spine obscuring any pages. The image looked bright (because, hey, backlight!) and crisp. Even a bit smaller than on paper, I was sold. I felt pretty unlikely to go back to buying paper comics.

I also felt like I wasn't going to see anything much better than ComicShelf HD, which I was using on my HPTP. It did just what I wanted: it let me load a bunch of comics, in folders, and then read them. What else would there be? I looked around for the most-liked iPad app and found Comic Zeal. At first, I was frustrated that its Dropbox integration was worthless, compared to GoodReader's. It only supported "Open in…" and not syncing. Loading comics by hand required going through iTunes, and then screwing around in the app to get things into folders.

Eventually, though, I found some useful help articles. It would be easy to do what I wanted: I had to turn off "automatic series," which guessed (badly) at series names from filenames. Then I'd make make new collections and focus on them while importing to get the files into the right place. It worked really well, and there are a metric ton of other organization features that I'd love to use... if Comic Zeal was a Mac app. As it is, I can't load all my comics onto my iPad, and don't plan to, but it'd be great if I could organize them with something this nice on my laptop, then sync them to my iPad in hunks for reading.

I use Articles for iPhone daily. I probably use it more than I use Safari. I was surprised to see that it didn't show up to download for iPad, because Articles for iPad is a distinct app. I'd have to pay another $5. I was annoyed for about fifteen seconds, then I paid the $5. I had to admit: I use that program so much, the author deserves another five bucks anyway. The iPad version is just as nice as the iPhone version so far, though I've hardly used it as often, and I doubt I will use it as often. Still, it's nice to have on hand.

I installed Twitter's official app, at first, just to avoid paying for a Twitter app, but I hated it. It looked bad, was annoying to use, and even with all its Notification Center access turned off, I kept getting notifications. I deleted it and installed TweetBot. I had wanted to install Twittelator, which I like on iPhone, but recently its had some weird things going on with pricing and features that I didn't like, so I stuck to TweetBot, which seemed very nice, too. It's so nice I might switch to using it on iPhone, too. In fact, I think I'll put replace Twittelator in my iPhone dock right now!

The next iPad app I picked up was AirDisplay, which lets me use my iPad as an external high-DPI display for my Mac. I had no idea what I'd use it for, but Jesse said I'd like it, so I ran with it. I still don't know what I'm going to do with it, but it does seem pretty darn cool. It also makes me with that I could full-screen one OS X program without rendering the second display useless. Argh!

Everything Butt Art is a cute drawing app that David Golden showed me at the QA Hackathon. Along with normal drawing tools, there are trace-the-lines drawings that I thought Martha would enjoy, and the whole thing is cute. It's also $0, which made it easy to justify.

The iPad Kindle app is very nice. I'm not sure what else to say about it. It does everything I expected and looks great doing it.

I also really like the iPad Instapaper client, which has a very simple interface and has already let me make some progress on my backed-up reading queue. The high-density display really paid off here. The text is gorgeous, and it really does make a difference in the reading experience.

Some of the applications that Apple installs by default (and, incidentally, doesn't let you delete) on the iPhone aren't present on the iPad. There's no "Clock" application and no "Weather" application, both of which seemed like they'd be useful to have around. I installed Night Stand HD and Magical Weather to fill in for Apple's apps. I'd already been using Night Stand on my phone, so it cost nothing, and Magical Weather seemed like it would be a nice thing to leave displaying while I sit at work. It looks like I'd like it even more if I could have it display some other data as it sits there, like a notification center, but I'm not picky. It looks great already.

Right now, I've got everything I liked about the Kindle DX and HPTP replicated on the iPad, and in every case the replacement software is much better. I'm not sure what I might use beyond these, but even if it's nothing, I think I'm happy. I should note that I also installed WriteRoom but I don't see myself using it much. The iPad keyboard is a thing that I can suffer through, but I hate typing on it. I ordered a cheap knock-off of Apple's camera connection kit so that I can plug in a USB keyboard, though, and that may change things. Time will tell.

So, I bought an iPad. (body)

by rjbs, created 2012-04-09 17:49

For a long time, I had no interest in an iPad, especially for $500. Mostly I wanted a big screen for reading the newspaper, PDFs, and comic books. To solve this problem, over time, I ended up with two different devices: a Kindle DX and an HP TouchPad.

The Kindle DX was great. It was light, had a beautiful screen, and could hold a zillion books. I used the heck out of it, but it fell by the wayside when I got the TouchPad. The TouchPad could read everything the DX could, but also comic books (which looked gorgeous) and full-color PDFs. The problem was that while the Kindle DX felt quite nice to use, the TouchPad felt sort of unfinished. I liked using webOS quite a bit, actually. Its general UI made a lot of sense. The individual apps, though, were all sort of half-hearted. The PDF reader was slow and ... well, just terrible. It worked, but not well. The Kindle reader worked, mostly, but not very well, and when I bought The Marvelous Land of Oz, trying to read it would crash the app reliably within about ten seconds. It was a mess. I really liked being able to read my color PDFs and comics, but I couldn't bring myself to recommend the device to anybody who didn't really, really understand the limitations. (I did convince Frew to buy two, though, and he seems pretty happy with that. Phew!)

The high-density display on the new iPad was really tempting me. I had a gander at Miyagawa's in Paris, and spent some more time looking over the apps I'd plan to use. It seemed like things would be much better on iPad. (I also kept looking at replacing webOS with Android, but it looked like a big pain in the butt and I heard pretty bad things about Android on tablets in general.) I decided that if I sold my Kindle DX and HPTP for the going rate on eBay, I'd have reduced the price of an iPad to replace them to about a hundred bucks. I could live with that.

This morning, I listed my tablet and Kindle DX. (The Kindle DX sold almost immediately; maybe I should've asked for more!) On the bus to work, I placed an order for an iPad, and I was excited – not for the device, actually, but to try Apple's newish buying experience. Instead of having the device shipped to me, I told them that I'd pick it up in the store. I picked the one near work and clicked "buy." A little while later, I got an email that my order was ready for me. Great!

I had this image in my head: I'd get inside the Apple store geo-fence and my phone would bleep, telling me that I could tap a button to have someone bring me my device. I'd show them my phone, and I'd be on my way. Exciting! That's how this sort of transaction should work.

Instead, my phone said "someone will be with you shortly." I waited. I waited more. I waited a long time. Someone asked whether I was being helped. I said, "I'm here to pick something up that I ordered online, and I'm waiting for someone to get it for me." The clerk said, "Oh, cool," and wandered off. I double-checked my phone. I told me I was 7th in line.

I kept waiting and watching my slow progress up the line. I saw employees all over talking to each other. Why would I have to wait in line to be handed a box and leave? I kept waiting.

Eventually, my phone said, "Go talk to Nathan at the front of the store." I went, but he was busy with someone else. I waited for several minutes before interrupting. "Hey, sorry to bother you, but my phone told me to find you, Nathan." The other guy thanked him and left, and Nathan, who had seen and heard me, ignored me to do something on his phone. I interrupted him again. He looked at my order and went to get it. When he came back, he had an iPad. "There should be a cover, too," I said.

"Oh," he said. "That hasn't shipped yet."

I was perplexed, and pointed at the huge display of Smart Covers. "There's like a million of them over there!"

"Yeah, but yours is being shipped to you."

"Um. I don't want to wait for the cover for my iPad. Why can't I just have one of those?"

"Well, you can go over there and buy one, but you'll have to call and cancel your order. It's pretty annoying."

I signed his phone and waited for him to go get me a bag. Then I had to go struggle to get the color I wanted from the top of the rack and use my iPhone to check myself out. Then I had to call the Apple Store 800 number, where they told me that my order was already packed, and I'd have to wait for it to arrive, then take it to the store to return it.

My experience wasn't terrible. It's just that Apple has done so much work to facilitate an amazingly seamless transaction that it was disappointing to see how thoroughly they blew it, here. I had to wait, I had to feel ignored, I had to call them on the phone, I had to make two trips to the store (one to purchase and one to return) and I had to go through checkout twice (once for my iPad, once for the cover).

The high-density display looks nice, though.

RPG Recap: Beyond the Temple of the Abyss, 2012-04-07 (body)

by rjbs, created 2012-04-07 21:25
last modified 2012-04-28 11:41

Wednesday, the 11th day of the Red Moon, 937

Walled up in the mine-top beneath the Gladwell farm, the party (Rocky, Rigby, Prudence, Delian, and Tamara) decided to escape through one of the "night doors" shown to them by Huk the Goblin. The lined up, placed hands on shoulders, and were led through the door by Delian. There was a flash of light, a pulling sensation, and then the group was somewhere altogether: a freezing cold room, about 15' in diameter with a 10' wide hole in the middle, spanned by a net. Along one wall was a pile of small wooden palettes. Scattered around another part of the wall was a rough pile of black glass discs. A doorway on rails could be spun around the room, and the party played for a while trying to figure out the relationship between the magic numbers hovering above it, the buttons, and the graffiti all over the walls.

One thing was for sure: a note on the wall said that 290 was "Safe Haven," but the view through the magic doorway looked like anything but. Other views were equally forbidding: an expansive lake of fire, a featureless gray gravel plain, and so on. When the room's lighting became red and the ceiling began to open, the group decided to hasten their exit.

Through the room's other door – a 7" thick steel affair – the group found a stairwell heading down. They went a good hundred feet before finding a landing where a crude shrine had been set up around a large yellow silk wall hanging featuring the name HAARG. Another hole in the ground led down and Rocky decided to test its depth by tossing down one of the glass discs. He was rewarded by the sound of snarling and roaring from below, which sent the group running back to the top of the stairs.

While the group was gone, a big yellow cube had fallen from the sky. It was about three feet on a side, wrapped in yellow canvas, and attached to a huge piece of yellow silk. Everything was stamed with HAARG and a stylized image of a fist crushing a brain. Inside the container, the group found some curious instructions, and some even more curious contents. There were some wooden swords, some extremely heavy coins, a bunch of food, boxed water, glowing silver blankets, a container of medical equipment (or so it was assumed) and a bunch of other equipment of questionable purpose and value. The "speaking stone," when activated, began to drone on and on about the horrible fates that would befall the party, their friends, their families, their souls, and their race in general. (This probably applied only to the humans, as it wouldn't speak to Delian at all.)

With the gear evaluated and redistributed, the group headed back down to investigate the roaring. Two landings down, they found a huge sleeping green… thing. Rocky decided to sneak by, but the thing was apparently only mostly asleep, and lunged for him as he passed. Delian tried to send the thing to sleep but his spell had no effect. Making no headway in his plan to beat the creature to death, Rocky decided to instead beat on the planks where the thing was standing. The wood splintered and broke, and the monster fell out of sight.

With the threat dealt with, the group headed down to the next level… where the huge green creature stood, furious and waiting for the party. The turned tail and ran back up. From there, they rained down molotov cocktails, wooden crates, and even the big steel cage that had been in the monster's lair. Then they tied Tamara into a harness made of the silk and goblin ropes and lowered her down so she could fire arrows into the monster from beyond its reach.

Unfortunately, Tamara had a hard time getting good shots off while dangling and spinning on the rope. Even more unfortunately, it grew more difficult once the furious monster began to pick up the dropped crates and throw them at her. Most unfortunately, he finally picked up the steel cage and threw it right at Tamara, crushing her against the wall, snapping the silk rope, and sending her crashing to the ground. The rest of the group burst in moments later and Delian responded to the monster's suggestion of parley by throwing a few glass vials at the thing. The vials were full of juices extracted from the same seeds that cost Delian his left hand, and they burst and mixed, burning the thing horribly. Unlike its earlier wounds, these did not heal, and the horrible green monster stayed down.

Rocky chopped its head from its body and shoved it in his pack, just in case it might come in handy later.

The group finished their descent, finding a few corpses on the way and collecting the dead men's fur-lined cloaks against the intense cold. At the ground level, they weighed their options: head out into a blinding snowstorm, in the dark, with an unconscious and half-dead cleric; or camp for the night. They camped, bundling up in their glowing blankets and a semi-self-pitching tent. The next morning, after supping on canned soup and crackers, they opened the heavy steel door and headed into the snow.

XP

Delian  : 1366 + 210 = 1636 (Level up at 4000)
Rocky   :  807 + 210 = 1017 (Level up at 2000)
Rigby   :  342 +  60 =  402 (Level up at 1200)
Tamara  :   29 +  70 =   89 (Level up at 1500)
Prudence:   29 +  91 =  120 (Level up at 2500)

My Appendix N (body)

by rjbs, created 2012-04-06 11:31
last modified 2012-04-06 11:32
tagged with: @markup:md dnd journal

The original AD&D Dungeon Master's Guide is often considered one of the best role playing game books ever published. It isn't that the rules presented are perfect, but that Gary Gygax presents his reasoning and ideas, and he encourages the reader to build his own world and rules the same way. It's a good book, and I was very happy to be reminded of this about a year ago when I got a new copy of it and started to flip through it again.

Its "Appendix N" is an important part of it, though it's less than half a page. It lists "inspirational and educational reading" based on the books that most inspired Gary Gygax when he helped give D&D its original character. As I've gotten more and more interested in reading "old school" D&D blogs, I've realized more and more how few of those books I've read. I never worried much about that, because I had my own imagination from which to run a game.

Lately, I've been reading more and more of the authors listed in Appendix N, and what I've found is that reading them provides a surprising amount of insight into why D&D had many of its original content. These days "D&D adventure" almost seems like it can stand on its own as a genre. It implies ancient civilizations, epic-scale conflicts, and grand-fated heroes. That's what I'd often thought D&D should be, and went with it. Many of the things in earlier D&D struck me a misfits, and strangely enough, I never really tried to figure out what was wrong. I just figured the newer stuff had refined the game to match the intent. I didn't realize that the goal posts had changed.

Early D&D was emulating the "Sword and Sorcery" genre of fiction. These are generally picaresque stories in which self-interested (but sort of lovable) antiheroes kill stuff for gold or power. Plenty of these are very good! Not only that, but I think they're a much easier target for a RPG than epic high fantasy!

I've been pondering what writing would go into an Appendix N for my games. I'd also want to include non-books because plenty of TV shows and movies have had a big influence on how I build my games. Right now, I think it'd look something like this:

how I spent my Perl QA Hackathon (body)

by rjbs, created 2012-04-03 10:36
last modified 2012-04-03 14:35

I've been a big fan of the Perl QA Hackathon since the first one in Oslo in 2008. I always walk away from them feeling like I've finished a lot of work that I would otherwise have let go unfinished, and with refreshed interest in the general work of Making CPAN Stuff Go. This year, I was sent to the hackathon by a grant from the Perl Foundation, and I promised to write up what I got done. That works out just fine, since I'm pretty pleased with how it all went, and I'm looking forward to writing my report.

This started pretty well. I started by talking with Dominique from Debian about some patches for Software::License. We negotiated and he said he'd (very graciously!) rework his patches to fit my whims. After that, my plan was to resume some old work I'd been doing on PAUSE. PAUSE, the Perl Author Upload SErver, is the collection of tools that build the CPAN index files that allow things like CPAN.pm and cpanminus to do their job. Without PAUSE, the CPAN would just be a fileserver. It was written by Andreas König, who takes great care of it – which is good, since there aren't many people who know the code very well, in case Andreas ever decides to retire to the Schwartzwald and enjoy the simple life. Last year, David Golden and I spent a lovely day doing some refactoring and testing of PAUSE. We got quite a big of work done on getting a grip on how everything had to work, and the tests made it easy to start making minor changes without fear.

At the hackathon, I was hoping to continue improving those tests, refactoring the code, and creating a few new indices that we'd theorized would make things easier in the future. I spent about a half hour getting my local testing environment working again (running PAUSE, now, under 5.15.9) and just as I started to sketch out how I'd proceed, I heard talk of PAUSE indexing from the other side of the room. David, Andreas, and some others were talking about a generic API for CPAN dist locators. I've been suggesting we needed such a thing for years, so I sprang up and over to listen in. It sounded like we were all on the same page, which was exciting, and it sounded like one of the locators someone wanted (for dealing with BACKPAN) would be much easier to deal with if we had historical records of what was indexed when. I'll elaborate.

Right now, when you tell your CPAN client to install Foo::Bar, it effectively looks up the entry for that package in a simple text file called 02packages.details.txt. Some clients use a web service for these lookups, but it really all comes down to the 02packages file. ("02packages" was a bit of jargon heard constantly at the hackathon.) This file maps package names to the distribution file – generally a tarball – that contains the latest authorized version of the package. Anyone can upload any package, but it won't get indexed unless the uploader has the right permissions.

02packages was being regenerated every hour, and every time the new version was written, the old version was lost forever. We had no real historical data on what the CPAN's "latest authorized packages" looked like for past dates. This has come up many times before for many other projects, but we've never done anything about it. Fixing this seemed like a much more useful project than the speculative one I'd been planning, so I went back to my workstation and got cracking.

After a few false starts, I got things going very nicely, and was delighted to hear that Andreas declared my code clear and unobjectionable. It was merged into the PAUSE master shortly after lunch.

From there, things went south.

My next plan was to make some improvements to indexes so that CPAN.pm could load them faster and cut down on memory usage. I struggled to make any progress, but I couldn't focus. I hadn't slept well on the flight over, or the night before the hackathon, and I was feeling really run down. I started feeling nauseous, and all the snack food started to repel me. The room felt hot, and I tried to drink more water, to stay hydrated and cool, but even sipping water was an effort. Finally, I left the hackathon early, went back to the hotel, and spent the rest of the evening quite ill. I learned that you can't find Gatorade or other sports drinks at convenience stores or small groceries in Paris, so I settled for drinking 1.5 liters of 7-Up. I watched a depressing documentary about D&D players. I felt hot and cold and weird, and I wrapped myself in a blanket and tried to sleep. I slept terribly and had a never-ending dream about how I would've done things differently from the DM in the movie.

It was a really lousy day, except for the great part where I got PAUSE storing its historical data in git. The next day, I found out it was worse than I thought: first off, I'd missed a duck dinner. Secondly, the git stuff wasn't working in production.

By the time Andreas told me about the git code not working, I'd gotten deep in other projects, to which I'll return later. Andreas (bless him) held off bothering me at first, but pretty soon he just knew something was very wrong and told me I had to fix it, because otherwise my code was preventing PAUSE from working. At Pobox, where I work, the cardinal rule is that the mail must always flow and never be lost or stopped. The report that "you are blocking the dists from flowing" set off my learned response to mail problems. I gritted my teeth and got to work.

In my patch, whenever PAUSE was going to reindex, its first job was to clean up the git repository where it stores its historical data. The idea here is that it wants to make sure that no partially-written files from a previous run get committed on the next run. It's a good idea, and it was implemented something like this:

# $self->git is a Git::Wrapper object
$self->git->reset({ hard => 1 }) if $self->git->status->is_dirty;

When Andreas ran the indexer, it would get to this line and the program would then exit. It exited silently, every time, right there. It was clear that this line was the only problem. If we removed it (since it was only needed as a precautionary measure) things worked just fine. After suggesting a few other things that didn't pan out, I wrote the following test program:

use strict;
use warnings;
use 5.10.1;
use Git::Wrapper;
say "making git object...";
my $git = Git::Wrapper->new( "/home/ftp/pub/PAUSE/PAUSE-git" );
say "checking status...";
my $status = $git->status;
say "checking is_dirty...";
my $dirty = $status->is_dirty;
say "resetting...";
$git->reset;
say "resetting hard...";
$git->reset({ hard => 1});
say "all done.";

It would die every time it called status. I dug and dug and turned up a few key facts:

  • the PAUSE server was running a pre-1.7 git and upgrading wasn't an option
  • prior to git 1.7 (or so), "git status" would return non-zero in many cases that didn't represent failure to run properly
  • when a git command returns non-zero, Git::Wrapper throws an exception
  • the exception stringifies to the STDERR output of the program
  • "git status" was only printing to STDOUT

So, the program was throwing an exception of the class Git::Wrapper::Exception, which was being dutifully printed to the screen -- but its string representation was empty!

I filed a pull request for these problems, and we applied them locally, but then we hit another problem. The status method can't return a useful object (with that is_dirty method) with older gits. Fortunately, now I knew just what to do... but before I say what it was, maybe some readers are wondering why I didn't just reset unconditionally. The problem is that you can't reset if HEAD doesn't point at a ref, and in a newly-initialized repository, HEAD is set to point at refs/heads/master, which does not exist. Trying to reset is fatal. I could've required that the repository be given a bogus root commit before any indexer runs happen, but it would've required changes to the tests and other things. Instead, I just replaced is_dirty with a simpler check:

$self->git->reset({ hard => 1 })
  if -e dir($self->gitroot)->file(qw(.git refs heads master));

With that done, the indexer ran swimmingly. Even better, a few minutes later, Andreas updated the indexer to run every few minutes instead of every hour. The 02packages history began to grow. It was all very exciting! When I reported this development to IRC, BinGOs pointed out that he already had a program that would take a git-generated diff of an 02packages file and report what dists should be retested. I'm looking forward to seeing whether it can be adapted to make a CPAN::Mini install run much, much faster.

This success got me raring to go on to more work, so I did! David Golden had figured out how to greatly improve the efficiency of CPAN.pm's reading of 02packages, and wanted to apply the same technique to 01mailrc, but he couldn't. The file wasn't sorted. Worse, some code relied on the particular nature of its non-sortedness. I added a new (better, I'd say) index, 02authors.txt, which is sorted, and which is not pretending to be a mutt address book file.

Earlier, I mentioned that Andreas didn't bring me the git problem first thing. Before he did, I'd been working on another part of PAUSE: the YAML-handling code. All through PAUSE, there was code dealing with YAML this and YAML that. I spent a good bit of effort over the last few years trying to pave the way to eliminate CPAN's dependency on pseudo-YAML files. These days, META.json is preferred over META.yml by just about everything. PAUSE, though, only ever looked at the YAML. It also had code to cope with having almost any YAML parser from CPAN, trying each in turn to figure out which could be used. I wanted to make PAUSE act like everything else is meant to: it should use Parse::CPAN::Meta, preferring JSON to YAML.

This seemed quite daunting at first, so I started with something small: I renamed a whole mess of variables and hash keys. YAML_CONTENT became META_CONTENT. The method extract_readme_and_yaml became extract_readme_and_meta. With that done, things suddenly seemed much less daunting. In part, it became clear how many things wouldn't need any real change. I also got a bit better view on how the methods worked while flipping through them. After all the renaming and some other refactoring of methods I didn't quite follow, my git logs suggest that updating PAUSE to use Parse::CPAN::Meta, and to look for META.json first, only took about half an hour! My pull request for META.json support in PAUSE has already been merged. You'll see some minor changes in your PAUSE indexer reports reflecting this!

I spent a little time applying patches I'd received, and even prepared a trial release of the next version of Data::Rx (the Perl implementation of my schema language Rx), incorporating some long overdue improvements to its error reporting from Ronald Kimball.

I was feeling good. Not great – I was still tired and a little worried about pushing myself – but I was starting to feel my usual Hackathon mood emerging. I'd stuck to biscuits, bananas, baguette, and butter all day, and I think it helped.

As we walked back to the hotel before dinner, I asked Miyagawa how his hackathon was going. He said he wanted to get better support for all of META.json's prereq types (suggestions, test requirements, etc.) into cpanminus, but had been stymied by ExtUtils::MakeMaker's lack of support for test requires. One big motivator for him was to speed up the --notest option by skipping test prereqs, but that wouldn't work if EUMM had no mechanism for them.

"You know what, I bet if you bring it up tomorrow, some sucker will volunteer to do it." He seemed dubious, and I felt smug. "You know," I said, "I use Dist::Zilla, which write its own META.json, so the test requirements are there even though you use ExtUtils::MakeMaker."

"Sure," he said, "but when you rebuild the MYMETA file on the installer's machine, isn't that getting done by EUMM, so it'll then lose those?"

I stammered and sputtered. "I ... don't know. But I guess I'll be your sucker and fix EUMM just in case."

Testing at the hotel made it clear: EUMM wasn't losing the DZ-configured test requirements, but it was merging them into the build requirements, which would screw up Miyagawa's --notest improvements. I decided to tackle this problem, even though it would mean patching ExtUtils::MakeMaker, where many hackers fear to patch.

For dinner, we went to a nearby Lebanese restaurant, and I ate everything. Well, actually, I declined to try the hot pink probably-a-vegetable-thing that no one could identify. (Garu ate it instead.) I also declined to drink any arrack, although I would have liked to. I decided to take it easy. As we left, Philippe did remind me that I should stop by the hotel lounge for some chartreuse, and I did, because it seemed like an opportunity that would not come again.

The chartreuse was amazing, but I limited myself to about an ounce. I looked for a bottle at the duty free shops when I headed home, but there was none to be found. Ah, well!

The next day, I was finally feeling at full strength. I ate a real breakfast, had some tea, and stormed into the hackathon venue ready to do some damage to ExtUtils::MakeMaker. It took me a few iterations to get the changes right, because it took me a while to understand the nature of the problems in my way, but it still didn't take too long to get done. I was lucky, of course, that I was not touching anything related to Makefile generation.

At first, I expected things to be quite simple: I'd duplicate the implementation of the BUILD_REQUIRES option and edit it. This didn't pan out. The build requirements work by shoving stuff into EUMM's internal META structure, which uses the 1.4 version of the spec. There's nowhere to put test requirements. I started going through a lot of convolutions before I realized that things were even weirder than this. EUMM would write out MYMETA.json in v2, by up-converting. If your META.json file was already in v2, this meant it would read it in, down-convert to 1.4, do nothing to it, and then up-convert to 2. EUMM couldn't just switch everything to v2, unfortunately. The existence of the META_ADD and META_MERGE options means that there are Makefile.PLs that assume very strongly that the structure in question is one thing or another. These are never used, though, to merge data into the MYMETA structure when you've got data loaded from your META, so the MYMETA structure could use v2 internally.

I filed a pull request for adding TEST_REQUIRES with tests. It's a bit of a mess, but that seems to be life with EUMM. One weirdness is that because the META.json file is generated from the v1.4-based internal structure, it will report any test requirements as build requirements. Once rebuilt as MYMETA.json, though, it will properly separate them. This should really be fixed in the long run, but it will take some careful planning to get right. I think the simplest thing will be to try to outlaw the add and merge options, but they're not always avoidable, right now. (Fortunately for me, at least, my Dist::Zilla-based dists will now have accurate META and MYMETA files.)

The rest of the day was spent on a number of smaller tasks.

I talked with Tux and Abe about their ongoing work to overhaul the CPAN Smokers system. CPAN Smokers are like CPAN Testers, but instead of doing automated test runs of CPAN modules, they just try to build and test the Perl core itself. The smokers are vital to detecting all kinds of problems introduced into the core, and making their reports easier to scan, analyze, store, and inspect is a huge deal.

I answered some questions here and there about Dist::Zilla, and some about the state of things in perl 5.15, 5.16, and 5.17. There were some good discussions about minimum toolchain version support (right now, 5.6.0; soon, probably 5.8.1). Ovid found a really interesting bug in Module::Build's use of version.pm, and I tried to help diagnose it. There were a dozen other similar little things, most of which have slipped my mind, but I was feeling pretty productive and good.

By the end of the day, I had pulled up the bug queue for Test::Deep, one of my favorite test modules, and started to go through it writing patches for reported bugs. When we were told that it was time to go, I was disappointed. I felt like I could've cleared the whole thing. I resolved that next year, I'd avoid being debilitatingly ill during the hackathon.

At dinner, I somehow got launched into an absurdly overlong lecture on the vicissitudes of Dungeons and Dragons over the decades, and Nick Perez suggested that as long as a bunch of us were D&D dorks and all in one place, we should play. I did have dice and character sheets, so I agreed, and after dinner we went back to the hotel and played. I may write up the game in detail later, but the only party member death was very early and affected a henchman.

The party:

Aloysious the Medium   - David Golden      - whispered a lot, wore black
Hercamer the Dwarf     - Leon Timmermans   - aka "Grumpy"
Kaga the Aspirant      - Breno de Oliveira - beheaded a zombie with a club
Logarth the Dwarf      - Nick Perez        - spent an hour interrogating a golem
Snape the Apprentice   - Kenichi Ishigaki  - got whacked out on blue moss
Zendora the Apprentice - n/a               - vaporized by a jet of flame

It was a lot of fun, and was good practice for the D&D I hope to run at YAPC and OSCON this year.

This morning, as we headed off to the airport, Matthew Horsfall asked whether I felt I'd gotten as much done as I'd wanted, despite being sick. I told him that I didn't know. My feeling is often that one arrives at the hackathon with four goals and tends to complete sixteen, most of which were not on the original list, and to feel that if only the hackathon went on forever, one could complete ALL THE GOALS. I'm really pleased with what I got done, and I'm really pleased that a number of things I worked on now feel more open for more work, to me. It would've been nice to have been feeling my best, but I wasn't, and I don't think my weekend was even remotely a loss. I guess maybe I have two regrets: I didn't do any site-seeing, and I didn't get to eat any of the duck dinner. On the Perl front, I feel pretty good about things.

The hackathon had an impressive list of sponsors who made it possible by paying for things like airfare, lodging, food, the venue, and more food. Take a look at that list of companies, because they're people who are showing that they know how important the CPAN system is to the continued success of Perl.

RPG Recap: Beyond the Temple of the Abyss, 2012-03-24 (body)

by rjbs, created 2012-03-24 22:30
last modified 2012-03-25 18:21

Monday, the 9th day of the Red Moon, 937

Alive and burdened with gold, Rocky, Rigby, and Delian got the bodies of Derick and Egbert onto their cart and back to Edgwold where Umholt the Undertaker took delivery of them and shelved them for burial later that day. The survivors reported in to Captian Horn. Horn wasn't thrilled at reports of "a tribe of kobolds" under the estate, nor those of a subterranean lake with an unknown monster count, or roaming zombies. Delian said it was clear: the Gladwell place wasn't sitting on a cavern, but on a dungeon.

Horn said he'd have someone install some locked gratings over the entrances. Until then, though, the group was to go back in and keep counting the threats.

Tuesday, the 10th day of the Red Moon, 937

In the morning, the party rounded up some new blood: Prudence the Medium and Tamara the Aspirant. They replaced their shields, deposited their gold with the treasurer, and made for the dungeon. (But not before Rocky won a bigger share of the haul by utterly humiliating Delian at arm-wrestling.)

Before even entering the abattoir, Rocky spied a huge white centipede gorging itself on the carcasses of zombies they'd left behind. Rather than seek another path, they carefully inched their way past the thing toward the fireplace. There were no problems: it was too busy eating.

The party decided to head for the unexplored western end of the second level, across all the fake cave-ins from the Dwarfish mine-top. They'd almost reached their destination when they heard noises and mumbling off to the east. Everyone readied weapons while the voice cried out its hellos and don't-hurt-mes. A little blue-clad goblin scrambled over the half-cleared pile-up and greeted the group enthusiastically. He made it very clear that he didn't want any trouble, that he was a big fan of the party's work clearing out the man-eaters – he called them "morlocks," noting that they weren't limited to eating men – and that he could really use some help.

The goblin (Huk) was a messenger who'd been sent to deliver a message to the kobolds in the northern mines, but when he got near the mine, he saw that the dwarfish skeletons, long dormant around their treasure, were moving about, marching in a circle around the room. Huk didn't dare try to sneak past them, and he'd been waiting so long that the "night doors" were all closed. He explained that the dungeon was replete with secret doors that lead all over the place, but could only be opened at night, and with the right magic. He'd been sent through one near dawn, by his employers with the Traveling Market, but now he was stuck: he didn't dare flee to the surface or head through the dwarfs to the kobolds.

If the party would clear out the skeletons, though, Huk would be happy to repay the group with an invitation to the market. ("But remember, unless I get back and tell them to expect you, it's no good! So I have to get out of here alive!") Everyone agreed, but stipulated that Huk had to show them how the night doors worked. He was slow to believe that the pink folk would want to stick around for six hours until nightfall, but agreed to wait with them, if they really wanted to.

With the deal made, the group headed east and took up positions on the stairs headed up to the mine-top. After some largely ineffective bowfire, melee commenced between the groups. Tamara knocked down several of the skeletons, shoving her way up the stairs past them with her glaive. Several of their skulls were crushed under her boots. Rocky didn't manage to equal the death-dealing performance of his last delve, but miraculously escaped death from the terrible blows of the dwarf's axes. Prudence lobbed darts at first (pointlessly), a magic missile later (to good effect), and finally ended up whacking at a prone skeleton with her staff. Delian fired an opening volley of sickle-fire, throwing his weapon in a perfect arc over his allies and onto the approaching dwarfs. Later, after a brief bout of standing guard over Huk, he'd close ranks again to help finish off the last few skeletons.

Everyone fared well, save for Rigby, who had his left forearm chopped clean off by a dwarf's axe, and spent the rest of the adventure all but dead on his feet. The "all but" was thanks to Huk, who made a mad dash for one of the group's torches and cauterized the wound.

Once the way was clear, Huk scurried on down the northern passage to deliver his message while the adventurers crushed dwarf skulls. With plenty of time to kill until nightfall, they decided to set up camp rather than keep exploring. They blocked off the western stairs with the minecarts and took turns resting. The only trouble came from one zombie man-eater who Rocky cut down with an arrow and was subsequently set alight. Later, the sound of stonework could be heard, but investigation was ruled out: it wasn't getting any closer, and nobody wanted to risk it.

Unfortunately, when the group got moving again, they found all too quickly what the sounds had been. Not only had the rock pile blocking off the old mine been rebuilt, it had also been mortared solid, and Rocky couldn't pull it apart. There followed a lengthy debate between the party about how to proceed: they could try using Huk's incredibly explosive jelly to blow down the wall, they could storm the Kobolds, or they could go through one of the night doors. (Swimming through the flooded rooms to the south was also mentioned, but never seriously entertained.) Huk seemed keen on the jelly, but cautioned that it might not be the best idea if anybody would miss any of the structures within a hundred yards or so. The group was split: Delian favored taking a blind trip through one of the doors; Tamara was sure she could figure out a way to destroy the wall without destroying the rest of the countryside; Rocky and Prudence seemed to think every option was terrible; and Rigby still didn't have much to say.

Finally, they asked Huk to see whether there were any doors around. He pulled out his night-door-finding apparatus and quickly pointed out a half dozen in the mine-top alone. The group decided they'd try one. Huk wished them well, told them he looked forward to seeing them at the market, and send them on their way.

Nobody died!

There was no loot looted.

RPG Recap: Alar, 2012-03-03 (body)

by rjbs, created 2012-03-11 10:19
last modified 2012-05-08 18:18

Year 28 of the 7th Imperator, 8th of Declarations

Limping home after their narrow victory against the terchics at the Burning Dog, the gang split into two groups: those who would go meet the Nexans as promised and those who would lick their wounds. Calliope, Ayla, and Helga (I think) met the Nexans at the Coin and Fortune, paying off the tavern keeper for the annoyance of having such rabble in his place.

Asic and Obic, the Nexans, made a plan with the party: they'd reconvene two nights later, bust into Mariava's place, and take whatever they wanted. There was also some talk of burning the place down.

Tilton spent the next two days in fervent ritual worship by day, and laying on hands by night. Not much other serious preparation was done.

Year 28 of the 7th Imperator, 10th of Declarations

With everyone feeling his best, the gang suited up and headed to the Coin and Fortune to meet Asic and Obic. From there, they headed north through the old walls, through the government center, to Mariava's neighborhood. They took up positions around the front door and began to rain slings and arrows on the slave guarding the door. Like Mariava's other slaves, though, this one proved to be ferocious in combat and took quite a bit of effort to bring down.

Worse, once he was down, two more appeared on Mariava's house's roof and skittered down its front, heads first, to defend its entrance. In the fierce melee that ensued, Asic and Calliope were laid low by the slaves' brutal onslaught. Eventually, though, the attackers prevailed. As the thinning crowd in the streets looked on, they dragged all the bodies inside and got busy searching for loot. When they started looting, though, the warrior statue that had menaced Calliope on her earlier visit stepped from its pedestal to defend its home. Helga and Redorus quickly knocked it back over the railing around the atrium, and it fell down onto the impluvium and before making it back up the stairs, it was beaten until it stopped moving.

Asic rifled around, but found nothing else he judged of value to the Nexan people. The rest of the group was not so discriminating, and loaded their arms with loot. Ignatius hauled Calliope out on his shoulders, while Helga and Tilton dumped the bookshelves into the impluvium, doused them with oil, and put them to the torch.

As the books burned, the group ran through the parting crowd. Nobody tried to stop them, and they headed home.

RPG Recap: Beyond the Temple of the Abyss, 2012-02-25 (body)

by rjbs, created 2012-02-25 23:36
last modified 2012-04-28 11:41

Saturday, the 7th day of the Red Moon, 937

With the death of Alp and Jared the Acolytes, the rest of the party made their way back to the surface and then back to Edgwold to recuperate.

Monday, the 9th day of the Red Moon, 937

After a full day off, Torben, Mero, and Lyweylln were still not ready to head back to the Gladwell place. Derick had already had plenty of time off, though, and Delian was looking for revenge. Rocky and Rigby, the mercenaries, were ready for some more treasure.

Before heading back to the caverns, Derick decided to get in on the looting he'd missed out on while down below. He boldly strode into the priest's quarters, knocked in the doors to Alp and Jared's quarters and took most interesting stuff: the sickly spiderfrog in its cage and the big blue lapis lazuli. Old Buckner the apothecary paid 250 gold sovereigns for the spiderfrog, and 300 for Delian's few remaining seeds.

With most of their gold stashed in their quarters, Delian and Derick rounded up Rocky and Rigby and headed south to the Gladwells'. Once there, they had an irritating revelation: they had neither Torben's map (which he'd taken with him) nor Jared's, which had been looted by nobody-knew-whom. Fortunately for them, both Delian and Derick were getting to be old hands at this and remembered exactly how to get to their destination: the old dwarfish mine.

They were there in no time, and ready to face the skeletons from which they'd fled, last time. What they weren't read for was a four-foot spiderfrog leaping out of the darkness at the east end of the mine's top chamber. Read or not, though, they made short work of it. Within seconds, Derick had beaten it to death. The group had had their fill of spiderfrogs by this point, and left the corpse alone. They split into two groups and found the inanimate skeletons. Derick and Delian each attacked a skeleton, and at that the undead sprang to their feet and engaged the party.

Rigby got to work loading the treasure into his pack while everyone else engaged the skeletons. The fight was quick and brutal, but in the end, the living prevailed with no losses. The treasure was divided more evenly – mostly due to its great weight – and the group decided to press its luck and head forward.

They righted one of the mine carts and got it on the rails. Rocky, Rigby, and Delian squeezed into the cart and Derick pushed. This proved to be one of the best ideas of the day, because as soon as the cart began to pass through the northern passage, a huge pendulum blade swung down from a channel in the jamb, crashing into the cart instead of an unsuspecting adventurer. The group was shaken, but not sliced.

They were further shaken to hear a chorus of shouting voices from the northern passage, speaking Draconic. The group quickly hauled the mine cart in front of the passage to form a makeshift blockade and fell back a bit. A wave of shouting kobolds emerged from the darkness, charging the barricade. Derick felled two with arrows before they reached the carts, and Rocky's axe killed two more. When another wave emerged from the darkness, though, Delian finished things by casting Sleep. As the remaining seven kobolds lay peacefully in slumber, the party climbed over the carts and slit their seven throats.

Derick gathered up their treasure: a whopping 122 copper pieces.

At the bottom of the shaft, they found a large chamber – again of fine dwarfish construction – with its far end sealed off with a strange wall cobbled together from pieces of this and that. In the center of its base was a set of small double doors, and in that a small slot at (kobold) eye level. As Derick peered through, another kobold appeared on the other side. Derick cleverly gouged at the kobold's eyes, but had his fingers bitten for the trouble. Delian tried to press for information, but the kobold was not cooperating, especially after Delian apologized "for killing all [his] friends." When the slot opened again to throw a vial of burning oil at the elf, the party decided to give up for now and try the south passage.

Their descent here was slow: the passage was damp and occasionally quite slippery. Here and there, sticky blue strands nearly a quarter inch thick ran from wall to wall. Rigby judged them no serious threat and burned them way with his torch. Further down, the party began to find weird metal clamps attached to the rails, one of which had a length of (not sticky) blue braided rope attached to it. Derick pulled the rest of the rope up. At the far end was the severed upper half of a goblin in weird copper-and-lizard-skin armor and wearing a large spherical helmet with a crystal front plate. Inside, the grimacing face was surrounded by purple fungus. Derick made a half-hearted attempt to remove the plate from the helmet, but gave up quickly. He couldn't cut the blue rope, and so smashed the clamp to bits and tossed the whole thing into his pack.

At the bottom of the tunnel was another room like the one with the kobolds' wall, but this one was badly damaged, and mostly submerged beneath cold, dark water. A few dead and shriveled kobold corpses were scattered around and Derick, hoping for more copper, began to rifle through them. The purple fungus covering their bodies, at least, was happy for the attention. It released a cloud of spores that left Derick choking and clutching his throat. Delian hauled him away by the ankle and decided it was time to get the heck out of the caves.

The group carried him Derick back through the mine shaft, down out of the mines, up through the complex junction, into the butchery, and up into the stable... where the purple splotches that had begun to dot his face and throat began to blacken and smolder. In a panic, Delian sent Rocky and Rigby back into the caves while he went back to town for help.

While he was gone, Derick came to, feeling like crap, and with Rocky hovering nervously over him with an axe. Shortly thereafter, the sound of shuffling and moaning could be heard from a nearby passage. Derick send the henchmen away with the loot and made a last stand.

He fought valiantly, dispatching one zombie and surviving blow after blow from the others. Eventually, though, with both his arms broken and several ribs cracked, he succumbed. When Delian returned with Esbert the Acolyte, the whole group went back in for Derick's body. They emerged victorious with Derick's remains, having slain the remaining zombies and only lost Esbert, who never seemed quite ready for the whole experience.

With the corpses and treasure loaded up, the group made tracks for home.

In Memoriam

R.I.P., Derick the Soldier
R.I.P., Esbert the Acolyte (we hardly knew ye)

Loot

  • Derick sold Jared's spiderfrog to Old Buckner for 250 gp
  • Delian sold his two remaining seeds for 300 gp
  • Delian ended up with one of the dwarfish skeleton's shields
  • Rocky took everything that was on Derick's body
  • 600 gp from the dwarfs' pile
  • 15 gems from the dwarfs' pile
  • 20 pounds of gold ore (from the dwarfs' pile also)

XP

  Delian :  305 + 1066 = 1366 (Level up at 4000)
  Rocky  :    0 +  766 =  766 (Level up at 2000)
  Rigby  :    0 +  313 =  313 (Level up at 1200)

Martha, Sally, and Z. Z. Zomba (body)

by rjbs, created 2012-02-25 11:11
last modified 2012-02-25 11:12

Today, in the back yard, Martha told me...

I'm a zombie, but I don't eat brains. My parents keep trying to feed me brains, but I don't eat them. I eat people food. I go the the grocery store and I say, "I want some cashews, can I buy some?" and they see that I'm a zombie and that I want people food and they say "of course!" Then, they don't even charge me any money, they give them to me for free!

When I get home, my parents give me brains, but when they aren't looking, I put the brains in the trash. Then I just munch on the cashews and they hear the munching and they think I'm munching on the brains.

My name is Zombie Zombie Zomba. My parents gave me that name. They aren't my real parents. My real parents aren't zombies. Their names are Andy and Aggie. My zombie parents stole me from my real parents and ate my brains and I turned into a zombie, but I don't like brains. My real parents named me Sally.

I ran away from my zombie parents and was looking for a new place to live and I saw your house, so I went in to look to see if more zombies lived there. I saw people food in the fridge, so I knew people lived here. I decided to make friends with you!

Look, I'm wearing your daughter Martha's clothing. I met her and I asked whether I could wear her clothes and she said I could if it was okay with her mom. So she asked her mom and her mom said "yes, as long as she promises to spill any brains on them." Martha said, "Mom, she won't spill brains on my clothes because she doesn't even eat brains!" So now Martha and I are friends, even though I'm a zombie!

better (for me) basic class titles (body)

by rjbs, created 2012-02-23 23:00
last modified 2012-03-24 21:49
tagged with: @markup:md dnd journal rpg

So, in old-school D&D – prior to AD&D Second Edition – every class had a different title at each level until "name level," which was always 9th level. Some of these made more sense than others. If the priesthood controls your access to your priestly powers, maybe there really are well-known titles for different ranks. Others are sillier: when a thief reaches 7th level, he's still just "pilfering?"

There are two kinds of things that bug me about these class titles. First, some of them are too specific. Why is my 3rd level fighter, who uses a club, a "swordmaster?" Why is my straight-arrow 8th level magic-user a "necromancer?"

Second, the non-human class titles stink. They're just the human ones recycled, which is a much sadder thing than level caps.

I think level titles are fun. I especially like that they give everyone a ready-made epithet, and that by replacing the stock epithet with a cooler one, you can reward a character. Even at level one, Mero the Halfling clearly earned "Mero the Deadly," which will remain cooler at every level than whatever the stock epithet might be. If I didn't want to futz with having these tables, I would still like giving everyone an epithet and cranking up its awesomeness as they level up.

I also think I will want to tweak level titles for each campaign I run, and probably have several progressions within that. Like, clerics of the Army of Saints will end up with different titles than clerics of Thrul Victorious. I'm just going to have a first go at better titles for my Beyond the Temple of the Abyss campaign.

The Basic D&D Titles

These are the stock titles from Cook's blue book:

Level Cleric Fighter Magic-User Thief
1 Acolyte Veteran Medium Apprentice
2 Adept Warrior Seer Footpad
3 Priest Swordmaster Conjuror Robber
4 Vicar Hero Magician Burglar
5 Curate Swashbuckler Enchanter Cutpurse
6 Elder Myrmidon Warlock Sharper
7 Bishop Champion Sorceror Pilferer
8 Lama Superhero Necromancer Thief
9 Patriarch Lord Wizard Master Thief

 

Lv. Elf Dwarf Halfling
1 Medium/Veteran Dwarven Veteran Halfling Veteran
2 Seer/Warrior Dwarven Warrior Halfling Warrior
3 Conjuror/Swordmaster Dwarven Swordmaster Halfling Swordmaster
4 Magician/Hero Dwarven Hero Halfling Hero
5 Enchanter/Swashbuckler Dwarven Swashbuckler Halfling Swashbuckler
6 Warlock/Myrmidon Dwarven Myrmidon Halfling Myrmidon
7 Sorceror/Champion Dwarven Champion Halfling Champion
8 Necromancer/Super-Hero Dwarven Superhero Sheriff
9 Wizard/Lord Dwarven Lord -

The Beyond Titles

These are the titles as I plan to use them:

Level Cleric (Ibrim) Cleric (Thrull) Fighter Magic-User Thief
1 Acolyte Aspirant Soldier Medium Apprentice
2 Adept Wayfarer Man-at-Arms Neophyte Specialist
3 Knight Evangelist Veteran Magician Footpad
4 Templar Herald Warrior Arcanist Burglar
5 Crusader Uprooter Weaponmaster Enchanter Outlaw
6 Apostle Iconoclast Hero Conduit Cutthroat
7 Presbyter Scourge Champion Sorcerer Scoundrel
8 Scion Chiliast Commander Magus Charlatan
9 Paladin Harbinger Warlord Wizard Rogue

 

Lv. Elf Dwarf Hobbit (Halfling)
1 Elf Dwarf Hobbit
2 Adventurer Delver Wanderer
3 Pathfinder Delver Drifter
4 Guardian Journeyman Seeker
5 Warden Engineer Quester
6 Pledge Artificer Ranger
7 Pactsworn Master Homefellow
8 Hexblade Elder Sheriff
9 Swordmage Lord -

Table Support!

I added MultiMarkdown support to Rubric just for this post. Isn't that exciting?

RPG Recap: Alar, 2012-02-18 (body)

by rjbs, created 2012-02-21 10:23

Year 28 of the 7th Imperator, 8th of Declarations

Stomachs full of rich food and pockets full of (a very small amount of) gold, the gang retired early and took a well-earned day off to replaced lost gear, mend armor, and otherwise relax.

The next day, the got back to business early, heading off to the seat of government to look for dirty deeds needing doing. They'd hardly left their neighborhood, though, when they were distracted by the sight of a local shopkeeper being harassed by a group of terchic thugs. They stood by and watched until the terchics wandered off, and then followed the merchant into his shop to see what was up.

Igrus, the cloth merchant, was being pressed for protection money, like many of the local merchants. He didn't mind paying – that's part of doing business in the city – but he wanted to pay proper men, not protomachean abominations. Ayla expressed her sympathy with that position and said that they'd be happy to take the protection money, so that it didn't have to go to the terchics. Igrus agreed and said that the deal would be sealed as soon as the gang delivered the news to the terchics.

Everyone headed into the Vorican ghetto, and to the Burning Dog, the extortionists' favored tavern. A few hours passed before they showed up, but they did, and Ayla explained how things were going to be: the terchics would stop hassling Igrus, and nobody would get hurt. The terchic didn't like these terms, much, and set about making his position clear through pugilism.

As a few dozen locals watched from alleys and windows, the two gangs engaged in brutal combat in the street. While Ayla focused on keeping the minds of the thugs clouded and Helga and Ignatius took down one opponent after another, Redorus faced the leader in a fierce one-on-one fight. It was a close thing, but Redorus scraped through (owing to the intervention of pale-faced Olixitus) and the terchic's leader did not, finally collapsing in a bloodied heap in front of the tavern.

Calliope had cowed several of the terchics by wielding her Nexan dagger (presumably returned by Felix without significant news). This drew the attention of a few Nexans in the Dog, one of whom chased Calliope down until she gave up the dagger. When he picked it up and, blue-skinned, threatened her, she made tracks in a panic. Meanwhile, the Nexan's friend pushed Ayla and Redorus for information on the dagger's origin. They promised to tell him all about it… later. He reminded them that it wouldn't be too hard to find three bald-headed Voricans, especially if he looked for one as badly beat up as Redorus. He told them to go freely and tend to their wounded.

So they did.

RPG Recap: Alar, 2012-02-04 (body)

by rjbs, created 2012-02-12 23:47

Year 28 of the 7th Imperator, 6th of Declarations

Hearts still pounding after their narrow escape from the spearmen guarding the lighthouse, the party arrived at the wharves and realized (with no great surprise) that they were being pursued. Another small boat was crossing the water toward them, and the glinting brass of armor could be seen even from the shore. Calliope, still as naked as a jay bird, made an incredible bee line through the oblivious throngs of people and ducked into a dark alley, waiting for any sort of help at all. Redorus and Ayla headed off to the nearest market to find some cheap robes. Ignatius stood watch over the incoming boat. Tilton and Helga made for a small eatery near the old walls, planning to meet up with the rest of the gang later.

Redorus and Ayla found a tolerable little clothier several stadia away. The merchant was a bit surprised by the half-naked armor-toting soldier and his bald-headed female companion, but kept her mouth shut and didn't gouge them too much. When they got back to Calliope, the guards from the island were pressing the locals for information, but not getting anywhere. Unfortunately, just as Redorus and Ayla made it to Calliope's alley, the junior priest from the island recognized them, and the chase was on. Ignatius knocked over a crate in the guards' path and made a run for it, followed by everyone else – including Calliope, once she'd covered herself in her new robes. Redorus stuck around long enough to giving a solid beating to one of the guards, but quickly rejoined the others.

Running through the streets laden down with armor and coin was problematic, and it was clear that the group couldn't stay ahead of the guards forever, so eventually, having taken just a bit of a lead, they kicked in a doorway in a back alley and ducked inside. The guards went right on by while the group took stock of their new hideout.

They'd barged into a little room with nearly nothing in it: no windows, no doors, no witnesses. Just one low little bed and a horribly abused corpse.

The body had been badly mangled. Its head, feet, and hands were gone, along with at least some of its organs. The chest wounds seemed brutally inflicted; there was nothing surgical about them. Despite this, there was almost no blood spilled in the room beyond a few drops. The body was cold, but not rotting. Calliope decided it was probably a woman, and found a strange black tattoo on its back: a flower, with wings in place of the leaves on its stem.

Ayla didn't want anything to do with the creepy back room and went out to survey the front of the building. There was a sign for a jeweler, but the shop was locked up tight and seemed abandoned. When Ayla saw a little bit of light moving around inside, she went back to the rear to alert the others, but found that they were the cause of it. Calliope had found a hollow in the rear wall and Redorus had broken through the plaster, revealing a door between the front and rear parts of the building. Up front, she and Redorus found nothing but a dusty stone counter and a small metal lock box, which she took with her.

The gang decided to deal with this mystery later, and headed back toward the old walls, but the guard was still on the lookout, and eventually they were spotted and chased. Ayla clouded the minds of the pursuers with a vision of a great conflagration in the road. While they called for the fire brigade, the four made a run for it and finally caught up with Tilton and Helga, who wondered what took so long. The guards at the old city walls didn't seem to have been informed about the fugitives, and everyone enjoyed the leisurely stroll back to the Dirty Red Table.

The landlady wasn't so pleased to see the gang, though, and complained bitterly about the in and out of unannounced delivery men all afternoon. While she carried on, Calliope quietly slinked upstairs to their rooms and had a lookout for anything suspicious. She found nothing, but noted an intense, meaty, mouth-watering odor coming from behind their doors. Redorus joined her and they burst in to find their (usually quite bare) table laden with all manner of delights: fresh breads, fish, pork, figs, dates, cheeses, pears, leaks, parsnips, egg, mushroom, baklava, and a jug of fine wine. Moreover, beside each glass was a gold solidus!

There was no note or explanation, but that didn't stop everyone from tucking in and eating until ready to burst.

Befil Feth arrived, as promised, shortly after six. He was offered leftovers (which he accepted gladly) and Calliope apologized: they'd already solved their own problem, and wouldn't need his help. He wasn't too upset, and said he already knew what happened. The inner city had still been busy with guards when he passed through, and he had a guess how Ayla, Redorus, and Calliope had lost their hair. He gave them some bad news, though: it wasn't likely that their hair would ever grow back, and if it did, it might be… different.

When he left, he said he'd still be happy to hear from them again, if they were looking for work – one the heat had died down, anyway.

RPG Recap: Beyond the Temple of the Abyss, 2012-02-11 (body)

by rjbs, created 2012-02-12 11:43
last modified 2012-02-23 23:04

Saturday, the 7th day of the Red Moon, 937

Back from Drake's Rest, the group was read to get back to the Gladwell place and undeground. Jared and Derick parted ways with the group to secret the coin from the sale of the font. Jared would lated catch up with the party, but Derick didn't make it. He had some important drinking to do.

Before heading across the river, the party decided it would be a good idea to get a dwarf to come along. It was easy to decide who to ask: Torben was the only dwarf around, and after some convincing that there'd be plenty of treasure (of which he'd get a favorable share), he agreed to come along, and brought his halfling friend Mero the Deadly, to whom nobody seemed to give a second thought. Worried about leftover toxic gasses, Lyweylln also bought a canary and tied it to his wrist with a piece of twine – the last bird cage in town had just been bought the day before.

Torben had heard some scuttlebutt about Alp the Acolyte socking old Agbert Gladwell, and pressed Alp for an explanation. Alp explained by noting that there was a tunnel leading from the chapel down into the dungeons. When Torben, nonplussed, pushed for more information, Alp clambered down the tunnel. After a few minutes of puzzled silence, the rest of the (huge) group followed: Torben, Mero, Lyweylln, Delian, and the three hirelings: Rocky, Rigby, and Sadie.

The group headed southwest through the ruined kitchen and down the tunnel into the river cavern. Everything seemed to be as they'd left it – apart from the hallucinogenic blue smoke, which had cleared the area. The group surveyed the area, but found nothing much of interest. Torben grumbled, wondering when they were going to get to the mines. There were mines, right? All he could see were natural caverns, pathetic burrows, and some probably-human stonework.

Everyone kept on following Alp, who lead the first group up to the complex junction. Sadie (et al.) explored the unmarked passage and determined it to be a dead end. From there, the whole party trooped up to the big room with the big round table. Torben asked about the the boarded up passage at the east end, but Alp and Delian said that while they'd been through there, neither could remember what they'd seen there.

Lyweylln decided it was worth investigating, and he asked Rocky to axe down the barricade, which Rocky did happily. Delian, Lyweylln, Rocky, Sadie, and Mero made their way down the walkway behind it. Three zombies were loitering at the end of the hall, and things got complicated. Delian's Protection from Evil probably saved his life, but not enough that he wasn't badly hurt, so he shoved his way out of the melee and back to safety with Torben, Rigby, and Alp.

Rocky felled one undead man-eater while Sadie fought with another one, but she was quickly overpowered and laid low. Lyweylln and Mero loosed a series of arrows at the creatures. Over and over, Mero hit his marks. Lyweylln, though entirely ineffective, didn't give up.

Meanwhile, Jared had arrived and was looking around the caverns for the rest of the group. Hearing the dim sounds of struggle from up above, he made his way up the tunnels toward the table room. He ran into Alp, and after some respectful punches of greeting, they ran into the melee. By the power of Ibrim, the undead were cowed and send scurrying back down their hole.

After a bit of standard looting of Sadie's body, along with the reading of hurried last rites, Alp and Jared declared their intention to pursue the shuffling corpses down the hole. Down they went, followed by the rest of the group. Another handful of zombies waited in the room below, glaring at the clerics from the shadows. Alp brandished his silver star, but his faith wavered, and the undead were enraged rather then repelled.

The struggle became ferocious: Alp, Jared, and Lyweylln were tackled by zombies while Mero landed shot after shot. Too much damage had already been done, though. Lyweylln managed to drive his dagger through his attacker's palate and kill him, but Alp and Jared were not so lucky, and were sent to meet their master. With their bodies looted, the party was left deciding which way to go: down the nearly-vertical drop at the east end, or back up and out of the zombie pit. (Well, except for Torben, who was more left wondering whether he'd ever figure out what happened between Alp and Agbert.)

R.I.P., Jared the Acolyte
R.I.P., Alp the Acolyte
R.I.P., Sadie the Soldier (hireling)

RPG Recap: Beyond the Temple of the Abyss, 2012-01-28 (body)

by rjbs, created 2012-01-30 22:28
last modified 2012-02-12 19:41

Friday, the 6th day of the Red Moon, 937

Heading out of the south end of the dungeon, the party (minus Dumbasbrix and one of Delian's hands) had trudged north into the King Room, and decided it was time to get started on mapping in earnest. They made their way through a series of tunnels, through the Complex Junction, through the "Dwarf" tunnel, and ended up in an abandoned mine. The tunnel was closed off in both directions with cave-ins that had been constructed by hand (or claw).

The party tried going west, first. After scaring a scorpion out of his nest in the rocks, Jared dumped some oil on the pile and set it alight. This just scared out a few more of the vermin, but they were quickly dispatched. (Jared wasn't too pleased to have one of them pitchforked to death on his shin, but he lived.) Spotting some weird, dodecahedral rocks buried in the pile, the party got to work digging them out, only to be interrupted by the sound of some creating yelling obscenities in Draconic. It seemed to realize that something else was around, though, and ran off – but only after chasing a foot-across spider-frog into the west end of the tunnel. Everyone took pot shots at it until Jared knocked it out with a well-placed sling stone. He tied it up and stuck it in a backpack to domesticate later.

Later commentary on this idea did not wax enthusiastic.

From there, everyone headed east, clambering over the rock pile. They picked up a bunch of mining tools that would be abandoned almost immediately. At the far end of the shaft passage, a set of stairs led up into a large room. In the middle, two minecars were overturned, each with a good share of gold and gems. Alec the Apprentice immediately got to work shoveling coin into his pack, but no sooner had he started than the sounds of shifting metal could be heard in the surrounding darkness. Alec ran into the dark to hide, and was never heard from again. Jared (who had been lingering near the door, ready to run for his life) stepped into the light, invoked the name of Ibrim, and sent running the handful of animate dwarfish skeletons that had begun to close on the rest of the group.

Everybody turned tail and ran until they got back out into Gladwell's stable.

One of the farmhands loaned them a cart and then headed back to Edgwold with the big gold font in it. Everyone pursued his own agenda:

  • Jared took the smaller, dead spider-frog to the apothecary for inspection, along with one of the seeds he'd found. He bought a small cage for the living one and placed an order for a bigger one.
  • Delian and Alp headed to see Fr. Pechis for healing. Delian didn't stick around to hear about how his dismemberment was part of Imbrim's plan, but started considering making a trip to the Astodan of Cold Flame to see about some serious miracles. Alp paid five sovereigns for the laying on of hands.
  • Delian also took some seeds for inspection by the apothecary, and gave a detailed account of where they'd been found.
  • Lyweylln went back to his room to rest, having felt not quite himself for nearly half his time below ground.
  • Derick got rip-roaring drunk and went shopping, but manage to avoid buying anything, even the tempting surcoat emblazoned with the device of St. Ishibek.

Before turning in, the group contracted three hirelings, a thief and two fighters, for 10 gp a day each, plus a share of the treasure. To cover initial expenses, the first thing the next morning they delivered the (cleaned off) font to Edwin, who had them escort him to Drake's Rest. After tediously protracted argument about how to sell the thing, the group settled on 760 sovereigns and headed back to Edgwold and on to the Gladwell place.

R.I.P., Alec the Apprentice

RPG Recap: Alar, 2012-01-21 (body)

by rjbs, created 2012-01-21 23:36
last modified 2012-01-21 23:36

Year 28 of the 7th Imperator, 5th of Declarations

With their only pressing business – the return of the obsidian statuette to Aranaius – complete, the gang's next order of business was to deal with he Meek Servant of All, their surly, newly-acquired imp. Calliope had promised to get him out of his cave within five days, and the understanding was that if they couldn't get him out by then, he'd spill the beans to Mariava about who stole him and where they were. There was more talk about trying to just off the little blighter, but Calliope held firm: she wanted to at least try to get the imp free. Her plan was to get Kossix to introduce her to the "stupid brother-in-law artificer" he had mentioned. Everyone waited around until Kossix showed up that evening to talk about what had happened.

He implored the group to continue in their efforts to help him expose Mariava's fiendishenss. No one was interested, except for Calliope. "I'm an adventurer!" she said. "I'm always interested!" Kossix admitted that he didn't have a new plan to suggest, but said he'd keeping looking for one and would be in touch. He reclaimed his codex and, just before leaving, told Calliope where his brother-in-law, Befil Feth, could be found. The group resolved to go see him because... well, they didn't have any better ideas.

Year 28 of the 7th Imperator, 6th of Declarations

With only three full days left on the clock, the gang (Ayla, Calliope, Helga, Ignatius, Redorus, and Tilton) got an early start heading to the docks near the Montan quarter, where they found Befil at work in a shabby office with a half dozen other bookkeepers. He was surprised at the suggestion that Kossix would've sent anyone to see him, but thought he could help with the problem. He said it would probably run about five or six gold, but when Calliope explained that this was way out of their ball park, he said that they could probably work out some kind of exchange. Befil had some jobs that needed doing,truth be told, and he'd be happy to talk the situation over with the gang, one he got a little background from Kossix – and not at his place of business. He arranged to come see them, and the imp's cage, after business.

Having most of the day to kill, the group decided that they'd better not squander their precious time. The leaped into action, finding an excellent spot for an early lunch down by the wharves.

With sustenance dealt with, they decided to head home and press the Meek Servant of All for more time. He was unimpressed by their request for more time. "You still have three days. Beg for more time when you really need it." He was also unimpressed by threats of torture or death. "Oh, you don't want to do that." Frustrated, and with the day half gone, the sought other council: Ayla's old mentor Flavius of the Lucii.

They went in only looking for some information about the dagger that Calliope had lifted from Mariava's house (and subsequently sold to Helga). He was quite interested in the piece, and explained that it was a rare collector's item: a Nexan warrior's dagger, from before the collapse of some long-lost civilization. He said that other than the obvious effect on the wielder's appearance, he didn't know of any other rumored effects, but that he'd be happy to give it a further look. Disgusted to learn that it was good for nothing but turning blue, Helga demanded her money back, and Calliope complied.

Helga also decided that as long as they were here, they should ask for information on the imp and his cage.

Flavius didn't have much information on killing imps, other than the suggestion that it was probably a really bad idea. He said a silver blade was the suggested technique, but he didn't know much about it. Imps, he said, were vindictive and stuck together. Getting on their bad side (individually or as a group) wouldn't end well. The cage, though, was another matter. After a series of questions, he postulated that the cage was made from a rare metal (or metal-like substance, but he tried to skim over the finder details) called "Enoriaster's chain." Probably their only hope to deal with the cage was to bathe it in moonfire, the rare substance of the lunar seas, which from time to time fell to the earth. The stuff burns just about anything but flesh, and is much too dangerous to keep in the city. Flavius suggested a few places where it might be found, including the Great Lighthouse, and that became the group's next destination.

By early afternoon, a ferryman had been bribed and the gang landed on Ithek, the lighthouse island. The lighthouse entrance was guarded, and approached and pestered the guards until they told her to go talk to the priests. The priests, for their part, were baffled to have a bunch of surprise visitors show up, and even more baffled when Helga said they were there for the tour and Calliope begged for it in a cockamamie accent. Eventually, though, he realized that everyone was mostly interested in seeing the moonfire and, in a decision destined to haunt his future in the priesthood, said that something could be arranged.

He directed the "tour group" to take a seat at the nearby meeting area until a sample could be brought by. After about an hour and a half, he returned with an acolyte and a long wooden pole with a sample of the moonfire in a glass orb. Calliope asked whether it was hot to the touch, and was invited to feel the glass. When everybody gathered around, Ayla compelled the priest to hand over the staff and run, which he did, followed shortly thereafter by his acolyte, who knew that nothing good was going to come of this.

Calliope set down the imp's cage on the dais and Ayla smashed the globe over it, setting the dais and her robe on fire. The silvery flame caused no burns, but quickly consumed her clothes and staff. Within seconds, she was engulfed in flame and, while the imp sat impatiently in his cage, she began to strip off her flaming clothes and bat at her hair. Redorus tried to help douse Ayla's burning hair, but didn't accomplish much beyond setting himself on fire, too. Piece by piece, his armor's straps were burnt off and his armor fell away.

Calliope took a staff in hand and got to work prying open the bars of the now claylike metal. Though she began the work gingerly, trying to avoid the moonflame, it spread all too readily, and soon she was engulfed as well. She tossed aside most of her belongings, but managed to save very little. The imp slowly made his way out of the cage.

Helga and Tilton had tried to restrain the priests, in an effort to keep them from bringing the guards down on the group, but the acolyte slipped away and ran for the guards, screaming. In short order, everyone was sprinting back to the ferry, in various stages of undress, many cupping handfuls of silver pieces. When the two nearest gaurds began to catch up to the lagging Redorus, and Calliope was stricken by a thrown spear, Ayla sent one away in a confusion and Helga turned the other away with a well-placed and nearly fatal bowshot.

The six mercenaries, breathless and still running, clambered into the ferry and urged him back to the mainland while the ferryman mumbled to himself, not eager for the inevitable questioning he'd be receiving later.

Zak S.'s GM Questionnaire (body)

by rjbs, created 2012-01-18 09:55
last modified 2012-01-18 09:55
tagged with: @markup:md dnd journal rpg

1. If you had to pick a single invention in a game you were most proud of what would it be?

I'm pretty happy with Awesome Points so far, although it's probably too early to say I'm entirely sure they're a success. Still, I'm sticking with it.

2. When was the last time you GMed?

Saturday.

3. When was the last time you played?

Phew! I can't remember, 2003 maybe?

4. Give us a one-sentence pitch for an adventure you haven't run but would like to.

The PCs hear rumors of a sunken city of the Ancients under the lake, and have to decide whether to blow up the damn and slog around in the mud looking for treasures.

5. What do you do while you wait for players to do things?

I do as little as possible. Maybe I stare at the minis.

6. What, if anything, do you eat while you play?

Pizza for 4E, nothing for B/X or M&M.

7. Do you find GMing physically exhausting?

Not physically. It leaves me feeling drained, but I think going from running the game to doing some kind of difficult manual labor might be a nice move. Run a dungeon crawl, then chop some wood...

8. What was the last interesting (to you, anyway) thing you remember a PC you were running doing?

I had a guy recently turn around and try to get a job working for the junior BBEG to get some inside information, which was pretty unexpected. The general utter disregard for each other's gruesome deaths that most characters display is also interesting, in a way.

9. Do your players take your serious setting and make it unserious? Vice versa? Neither?

I think things are always taken less seriously than I imagine them, which is what I always expect.

10. What do you do with goblins?

I wrote goblins out of my 4E game. In my B/X game, they're a constant minor annoyance, but I think the PCs are going to have to strike a deal with them and head through the goblin woods at some point. My goblins are more hated than hateful.

11. What was the last non-RPG thing you saw that you converted into game material (background, setting, trap, etc.)?

The guy from the old 7-Up "Uncola" ads makes a great NPC, voice-wise.

12. What's the funniest table moment you can remember right now?

Everyone appreciated when Keralon the lich tried to doom the party by summoning his chained-up hydra, not realizing it was long-dead. Any time I get to describe the horrible death of anything, I giggle inside.

13. What was the last game book you looked at--aside from things you referenced in a game--why were you looking at it?

S&W White Box. I keep wondering whether I want to eliminate thieves from my B/X game. Other than D&D-ish stuff, probably Eclipse Phase, which I received for Christmas. Holy cow, that book is enormous!

14. Who's your idea of the perfect RPG illustrator?

I really liked Jeff Easley's work on 2E. I don't know if I'd call it perfect, but I liked it a lot. "Cut Down to Size" still makes me happy. Jim Holloway's stuff on Paranoia also really makes me happy.

15. Does your game ever make your players genuinely afraid?

I think sometimes I make them anxious, which is about the best I seem able to do. Sometimes it's because I can build up the right atmosphere, but just as often it's when I roll on some random table and mutter to myself.

16. What was the best time you ever had running an adventure you didn't write? (If ever)

I've never done it.

17. What would be the ideal physical set up to run a game in?

Windows, sunlight, a chair on which I can cross my legs, a round table with plenty of room for tiles, and maybe a few whiteboards in arm's reach.

18. If you had to think of the two most disparate games or game products that you like what would they be?

Mage and Human Occupied Landfill

19. If you had to think of the most disparate influences overall on your game, what would they be?

William Gibson and He-Man.

20. As a GM, what kind of player do you want at your table?

Somebody who will shut up about the last game he was in, how this reminds him of an episode of Star Trek, and who will pursue a goal further in the future than ten minutes.

21. What's a real life experience you've translated into game terms?

Nothing springs to mind.

22. Is there an RPG product that you wish existed but doesn't?

I want the 4E D&D Compendium for old-school games, complete with inline expandable explanations of monsters' spell-like effects.

23. Is there anyone you know who you talk about RPGs with who doesn't play? How do those conversations go?

Sometimes I tell a co-worker about an amusing scene, which works with no context. A few weeks ago I tried to explain to a neighbor where I was headed (to a M&M game). It was harder than I expected, at least when I tried to fit it into a few sentences.

RPG Recap: Beyond the Temple of the Abyss, 2012-01-14 (body)

by rjbs, created 2012-01-16 18:41
last modified 2012-02-23 23:04

Friday, the 6th day of the Red Moon, 937

Thursday night, Alp the Acolyte, Delian the Elf, Derick the Soldier, and Alec the Apprentice had arrived back at the baron's keep early and, after a rough day beneath the Gladwell place, got a good rest before their next day undeground.

The next morning, they reported to Captain Horn to get scrolls, ink, and more bodies. All of these were waiting for them – along with a tongue-lashing by the captain, who was not pleased to have gotten the first word of the scuffle between Alp and Agbert Gladwell from old Gladwell, rather than from one of his own men. Alp promised that he was going to apologize, but Captain Horn told him to just steer clear of Gladwell for a few days to let things simmer down. Head hung, Alp agreed.

As for the reinforcements, they didn't have much to add, save for Lyweylln the Elf, who added a few cheerful notes on his freshly-carved flute. Captain Horn, hardened to elfin nonsense by years of exposure, kept his thoughts to himself.

Once on site, Lyweylln had a quick chat with one of the farm hands, and asked about whether he know much about any history of trouble at the estate. He very pleasantly told all that he knew, which amounted to roughly nothing. He said that once in a while a horse would go missing, or goblins would be spotted nearby causing mischief. Apart from that, though, the only excitement he'd seen in his three seasons with the Gladwells was the disappearance of the men from town and the altercation between Old Man Gladwell and Alp. Lyweylln gave the farmhand his flute in thanks, and the farmhand happily accepted it and clambered back up to the top of the watchtower.

The party descended the tunnel in the stable without incident, and Alp immediately suggested hauling the bloodsoaked font back up the tunnel to be salvaged. When met with resistance, he decided to do it himself, and with a tremendous effort, managed it.

Meanwhile, the party lit a fire in the small fireplace near the still-hanging, now slightly rotting horse carcass. (Setting the tone for things to come, Delian had to leap to action to prevent Dumbasbrix the Medium from trying to light the fire with a magic missile.) With no results of note, the fire was extinguished and the party descended the tunnel behind it into the cramped complex junction with the labeled passages. Through the yet-unexplored "water" passage, they found a huge cavern with a gently flowing river. Before the room could be fully explored, all attention was quickly focused on the seven planters along the northwest wall. Dumbasbrix quickly found a seed in one of them and, before he could be stopped, took a taste. His reaction was unreserved: "Yummy!"

Unfortunately, he continued to work his way through the seeds, with increasingly deleterious effects. One nut-like seed was full of a sticky green goo. The sprout inside the goo – along with plenty of the goo itself – ended up in Dumbasbrix's mouth, causing swelling, itching, and the inability to speak. After that, another seed seemed to have no effect, apart from possibly some numbness. The final seed sealed his fate: the green good quickly liquified and poured from his mouth. Then, too, did his tongue, jaw, and chin dissolve into a pink mess. He collapsed, dead, and his traveling companion Lyweylln quickly and respectfully looted his corpse and dumped it in the river.

Other adventurers were not deterred from further experiments in extemporaneous subterranean botany. Delian attempted to reproduce the acid admixture, and succeeded, dissolving his hand cleanly to the wrist.

Derick took a bit of time looking into the round stone pillar in the middle of the river. In doing so, he drove a large, weird frog from the water. It was deep purple, eight-legged, as big around as a saucer, and quickly bisected by a blow from Derick's shield. Alec collected samples of the various oozes that issued forth, just in case.

Lyweylln, investigating the blue moss growing on the south wall, smeared some of it onto an arrowhead. In a feat of exemplary elfin archery, he fired the arrow into one of the small pips that Jared had found, producing a plume of grey-blue smoke. Delian, picking up the pip and getting a good whiff, was overcome by some sort of fit and ran to the north entrance, waving his arms wildly and gibbering something about goblin hordes. Jared cured him of this condition with the careful application of his sword's pommel. When he then suggested dragging the elf around the dungeon by his feet, Derick volunteered to heft him over his shoulders.

With their interest in the river cavern exhausted, the party headed up the south tunnel to the ruined kitchen, where Jared looted a small pewter pot from the belly of the stove. The went north through several intersections and found themselves in the room with the smashed idol.

It was 16:00, and play ended.

R.I.P., Dumbasbrix the Medium

RPG Recap: Alar, 2012-01-07 (body)

by rjbs, created 2012-01-09 11:20

Year 28 of the 7th Imperator, 4rd of Declarations.

When last we saw the gang, they were in the middle of trying to recover a stolen 12" obsidian figure of Lanas for Aranaius, a priest of Lanas. It had been stolen (or purchased, or something; it was a matter of some contention) by Mariava, an antiquities dealer of ill repute. Ignatius had met Kossix Senth, who had an unknown axe to grind with Mariava, and arranged for the party to meet with him and have a talk.

Kossix showed up at the Dirty Red Table with a few guards, who stayed at a distance. Kossix was eager to share what he knew about Mariava – clearly, Kossix said, the man was a necromancer. He cited evidence: Mariava had dealings with the Icarian "scholar" Xook, who is far and wide suspected of various unwholesome things; he had been seen more than one accompanying a friend to the great temple of Lanas, but not entering it; the candles lit in his windows at night would dance in sync, a well known sign of a necromancer's home! The party was less than convinced. Kossix insisted that Mariava was behind the strange new sickness infecting some of the neighborhood's beggars and indigents, having poisoned the water "or something like that."

He suggested that his new friends could sneak into Mariava's house and gather evidence. Redorus was a bit wary of yet more advice to break into this guy's house, but Kossix said he would provide the party with a magic book that would record anything happening around it, and that they could plant it to gather information. There was general grumbling of disbelief until Kossix produced the item and demonstrated its function. When asked where he'd gotten it, Kossix explained that his idiot brother-in-law, when a student at a lesser academy of daemonology, had produced the thing to write novels for him, only to learn that real life made for poor fiction.

The gang agreed to meet Kossix after dark and do the deed.

Calliope decided to head in alone, while everyone else took up positions around the neighborhood – some nearby, some a few doors down. She clambered onto the rear balcony and easily defeated the lock on the door and pushed her way into a small, bare room. Lighting her way with a candle, she moved through a curtain into the next room, a larger open area crowded with statues, display cases, and other bric-a-brac. Also, in the room was a 12" metal cage containing a small blue imp, who quickly saw Calliope and asked what she was doing there.

After a bit of negotiation, the imp (who would later give his name as the Meek Servant of All) agreed to keep his mouth shut and report nothing, if Calliope would agree to get him out of the magic cage within five days. She agreed, and got to work figuring out where to hide Kossix's magical codex. She decided to slip it under the base of a man-sized gladiator statue. The imp cried out for her not to touch it, but it was too late. The statue lurched forward from its stand, and brought up its sword. In a panic, Calliope ran for the balcony, taking the book with her, as well as the imp and whatever else she could grab on her way out – a dagger and another codex. The statue caught her with a terrible blow that could easily have been fatal if not deflected by the unbreakable metal cage she'd held up as a shield. Badly injured, she lept to the street and was dragged away by Redorus.

One of Kossix's guards met the regrouping party and got the story. Worried about possible repercussions, he was on his way quickly and said they'd be in touch. Tilton laid hands on Calliope and sealed her wounds. Helga found a sack and shoved the cage, codex, and dagger into them to take back home. Everyone else went directly to Aranaius to return the statue. He paid up the agreed-upon 180 silver, but was unhappy to hear that he might still hear from Mariava. "I may be in touch again," he suggested.

Helga became quickly enamored of the dagger, once she learned the wielding caused her to turn a bold blue. Upon Calliope's return, the two haggled for some time over what price Helga would pay for it. Ayla spent some time inspecting the codex. It was marked as property of the Imperial Bureau of Census and Taxation, and the pages were filled with names, grouped by the names of cities or towns. Some names appeared or disappeared as they read, and some sections were badly smeared and entirely illegible.

Faced with the prospect of freeing the imp, the gang discussed just tossing him in the oven or a bucket of water, but he pleaded that this wouldn't be helpful for anyone and suggested that he still might be able to tell Mariava what had happened. Calliope, wishing to keep her word to the imp, said she would take responsibility for it, for the time being.

Everyone retired to sleep after the busy day.

rationalizing basic D&D saving throws (body)

by rjbs, created 2012-01-05 23:21
last modified 2012-01-05 23:21
tagged with: @markup:md dnd journal rpg

I was writing up a big post about how I want to deal with skill checks from now on, but I think I need to write it another time. Instead, I will write about old school saving throws.

I have never, ever liked the basic D&D saving throws. They don't make sense. Why is dragon breath its own save? Why are some things saves versus totally unrelated things? (I seem to recall rules calling for saving versus wands for needle traps, or versus petrify for falling damage.) So, what about the 3E saves of Fortitude, Reflex, and Will? Well, I really, really respect the attempt to rationalize things, but I'm not a huge fan of those categories. For one thing, I liked that magic was its own thing. For another, I want to keep using the original tables! I just want to have some internal reasoning for why I pick a given save to require.

I want to use saving throws a good bit more in the future, so I wanted to sort this out soon. Here's the mapping I'm going to use:

B/X Says                  RJBS Says
Death Ray or Poison   →   Death
Magic Wands           →   Projectile
Paralysis or Petrify  →   Distraction
Dragon Breath         →   Assault
Rods, Staves, Spells  →   Magic

This mapping makes me happy.

no more healing surges, Awesome Points are here! (body)

by rjbs, created 2011-12-30 15:15
last modified 2012-05-18 18:39
tagged with: @markup:md dnd journal rpg

I wrote about healing surges a few months ago, and have implemented some of the things I said I would, and am now going to implement the rest and more. Here are the new official rules for my "Ethos" campaign (aka, Monsters on a Plain):

  • Healing surges are now called Awesome Points. (Thanks, Old School Hack!) They are not just for healing. They are for being awesome. Your surge value is still relevant, as it's what you get back when using Second Wind or other healing powers, which will still often cost Awesome Points.

  • Action points are gone. Any Power that used to cost an Action Point now costs two Awesome Points. This is like starting every day with a lot of Action Points, but you do not recover them at milestones. Encounters wear you out, you do not get "on a roll."

  • You can spend two Awesome Points to take (only) one extra action on your turn. In other words, the most common use of Action Points is preserved, but…

  • You can spend as many Awesome Points as you want in a turn. This might be limited by other factors. For example, you can only use Second Wind per encounter, because that is how Second Wind works. On the other hand, there is no such limit for extra actions. This means that if you have ten Awesome Points, you can take ten actions in a five round combat – you just better hope you have no need for those points any time soon.

  • Healing outside of combat is limited to one surge per hour. In other words, getting a five minute break outside of combat is not enough to get all your HP back. You can get a quarter of them, and if you can stay out of trouble for another hour, you can get another quarter – but you might not want to, since those Awesome Points will have other potential uses in that upcoming encounter.

  • You don't regenerate all of your hit points from an extended rest. An extended rest restores your surge value in hit points. If you want to get all your HP back overnight, you need to spend Awesome Points. An extended rest is still, by definition, enough time to fully recover your hit points, but…

  • You don't regain all your healing surges overnight. Instead, you get two. This means that if you're down to 1 HP and zero Awesome Points, it will take two two days to get back up to full HP, at which point you will have two Awesome Points to spend.

  • You can spend an Awesome Point to reuse an encounter power. You can do this as many times as you want. Combined with extra actions, this means that you could spend three Awesome Points to, in one turn, use a standard action encounter power twice.

  • You can spend two Awesome Points to reuse a daily power.

  • Everyone gets the daily power Awesome Effort. This power costs one Awesome Point to use and is a free action. You replace a d20 you're about to roll with a d30. Because this is a daily power, you can (for example) use it twice in a single encounter for a total cost of four Awesome Points.

That's it for now. I would also like to add a means to use Awesome Points to end status effects, but I want to think about it some more. It will probably be that you can spend one to end a status effect only after suffering through it for one round.

I have a few goals here: one is my original goal of forcing the party to spend more time recuperating. I think 4E originally rejected this because it wanted characters to feel heroic. I want them to feel heroic, too, but I don't think the original "back to nearly 100% after every combat" was working for me, for reasons described in my previous post. I want them to feel heroic by doing awesome stuff, and that means inflicting huge amounts of damage, succeeding at highly improbable tasks, and surviving against all odds.

Another goal is to force players to choose more clearly between offense and defense. Do they want to be able to heal after they win, or are they more concerned with winning the combat now?

Yet another goal is to encourage the players to spend more time in safe places, resting, interacting with "locals," or hiding out from omnipresent threats. I want the campaign to feel like bouts of caution interspersed with tremendous, brutal bursts of activity. I think these rules wil help.

I will report back after our Jan 14th game.

prev page
next page
page 1 of 47
1172 entries, 25 per page