RPG idea: You’re not done yet

  • Villains that are so committed that they won’t stay dead are great!
    • I ran a game where a character killed by the party dedicated her ‘life’ to destroying them.
    • Fans of Critical Role are hoping that a recently-deceased villain can use her eldritch connections to come back and harry the party
  • If NPCs can do cool things, PCs should be able to do them too! Thus, I should allow my players to refuse to stay dead.
    • This was a hype moment for a player character in Critical Role.
  • I have trouble with the Last Breath move in Dungeon World where Death offers a deal to let a character return to life. What does death want?
    • More death? Everything dies eventually.
    • More death faster? If so, no evil overlord would stay dead, since they tend to kill a lot of other people.
    • The PC’s possessions? The PC is already going to lose everything by dying.

So here’s the synthesis of all the above. When a PC dies, it’s not Death offering deals, but several powerful spiritual forces.

  • The Good-aligned god of a heroic adventurer says she’s spent enough time in the muck, chasing monsters, hands soaked in the blood of victims she couldn’t save and the villains who killed them. Come home to Paradise. Rest.
  • A war-like deity knows that the dying adventurer still has work to do. Life will be offered as a loan. You may live until you complete this final mission.
    • One Last Job: When you complete the mission assigned to you by your deity, the next time you make the Make Camp or Recover move, you die peacefully in your sleep. You know this is coming. Perhaps you should gather your loved ones.
  • Revenge personified says, “Your hatred of those who killed you is justified, and I will empower you to carry it out!.” Not only will the adventurer die again once vengeance is achieved, but Revenge grants the adventurer several powerful and messy moves to achieve it
    • Eye for an eye: When you focus your hatred on your target and injure yourself, your target receives the same injury. You may not kill yourself with this move. If your wound is healed, the target’s wound is also healed.
    • No rest for the wicked: When you don’t pursue vengeance for an entire day, your sleep is disrupted with dreams of what your target did to you. You do not gain the benefits of the Make Camp move.
    • Boiling hatred. A rage meter that increases powers but causes violent outbursts, etc.
    • Just you and me: when you look your target in the eye and challenge her to combat, gain Hold equal to your Rage. During this combat, you may spend 1 Hold to negate one attack from a source other than your target, as your singular focus allows you to ignore everything else.
    • Nothing to live for: When your target dies, you explode is a shower of boiling, acid blood. Everything within reach takes your weapon damage plus your rage. Everything within near takes damage equal to your rage. You die immediately and do not make the Last Breath move.
  • The demon in charge of a plot that the adventurer may or may not be in the process of foiling could use some capable help, and offers a full lifetime, just as long as the adventurer does his best to make sure the evil plot is not disrupted.
    • Asmodeus’ First Law: If you disrupt your patron’s plan or injure those carrying it out, you suffer your weapon damage.
    • Asmodeus’ Second Law: If by inaction you allow your patron’s plan to be disrupted or allow those carrying out to come to harm, you suffer a debility.

Fairmeadow Fair, session 9

← Session 8 | Campaign Summary | Session 10 →

Last time, our heroes traveled to Templeton, site of the Fortinbras School of Mines, hoping to learn about the strange living statue that gave them so much trouble back in Fairmeadow.  They met Flint, a friend of a friend who might be mixed up in some shady dealings, and he offered to show them around campus the next day.  Maybe he can get them into the school library.

A map of the city of Templeton, built into a cinder cone volcano.

After leaving Flint, Gleador and Lucia decide to watch the sunset.  Templeton is built into a cinder cone volcano, so they head up the spiral streets to the crater rim.  The rim is lined with tall towers, most of them private buildings.  The tower that powers the school’s sundial does have an public observation deck.The deck is a crescent surrounding the central tower. The huge crystal at the tip of the tower focuses a powerful beam of sunlight down onto the sundial at the base of the volcano. The gap in the crescent prevents anyone from accidentally walking into that beam.  The deck is surrounded by high walls of strong glass, with decorative metal filigree to make it visible.  Many people are up there to watch the sunset, sitting on benches or standing against the glass.  Shortly before the sunlight fades from the crystal at the tower’s tip, an attendant comes out and slides open panels in the posts supporting the glass wall.  Inside are continual flames, magic light sources.

Gleador and Lucia head back to the hostel they are staying at.  Supper is included in the price of the room. The other lodgers in the 10-person room have a few friends over for a lively gathering, but quickly make excuses to take the guests elsewhere.  Lucia look like an authority figure and they don’t want to cross her.

The next morning, they have some time before they meet Flint in the afternoon, so they look for a public library.  Much of the volcano’s caldera is public buildings, surrounding city hall at the very center.  There is a public library: four stories of floor-to-ceiling windows following the slant of the caldera.  Inside there are many patrons, and pages wearing neat vests.  Gleador looks for the most enthusiastic page. That’s Angus, a young dwarf who loves books and hopes to get into the Fortinbras School of Mines when he’s old enough.  Gleador asks to see Angus’s favorite section, a section that most people might skip over.  Hidden gems, if you will.  Angus takes him to the literal hidden gem section: a half-shelf about precious minerals behind three big stacks of books about geology and mining.

Gleador asks if Angus knows what “OOLITE” is. Angus recommends asking the reference librarian.  Angus guides Gleador and Lucia up to the top of the four-storey building.  The reference section not only contains stacks with weighty tomes and ledger, but cabinet with wide, low drawers for oversize parchments and maps.  The reference librarian sits at a large circular desk with aisles arranged radially around it.  The whole floor points to this elf woman.  Her red hair is pulled back in a large bun wrapped in braids. If she let her hair down, it would be extremely long. She’s been growing it out for decades.  Hearing Gleador’s request, she takes a slip of paper, writes “OOLITE” on it in impeccable Dwarven letters, then burns the slip in the flame of a large blue candle on the desk in front of her.  (There are several such candles arranged on the desk, each a different color.)  The flame separates from the candle, takes a vaguely humanoid shape, and flies out into the stacks.  “Please wait for the indexing sprite to return,” says the librarian.  Lucia is curious about the different candles. The librarian explains that all the candles contain indexing sprites, and the different colors of candles help her keep track of different queries running at the same time.  Another sprite returns to the desk. The librarian excuses herself and fetches two waiting patrons to follow that sprite to their books.

