How I Ran an Impromptu Game

Most of the RPG sessions I run tend to be impromptu games and since I ran one recently, I thought I might as well write my thought process while it’s fresh in my mind.

The key focus in impromptu games like this one are on the players and how they interact with the world. Plot is merely a medium to push the players into making choices. Not having a solid plan means you really have to think on your feet on what happens next, but it does allow you to organically build the story off the consequences of the players’ actions.

Starting off, that day, most of my players in the campaign couldn’t make it due to scheduling issues and so only one player showed up. Critical plot elements tend to get lost when recounted to players that weren’t present, so I decided for this session I would be a side story.

With the campaign being fairly new the characters were not fully fleshed out yet so a flashback scene that dives into that player’s backstory felt like a good choice. The risk here is the potential for continuity errors. While I could resort to the hand-wavy “that wasn’t 100% what happened” I’d rather only use it if there’s no other choice. Instead, I decided to rewind back to when the player character is 11 years old which means there is that time gap to smooth out any drastic changes between the flashback and the start of the campaign. It also meant that combat isn’t really a thing, greatly reducing the risk.

Reading through that player’s backstory write-up I saw that the player grew up in a shop and so I asked the player what day-to-day life back then was like. This was partly to look for inspiration on what the plot is going to be and partly just to stall for time while I got my bearings.

The player mentioned that standing up to bullies a good part of that character’s childhood. It was at this point I decided this session would be about the player standing between a childhood friend and a childhood bully. By making the core conflict between two NPCs I am pitting that player’s Robin Hood ideals to the test.

I started off by introducing the childhood friend and to tie this to the character, I made that friend a daughter of a merchant that would supply the shop, which gives a good excuse for the friend to hang out in the shop often.

Next up was the nature of the conflict. Maybe the friend is a scrappy young kid at odds with the bully. Maybe the friend is a helpless victim. It could go either ways and I tend to resolve this with my trusty “magic 8 ball” and rolled a percentile dice, the higher the nerdier the friend is. 93 / 100. Well now, I guess the friend is a complete bookworm now.

When describing the character I tried to introduce a story hook by describing how the friend had a bit of dried blood under her nose. I stopped myself there. A bloody nose from a bully? That was such an obvious and common cliche. I had to recover from this somehow.

I had to think quickly and decided to add some nuance to the situation by having the friend explain she wasn’t allowed to take the books out of the library and got caught trying to sneak out of the library with them. She got the bloody nose in her escape. That painted a bit of a harsh picture of the librarian, I guess, but I decided to go with it anyways. I could make the librarian the bully, but that would make it a weird dynamic I wasn’t aiming for. Instead, the librarian would be this harsh and maybe a bit rough but fair character.

To give the actions a certain form of reasoning, I had the friend be very obsessed with books. So much so that the friend felt those books were lonely and did plan on returning the books later. It was a little bit contrived, but I made it so the library was a public library but only residents of the town are allowed to take the books out. It did mean the friend isn’t entirely innocent like I had initially thought but I was okay with that.

Now, to introduce the bully. I had a tough looking bully character enter the shop looking for sports supplies. I know, tying athleticism and bullying together is such a cliche as well. If I ever dive back into the backstory again, I think the focus would be on redeeming the bully character.

But I’m getting ahead of myself here. I had the bully tease the friend and bounced a ball off her head. Nothing serious though. I didn’t want things to escalate too much into a combat. The player responded by getting into a verbal showdown with the bully. Eventually the bully backed off and left the shop. The problem, for now, was solved.

With the bully gone the conversation naturally led back to the book issue. I wanted to put the player through a dilemma. The friend finishes her books and wants to go to the library return the books and get more, but due to some errands the parents had to leave the player in charge of the shop. Would the player let the friend steal more books on her own? Would the player abandon a responsibility the parents left the player? The player chose the latter and locked up the shop and left a note stating the player is off to the library for a bit.

At the library I took the opportunity to throw in a bit of world building by having the player and friend chat a bit about the books the friend read. Once the books were picked out, I had thought of having the player help the friend sneak the books out, which would cater well to the player eventually becoming a rogue in the main game.

