Welcome to the second part of a new blog series detailing the Strand Games design and build process. We'll be building an actual game, along with design, source code and illustrations.

If you haven't read part 1, go here.

Design

So, our hero is Roger Bland. He's quit his job and ready to become a pirate. Well, not quite. He's on unpaid leave and he's rather apprehensive about actually being a pirate, although he's attracted to the idea.

In any case, he's gone to the Smugglers' Cove Tavern to do some research and hopefully find a lead.

Smugglers' Cove Tavern

Smugglers' Cove Tavern

The tavern is run by a hard-as-nails landlord name Dirk Crabbly. Mean spirited and nasty. Horrible to talk to and even worse to deal with. Anything to do with money, don't even go there.

Luckily, the day to day running is done by a good natured woman named Cahira. Everyone likes her, perhaps a bit too much. She's friendly and helpful, although she doesn't take any nonsense. Cahira is more than capable of beating up drunks and rolling them out. Which she does often with aplomb. Throwing their garbage out the window into the mud after them.

To tell the truth, rogers a bit wary of her, but in a good way.

Oh, but that will have to change for his new pirate life. Now, he'll be chugging back quarts of ale, swigging whisky straight from the bottle, partying like the worst of them, beer talking, and getting totally legless every night. The trouble is, he knows he's a one pot screamer; half a cider and he's already shit-posting. He'll have to work on that one!

Cahira

Cahira

Here, we're going to design our character. Cahira manages the day to day running of the tavern, except there will be lot more to her than that. We want her to be an important plot character. She has a backstory and role in the overall plot.

We design the character; what she's like, her story, her motivations and how she fits into the story.

Character Profile

who: I am the daughter of Irish settlers who came here over 30 years ago. Strange though it may seem, I had a strict upbringing, but I rebelled in my teens and ran away.

I ended up joining a cult which believed in Karma and living off the land. They also taught me how to fight. This was necessary for survival. I knew hunting and killing enemies. The cult had a great philosophy which basically boiled down to; kill or be killed.

aims: Why do I work here? I often ask myself the same question. It pays buttons, but it's a job. I get to beguile people, twist them around my finger, then beat them up later! That's definitely a perk.

But it's all temporary, once I've saved enough coins, I'm leaving. I've got greater ambitions. I will voyage to Kerovnia and start my own cult. Either that or open a pet shop. It's one or the other.

wants: Can Roger help? Sure! Get people to buy expensive drinks, I might get a bonus, even tips perhaps. In exchange, I'll help you get information. I know everyone in town, they all drink here. However, I won't do anything unsavoury, but if you can somehow get cheap passage to Kerovnia, I'm definitely interested.

Dialogue

Cahira tells Roger about the regulars that frequent the tavern. They could be pirates, scammers or just random drunks. She doesn't care. She does her job and when she's saved enough money she plans to move on.

Roger wants to meet these people and find out if they are pirates or know any pirates. They'll all happily tell Roger their stories providing he ply them with free booze.

Roger asks Cahira about these people and to introduce him. Cahira, advises roger, these guys are all losers and he's wasting his time and money.

Roger asks about the tavern regulars. Each time he asks, we describe another person:

Cahira Portrait

  • Pirate Pete

    "He's known as that, but I don't think he's a real pirate. He's been seen working the tugboats along the river. He's a regular in the tavern, so it's hardly likely that he's sailing the Seven Seas, broadsiding ships on a daily basis. I mean, really?"

  • Babyface Jim

    "I'm not sure about this one. A suspicious and enigmatic character. Even I can't suss his game. He has a pretty-boy face, like he's just left school, hence the nickname. Despite this derogatory moniker, no one, and I mean no one, ever gives Jim any lip. Even Dirk the landlord is polite to him. I don't know why."

  • Senile Old Tom

    "Well, that's what they call him. He sits in the corner for hours, drinking slowly. He's in here almost every day. He doesn't say much, and rarely gets into a conversation. He walks slowly and never causes any trouble. Well, not that I've ever seen. He staggers out at closing time on his own steam. Where he goes, who knows? And whether he's a pirate or was once a pirate, who knows? Probably just a down and out, drunken old codger. That's my take."

  • Rinkworth

    "A dapper dressed, young fellow that likes to tell tall stories, a bit of a comedian and always trying it on with the ladies. He once tried it on with me and I chinned him. Not my type. But he's polite and jovial, and one of those guys that can crack a joke right off the cuff. He makes people laugh, but if he's a pirate, I'll eat my hat. That's if I had one."

  • Biscuit

    "A quiet fellow, but talkative once you get to know him. He's mostly interested in tediously boring subjects, like vacuum suction plungers, spanners and calibration. He's considered, a bit slow, and no one really takes him seriously. The local joke is, he's one short of a packet. Perhaps he's hiding something, but personally, I doubt it."

