Do other people want to see the this?

Never see how the sausage is made.

Especially if you are a vegetarian.
This commit is contained in:
Howard Abrams 2026-05-08 23:21:45 -07:00
parent d377ab1a0e
commit b63cb4c74d
4 changed files with 7480 additions and 27 deletions

137
README.md
View file

@ -1,40 +1,123 @@
# Welcome to Evennia!
# Welcome to the World of Moss and Puddles
This is your game directory, set up to let you start with
your new game right away. An overview of this directory is found here:
https://github.com/evennia/evennia/wiki/Directory-Overview#the-game-directory
This contains the code, based on the [Evennia game engine][1] for
running a Multiuser Shared Story Experiment (MUSSE).
You can delete this readme file when you've read it and you can
re-arrange things in this game-directory to suit your own sense of
organisation (the only exception is the directory structure of the
`server/` directory, which Evennia expects). If you change the structure
you must however also edit/add to your settings file to tell Evennia
where to look for things.
The details in this document are technical and assume proficiency with
a Terminal emulator, e.g. `Terminal` app on MacOS and `PowerShell` on
Windows.
Your game's main configuration file is found in
`server/conf/settings.py` (but you don't need to change it to get
started). If you just created this directory (which means you'll already
have a `virtualenv` running if you followed the default instructions),
`cd` to this directory then initialize a new database using
## Running Locally
These instructions assume that you have [Git][2] installed,
and you can `clone`this repository.
git clone https://howardabrams.com/git/howard/moss-n-puddles
This may be a slight chicken/egg scenario, since I store this file in
the repository.
To get a local copy running on your system, follow these steps.
### Install Python
Follow the [online instructions][3] if you don't have the Python
language engine installed.
### Create Virtual Environment (Optional)
While optional, you may not want to pollute your global Python
environment, so create a "virtual environments" to insure that module
libraries don't compete.
python -m venv .venv
For further details on this, follow these instructions:
https://www.geeksforgeeks.org/python/create-virtual-environment-using-venv-python/
### Activate the Virtual Environment (Optional)
Each time you enter this directory folder, `activate` the virtual
environment with the command:
source .venv/bin/activate
To make this easier, you can install [direnv][4].
### Install Support Modules
Install [Evennia][1] and other needed modules with the command:
pip install -r requirements.txt
### Configure Database
Before you can start this program, you need to initialize the database
using the command:
evennia migrate
To start the server, stand in this directory and run
Any time you want to re-initialize the database from scratch, type:
rm server/evennia.db
To make my life easier, I issue:
cp server/evennia-reset.db3 server/evennia.db3
### Start the Server
Start the server with the command:
evennia start
This will start the server, logging output to the console. Make
sure to create a superuser when asked. By default you can now connect
to your new game using a MUD client on `localhost`, port `4000`. You can
also log into the web client by pointing a browser to
`http://localhost:4001`.
When you first do this, you will need to create a account for the
superuser account, we call **The Avatar**. The question about email is
optional.
# Getting started
You can stop the server using the command: `evennia stop`
From here on you might want to look at one of the beginner tutorials:
http://github.com/evennia/evennia/wiki/Tutorials.
### Load the World
Evennia's documentation is here:
https://github.com/evennia/evennia/wiki.
Log into the system. The easiest way is to use a browser and this URL:
Enjoy!
http://localhost:4001
You can also use a MUD client connecting to the `localhost` on port 4000.
You will need to connect with the user and password you created in the
Terminal (described above).
At this point, you won't see anything because the database is empty.
To populate the world, type the following command in the game (not in
your Terminal window):
batchcommand version1.ev
A lot of text will fly by and it [recreates the world][9] described in
[Org-formatted document](moss-n-puddles.org). Those are my *notes* for
the game, which I should probably clean up for public consumption. You
will probably want to use [Emacs][5] get the most out of that text
document.
Check out [my map](moss-n-puddles-map.svg) I made (shame this isn't
dynamically generated).
## Technical Details
Peruse the [directory structure overview][6].
Read the logs in the file: `server/logs/server.log`
You might want to look at Evennia's [beginner tutorials][7], or the
complete [documentation][8].
[1]: evennia.com
[2]: git-scm.com
[3]: https://www.python.org/downloads/windows/
[4]: direnv.net
[5]: https://www.gnu.org/software/emacs
[6]: https://github.com/evennia/evennia/wiki/Directory-Overview#the-game-directory
[7]: http://github.com/evennia/evennia/wiki/Tutorials.
[8]: https://github.com/evennia/evennia/wiki
[9]: moss-n-puddles.html

