Create the bar scene

This commit is contained in:
Howard Abrams 2025-05-15 08:30:29 -07:00
parent 3cfbb6ae7e
commit 0bac9df77d
2 changed files with 271 additions and 39 deletions

View file

@ -207,9 +207,9 @@ a { text-decoration-style: dotted }
</head> </head>
<body> <body>
<div id="content" class="content"> <div id="content" class="content">
<div id="outline-container-org5b02df7" class="outline-2"> <div id="outline-container-org41c2d92" class="outline-2">
<h2 id="org5b02df7">An Invitation to My New Game</h2> <h2 id="org41c2d92">An Invitation to My New Game</h2>
<div class="outline-text-2" id="text-org5b02df7"> <div class="outline-text-2" id="text-org41c2d92">
<blockquote> <blockquote>
<p> <p>
“Great party, Shane,” you say as you grab your coat, “by the way, how did you meet the little person, and while we talked for some time, I cant remember his name.” “Great party, Shane,” you say as you grab your coat, “by the way, how did you meet the little person, and while we talked for some time, I cant remember his name.”
@ -237,11 +237,15 @@ Keep in mind that my idea is <i>different</i>.
</p> </p>
<p> <p>
You wont know anyones name (necessarily) and with the online interface Ive made, you wont even know which player is playing which character, and in fact, until a player actually introduces themselves, you may only know them as “blond-braided elf”. The goal (at least, at the beginning), is just to <i>role play</i>. My interface is sort of like two chat channels: one for the players and one for the characters. The <i>goal</i> (at least, at the beginning) of this game is “just role play”, or maybe I should say, “not funny improv”? I mean, you make your character <i>interesting</i> and <i>entertaining</i> to everyone and do a “yes, and” to the characters other players puppet.
Perhaps think of it as an extended Session Zero. After a bit (if we find it fun), I will start to add exploration, puzzles, and maybe combat.
</p>
<p>
You wont know any characters name (necessarily) and with the online interface Ive made, you wont even know which player is playing which character, and in fact, until a player actually introduces themselves, you may only know them as “blond-braided elf”. My interface is sort of like two chat channels: one for the players and one for the characters.
</p> </p>
<p> <p>
Think of it as an extended Session Zero. After a bit (if we find it fun), I will start to add exploration, puzzles, and maybe combat.
The game is <i>ultra casual</i>, so you can drop in (and leave) any time you wish. The game is <i>ultra casual</i>, so you can drop in (and leave) any time you wish.
</p> </p>
@ -260,14 +264,14 @@ The interface Ive programmed has an online help system and a tutorial to walk
<p> <p>
First, log in via <a href="https://www.howardabrams.com/cozy">https://www.howardabrams.com/cozy</a> and click the <b>Enter</b> button (if you would rather not use a web browser, you can install any MUD application, and connect to <code>howardabrams.com</code> and port <code>4000</code>). Next, create an account by typing: First, log in via <a href="https://www.howardabrams.com/cozy">https://www.howardabrams.com/cozy</a> and click the <b>Enter</b> button (if you would rather not use a web browser, you can install any MUD application, and connect to <code>howardabrams.com</code> and port <code>4000</code>). Next, create an account by typing:
</p> </p>
<pre class="example" id="org7912d28"> <pre class="example" id="org5bf0a83">
create username password create username password
</pre> </pre>
<p> <p>
And just use your name for the <code>username</code> and swap out a more interesting password. You will then log into the system each time, by typing: And just use your name for the <code>username</code> and swap out a more interesting password. You will then log into the system each time, by typing:
</p> </p>
<pre class="example" id="org3142eee"> <pre class="example" id="org8d5fd84">
connect username password connect username password
</pre> </pre>
@ -288,9 +292,9 @@ Thats it for making a character. To play, you basically type commands. Again,
</p> </p>
</div> </div>
<div id="outline-container-orgb7a257a" class="outline-3"> <div id="outline-container-orgdff94b7" class="outline-3">
<h3 id="orgb7a257a">say</h3> <h3 id="orgdff94b7">say</h3>
<div class="outline-text-3" id="text-orgb7a257a"> <div class="outline-text-3" id="text-orgdff94b7">
<p> <p>
Type <code>say</code> and a phrase to say something so that everyone in the area can hear that. Because we use this command so much, and we want to make the text to read more interesting, it has a number of <i>aliases</i>, including: Type <code>say</code> and a phrase to say something so that everyone in the area can hear that. Because we use this command so much, and we want to make the text to read more interesting, it has a number of <i>aliases</i>, including:
</p> </p>
@ -299,32 +303,32 @@ Type <code>say</code> and a phrase to say something so that everyone in the area
<li><p> <li><p>
<code>ask</code>, so that it may read: <code>ask</code>, so that it may read:
</p> </p>
<pre class="example" id="org95b44ce"> <pre class="example" id="org2012abd">
Beardless dwarf asks, “How are you?” Beardless dwarf asks, “How are you?”
</pre></li> </pre></li>
<li><p> <li><p>
<code>reply</code>, so it may read: <code>reply</code>, so it may read:
</p> </p>
<pre class="example" id="org50ea7c8"> <pre class="example" id="org06e45eb">
Tall, blond elf replies, “Well, and you?” Tall, blond elf replies, “Well, and you?”
</pre></li> </pre></li>
<li><code>respond</code>, <code>yell</code>, and <code>scream</code>, are similar.</li> <li><code>respond</code>, <code>yell</code>, and <code>scream</code>, are similar.</li>
<li><p> <li><p>
<code>"</code> and <code>'</code> are shortcuts allowing you to type: <code>"Greetings</code> to have it read: <code>"</code> and <code>'</code> are shortcuts allowing you to type: <code>"Greetings</code> to have it read:
</p> </p>
<pre class="example" id="orgeb08ec1"> <pre class="example" id="org2774d8a">
Beardless dwarfless says, “Greetings” Beardless dwarfless says, “Greetings”
</pre></li> </pre></li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-org496c73b" class="outline-3"> <div id="outline-container-orgbfccaed" class="outline-3">
<h3 id="org496c73b">whisper</h3> <h3 id="orgbfccaed">whisper</h3>
<div class="outline-text-3" id="text-org496c73b"> <div class="outline-text-3" id="text-orgbfccaed">
<p> <p>
Allows you to say someone to a character that no one else will hear. So typing: Allows you to say someone to a character that no one else will hear. So typing:
</p> </p>
<pre class="example" id="org42c37d0"> <pre class="example" id="org9eabec0">
whisper gnome = Hey there, wake up! whisper gnome = Hey there, wake up!
</pre> </pre>
@ -333,32 +337,32 @@ Will only send the message to the character matching the short description, <i>g
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-orgada1a06" class="outline-3"> <div id="outline-container-org778a2f4" class="outline-3">
<h3 id="orgada1a06">emote</h3> <h3 id="org778a2f4">emote</h3>
<div class="outline-text-3" id="text-orgada1a06"> <div class="outline-text-3" id="text-org778a2f4">
<p> <p>
This command allows you to state anything else, you want. Essentially turning the chat channel into a bit of a novel. For instance: This command allows you to state anything else, you want. Essentially turning the chat channel into a bit of a novel. For instance:
</p> </p>
<pre class="example" id="org3243328"> <pre class="example" id="org8ea7de1">
emote grins emote grins
</pre> </pre>
<p> <p>
Will simply show: Will simply show:
</p> </p>
<pre class="example" id="org169c238"> <pre class="example" id="org91ff10d">
Beardless dwarf grins Beardless dwarf grins
</pre> </pre>
<p> <p>
However, entering: However, entering:
</p> </p>
<pre class="example" id="org9d6e8c1"> <pre class="example" id="org02b3982">
From the corner of the room, /me walks over to /elf. From the corner of the room, /me walks over to /elf.
</pre> </pre>
<p> <p>
Would read: Would read:
</p> </p>
<pre class="example" id="org5dfd0e2"> <pre class="example" id="org56690b3">
From the corner of the room, beardless dwarf walks over to tall, blonde elf. From the corner of the room, beardless dwarf walks over to tall, blonde elf.
</pre> </pre>
@ -371,19 +375,19 @@ Why use the <code>/me</code> and <code>/elf</code>? See the next command…
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-org3d4bce6" class="outline-3"> <div id="outline-container-org3ff2dc8" class="outline-3">
<h3 id="org3d4bce6">recog</h3> <h3 id="org3ff2dc8">recog</h3>
<div class="outline-text-3" id="text-org3d4bce6"> <div class="outline-text-3" id="text-org3ff2dc8">
<p> <p>
This command allows you to sort-of rename someone. For instance, if you knew the elfs name was Shasta, you could type This command allows you to sort-of rename someone. For instance, if you knew the elfs name was Shasta, you could type
</p> </p>
<pre class="example" id="org12b1c6d"> <pre class="example" id="orga8fee0c">
recog elf = Shasta recog elf = Shasta
</pre> </pre>
<p> <p>
and now the previous example would read: and now the previous example would read:
</p> </p>
<pre class="example" id="org4a7fd17"> <pre class="example" id="org36622fc">
From the corner of the room, beardless dwarf walks over to Shasta. From the corner of the room, beardless dwarf walks over to Shasta.
</pre> </pre>
<p> <p>
@ -392,9 +396,9 @@ But this would be a label for a character <i>only for you</i>. Others may have t
</div> </div>
</div> </div>
<div id="outline-container-org9d9c92d" class="outline-3"> <div id="outline-container-org8c0ee69" class="outline-3">
<h3 id="org9d9c92d">pub</h3> <h3 id="org8c0ee69">pub</h3>
<div class="outline-text-3" id="text-org9d9c92d"> <div class="outline-text-3" id="text-org8c0ee69">
<p> <p>
Use this command to send a message to the <i>out-of-character public channel</i>. All logged in users receive these OOC messages, prefixed by your <i>username</i>, not your <i>character</i>. Use this command to send a message to the <i>out-of-character public channel</i>. All logged in users receive these OOC messages, prefixed by your <i>username</i>, not your <i>character</i>.
</p> </p>
@ -402,14 +406,14 @@ Use this command to send a message to the <i>out-of-character public channel</i>
<p> <p>
Typing something like: Typing something like:
</p> </p>
<pre class="example" id="orge9fe7a0"> <pre class="example" id="org24cfb19">
pub Is anyone here yet? pub Is anyone here yet?
</pre> </pre>
<p> <p>
Might show a transcript like: Might show a transcript like:
</p> </p>
<pre class="example" id="org4f6e9a4"> <pre class="example" id="org6b21062">
[Public] howard: Is anyone here yet? [Public] howard: Is anyone here yet?
[Public] rick: Yeah. I just got here. [Public] rick: Yeah. I just got here.
</pre> </pre>
@ -424,14 +428,14 @@ I have more commands for getting and drinking Fey cocktails, and exhibiting thei
</div> </div>
</div> </div>
<div id="outline-container-org13d44e2" class="outline-3"> <div id="outline-container-org2cf26c2" class="outline-3">
<h3 id="org13d44e2">page (or tell)</h3> <h3 id="org2cf26c2">page (or tell)</h3>
<div class="outline-text-3" id="text-org13d44e2"> <div class="outline-text-3" id="text-org2cf26c2">
<p> <p>
Like the <code>pub</code> command above, this allows you to talk to another player directly. I expect we will use this primarily for talking to the GM during the game session. For instance: Like the <code>pub</code> command above, this allows you to talk to another player directly. I expect we will use this primarily for talking to the GM during the game session. For instance:
</p> </p>
<pre class="example" id="orgc635447"> <pre class="example" id="org6a7069f">
tell howard I am here. tell howard I am here.
</pre> </pre>
@ -439,7 +443,7 @@ tell howard I am here.
And you might see: And you might see:
</p> </p>
<pre class="example" id="orga4f4e91"> <pre class="example" id="org924cef4">
You paged howard with: 'I am here.'. You paged howard with: 'I am here.'.
Account howard pages: Great. Account howard pages: Great.
</pre> </pre>