The sprite for Gleador’s query returns, but the librarian is still assisting other patrons.  Gleador asks the sprite if other people have been asking about OOLITE. The sprite gesticulates, but does not speak.  Lucia realizes that it communicates through writing, so she swipes a slip of paper from the librarian’s desk, writes her question down, and burns it on the blue candle. The sprite zooms away, and Gleador follows it.  The sprite leads him to an old book and surrounds it with cool, non-destructive flames. Gleador brings it back to Lucia and they open it on a table.  It’s a ledger, but it’s written in Dwarven, which neither of them can read. Gleador wants to know what book the sprite found for the librarian’s original query, so he writes “OOLITE” on a third slip of paper and burns it. He can copy the letters for this particular word, even though he can’t read the language.  The sprite leads him to another ledger, this one written in Elven.  It records some deliveries of metal from the OOLITE company to an Elven furniture and woodworking company. The metal was used for fasteners and fittings. It’s an old ledger. Deliveries from OOLITE stop about 120 years ago.

Gleador heads downstairs to find Angus again. Dwarven is Angus’ native language, so surely he can translate the Dwarven ledger.  Angus says that translation will take him away from his page duties for quite some time, so Gleador will have to make it worth his while.  Gleador says he knows a guy at the college, and can put in a good word for Angus’s eventual application.  Angus wants to meet this contact now, before he translates the ledger. Gleador balks because his contact is Flint, a second-year student with no impact on admission, so he returns upstairs with the ledger untranslated. They try to return the books where they found them, but the shelves magically repel the books.  They return to the reference desk, which has a big shelf labelled “Return books here” and talk to the librarian, who has finished with the other patrons.

“We tried to reshelve these books…,” they begin.

“Did you see the shelf labelled ‘Return books here’?”, says the reference librarian, clearly annoyed.

Undeterred, they ask about the Dwarven ledger.  Of course the reference librarian can read it. It contains shipping manifests for the Balfour Trading Company from 160-140 years ago, and often mentions shipments of metals from OOLITE. The Balfour company survives to this day. There’s a warehouse here in Templeton, near the highway.  The party places the two ledgers on the “Return books here” shelf, and the books magically float back to their proper place. They are impressed by the system the reference librarian has going.  With obvious pride, the reference librarian says she’s had a long time to perfect and improve it.  Before they leave, Lucia says a quick prayer to ask what here is evil.  Some books and all of the indexing sprites are evil, but not the librarian or Angus.  Interesting.

Now it’s time to head back to the college and meet Flint for a tour.  He arranged to meet them at his lab in one of the more industrial college buildings.  They could arrive early if they hustle, but they arrive on time and find Flint waiting at the outside door of the building. The doors and hallways of this buildings are bigger than usual to allow equipment to be moved in and out. The roof is about 2 feet above ground level, with the rest of the building built into the ground.  There are skylights on the roof. Instead of a storm door. there’s a wide ramp going down to a pair of vertical doors that open inward.  Although the halls are wide, they are lined with lockers and cabinets full of tools, specimens, and so on.  Flint leads them to the door of his metallurgy lab.  He unlocks the door with a big old-fashioned metal key, holds the door open and says, “After you!”  Lucia and Gleador know a trap when they see one.  They make eye contact.  Gleador steps in and Lucia does not.  Flint waits a moment, then shrugs and steps in. Lucia steps in after him.  There’s a cabinet in the center of the room, work benches at either end, and a dumbwaiter in the far wall.

Upper storey of science building: lab, cold storage, and connecting vents.

It was still a trap!  The door slams behind them and they hear something heavy dragging outside, probably one of those cabinets blocking the door.  Flint panics and runs back to the door. It opens outwards, so the cabinet prevents it from opening, even though it’s unlocked! Flint kicks the door several times. The door fractures, and sticky expanding gel starts oozing and growing from the cracks. Flint recoils, avoiding the glue goo. One of the shady dwarves from yesterday appears at the skylight, opens it, and throws in a canister which starts spewing a thick, dark gas.  The party tells Flint that he’s stuck with them, and he must help them or die!  This has obviously escalated past what he signed up for, and he’s panicked.  The gas is spreading. The dumbwaiter is only big enough for one person at a time, so they reject that method of escape.  The movement of the gas reveals an air vent that they didn’t notice before.  “Into the vents!” orders Lucia. She pries the grate off the vent and she and Flint go in. Gleador grabs tongs from the workbench and tries to throw the gas canister into the glue goo to seal it shut. He fumbles and bounces the canister off a wall and back into himself. He receives a minor burn from the hot canister and a lungful of gas, which reduces his constitution. He flees into the vent.

In the vent, they are temporarily safe from the gas. They demand that Flint explain what he’s gotten them into.  He reveals that the two dwarves that were lurking about yesterday are paying his tuition in exchange for a special alloy.  It’s brittle, an unpleasant color, and has the exact same density as gold.  He doesn’t ask what they use it for. He doesn’t want to now. He didn’t want to get involved, lest something like this happen.  There’s a T intersection several yards away. Flint’s in front, so the party crowds him forward to look. He’s pushed to the right, and yelps because he’s now next to a significant drop-off into a smelting room.  There’s a fall, sharp implements, and fire.  That might be worse than the gas. There’s also a shaft that leads down to a lower storey.