Code

Now we code it up. First expand map.str, adding the description of the tavern, giving it an expanded intro text.

TAVERN@ INSIDE
* name
the Smugger's cove tavern
* label
the Smuggler's Cove Tavern
* x it
XTAVERN XTAVERNCAH
*=+ go home
GOHOME

XTAVERN<
* XTAVERN1 XTAVERN2
* XTAVERN1

XTAVERN1
Roger's in the tavern. One of those timeless places that probably hasn't changed for hundreds of years. The people probably haven't changed either.

XTAVERN2
The tavern is run by a hard-as-nails landlord name Dirk Crabbly. Mean spirited and nasty. Horrible to talk to and even worse to deal with. Anything to do with money, don't even go there.

Luckily, the day to day running is done by a good natured woman named Cahira. Everyone likes her, perhaps a bit too much. She's friendly and helpful, although she doesn't take any nonsense. Cahira is more than capable of beating up drunks and rolling them out. Which she does often with aplomb. Throwing their garbage out the window into the mud after them.

To tell the truth, rogers a bit wary of her, but in a good way.

GOTAVERN
> put player in tavern
\
Roger makes his way to the Smuggler's Cove Tavern, perhaps this is the start of his new pirate life.
XHERE

STREET@ OUTSIDE
* name
the Street
* x it
Roger's outside in the street.
*=+ go home
GOHOME
*=+ go to TAVERN
GOTAVERN

GOSTREET0
> put player in street
XHERE

HOME@ INSIDE
* name
Roger's house
* name
home
* name
Roger's house
* x it
Roger's at the squalid residence he calls home.
*=+ go to TAVERN
GOTAVERN

GOHOME
Roger goes home.
> put roger in HOME
XHERE

Then we add the code for the character. First the object itself:

CAHIRA@ WOMAN CAHASKABOUT
> put her in TAVERN
* name
Cahira
* name
barmaid
* name
bar maid
* x her
An attractive, but wiley woman. The sort Roger doesn't want to double cross.
*=+ talk to her
CAHTALK
*?!CAHREGASK ask her about REGULARS
"They're all just a bunch of losers."

Her activities and location description add on:

CAHDO
* cleaning the bar
* washing the glasses
* collecting the empties

XTAVERNCAH
\n[Cahira] is here CAHDO.

Then some relevant objects:

LL@ MAN
* name
Dirk
* name
the landlord
* name
Dirk Crabbley
* x it
He's not here.

REGULARS@ PERSON
> put it in TAVERN
* name
the regulars
* name
people
* x it
The saltiest bunch of ne're do wells Roger's ever seen.

Then her ask-abouts, which we make a CHARIHA base class:

CAHASKABOUT@
*-+?CAHREGASK ask CAHIRA about REGULARS
CAHREGULARS
*- ask CAHIRA about LL
"He's the pub landlord and my boss. You know what bosses are like." Roger knows all too well.

And finally, her dialogue. This starts with an introduction,

CAHINIT<
CFHAPPY
\n
* "Good day, my name is Cahira. Who are you?" CAHWHO
* CAHINIT2

CAHINIT2=
*?ROGLEMONOUT "You again."
*?ROGLEMON "Hello Roger, more lemonade?"
*?ROGDRUNK "Roger, go easy on the beers this time."
* "Hello Roger."

CAHWHO?
* My name's Roger
"Pleased to meet you Roger."
* I'm Jolly Roger
"Yeah, right!"
* They call me Roger the Pirate!
CFANGRY
"Oh, get lost CAHINSULT!"

Then there's her backstory and replies about the "regulars":

CAHBG1?
*- Where are you from originally?
CAHFROM
*- Why do you work here?
CAHWORK
*-?CAHWORK Can I help?
CAHHELP

CAHFROM
"I am the daughter of Irish settlers who came here over 30 years ago. Strange though it may seem, I had a strict upbringing, but I rebelled in my teens and ran away.

I ended up joining a cult which believed in Karma and living off the land. They also taught me how to fight. This was necessary for survival. I knew hunting and killing enemies. The cult had a great philosophy which basically boiled down to; kill or be killed."

CAHWORK
"I often ask myself the same question. It pays buttons, but it's a job. I get to beguile people, twist them around my finger, then beat them up later! That's definitely a perk.

But it's all temporary, once I've saved enough coins, I'm leaving. I've got greater ambitions. I will voyage to Kerovnia and start my own cult. Either that or open a pet shop. It's one or the other."

CAHHELP
"Sure! Get people to buy expensive drinks, I'll get a bonus, perhaps even tips. In exchange, I'll help you get information. I know everyone in town, they all drink here. However, I won't do anything unsavoury, but if you can somehow get cheap passage to Kerovnia, I'm definitely interested." CAHREGASK