157
moss-n-puddles-map.svg Normal file
View file

@ -0,0 +1,157 @@
<svg xmlns='http://www.w3.org/2000/svg' class="pikchr" viewBox="0 0 832.32 666.479">
<path d="M9.66,88.3189L102.66,88.3189A7.5 7.5 0 0 0 110.16 80.8189L110.16,23.8189A7.5 7.5 0 0 0 102.66 16.3189L9.66,16.3189A7.5 7.5 0 0 0 2.16 23.8189L2.16,80.8189A7.5 7.5 0 0 0 9.66 88.3189Z" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="56.16" y="42.2389" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Prairie</text>
<text x="56.16" y="62.3989" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">(mp14)</text>
<path d="M9.66,232.319L102.66,232.319A7.5 7.5 0 0 0 110.16 224.819L110.16,167.819A7.5 7.5 0 0 0 102.66 160.319L9.66,160.319A7.5 7.5 0 0 0 2.16 167.819L2.16,224.819A7.5 7.5 0 0 0 9.66 232.319Z" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="56.16" y="186.239" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Bedroom</text>
<text x="56.16" y="206.399" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">(mp13)</text>
<polygon points="110.16,196.319 121.68,191.999 121.68,200.639" style="fill:rgb(0,0,0)"/>
<polygon points="182.16,196.319 170.64,200.639 170.64,191.999" style="fill:rgb(0,0,0)"/>
<path d="M115.92,196.319L176.4,196.319" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="146.16" y="184.619" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">up</text>
<text x="146.16" y="208.019" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">down</text>
<path d="M189.66,232.319L282.66,232.319A7.5 7.5 0 0 0 290.16 224.819L290.16,167.819A7.5 7.5 0 0 0 282.66 160.319L189.66,160.319A7.5 7.5 0 0 0 182.16 167.819L182.16,224.819A7.5 7.5 0 0 0 189.66 232.319Z" style="fill:none;stroke-width:3.24;stroke:rgb(0,0,0);" />
<text x="236.16" y="186.239" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Cozy Room</text>
<text x="236.16" y="206.399" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">(mp03)</text>
<path d="M369.66,232.319L462.66,232.319A7.5 7.5 0 0 0 470.16 224.819L470.16,167.819A7.5 7.5 0 0 0 462.66 160.319L369.66,160.319A7.5 7.5 0 0 0 362.16 167.819L362.16,224.819A7.5 7.5 0 0 0 369.66 232.319Z" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="416.16" y="186.239" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Boulder Top</text>
<text x="416.16" y="206.399" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">(mp02)</text>
<path d="M549.66,232.319L642.66,232.319A7.5 7.5 0 0 0 650.16 224.819L650.16,167.819A7.5 7.5 0 0 0 642.66 160.319L549.66,160.319A7.5 7.5 0 0 0 542.16 167.819L542.16,224.819A7.5 7.5 0 0 0 549.66 232.319Z" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="596.16" y="186.239" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Lair</text>
<text x="596.16" y="206.399" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">(mp07)</text>
<path d="M729.66,232.319L822.66,232.319A7.5 7.5 0 0 0 830.16 224.819L830.16,167.819A7.5 7.5 0 0 0 822.66 160.319L729.66,160.319A7.5 7.5 0 0 0 722.16 167.819L722.16,224.819A7.5 7.5 0 0 0 729.66 232.319Z" style="fill:none;stroke-width:3.24;stroke:rgb(0,0,0);" />
<text x="776.16" y="176.159" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Wyldwood</text>
<text x="776.16" y="196.319" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Bar</text>
<text x="776.16" y="216.479" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">(mp10)</text>
<path d="M549.66,88.3189L642.66,88.3189A7.5 7.5 0 0 0 650.16 80.8189L650.16,23.8189A7.5 7.5 0 0 0 642.66 16.3189L549.66,16.3189A7.5 7.5 0 0 0 542.16 23.8189L542.16,80.8189A7.5 7.5 0 0 0 549.66 88.3189Z" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="596.16" y="42.2389" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Dark Tunnel</text>
<text x="596.16" y="62.3989" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">(mp20)</text>
<path d="M9.66,376.319L102.66,376.319A7.5 7.5 0 0 0 110.16 368.819L110.16,311.819A7.5 7.5 0 0 0 102.66 304.319L9.66,304.319A7.5 7.5 0 0 0 2.16 311.819L2.16,368.819A7.5 7.5 0 0 0 9.66 376.319Z" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="56.16" y="320.159" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Cramped</text>
<text x="56.16" y="340.319" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Kitchen</text>
<text x="56.16" y="360.479" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">(mp11)</text>
<path d="M189.66,376.319L282.66,376.319A7.5 7.5 0 0 0 290.16 368.819L290.16,311.819A7.5 7.5 0 0 0 282.66 304.319L189.66,304.319A7.5 7.5 0 0 0 182.16 311.819L182.16,368.819A7.5 7.5 0 0 0 189.66 376.319Z" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="236.16" y="330.239" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Grotto</text>
<text x="236.16" y="350.399" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">(mp04)</text>
<polygon points="290.16,340.319 301.68,335.999 301.68,344.639" style="fill:rgb(0,0,0)"/>
<polygon points="362.16,340.319 350.64,344.639 350.64,335.999" style="fill:rgb(0,0,0)"/>
<path d="M295.92,340.319L356.4,340.319" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="326.16" y="328.619" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">east</text>
<text x="326.16" y="352.019" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">west</text>
<path d="M369.66,376.319L462.66,376.319A7.5 7.5 0 0 0 470.16 368.819L470.16,311.819A7.5 7.5 0 0 0 462.66 304.319L369.66,304.319A7.5 7.5 0 0 0 362.16 311.819L362.16,368.819A7.5 7.5 0 0 0 369.66 376.319Z" style="fill:none;stroke-width:4.86;stroke:rgb(0,0,0);" />
<text x="416.16" y="320.159" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Matriarch</text>
<text x="416.16" y="340.319" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Grove</text>
<text x="416.16" y="360.479" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">(mp01)</text>
<polygon points="470.16,340.319 481.68,335.999 481.68,344.639" style="fill:rgb(0,0,0)"/>
<polygon points="542.16,340.319 530.64,344.639 530.64,335.999" style="fill:rgb(0,0,0)"/>
<path d="M475.92,340.319L536.4,340.319" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="506.16" y="328.619" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">east</text>
<text x="506.16" y="352.019" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">west</text>
<path d="M549.66,376.319L642.66,376.319A7.5 7.5 0 0 0 650.16 368.819L650.16,311.819A7.5 7.5 0 0 0 642.66 304.319L549.66,304.319A7.5 7.5 0 0 0 542.16 311.819L542.16,368.819A7.5 7.5 0 0 0 549.66 376.319Z" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="596.16" y="320.159" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Frog</text>
<text x="596.16" y="340.319" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Meadow</text>
<text x="596.16" y="360.479" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">(mp05)</text>
<polygon points="650.16,340.319 661.68,335.999 661.68,344.639" style="fill:rgb(0,0,0)"/>
<polygon points="722.16,340.319 710.64,344.639 710.64,335.999" style="fill:rgb(0,0,0)"/>
<path d="M655.92,340.319L716.4,340.319" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="686.16" y="328.619" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">east</text>
<text x="686.16" y="352.019" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">west</text>
<path d="M729.66,376.319L822.66,376.319A7.5 7.5 0 0 0 830.16 368.819L830.16,311.819A7.5 7.5 0 0 0 822.66 304.319L729.66,304.319A7.5 7.5 0 0 0 722.16 311.819L722.16,368.819A7.5 7.5 0 0 0 729.66 376.319Z" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="776.16" y="320.159" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Glittering</text>
<text x="776.16" y="340.319" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Glade</text>
<text x="776.16" y="360.479" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">(mp19)</text>
<path d="M9.66,520.319L102.66,520.319A7.5 7.5 0 0 0 110.16 512.819L110.16,455.819A7.5 7.5 0 0 0 102.66 448.319L9.66,448.319A7.5 7.5 0 0 0 2.16 455.819L2.16,512.819A7.5 7.5 0 0 0 9.66 520.319Z" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="56.16" y="464.159" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Secret</text>
<text x="56.16" y="484.319" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Room</text>
<text x="56.16" y="504.479" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">(mp12)</text>
<path d="M189.66,520.319L282.66,520.319A7.5 7.5 0 0 0 290.16 512.819L290.16,455.819A7.5 7.5 0 0 0 282.66 448.319L189.66,448.319A7.5 7.5 0 0 0 182.16 455.819L182.16,512.819A7.5 7.5 0 0 0 189.66 520.319Z" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="236.16" y="464.159" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Sandy</text>
<text x="236.16" y="484.319" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Shore</text>
<text x="236.16" y="504.479" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">(mp15)</text>
<polygon points="290.16,484.319 301.68,479.999 301.68,488.639" style="fill:rgb(0,0,0)"/>
<polygon points="362.16,484.319 350.64,488.639 350.64,479.999" style="fill:rgb(0,0,0)"/>
<path d="M295.92,484.319L356.4,484.319" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<path d="M369.66,520.319L462.66,520.319A7.5 7.5 0 0 0 470.16 512.819L470.16,455.819A7.5 7.5 0 0 0 462.66 448.319L369.66,448.319A7.5 7.5 0 0 0 362.16 455.819L362.16,512.819A7.5 7.5 0 0 0 369.66 520.319Z" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="416.16" y="464.159" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Lazy</text>
<text x="416.16" y="484.319" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Dock</text>
<text x="416.16" y="504.479" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">(mp06)</text>
<path d="M549.66,520.319L642.66,520.319A7.5 7.5 0 0 0 650.16 512.819L650.16,455.819A7.5 7.5 0 0 0 642.66 448.319L549.66,448.319A7.5 7.5 0 0 0 542.16 455.819L542.16,512.819A7.5 7.5 0 0 0 549.66 520.319Z" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="596.16" y="464.159" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Mellow</text>
<text x="596.16" y="484.319" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Marsh</text>
<text x="596.16" y="504.479" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">(mp08)</text>
<path d="M189.66,664.319L282.66,664.319A7.5 7.5 0 0 0 290.16 656.819L290.16,599.819A7.5 7.5 0 0 0 282.66 592.319L189.66,592.319A7.5 7.5 0 0 0 182.16 599.819L182.16,656.819A7.5 7.5 0 0 0 189.66 664.319Z" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="236.16" y="608.159" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Old</text>
<text x="236.16" y="628.319" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Shack</text>
<text x="236.16" y="648.479" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">(mp16)</text>
<path d="M369.66,664.319L462.66,664.319A7.5 7.5 0 0 0 470.16 656.819L470.16,599.819A7.5 7.5 0 0 0 462.66 592.319L369.66,592.319A7.5 7.5 0 0 0 362.16 599.819L362.16,656.819A7.5 7.5 0 0 0 369.66 664.319Z" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="416.16" y="608.159" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Boat &amp;</text>
<text x="416.16" y="628.319" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Islands</text>
<text x="416.16" y="648.479" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">(grXX)</text>
<path d="M549.66,664.319L642.66,664.319A7.5 7.5 0 0 0 650.16 656.819L650.16,599.819A7.5 7.5 0 0 0 642.66 592.319L549.66,592.319A7.5 7.5 0 0 0 542.16 599.819L542.16,656.819A7.5 7.5 0 0 0 549.66 664.319Z" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="596.16" y="608.159" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Homey</text>
<text x="596.16" y="628.319" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Hut</text>
<text x="596.16" y="648.479" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">(mp09)</text>
<circle cx="272.16" cy="52.3189" r="50.1589" style="fill:none;stroke-width:3.24;stroke:rgb(0,0,0);" />
<text x="272.16" y="32.1589" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Deep</text>
<text x="272.16" y="52.3189" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">Forest</text>
<text x="272.16" y="72.4789" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">(mp00)</text>
<polygon points="287.963,306.516 287.994,298.272 293.407,300.325" style="fill:rgb(0,0,0)"/>
<path d="M307.628,87.7866L329.76,196.319L289.332,302.907" style="fill:none;stroke-width:1.4472;stroke-linejoin:round;stroke:rgb(0,0,0);" />
<polygon points="56.16,88.3189 60.48,99.8389 51.84,99.8389" style="fill:rgb(0,0,0)"/>
<polygon points="56.16,160.319 51.84,148.799 60.48,148.799" style="fill:rgb(0,0,0)"/>
<path d="M56.16,94.0789L56.16,154.559" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="56.16" y="124.319" text-anchor="start" fill="rgb(0,0,0)" dominant-baseline="central"> wardrobe</text>
<polygon points="596.16,88.3189 600.48,99.8389 591.84,99.8389" style="fill:rgb(0,0,0)"/>
<polygon points="596.16,160.319 591.84,148.799 600.48,148.799" style="fill:rgb(0,0,0)"/>
<path d="M596.16,94.0789L596.16,154.559" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="596.16" y="112.619" text-anchor="start" fill="rgb(0,0,0)" dominant-baseline="central">  ladder</text>
<text x="596.16" y="136.019" text-anchor="end" fill="rgb(0,0,0)" dominant-baseline="central">trapdoor  </text>
<polygon points="56.16,304.319 63.9665,294.809 68.2945,302.287" style="fill:rgb(0,0,0)"/>
<polygon points="184.357,230.122 176.55,239.632 172.222,232.154" style="fill:rgb(0,0,0)"/>
<path d="M61.1452,301.434L179.371,233.008" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="120.258" y="255.521" text-anchor="middle" fill="rgb(0,0,0)" transform="rotate(-30.06106989 120.258,267.221)" dominant-baseline="central">archway</text>
<polygon points="107.963,450.516 107.654,438.216 115.818,441.046" style="fill:rgb(0,0,0)"/>
<polygon points="184.357,230.122 184.666,242.422 176.502,239.592" style="fill:rgb(0,0,0)"/>
<path d="M109.85,445.073L182.47,235.565" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="146.16" y="340.319" text-anchor="end" fill="rgb(0,0,0)" dominant-baseline="central">?? </text>
<polygon points="236.16,232.319 240.48,243.839 231.84,243.839" style="fill:rgb(0,0,0)"/>
<polygon points="236.16,304.319 231.84,292.799 240.48,292.799" style="fill:rgb(0,0,0)"/>
<path d="M236.16,238.079L236.16,298.559" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="236.16" y="268.319" text-anchor="end" fill="rgb(0,0,0)" dominant-baseline="central">red </text>
<text x="236.16" y="268.319" text-anchor="start" fill="rgb(0,0,0)" dominant-baseline="central"> door</text>
<polygon points="416.16,232.319 420.48,243.839 411.84,243.839" style="fill:rgb(0,0,0)"/>
<polygon points="416.16,304.319 411.84,292.799 420.48,292.799" style="fill:rgb(0,0,0)"/>
<path d="M416.16,238.079L416.16,298.559" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="416.16" y="268.319" text-anchor="start" fill="rgb(0,0,0)" dominant-baseline="central"> climb</text>
<polygon points="416.16,376.319 420.48,387.839 411.84,387.839" style="fill:rgb(0,0,0)"/>
<polygon points="416.16,448.319 411.84,436.799 420.48,436.799" style="fill:rgb(0,0,0)"/>
<path d="M416.16,382.079L416.16,442.559" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="416.16" y="400.619" text-anchor="start" fill="rgb(0,0,0)" dominant-baseline="central"> south</text>
<text x="416.16" y="424.019" text-anchor="end" fill="rgb(0,0,0)" dominant-baseline="central">north </text>
<polygon points="596.16,232.319 600.48,243.839 591.84,243.839" style="fill:rgb(0,0,0)"/>
<polygon points="596.16,304.319 591.84,292.799 600.48,292.799" style="fill:rgb(0,0,0)"/>
<path d="M596.16,238.079L596.16,298.559" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="596.16" y="268.319" text-anchor="end" fill="rgb(0,0,0)" dominant-baseline="central">waterfall  </text>
<polygon points="596.16,376.319 600.48,387.839 591.84,387.839" style="fill:rgb(0,0,0)"/>
<polygon points="596.16,448.319 591.84,436.799 600.48,436.799" style="fill:rgb(0,0,0)"/>
<path d="M596.16,382.079L596.16,442.559" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="596.16" y="400.619" text-anchor="start" fill="rgb(0,0,0)" dominant-baseline="central"> south</text>
<text x="596.16" y="424.019" text-anchor="end" fill="rgb(0,0,0)" dominant-baseline="central">north </text>
<polygon points="596.16,520.319 600.48,531.839 591.84,531.839" style="fill:rgb(0,0,0)"/>
<polygon points="596.16,592.319 591.84,580.799 600.48,580.799" style="fill:rgb(0,0,0)"/>
<path d="M596.16,526.079L596.16,586.559" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="596.16" y="556.319" text-anchor="end" fill="rgb(0,0,0)" dominant-baseline="central">?? </text>
<polygon points="416.16,520.319 420.48,531.839 411.84,531.839" style="fill:rgb(0,0,0)"/>
<polygon points="416.16,592.319 411.84,580.799 420.48,580.799" style="fill:rgb(0,0,0)"/>
<path d="M416.16,526.079L416.16,586.559" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="416.16" y="556.319" text-anchor="end" fill="rgb(0,0,0)" dominant-baseline="central">?? </text>
<polygon points="236.16,520.319 240.48,531.839 231.84,531.839" style="fill:rgb(0,0,0)"/>
<polygon points="236.16,592.319 231.84,580.799 240.48,580.799" style="fill:rgb(0,0,0)"/>
<path d="M236.16,526.079L236.16,586.559" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="236.16" y="556.319" text-anchor="end" fill="rgb(0,0,0)" dominant-baseline="central">door </text>
<polygon points="776.16,232.319 780.48,243.839 771.84,243.839" style="fill:rgb(0,0,0)"/>
<polygon points="776.16,304.319 771.84,292.799 780.48,292.799" style="fill:rgb(0,0,0)"/>
<path d="M776.16,238.079L776.16,298.559" style="fill:none;stroke-width:2.16;stroke:rgb(0,0,0);" />
<text x="776.16" y="268.319" text-anchor="middle" fill="rgb(0,0,0)" dominant-baseline="central">blue  door</text>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

7211
moss-n-puddles.org Normal file

File diff suppressed because it is too large Load diff

2
requirements.txt Normal file
View file

@ -0,0 +1,2 @@
evennia
anthropic