They decide to go left. The grate to the left is covered in frost. Lucia has metal gauntlets, so she can touch the grate without freezing her flesh to it.  It’s cold storage. Shelves and crates fill the room. The floor is covered with ice, but Lucia slides out confidently, grabbing a crate to make a turn and end up at the door.  The crate she grabbed was a coffin!  Unimpressed, Lucia examines the door.  It has the same lock as Flint’s room, so it probably has the same gel inside. There’s a small magical heat source right under the lock keeping it thawed. The lock is wet with melted frost, and the frost refreezes in icicles underneath it.  Flint faceplants on the ice.  Gleador digs some lockpicks out of his adventuring gear and sets to work on the lock. He’s making progress and here’s a sharp ‘click’ but then glue goo comes pouring out of the keyhole onto his tools and hands!  He quickly yanks his hands away from the lock and apart, shaking the glue goo off. His hands are free, but encrusted with dried goo, impairing fine manipulation.  There are two machines keeping the room cold by constantly emitting cold air.  Each has four canisters attached, supplying it.  Lucia considers ripping one of the machines out, but the canisters aren’t that secure, so she stops to avoid dropping and breaking them.  They turn the machines off.  Now they won’t freeze to death if they stay here.  Maybe someone will notice the machines aren’t working and will come check on them.  Flint reads the warning labels (it’s all written in Dwarven) and says that if the canisters break, they’ll flash freeze whatever is nearby.  They consider re-directing cold air to the door to freeze and shatter it, but can’t find a suitable tube.  Throwing a canister at the door might work, but Gleador has had awful luck today and doesn’t want to risk it.  They look to the skylights to consider how they might reach and open them.  They see that same dwarf looking down at them!  “There they are,” yells the dwarf.  “Rott, no! I’m in here,” yells Flint.  Rott opens the skylight and grabs another gas canister from his satchel.  Lucia lassos him, but only gets his arm. They struggle and she only manages to pull the canister he was holding right to her!  She quickly holds her breath and retreats to the vent.  Flint runs for the vent right through the cloud of gas and collapses at Lucia’s feet. She says, “We have to go down!” and pushes him down the shaft to the lower level. He’s unconscious, so he goes over the edge with no resistance and is injured on landing.  Gleador holds his breath and dives into the vent.

Lower storey of science lab: automated smelter, secret super-max prison cell.

On the lower floor, vents lead left and right. To the right is the smelter, but now they are at ground level, so they can enter it safely. The furnace is in the middle of one wall. There are no skylights.  The chimney is open to the outside, but there’s an 800-degree furnace under it, so climbing it is extremely dangerous.  There’s a waterwheel on the far wall. It powers some mechanical equipment that feeds ore into the furnace, pours molten ore into forms, then places the cooled ingots into a hopper. The pipes that carry water into and out of the room are a foot across: too small to fit through. This room has the same locked door as the other rooms.

Gleador goes back into the vent and checks the room to the left.  He emerges under a table with chairs.  The far side of the room has metal floor, walls, and ceiling, as opposed to the stone of the other rooms, and the near side of this room.  There’s a heavier, scarier, more secure door on this room. There’s also a person sitting on the plain metal side of the room.  A bald male Dwarf. “Hello, friend,” says the Dwarf, “I didn’t expect to see anyone come in that way.”  Gleador calls Lucia over, and she drags in the unconscious Flint.  The bald dwarf is quite surprised by this motley crew’s unusual entrance.  Gleador gives Flint an anti-toxin to counter the effects of the gas, and Flint wakes up.  Lucia heals him. They greet the strange dwarf, who is a full five feet tall, as tall as Lucia, and totally bald.  His name is Andro.  As Gleador steps forward, Andro holds out a hand to stop him. “Watch out for the wall of force.  Here, where the floor turns from stone to metal. If you try to cross this line, magical electricity will stop you.”  They ask Andro how he came to be in this situation. He doesn’t remember how long he’s been imprisoned, but he indicates his bald head and says it can’t have been too long.  There’s no bed, chair, dishes, or anything on his side of the cell.  He says that sometimes people come in, sit at the table, and take notes, but not very often.  The party is unlikely to be discovered and released any time soon.  There’s a control panel on the wall by the door. Flint says the writing indicates it controls the Wall of Force, but it’s magical as well as mechanical. He tries to work the controls, but when he reaches out to demonstrate that the wall of force is gone, it zaps him!  Lucia exhorts him to try again, promising that if he gets them out, she’ll keep him safe from his former associates, but he’s had enough and hides under the table.

Lucia: It’s a good thing he didn’t stick with law enforcement!

Lucia tries the control panel and realizes that the crystal in the center is a status indicator.  Moving these controls changes the color, and this color must mean the wall is down.  She’s right!  Andro is free! Well, Andro is as trapped as the rest of them.  Gleador asks if he’s good with locks, and Andro says he can give it a try.  Gleador leads him away from the high-security door in the cell, through the vent, to the door in the smelter.

