Let’s Make a Tavern: Getting the Most Out of Your Prompts
An exercise in prompt engineering and tweaking
Why a tavern?
“You all meet in a tavern” is so cliché that even calling out the cliché is a cliché unto itself. Yet, eventually, your PCs will want to find themselves in some kind of social place they can overhear gossip, get jobs, rent rooms, and maybe start a bar brawl or just get drunk as an excuse to engage in Mischief and Shenanigans with no need for justification beyond “beer”.
So let’s have ChatGPT whip us up a tavern. This is going to be, more or less, stream-of-consciousness post, starting from a fairly simple, intuitive prompt and adding details to fix issues. Normally I’ll skip over a lot of this and just show you what I’ve figured out, especially as I start with more intricate uses and abuses of AI, but it’s worth seeing how this all works. With AI, don’t be afraid to demand better. Get something good? If you’ve got the time, see if you can make it great.
As an aside note: ChatGPT is pretty good at “make adjustment X to what you just gave me” in follow up requests. You can certainly just take every issue you see in a given response and tweak and adjust it in quick follow-ups.
That’s not what I’m going to be doing here, though. It’s not a matter of if, but when, OpenAI starts making some money off of their hard work with ChatGPT. So every prompt you send them will cost you something. A few cents, perhaps, or those Free Monthly Tokens, or maybe just time as you and your fellow non-paying plebians are sent to the back of the line. So the more you can get per prompt, the better. And that’s what we’re looking at: how do you get it right the first time?
The Tourist Brochure
First, we need something unique about this place. For now, let’s go with the owner. D&D nerds, in my experience, like cats. So let’s say she’s some kind of charming old cat lady? Give the druid a conversation partner?
Generate me a description for a fantasy tavern in a bustling city. The tavern is owned by Annabelle, a kindly if somewhat scatter-brained old woman, and hosts the numerous docile, friendly cats she has rescued from the street.
"The Cat's Meow Tavern" is a cozy and welcoming establishment nestled in the heart of a bustling city. The tavern is owned by Annabelle, a kindly and warm-hearted old woman who has rescued numerous friendly cats from the streets. The cats can be found lounging in every corner of the tavern, adding to its charming and homely atmosphere. Patrons can enjoy a wide variety of delicious food and drinks while being entertained by the playful antics of the cats. The tavern also has a lively atmosphere with a mix of locals and travelers. With Annabelle's friendly service and the cats' calming presence, "The Cat's Meow Tavern" is the perfect spot for a relaxing evening out.
Sounds a bit like ad copy or a tourist brochure, doesn’t it? Worth using if ad-libbing on the fly isn’t your thing, but let’s try for more.
What do I see?
Okay, let’s be a bit more specific about what we’re looking for here:
Generate me a description for a fantasy tavern in a bustling city. The tavern is owned by Annabelle, a kindly if somewhat scatter-brained old woman, and hosts the numerous docile, friendly cats she has rescued from the street. Describe the tavern from the perspective of a stranger entering it for the first time.
As you enter the tavern, the first thing you notice is the overwhelming smell of freshly baked bread and herbs. The sound of clinking glasses and lively chatter fills the air, and you can't help but feel a sense of warmth and comfort wash over you. As you take a seat at the bar, you are greeted by Annabelle, the owner of the tavern. She is a kindly, if somewhat scatter-brained old woman, with a smile that lights up the room. She greets you warmly and offers you a menu, which is filled with delicious and hearty meals, all made with fresh ingredients.
As you glance around the tavern, you notice that it is filled with friendly cats. They are docile creatures, and they seem to be just as much a part of the tavern as the patrons. They lay around the tavern, some napping, some playing with each other. You can't help but smile as one of the cats comes to sit by your feet, purring contentedly.
The tavern is decorated with rustic wooden beams and warm, cozy lighting. The walls are adorned with paintings and tapestries that depict scenes of adventure and fantasy. The tavern has a rustic, homey feel that makes it feel like you're in the heart of a bustling city.
As you take a sip of your drink, you can't help but feel like you've found a little piece of paradise in the middle of the city. The tavern is a place where you can relax, enjoy a delicious meal, and make new friends, all while surrounded by the warmth and comfort of Annabelle's rescue cats.
There’s some obvious issues here. First, we’ll highlight something that, in my experimentation, has been a recurring issue:
[Annabelle] is a kindly, if somewhat scatter-brained old woman, with a smile that lights up the room.
You know that old writer’s saw? “Show, don’t tell?” ChatGPT sometimes struggles with this. If you ask it to include element [X], it will just stuff “[X]” in the description somewhere.
Second, we’ve got:
The tavern has a rustic, homey feel that makes it feel like you're in the heart of a bustling city.
Those would seem to be mutually exclusive. Seems to be missing a “not”, perhaps? It also assumes the player’s actions, which isn’t ideal.
We’ve still got something workable here. If you’re planning a session and have time, you can just edit this thing manually and have a nice bit of block text to read. However, like any good programmer, I work hard to be as lazy as possible. What we want is a way to make it as good as possible on the first shot. So let’s keep working on it.
Generate me a description for a fantasy tavern in a bustling city. The tavern is owned by Annabelle, a kindly if somewhat scatter-brained old woman, and hosts the numerous docile, friendly cats she has rescued from the street. Describe the tavern from the perspective of a stranger entering it for the first time. Show, don't tell; emphasize the sights, sounds, and smells.
As you push open the heavy wooden door of the tavern, the first thing that hits you is the warm, welcoming scent of freshly baked bread and roasting meats. The air inside is thick with the murmur of voices and the clink of glasses, and the soft purring of cats can be heard from all around.
The tavern is dimly lit, with flickering candles casting a warm glow over the wooden tables and benches that fill the room. The walls are adorned with colorful tapestries and paintings, and the floor is made of rough-hewn flagstones.
As you make your way to an empty table, you can't help but notice the numerous cats that call this tavern home. They lounge on the tables and benches, or curl up in the laps of the patrons. The cats are docile and friendly, and many of the tavern-goers can be seen petting and scratching them as they enjoy their meals.
The tavern's owner, Annabelle, is a kindly if somewhat scatter-brained old woman who bustles about the room, making sure that everyone is well taken care of. She greets you with a warm smile and a friendly welcome, and quickly takes your order for a tankard of ale and a plate of stew.
As you sit and enjoy your meal, you can't help but feel at ease in this cozy tavern. The warm fire in the hearth, the friendly conversation and the purring cats all around, make you feel right at home.
Better, but the same issues apply. Let’s see… we should probably sparse things out, and be cleared what we want showed. Maybe also try and handle the repeat-the-prompt thing, yeah? So, with a fair bit more engineering:
Generate a description for a fantasy tavern in a bustling city. The tavern is owned by a kindly yet scatter-brained old woman, and hosts the numerous docile, friendly cats she has rescued from the street. Describe the tavern in second-person, from the perspective of a stranger entering it for the first time. Show, don't tell. Emphasize the sights, sounds, and smells, and avoid repeating any turns of phrase in the prompt. Save the description of the owner for last, and introduce her with her appearance and actions.
As you enter the tavern, the first thing you notice is the warm, inviting atmosphere. The room is dimly lit by candles on the tables, and the air is filled with the sound of lively chatter and the clinking of glasses. The floorboards creak underfoot, and you can see that the tavern has been well-worn over the years. The smell of roasting meats and freshly baked bread wafts through the air, making your mouth water. The tables are full of patrons, some chatting with friends, others deep in their own thoughts. As you make your way to the bar, you notice several cats lounging about the room. They're docile and friendly, and seem to be just as much a part of the tavern as the patrons. As you take a seat at the bar, an old woman with wild white hair appears from the back room. She greets you with a warm smile, and you can see that she's the owner of the tavern. She's kind and scatter-brained, always forgetting things but her rescue cats always remind her. She's often seen giving them treats and petting them as they curl up on her lap while she works. You realize that this tavern is more than just a place to grab a drink - it's a home away from home for both the patrons and the cats.
Now, I find myself wondering how an old lady’s rescue cats will remind her of things. In real life, I would file it under “absurd”… but you know what? This is what I mean when I say AI’s weaknesses don’t matter so much when using them as a DMing aid. In a fantasy setting, it’s not “impossible”, just quirky.
Being Specific Helps
Let’s divvy up our request, feature by feature:
Generate a description for a fantasy tavern in a bustling city. Describe the tavern in second-person, from the perspective of a stranger entering it for the first time. Include the following features:
The tavern is owned by a kindly old woman. She is slight scatter-brained, but show, don't tell, this.
The numerous docile, friendly cats she has rescued from the streets also live here. Describe their demeanors and actions.
Emphasize the sights, sounds, and smells. Save the description of the owner for last, and introduce her with her appearance and actions.
As you enter the bustling city, the aroma of freshly baked bread and roasting meats wafts through the air. Following your nose, you come upon a quaint little tavern nestled between two towering buildings. The warm glow of lanterns beckons you inside, where you find yourself surrounded by the sights and sounds of a lively establishment.
The tavern is bustling with activity, patrons chattering and laughing over their meals and drinks. The wooden tables and chairs are well-worn, but well-cared for, and the floors are swept clean. The fire in the hearth crackles and pops, adding to the cozy ambiance.
As you make your way to an empty table, you notice the numerous cats that call this tavern home. They lounge lazily on the tables and chairs, or rub against the legs of the patrons, purring contentedly. Each one is a rescue from the streets, and it's clear that they have found a loving home here. They are friendly and docile, and their presence adds to the warm and welcoming atmosphere of the tavern.
As you take your seat, a kindly old woman approaches you. She greets you with a warm smile and asks what you would like to order. You can't help but notice that she seems a bit scatter-brained, as she fusses over the menu and forgets what you've ordered, but her warm and friendly demeanor more than makes up for it. As you enjoy your meal, you realize that the tavern is not only a great place to eat and drink, but it's also a sanctuary for those animals that have been forgotten on the street, and the kindly old woman is their savior.
Almost there! Expanding on my previous post, the AI will riff on whatever you give it. So give it plenty to riff on. Be clear about your expectations, and it will work to fulfill them. I discuss AI and its limitations a lot, but it has one nice trait: if you ask it for something, it’ll give it a good shot. So ask. Ask in detail. Think about what you need and expect. If something you would expect to see isn’t in the output, don’t be afraid to re-write the prompt to ask for it explicitly.
Now, the only thing that bugs me is that there’s no evidence these are rescue cats. So let’s, once again, make sure the AI knows to show, not tell:
Generate a description for a fantasy tavern in a bustling city. Describe the tavern in second-person, from the perspective of a stranger entering it for the first time. Include the following features:
The tavern is owned by a kindly old woman. She is slight scatter-brained, but show, don't tell, this.
Numerous docile, friendly cats also live here. Describe their demeanor and actions, and include evidence that they are rescue cats whose lives before coming here were rough.
Emphasize the sights, sounds, and smells. Save the description of the owner for last, and introduce her with her appearance and actions.
As you make your way through the bustling city streets, you spot a cozy looking tavern nestled among the tall buildings. The sign above the door reads "The Cat's Meow" in ornate lettering.
As you push open the heavy wooden door and step inside, you're greeted by a warm and inviting atmosphere. The sound of soft chatter and the clinking of glasses fills the air, while the smell of roasting meat and freshly baked bread wafts through the room. The tavern is dimly lit, but the flickering candles on each table provide a cozy glow.
You scan the room and notice the numerous cats lounging about. Some are curled up on the windowsills, while others are lounging on the tables or rubbing against the legs of the patrons. They all seem docile and friendly, but as you take a closer look, you notice the scars and rough patches of fur on their bodies. It is clear that these cats have had a rough life before coming to this tavern.
As you make your way to an empty table, you spot the kindly old woman who owns the tavern. She is petite and her grey hair is tied up in a bun. She is bustling around the tavern, chatting with customers, and refilling glasses. Her eyes sparkle with warmth and her smile is infectious. You can't help but notice that she seems a little scatter-brained as she forgets a customer's order, or mixes up the names of the cats, but it just adds to the charm of the tavern.
As you sit down to enjoy a meal and a pint, you can't help but feel a sense of home and comfort in this cozy tavern, surrounded by friendly cats and the warmth of the owner.
And here we go. I think I could just use this without tweaking. Maybe an editor might have some thoughts and grumbles, but it’s got something our first effort lacked. Everything is shown, not told.
Coda: one shot at a tavern
Let’s put these ideas together for another tavern, on the other side of town. See if we can’t do it right the first time from a blank slate. We’re going to build a tavern, with all the relevant details. This time, a shady one, just right for meeting dangerous folks for dubious jobs.
Generate a description for a fantasy tavern in a dangerous part of town. Describe the tavern in second-person, from the perspective of a stranger entering it for the first time. Include the following features:
The tavern is owned by a retired enforcer for the Halfling Mafia, but show, don't tell, this. He shouldn't be explicitly called out as a mafia member, but aspects of his appearance and demeanor should fit a retired violent criminal with significant wealth.
The tavern is also used by various criminal gangs as a "neutral meeting place", but this isn't something the perspective character immediately knows. Instead, emphasize (in your own words, not repeating the description in the prompt) that the tavern's clientele appears to be mostly people who would be comfortable with violence, but the tavern nonetheless seems peaceful, if a bit tense.
The tavern should begiven an entirely unassuming name.
Emphasize the sights, sounds, and atmosphere.
Save the description of the owner for last, and introduce him with his appearance and actions.
As you enter "The Rusty Tankard" the first thing you notice is the dim lighting and the thick smoke that hangs in the air. The tavern is crowded, but the patrons seem to keep to themselves, with hushed conversations and furtive glances. The clientele appears to be mostly people who would be comfortable with violence, but the tavern nonetheless seems peaceful, if a bit tense.
You make your way to the bar, where the bartenders are pouring drinks with a practiced ease. The sound of glasses clinking and laughter fills the room, but you can't shake the feeling that something just isn't quite right.
As you take a seat at the bar and order a drink, you can't help but notice the various groups of shady looking characters sitting at tables around the room. They all seem to be deep in conversation, but you get the sense that they're not discussing the weather.
Suddenly, your attention is drawn to the owner of the tavern. He's a burly halfling with a thick beard and a scar above his left eye. He's making his way around the room, stopping to chat with various patrons and collect glasses. Despite his rough appearance, there's a sense of authority about him that commands respect. He catches your eye and gives you a small nod before turning his attention back to the room.
As the night wears on, you can't help but feel like you're in the middle of something much bigger than a simple tavern in a dangerous part of town. But for now, you'll just enjoy your drink and take in the sights and sounds of The Rusty Tankard.
Not perfect. Some of that same show-don’t-tell issue we saw before, and that repeating-the-prompt. Yet you can see how much better we are doing as a starting point.
There’s more to be written on efficient prompts, and no one size will fit all. Expect to see plenty more of that on this Substack as it continues to grow and I, and others, continue to experiment and study the possibilities.