CAHREGASK

CAHREG1
* Well, there's
* Let me see, there's
* There's a guy called
* One guy's called

CAHREGULARS<
* "CAHREG1 _Pirate Pete_.
He's known as that, but I don't think he's a _real_ pirate. He's been seen working the tugboats along the river. He's a regular in the tavern, so it's hardly likely that he's sailing the Seven Seas, broadsiding ships on a daily basis. I mean, really?"
* "CAHREG1 _Babyface Jim_.
I'm not sure about this one. A suspicious and enigmatic character. Even I can't suss his game. He has a pretty-boy face, like he's just left school, hence the nickname. Despite this derogatory moniker, no one, and I mean _no one_, ever gives Jim any lip. Even Dirk the landlord is polite to him. I don't know why."
* "CAHREG1 _Senile Old Tom_.
Well, that's what they call him. He sits in the corner for hours, drinking slowly. He's in here almost every day. He doesn't say much, and rarely gets into a conversation. He walks slowly and never causes any trouble. Well, not that I've ever seen. He staggers out at closing time on his own steam. Where he goes, who knows? And whether he's a pirate or was once a pirate, who knows? Probably just a down and out, drunken old codger. That's my take."
* "CAHREG1 _Rinkworth_.
A dapper dressed, young fellow that likes to tell tall stories, a bit of a comedian and always trying it on with the ladies. He once tried it on with me and I chinned him. Not my type. But he's polite and jovial, and one of those guys that can crack a joke right off the cuff. He makes people laugh, but if he's a pirate, I'll eat my hat. That's if I had one."
* "CAHREG1 _Biscuit_. A quiet fellow, but talkative once you get to know him. He's mostly interested in tediously boring subjects, like vacuum suction plungers, spanners and calibration. He's considered, a bit _slow_, and no one really takes him seriously. The local joke is, he's _one short of a packet_. Perhaps he's hiding something, but personally, I doubt it." CAHREGASK#

To complete the dialogue, these are all tied together in her dialog loop. This loop inherits from the backstory, CAHBG1, as well as her ask-abouts meaning these asks can be queried manually theough the parser by ask Cahira about regulars or through the choice prompts.

CAHTALK
CAHINIT
CAHTALK1

CAHTALK1? CAHBG1 CAHASKABOUT
*?!ROGLEMON I'd like a tankard of the strongest ale you have
CAHBEER
*?!ROGLEMON  What ale do you have that's not so strong?
CAHBEER3
*+?!ROGLEMONOUT Can I get a lemonade?
ROGLEMON
*+! Done
MAIN

   CAHTALK1

To wrap up, there are some main dialogue actions where Roger can buy a beer or a lemonade.

CAHBEER
"Well, we have Olde Stomper or Moosebolter"
CAHBEER1 CAHBEER2

CAHBEER1?
* give me the Stomper
* I'll take the Moosebolter

CAHBEER2
Cahira pulls Roger a draft of, what looks like, total bilge. Roger, hoping to look like a real pirate, swigs it back hoping to avoid the foul taste.
ROGDRUNK

CAHBEER3
"We have the brown ale, it's very popular."
CAHBEER4

CAHBEER4?
* I'll have that then
"Sure!"
\nCahira pulls Roger a draft of brown bilge. Putting on his best pirate pose, Roger necks the brown ale, hoping to look tough." ROGDRUNK
* No thanks.
"I don't blame you, it's total bilge."

ROGLEMON<
* Cahira looks at Roger, "A lemonade.. Right!" ROGLEMON1 ROGLEMON2
* "Another lemonade." ROGLEMON2
* "OK, Another lemonade!" ROGLEMON2
* "Sure! _Another_ lemonade." ROGLEMON2
* ROGLEMONOUT

ROGLEMONOUT
CFANGRY
Cahira gets annoyed, "Roger, I've had it with your lemonades already!" She grabs Roger and, quite roughly, pushes him out the door. 
\n"Get out CAHINSULT!"
GOSTREET0
MAIN

ROGLEMON1?
* I've had a long day
* My parrot's ill
* Whatever

ROGLEMON2
Cahira fetches Roger a lemonade. Roger sits down to observe the occupants of this, rather strange, establishment.
MAIN

ROGDRUNK
\
Suddenly everything is spinning. Roger loses his sense of awareness as well as his common sense (not that he ever had any). Everything goes black.
Some time later Roger regains consciousness. He's outside on the stone floor.
GOSTREET0
MAIN

Play it

Want to try the game so far? Download the ZIP for Windows. unpack it and run goweb.bat

Or, play the web version here.

Next Episode

In part 3, Roger meets Pirate Pete. Is he a pirate? Was he a pirate? Does he even know any pirates?

Or is he just a low-down drunken bum?

Find out next time.

Pirate Pete

Next Post Previous Post