Andro approaches the door of the smelter, which is next to the water wheel.  He says, “I’m really sorry, friends,” and dives into the drain pipe. His head fits, but his torso won’t. His shoulders bend back at impossible angles. His whole body starts stretching, lengthening, disappearing down the drain.  Gleador grabs at his legs, which are now soft and floppy. Gleador’s fingers dig long grooves in Andro’s flesh as they struggle to find purchase. Gleador’s hands to find something solid, which he pulls out of Andro’s leg as Andro finally disappears down the drain.  It’s a small wooden box with a sliding lid.  Gleador hands it to Lucia, turns into an electric eel, and pursues Andro down the drain. He’s able to catch up easily, but does not electrocute him, instead following him until the drain exits the building into a culvert leading to a stream.  Andro drags himself to shore and starts reforming into proper dwarven shape. It’s not perfect. One of his shoulders is higher than the other, and one side of his face sags. He looks like he’s survived some industrial accident, which isn’t too rare here in a town of miners and engineers. He might be remarkable, but his strange non-humanoid status is no longer evident.  Gleador transforms back into an Elf while Andro is pulling himself together. Andro is surprised that Gleador was able to escape and follow him so easily. They are both full of surprises.  Gleador says that Andro had better return and break the others out, or Gleador will make a scene and turn him in to the authorities.  Andro doesn’t want to go back to the cell, so he agrees.  “Do we head back up the drain?”

No, Gleador leads Andro into the science building like normal people, and they find the smelter door.  It’s locked. Andro reads the sign. “No admittance from 9:00 to 6:00 during automatic smelting. See Mr. Haverly in Room 213 if you have any questions.”  Gleador yells through the door to Lucia. Gleador asks Andro to pick the lock, but Andro reveals he only said he was good at that so he could get close to a door and escape.  They are so close, but they can’t figure out what to do.  Lucia opens Andro’s box and finds 200 gold pieces and a magical amulet.  That reminds Gleador about the strange coin they found on the living statue.  He shows Andro the large rectangular coin and asks if he recognizes it. Andro thinks this is a very odd thing to be asking right now, but instantly recognizes the coin as being from Saarland.  Gleador has never heard of Saarland, which Andro thinks is odd, since it’s such an important city.  (Gleador isn’t ignorant. Saarland is not an important city that anyone talks about. Why does Andro think it’s well-known?) Gleador talks through the current situation, trying to think of what to do next. He says that Andro could just leave, and Andro thinks that’s a great idea and starts walking off. Gleador says, “We have your stuff!” but Andro would rather have his freedom.  He turns back, points at his eyes, points at Gleador, then continues walking away.  Gleador lets him go.

Gleador heads up to find Mr. Haverly’s room and get the key to the smelter. Mr. Haverly’s office is in a row of faculty offices on an upper floor.  The door is locked and there’s a sign that Gleador can’t read that says “Back in 15 minutes”. Gleador wants to wait around, but a school official thinks he’s a loitering student and starts scolding him. “Show me your student ID, young man! I’ll write you up.”  Gleador tells him to look him up in the directory and leaves.  In an nearby hallway, he waits until no one is in sight, then turns into a newt and crawls out the window.  He crawls along the outside of the building to Mr. Haverly’s office. The window is open! He goes inside and finds the key: an old-fashioned metal key like the one Flint used. It’s as long as his newt form and much too heavy to carry.  Footsteps and the sound of conversation approach the door. Gleador crawls back out the window and watches.  Mr. Haverly enters, accompanied by a student. He’s an older dwarf, with a neat white beard and small round glasses.  Gleador can’t understand Dwarven either,but he figures out that they are discussing classwork. Unsure what else to do, Gleador waits for an opening.

Back in the smelter, Lucia grills Flint about the his involvement with the shady dwarves. There are two of them. The one who threw the gas canisters from the roof is named Rott. He’s got a buzz cut and a similarly short beard. He’s demonstrative and impulsive. The other one, who probably trapped them in the first room, is a female Dwarf with long straight shiny black hair and beard. She looks like a shampoo ad. Her clothes are not flashy, but have high-quality fabrics and are tailored for her.  Flint has provided them with about 20kg of alloy so far. The alloy is brittle, ugly, and the same density as gold.  He made a delivery last week, and another is due in five days. The materials for the alloy are not expensive, but the procedure is precise, which is why they need Flint’s expertise. Since the materials are cheap, no one has noticed that Flint’s been stealing from the school’s supply. Lucia wonders why Flint’s buyers don’t just provide the materials, if they aren’t expensive.

Everyone has been waiting around for some time.  It’s time for Mr. Haverly to collect the day’s ingots.  Flint and Lucia notice the automated machinery stop.  In the office, Mr. Haverly wraps up his conversation with the student, takes his key, and heads out. Gleador follows along on the wall as a newt. Mr. Haverly goes downstairs and meets two TAs with handcarts who will carry the heavy ingots.  Gleador considers startling Mr. Haverly by flicking him with his long newty tongue, but that will cause Gleador to turn back into a Elf, and he wants to stay hidden.  Lucia and Flint hear people approach the door and hide in the vent. Mr. Haverly opens the door and all three enter the smelting room to begin loading ingots.  Gleador stays out in the hall and transforms back into an Elf.  Lucia waits for a chance to dash out unobserved, but makes a noise. Mr. Haverly looks into the vent and sees someone in full armor, crouched and ready to pounce! He screams, and he and his TAs run for the door.  Gleador blocks their path out and spins a tall tale about a security audit. They don’t buy it. One of the TAs rushes him with his handcart. Gleador falls into it and is carried down the hall. Mr. Haverly and the other TA run the other direction. Lucia tries to drag Flint out, but he starts to flee as soon as they exit the room. Gleador extricates himself from the handcart but does not prevent the TA from fleeing. They are all free!  Lucia thinks Flint will be tracked down and killed by his former co-workers, but if he’s determined to run away from her, she’ll leave him to his fate.