228
world/version2.ev Normal file
View file

@ -0,0 +1,228 @@
# This room should display /tables/, as exits, differently, but this will be part of standard room with the setting in the Exit, not a special room.
# [[file:../../../projects/mud-rpg.org::*Bar Lobby][Bar Lobby:1]]
@dig/teleport Wyldwood Bar;mp10
# Bar Lobby:1 ends here
# Describe it:
# [[file:../../../projects/mud-rpg.org::*Bar Lobby][Bar Lobby:2]]
@desc here = An amazing room formed from a ring of living trees. The canopy of boughs above twinkle with the lights of small, glowing orbs. Working the bar, a hauty-looking elf; waiting on tables, a smiling mushroom man, er...person.
# Bar Lobby:2 ends here
# Dynamically add:
# #+begin_example
# While wisps of pipe smoke obscure details, the clientel hail from every nation, race and...creature...sitting at similarly elaborate and
# #+end_example
# [[file:../../../projects/mud-rpg.org::*Bar Lobby][Bar Lobby:3]]
@detail clientel;people;creatures;patrons;creature = Dancing wisps of pipe smoke obscure the details of many of the bar's clientel. Perhaps |glook|n at character directly.
# Bar Lobby:3 ends here
# [[file:../../../projects/mud-rpg.org::*Bar Lobby][Bar Lobby:4]]
@detail mist;pipe smoke;smoke = Pipe smoke appears to be a pasttime here.
# Bar Lobby:4 ends here
# [[file:../../../projects/mud-rpg.org::*Bar Lobby][Bar Lobby:5]]
@detail trees;tree;trunk;trunks = You've never see black elder tree trunks so large or that grow so close together. The course, dark gray trunks absorb soft light from the orbs making the room appear much larger.
# Bar Lobby:5 ends here
# [[file:../../../projects/mud-rpg.org::*Bar Lobby][Bar Lobby:6]]
@detail boughs;bough;branches;canopy = The branches of the black elder trees sport slender leaves and cluster of elder berries.
# Bar Lobby:6 ends here
# [[file:../../../projects/mud-rpg.org::*Bar Lobby][Bar Lobby:7]]
@detail berries;berry = The cluster of berries from the canopy above are high and out of reach.
# Bar Lobby:7 ends here
# [[file:../../../projects/mud-rpg.org::*Bar Lobby][Bar Lobby:8]]
@detail lights;light;orbs = Hundreds of small, dancing orbs float around the canopy above the room, casting a soft glow of light.
# Bar Lobby:8 ends here
# [[file:../../../projects/mud-rpg.org::*Bar Lobby][Bar Lobby:9]]
@detail bar = Shaped from the trunk of a fallen tree, the bar has a golden laquer.
# Bar Lobby:9 ends here
# Catch all for tables, if we want to create separate rooms for tables:
# [[file:../../../projects/mud-rpg.org::*Bar Lobby][Bar Lobby:10]]
@detail tables;table = Formed from the stumps of giant trees, but strange the roots grew in a way to make easy access for chairs.
# Bar Lobby:10 ends here
# [[file:../../../projects/mud-rpg.org::*Bar Lobby][Bar Lobby:11]]
@detail chairs;chair = Didn't know that trees could grow in the shape of a chair, and yet, you're looking at examples.
# Bar Lobby:11 ends here
# An exit, is always a /way out/, not a way in, obviously.
# [[file:../../../projects/mud-rpg.org::*Portal][Portal:1]]
@teleport mp05
#
@open follow the glowing orbs;orbs;light;glowing orbs = Wyldwood Bar
# Portal:1 ends here
# A description if they look at the orbs:
# [[file:../../../projects/mud-rpg.org::*Portal][Portal:2]]
@desc orbs = The orbs swirl around in a circular pattern creating a mesmorizing vortex of light leading into the forest.
# Portal:2 ends here
# And a nice journey message to go east out of the forest:
# [[file:../../../projects/mud-rpg.org::*Portal][Portal:3]]
@set orbs/traverse_msg = "You follow the orbs deeper into the forest, until you seem to drift to sleep...\n\nYou awake to the sound of a party!"
# Portal:3 ends here
# Since the opened portal is a /room state/, we just need to:
# [[file:../../../projects/mud-rpg.org::*Portal][Portal:4]]
@desc/portal_open here = You notice a glowing orb... and then another, and another. The field, filled with the soft light, illuminates another path...
# Portal:4 ends here
# First, close the portal by moving it to the =None= location:
# [[file:../../../projects/mud-rpg.org::*Closing the Portal][Closing the Portal:1]]
@teleport/tonone follow the glowing orbs
# Closing the Portal:1 ends here
# [[file:../../../projects/mud-rpg.org::*Closing the Portal][Closing the Portal:2]]
@tag/del Frog Meadow = portal_open:roomstate
# Closing the Portal:2 ends here
# A haughty elf named Elendil
# [[file:../../../projects/mud-rpg.org::*Bartender][Bartender:1]]
@create/drop Bartender;barkeep;Elendil: typeclasses.puppets.Puppet
# Bartender:1 ends here
# And all the RP system stuff:
# [[file:../../../projects/mud-rpg.org::*Bartender][Bartender:2]]
py bt = self.search('Bartender'); bt.db.gender = 'male'; bt.db._sdesc = 'blonde elf'; bt.db.pose_default = 'working behind the bar'; bt.db.pose = 'working behind the bar'
# Bartender:2 ends here
# [[file:../../../projects/mud-rpg.org::*Bartender][Bartender:3]]
@desc Bartender = A haughty-looking elf with green eyes and long blond hair with two intricate braids accentuating incredibly pointed ears. His nose, pointed, often points straight up.
# Bartender:3 ends here
# And give him the powers he deserves:
# [[file:../../../projects/mud-rpg.org::*Bartender][Bartender:4]]
@perm Bartender = Admin
# Bartender:4 ends here
# And give him the powers he deserves:
# [[file:../../../projects/mud-rpg.org::*Or a Mushroom Bartender][Or a Mushroom Bartender:4]]
@detail mushroom;mushroom man = A stubby mushroom with an enormous red cap and a friendly looking face. Amazing how he can balance cocktails on its head.
# Or a Mushroom Bartender:4 ends here
# Next great NPC will a cameo from the Awakened Shrub.
# [[file:../../../projects/mud-rpg.org::*Awakened Shrub][Awakened Shrub:1]]
@create/drop shrub;bush;awakened shrub: typeclasses.puppets.Puppet
# Awakened Shrub:1 ends here
# And describe it:
# [[file:../../../projects/mud-rpg.org::*Awakened Shrub][Awakened Shrub:2]]
@desc shrub = If a bush had the facial muscles to smile and show how much it enjoys itself, this lil' guy would be it. The short leaves indicates it once was a boxwood, but the way it nurses that glass of water shows those days are way behind. When you look its way, it waves a branch at you.
# Awakened Shrub:2 ends here
# And tag it:
# [[file:../../../projects/mud-rpg.org::*Awakened Shrub][Awakened Shrub:3]]
py bt = self.search('shrub'); bt.db.gender = 'neutral'; bt.db._sdesc = 'shrub'; bt.db.pose_default = 'nursing a glass of water'; bt.db.pose = 'nursing a glass of water'
# Awakened Shrub:3 ends here
# And lets not let anyone pick it up:
# [[file:../../../projects/mud-rpg.org::*Awakened Shrub][Awakened Shrub:4]]
@set shrub/get_err_msg = "It doesn't seem to appreciate your advances and shakes a top branch, no. Remember, no means, no."
# Awakened Shrub:4 ends here
# Lets create a sign for the list of cocktails:
# [[file:../../../projects/mud-rpg.org::*Cocktails][Cocktails:1]]
@create/drop Cocktail List;sign;list:typeclasses.readables.Readable
# Cocktails:1 ends here
# And the description:
# [[file:../../../projects/mud-rpg.org::*Cocktails][Cocktails:2]]
@desc sign = You see a large sign made of wood over the bar, hanging from a branch of one of the living trees. Painted words at the top read, |wWyldwood Cocktails|n, and a list of drinks you can order.
# Cocktails:2 ends here
# Might as well allow the user to read it:
# [[file:../../../projects/mud-rpg.org::*Cocktails][Cocktails:3]]
@set sign/inside = "|wCocktails|n
- Moonlit Mirage
- Puck's Revenge
- Glimmering Gossamer
- Whimsical Willow
- Charmed Chalice
- Enchanted Elixir
- Sylvan Serenade
- Brambleberry Bliss
- Twilight Tonic"
# Cocktails:3 ends here
# And lock down the sign:
# [[file:../../../projects/mud-rpg.org::*Cocktails][Cocktails:4]]
@lock sign = get:false()
#
@set sign/get_err_msg = "The tree trunk that holds the sign has grown around it making it impossible to remove."
# Cocktails:4 ends here