To my surprise, the player instead decided to be up front and tried to convince the librarian to allow the friend to borrow the books. I didn’t want it to be too easy though, so I made it so the librarian required some convincing to allow a couple of 11 year olds by their lonesome to take books out. With some lucky skill check dice rolls, they succeeded.

Things were starting to resolve without a hitch. I wanted a little bit of tension towards the end. I wanted to ramp thing up by bringing in one last showdown – reintroducing the bully. Having noticed the note outside the shop, the bully waited by the street between the shop and the library with a muddy ball, hoping to ruin the books.

How would the player handle this? I didn’t really know. Maybe combat is viable here, but the player decided to avoid confrontation and maneuver around into the side alleys. I had the bully follow them. It was getting tense. I had the player do another skill check to lose the bully in the winding alleyways. The player rolled a critical success. Frustrated, the bully gave up and chucked the muddy ball away.

With both of them back at the shop, I wanted to resolve the consequence of the player choosing to close the shop and so I rolled the percentile dice to see how well the player got away with it. 2 / 100. Ooof. I had a small crowd of upset customers waiting outside which eventually led to the player being scolded by the parents for that. To the player though, it was worth it.

World Building Questionnaire

Typically when starting up a new tabletop RPG campaign, my workflow would usually be to create and introduce a setting, explain where the starting off point is, and then do character creation. Once my players had their characters prepared, I would ask them questions such as “Who was your wizardry mentor?” and “What was your character’s hobby as a child?”. While I use this to fish for plot hooks, the biggest reason I do this is to give players prompts to help them sketch out their backstory and personality beyond the character sheets.

From then on I would start formulating a campaign route such that it facilitates character development. Character’s parent’s were killed by goblins? Create a story arc that brings more nuance to the goblins and see where that player goes from there. I really like to see characters develop in personality and morals, and it’s why I’m not a fan of pre-written campaign modules as the main plot is nowhere near as integrated. If you’re the sort that tend to stick to modules, give this a go. It’s great fun.

Anyways, I’m currently starting up a new campaign and I decided to experiment a bit. The very first thing I did was hand the players a questionnaire sheet. It had two paragraphs that explained the bare minimum I could for the premise of the game. Then I dove straight into asking questions. I think it’s risky because at this point the world is a blank canvas with zero thematic consistency – and I just handed the brush temporarily to six players.

But at the same time this allows me to build the world around the player’s backstory rather than the other way around. When it is a world the players had a part in creating, the players create an investment in the world right from the start, rather than asking them to accept it over time.

It does have the risk of the Chekov’s Gun problem whereby players start to think every single detail is significant, and I may have to bring in veto powers as a GM to make sure the world isn’t too wild.

Let’s see how it goes.

TwoSnakes

Preview

I have been working on a game on Godot for a while now but with the slow progress I decided to work on something simpler first, so I implemented Snake last weekend. However to make things a little more fun I made it into a race between two players and after some tweaks made TwoSnakes.

The left side player uses WASD (or ZQSD) while the right side player uses the arrow keys. Space bar starts the game. To win a round the player has to survive with the most food collected. There is no snake-to-snake collision (that’d make the game more like Tron) but the game does speed up as time passes each round.

You can find the source code and releases here on GitHub.

BSPViewer Updated

Screenshot

While I was dusting off my old projects I noticed that one of them – BSPViewer – was not compiling anymore. It was written five years ago and was using Qt4. I decided for prosperity sake to spend the weekend freshening it up by porting it to SFML. I got most of it working and the only issue I had was trying to determine if a texture was meant to be transparent or not. One nice new feature is that it can now load data directly from a Quake 3 installation without unpacking anything, using the PhysicsFS library.

Interestingly, back then the main motivation of this program was that I wanted to develop a game that uses a map format featuring a good map editor. Unfortunately I found out that most of those tools were rather Quake 3 specific and I hadn’t touched it since.

Still, with these changes it should now be a lot less faff to compile and use. Feel free to check it out here: https://github.com/leezh/bspviewer.