Gleador and Lucia huddle. Should they report this to the authorities? They are sure they are innocent victims in all this, and want to be more honest than they were in Fairmeadow, so they head upstairs to the faculty area. Gleador sasses the official that he clashed with earlier, which gets him an express trip to the dean’s office, just as he planned. The Dean interrupts the official’s rants about disrespectful youngsters. “Simmons, did you notice notice the fully-armored Paladin accompanying him?  What’s your story, young lady?” The party starts by saying that they came from Fairmeadow to visit a friend, which is pretty boring. Then they get to the part about “trapped in a room with poison gas” and the Dean says, “You should have led with that!” They give the Dean Rott’s name and a good description of the other dwarf and what class she’s in, so the school definitely has enough information to find her. They also say that the freezer room is defrosting, several doors are jammed with glue goo, and that they released a prisoner. The Dean looks very concerned. He sends some people to check the damage to the rooms they describe and asks the party to wait until they report back.  “Like, here on campus?” “In my office, please.”  Gleador makes sure there’s a window as an escape route, and they sit down to wait.

GM notes: This was the first time I locked the party in a dungeon. I imagined multiple scenarios in which they effortlessly avoided or escaped the dungeon, leaving me with a whole evening and nothing prepared.  Instead, they enjoyed exploring the facility and puzzling over its strange contents.  You’ll notice the maps above don’t fill the whole page.  There were a few rooms they did not find or explore.  Andro is actually a character I’ve blogged about before.  I don’t have a game to play him in, so I put him in this game as an optional NPC.

These poor adventurers just wanted someone to get them into the college library, and now they are involved in more plots and trouble than they know!

← Session 8 | Campaign Summary | Session 10 →

Fairmeadow Fair, session 8

← Session 7 | Campaign Summary | Session 9 →

The Fairmeadow Fair ended last session, with Gleador the secret shapeshifter dodging all the consequences of his weekend of deception.  He and Lucia the Paladin had to decide where to go next.  There were several events that warranted further investigation.

  • A statue with Dwarven markings came to life and smashed up the fair.  Who built it? What is it for?
  • The statue was carrying strange gold coins, unlike the local currency.  Where do they come from?
  • A Dwarf named Opal and two accomplices attacked our heroes, were driven off, and fled town in an unusual self-propelled cart.

Gleador and Lucia had one of the strange coins, so Pepe, the town sheriff, tracked them down to get it back before they left town.  They convinced him that they would continue investigating the statue, so they should hold on to the coin.  Pepe revealed that the statue was brought to auction by Hama, a halfling woman who often acts as an agent for rich clients who want to auction items without personally making the trip.  Hama said that she was selling the statue on behalf of the Miller family, one of the great families in Sugar’s Crossing, a town a few days to the west.  She had no idea that the statue could move.

A regional map showing the towns of Fairmeadow, Sugar’s Crossing, and Templeton.

Our heroes decide to head for Templeton, a Dwarven city to the west with a famous college.  This means not going to Sugar’s Crossing to question the owner of the statue, and not pursuing Opal’s gang south towards the port.  Alas, those were the two towns contained the bulk of my preparation.  To re-assure Pepe that they were not just running off with his evidence, they told him where they were going.  Pepe knows a guy in Templeton. Flint is now a second year metallurgy student, but he took a gap year of sorts in Fairmeadow and volunteered as a deputy.  Law enforcement was too intense for him.  He’s happier in a classroom.  Gleador and Lucia promise to look him up, and leave word with Flint if their travels take them further from Templeton.

Gleador and Lucia set out on the three-day journey to Templeton.  There’s a lot of traffic leaving Fairmeadow today, but they got an early start, since they don’t have to pack up booths or wrangle families.  When they are out of sight of other travelers, Gleador shifts into a falcon and scouts ahead.  There’s not much to report.  Near evening, he sees a clearing on one side of the road.  There’s room for at least a dozen carts around a big stone fire pit. There’s a stack of charred logs in the pit, and a magical, ever-burning flame in off to the side.  An inscription in many languages reads, “As we all share the everlasting warmth of fellowship, so will this fire always keep travelers warm.”  It’s a lovely rest stop, with no traps or shady people around.

A rest stop on the road from Fairmeadow to Templeton, protected by a magical campfire.

Gleador reports this to Lucia, and they stop there for the night.  As evening falls, several parties on horse-drawn carts, or on foot with handcarts also arrive and set up camp.  One group produces logs from their cart, adds them to the pile of firewood, and makes a trail of kindling from the magical flame to the central firepit.  A jolly blaze lights and warms the whole campsite.  Some starts playing a pipe, and a few people clap and dance along.  Gleador looks for the most interesting person to talk to.  That’s Selene, a clean-shaven Dwarf woman.  She goes to shake her hand, and she extends a metal prosthesis.  With certain movements of her shoulder and upper arm, she adjusts counterweights and rods in the mechanical arm to open its fingers and shake Gleador’s hand.  Gleador is very impressed!  She’s a graduate student at the College of Mines in Templeton.  Gleador inquires about the moving statue.  She’s unaware of technology that advanced. The mechanical devices she knows are moved by counterweights (like her arm) or pressurized gas.  Gleador mentions the name “OOLITE” that was written on the statue, and she thinks the school library would have information about it.  She doesn’t know Flint, but it’s a big school, so that’s not strange.  Lucia doesn’t participate in the evening activities.  She’s communing with her god and gaining a level.

In the morning, Lucia tries to cast Detect Alignment, but instead of a shockwave of holy energy, she produces a physical shockwave, making a loud bang and flapping all the tents and shelters.  Lucia and Gleador hastily grab their packs and flee the rest stop in embarrassment.  The next two days are uneventful. The terrain becomes hillier and rockier, so the fields of grain and vegetables give way to land for livestock.  They find an old barn, abandoned when a newer one was built at the other end of a field, and stay there for the night.  Nothing comes ot disturb them but some rabbits and birds, also seeking shelter for the night.

A map of the city of Templeton, built into a cinder cone volcano.

On the evening of the third day they reach Templeton, the city built into a cinder cone volcano. It rises out of the plain alone, visible for miles!  Streets spiral up the cone in both directions, since radial streets would be too steep.  The side of town closest to the main road is trade and tourism.  The Fortinbras College of Mines has an entire sector of the volcano on the northwest.  The rim of the caldera is covered with high towers, and inside the caldera are museums and civic buildings surrounding city hall at the very center.  Most of the buildings are built for Dwarves, but there are some taller buildings, especially in the tourist section.

Gleador and Lucia check into a tall youth hostel near the college.  Their room has five bunk beds and a washroom with a toilet and shower.  There’s running water in Templeton.  Lucia is obviously a Paladin, and the other youths in the room tease her for looking like a strict authority figure.  She heads to take a shower and surprises a Dwarf woman coming out of the washroom in a towel.

The next morning they wake up before the other 7 people in the room.  Not a hard task to wake up before college students.  There’s cheap but decent food served cafeteria style at the hostel.  They head to the campus to look for Flint and the library.  The library is not open to the public, only people associated with the school.  They ask around and learn that Flint is currently in a lab.  The college extends onto the flat ground surrounding the valcano and Flint’s lab is in a building on this flat ground.  The building rises only a couple feet, has skylights and vents for a roof, and storm doors for entrances.  As our heroes open one of the doors, they hear a voice assure another voice that the delivery of the alloy will be on schedule.  There’s a sudden pause, then the voices start talking about experimental procedures and titration.  Di that seem shady?  Did the people at the door notice?  Hopefully not. Gleador and Lucia act like they don’t notice and ask for Flint.  He’s the voice promising delivery on schedule.  They pass on Pepe’s greetings and ask to meet him after his lab.  He’s happy to hear from Pepe and agrees to meet them.  Lucia says a quick prayer for guidance and sees that the two dwarfs standing near Flint are evil, but Flint himself is not.

There’s a long, low arc of stone that acts as a sundial, receiving a beam of light from a tower at the rim of the volcano.  There are signs warning not to put any item, especially face or eyes, in the beam of light.  Near the sundial are some benches and tables with games.  The game is somewhat like Stratego, where two players try to defeat each other without knowing the strength of the other’s pieces.  The pieces are identical painted metal cubes, each of a different material and density.  Denser pieces beat lighter pieces.  Quickly judging the density of an item by holding it is a valuable skill for a miner or crafter.  At the appointed time (easily seen from the nearby sundial) the two evil dwarves sit a few benches away and start playing.  Flint arrives soon after.  Gleador plays to lose (easy when he’s never played and Flint is an expert) and engages in small talk, trying to sneakily get Flint to reveal information.  The evil dwarves keep playing games.  They’re sticking around to overhear.  Flint agrees to give our heroes a tour of the campus tomorrow.  Maybe he can sneak them into the library.  He leaves and the evil dwarves are still playing.  Lucia and Gleador leave and ponder their next move.

GM note: I had to scramble because I assumed that the party would go to a different town.  On the one hand, I really like the things I improvised: Selene’s mechanical arm,  the rest stop, the city built into a volcano, the sundial. On the other hand, when wrapping up one location and moving to another, I should make the party decide where to go at the end of a session, not the beginning, so I can focus my efforts entirely on what they will see. The drama between the three great mills in Sugar’s Crossing was wasted effort, and I kept describing the Dwarven college like a 20th century American university, because that’s what I could think of on the spot.

Also, this is the second time they haven’t gone in the direction of that one NPC  that I’m really proud of.

← Session 7 | Campaign Summary | Session 9 →

RPG idea: Mechanics follow personality

There’s often a disconnect in TTRPGs between what characters can do, their mechanical options, and how they do it, their personalities and emotions.  Here’s an example of how to make mechanical options come from character behavior.

Characters start out as generalists: a little magic, a little sneaky, a little smashy.  At the end of a significant chunk of play (maybe clearing a dungeon, or solving a mystery, or completing a journey), each player writes down a descriptor that matches how each other character has behaved during that chunk.

Eladrial was reckless.  Fogban was cunning.  Rex was oblivious.

Each descriptor maps to one or more character moves:

  • Reckless
    • Reckless attack. You have advantage on attack rolls. Enemies have advantage on attack rolls against you.
    • Charge through: You have +3 AC vs. Opportunity Attacks, readied actions, and attacks from traps.
  • Cunning
    • When you take a moment to observe a target undetected, the GM will tell you one of the target’s weaknesses.
    • +1 to Deception
    • When you explain a cunning plan, party members get +1 forward when following your direction.
  • Oblivious
    • When you are targeted by charm, compulsion, or manipulation effects, there is a 50% chance they completely fail, as you simply don’t notice the attempt.

The GM gives each player a list of potential moves that is all the moves mapped to all the descriptors that the other players assigned to his character.  The player chooses 1 move to add to his character’s list of moves.

PROCJAM / 7DFPS 2018, Photo Copy: final push

PROCJAM, 7DFPS

Day 1, Day 2, Day 3, Day 4, Day 5, Day 6]

Play Photo Copy in your browser!

 

Time was almost up, so I concentrated on getting the game into a playable state.  After breaking the AI photographer the day before, I needed a quick way to make it functional again. I added an invisible box around the extents of each landmark and had the AI photographer point at that.  Alas, no understanding of symmetry, or lining up multiple landmarks in one image, or any other things I was hoping to implement at the start of the project.

I also cleaned up the menus and functionality to start and end the game.  The introduction used to be a separate scene, but I pulled it into the main scene.  Less to keep track of, and it let the player look at the instructions while playing by hitting Escape.  Alas, walking through the exit portal, then canceling the exit UI was causing trouble, and it was faster to cut the portal than to debug it.  RIP Exit Portal. I still believe in diagetic UI.

At this point the player could start the game, enter the world, see photos from the AI photographer, take photos, have them scored, then leave the game.  I exported a copy and uploaded it to itch.io, just so I’d have a working version to fall back on.  I still wanted to add features.

The inspiration for this entire Black Rock City generator was a camp name generator written in Tracery. Since Unity supports JavaScript, I tried just putting the Tracery files in my Unity project, but there were some errors.  Fortunately, Max Kreminski had ported Tracery to C# specifically for use in Unity. (TracerySharp on github) Once I could generate camp names in Unity, I assigned each city block a name.  When the user “looked” at a camp (when a ray from the center of the screen intersected the block’s collider) the name would appear on screen.

This added a lot of character to the city.  Just running from camp to camp, reading the amusing names was fun.  This technique was easily extended to the street signs as well, so the player could actually read the street signs by looking at the them, which really makes the city feel like a real place.

My mind raced.  Photos from the AI photographer could be annotated with hints, like, “Found this cool art piece on Echidna street”, “took this picture while chilling at the Undetectable Capitalism Dome”, “some guy told me this thing is called Normie Zone”  Before I started that sub-project, I wanted to be sure that looking at things still worked when two cameras shared the same viewport.  it seemed to work as expected in the editor, but I built an EXE to be sure.  IT worked differently in the EXE.  I built to WebGL, since most people would play it in the browser on itch.io, and it worked a third way!  I did not have time to debug that and add all those new features, so stopped there.

The first version that I uploaded to itch.io would be the final version.  Rushing and stressing were against the spirit of PROCJAM, so I practiced the  skill of knowing when to leave well enough alone.  After I made peace with ending in a stable state instead of working up to the deadline, 7DFPS extended the deadline! Self-control was required to avoid diving in once more.

Play Photo Copy in your browser!

PROCJAM / 7DFPS 2018: Day 6

PROCJAM, 7DFPS

Day 1, Day 2, Day 3, Day 4, Day 5

I’m approaching the end, so I need to wrap things up.  Here are some relatively quick fixes.

Pressing Escape will exit the game, but there’s also a diagetic exit at the end of the 6:00 road.

Also visible in that image is the trash fence. Burning Man is surrrounded by a pentagonal fence meant to catch anything form the city that blows away in the desert wind.  I added a circular fence to keep players from wandering off the edge of the world. The real fence has a square lattice pattern, but I made the width of the fence segments adjustable and I didn’t want to deal with the texture stretching, so my fence has only horizontal bands.

One of the last things I added to my Burning Man simulation was the Man himself.  He’s another low-poly mesh built in Milkshape, although the base is generated with the same Lathe that creates the Temple.

Camp structures will now fill long blocks.  I just re-run the structure placement algorithm with several starting locations along the long axis of the camp.

There are some weird things visible in the above image that aren’t normal camp structures.  Those are landmarks! Yes, I’ve finally added some landmarks to a game ostensibly about photographing landmarks.  There’s a two level-generator that lays out several paths, then puts objects along those paths. It can create.

Balloons (1 thin, irregular path with a large sphere at the end)

Towers ( a line of vertical lines)

Abstract art (irregular paths of irregular shapes)

An unfortunate side effect of these wonderful new landmarks: the AI Photographer doesn’t know how to look at them.  The Burning Man sim has overtaken the photography sim so much that the original goal of the project no longer works.  Whoops!  There’s still a bit of time to re-write the photographer, though.

PROCJAM / 7DFPS 2018, Day 5

PROCJAM, 7DFPS

Day 1, Day 2, Day 3, Day 4

Unity uses two programming languages:  C# and JavaScript.  I use C# because I like strongly-typed languages.  I want to see as many mistakes at compile-time as possible. But Tracery (which I used to generate Burning Man Camp names) is written in JavaScript. Can I just copy the files in to my project’s directory structure? No! Unity finds several errors in files that work just fine in a web browser.  Searching online reveals two people that ported Tracery to C# specifically for use in Unity.  Both authors caution that these ports are completely unsupported, but that’s good enough for me.  I assign a name to each city block, but displaying that name to the user requires learning how to use Unity’s UI features.  I don’t want to deal with that hassle, so I switch tasks!

The Temple was a giant blank cylinder, and the Man was standing on a similarly boring box. I create a Lathe algorithm to replace both.  The Lathe draws some line segments from bottom to top, then rotates that outline around the Y-axis, kinda like a vase.  This is quite-low-level compared to most of what I’ve built.  I’m not using built-in primitives or importing meshes I built in a 3D editor.  I’m creating the object one piece at a time while the game is running. Not only do I have to write nested loops to place each vertex, I have to remember what order I created them, because the triangles are one giant list of references to the one giant list of vertices.  Speed is important at this level, so I don’t get the luxury of a big tree structure of objects. After writing some triangles backwards, and forgetting a few numbers, I get a shape!

What is this? The light acts like it’s completely flat!  I had missed two things.

  1. Unity stores only one normal per vertex, so if two triangles share a vertex, Unity will smooth the join between those triangles.  I want the angular, low-poly look, so I don’t want any triangles to share vertexes.  A quick sketch shows that each vertex borders six triangles, so I have to edit my vertex generation loop so it creates six times as many verticex!  Now the triangle creation loop needs to use each of those vertices exactly once.  Yikes!
  2. The second step is to call the RecalculateNormals() function.  Much easier!

So much better!  You’ll notice that this temple is spikier than a vase.  That’s “star mode.”  I bring a piece of code over from my bodypaint generator that reduces  the radius of every other vertical row of vertices.

After finishing this project, I am ready to tackle some UI work. People won’t enjoy even the coolest game if they don’t know how to play, so I need to explain myself.  I add a title screen with a list of controls and a bit of story.  This is a game about copying photo.s. The original code name was “Art Fraud” But now i’m having second thoughts.  Taking photos in a magical, beautiful place seems so joyful and positive. Do I really want to flavor it as theft and subterfuge? As a compromise, I let the user select Light or Dark stories. There’s no mechanical difference, but the little paragraph re-contextualizes why one has these photos, and why one wants to re-create them.

PROCJAM / 7DFPS 2018: Day 4

PROCJAM, 7DFPS

Day 1, Day 2, Day 3

Building Burning Man is really fun, so I neglected the photography part of the game to generate even more types of things.  I happen to have an extensive list of galleries of photos from Burning Man, so I perused a few of them to see what types of tents and vehicles people used in their camps.  It turns out that’s the least interesting part of Burning Man.  Most people photograph the huge installations, the mutant vehicles, or their friends, not the tent they sleep in 3 hours a day.

I made a few tents, a small cargo truck, a “fifth wheel” trailer, and a school bus to put in camps, as well as a street sign for intersections.  I had to look up dimensions, because I want these objects be the proper size in the world.  I still create 3D models in Milkshape, a program I got almost 20 years ago to do Half-Life 1 mods.  This encourages a low-poly, flat-shaded styles, since I don’t have the skills or the tools to make fancier objects.

Now that I have these objects, how do I place them into the city blocks I have defined?  I have an algorithm for packing rectangles into a 2D space from last year’s PROCJAM entry: Spaceship Wrecker!

The constraints are different.  Instead of packing a per-determined list of parts into an unbounded space, I want to fill a bounded space with whatever will fit. I also had to pad the dimensions of these vehicles and structures, since people need space to walk between them.  I pick an object at random, and if I have to push it out of bounds to avoid colliding with objects that have already been placed, I discard that object and count a failure.  After a certain number of failures, I figure the camp is full and move on.  Since the algorithm pushes objects in all directions equally, it works well for squarish camps, but not for the very long camps at the far rim of the city.

This algorithm still needs improvement.  I could try something more like Tetris, where I try to fill things up from one end to the other, or I could just use the current algorithm at multiple points along the long campsite.  With relatively cheap, simple algorithms, and especially with the time constraints of a game jam, finding the most efficient solution may not be worth the trouble.

To make camps look unified, structures in a camp will have similar colors.  How similar? That varies by camp. The camp in the foreground above has blue, green, cyan, even purple, but the ones behind it are all green or all magenta.

So I planned to generate photos, and what am I generating?

  • Width, number, & spacing of radial & concentric roads
  • location & size of landmarks
  • Structure type, structure position, structure color, and range of structure color.in camps
  • Also photos, I guess

PROCJAM 2018: Photo Copy, Day 3

PROCJAM, 7DFPS

Day 1, Day 2

Now that the game could display photos and the player could move around to recreate them, I wanted something to photograph.  The weird snowy test map with its bright primitive shapes wasn’t doing it for me.  But what landscape could I create that would have cool landmarks and not be too hard to navigate.  Well, remember the toy I made back on day 1 that had no relation to this project?

Burning Man is a geometric city on a flat plain.  It can’t be too hard to generate radial and concentric streets, right?  Man in the middle, temple in the gap where the roads don’t touch. Simple, right?

Yeah, it’s pretty simple.  I’m approximating the concentric roads with straight segments between the radial roads, which mostly works.  After defining the roads, I defined “blocks”, spaces between roads where structures could go.  Most would be basic tents & shelters, but a few would be landmarks.

A mistake in the code that rotates the blocks into place created something that looked like the solar collectors from Blade Runner 2049.  While cool, that’s the wrong sci-fi alternate universe.

The block in the center will eventually be the giant “Man” statue, and the large cylinder will be the “temple”

These temporary assets are already more interesting than the old landscape.  The shape of the city creates pleasing leading lines.  I did increase the height of the player character and the AI photographer to 6 meters so they can see over the camps, but are still shorter than the landmarks.  Maybe they are piloting quadcopters. If so, I’ll have to remove the footstep sounds that came with the FPS controller.

PROCJAM / 7DFPS 2018: Photo Copy, Day 2

PROCJAM, 7DFPS

Day 1

Today I worked on mostly the non-procedural parts of the game.  Of course the procedural generation is the reason I’m doing the jam, but I have to build a game around it so that other people can actually find and experience what I generate.

Updates to the AI photographer were minor.  Instead of placing the camera completely anywhere on the terrain, I picked a distance from my selected landmark based on that landmark’s size.  Distance and a random angle gave me X & Z coordinates, and I ray-casted downwards to place the AI Photographer on the terrain.  That ensured the player could reach the same position.

Setting up the camera views were trickier.  Unity can send a camera’s output to something called a RenderTexture instead of the screen. I thought I’d make a few of these RenderTextures, get the AI photographer to render photos to them, then display them on the UI.  But I couldn’t figure out how to do that, despite clicking around in the Editor and the documentation for a while.

Instead I decided to have two cameras render to the same screen.  On the left, the player’s view, controllable with standard FPS controls.  On the right, the AI photographer’s view.  There’s a key to hide the AI photographer’s view and fill the screen with the normal FPS view.  There’s a nice transition where the FPS view shrinks and the AI photographer’s view slides in from the edge of the screen.  In photo comparison mode, both viewports are square, regardless of the window the game is running in.  Again, the player needs to be able to recreate the AI photographer’s photos perfectly, so the two views need to be identical.

With the cameras sorted, I was able to play the game!  Even in its simple form, with temporary assets and no scoring system, I found it very satisfying to match up every little thing in the photo.  I’m probably biased, since I really enjoy composing photographs with physical cameras, but it’s a good sign that this game is going to work.