Compare commits
19 Commits
Author | SHA1 | Date |
---|---|---|
Dozens B. McCuzzins | 1266972285 | |
Dozens B. McCuzzins | 34bd2af4f9 | |
Dozens B. McCuzzins | 5590d55eb8 | |
Dozens B. McCuzzins | 22a82293f4 | |
Dozens B. McCuzzins | fb8fba3c1c | |
Dozens B. McCuzzins | 598071d54b | |
Dozens B. McCuzzins | 0db9b8f550 | |
Dozens B. McCuzzins | 0bb2fabc62 | |
Dozens B. McCuzzins | 15a5522a90 | |
Dozens B. McCuzzins | 0584519da0 | |
Dozens B. McCuzzins | 280a077509 | |
Dozens B. McCuzzins | a47a0d7e95 | |
Dozens B. McCuzzins | 6712f8b1db | |
Dozens B. McCuzzins | b8a5be6b7e | |
Dozens B. McCuzzins | 538957e043 | |
Dozens B. McCuzzins | 109ceac031 | |
Dozens B. McCuzzins | f6ff834952 | |
dozens | 61261eb41d | |
Dozens B. McCuzzins | 359c0377d2 |
62
README.md
62
README.md
|
@ -2,9 +2,12 @@
|
|||
|
||||
RPGs I've played
|
||||
|
||||
http://tilde.town/~dozens/gamelog/
|
||||
|
||||
## About
|
||||
|
||||
This is a log of all the games I've played starting in 2021. I'm keeping this log in anticipation of writing a "Every game I played in 2021" blog post in 2022.
|
||||
This is a log of all the games I've played starting in 2021.
|
||||
I'm keeping this log in anticipation of writing a "Every game I played in 2021" blog post in 2022.
|
||||
|
||||
I decided to use recutils for this because, why not.
|
||||
|
||||
|
@ -12,18 +15,12 @@ I decided to use recutils for this because, why not.
|
|||
|
||||
You don't need to install anything if you don't want to. You can just edit the rec file.
|
||||
|
||||
But if you want to use the TUI, then `npm i` and `just new` (or `node bin/cli.js`) to create a new entry using the interative prompt.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- GNU recutils
|
||||
|
||||
- node (optional)
|
||||
|
||||
- just (optional)
|
||||
|
||||
- csvkit (optional)
|
||||
|
||||
## Considerations
|
||||
|
||||
What kind of stuff am I interested in keeping track of?
|
||||
|
@ -37,21 +34,53 @@ What kind of stuff am I interested in keeping track of?
|
|||
|
||||
You should probably just read the recfile because that will always be the source of truth, but at the time of this writing, the schema is as follows.
|
||||
|
||||
Game:
|
||||
|
||||
```
|
||||
%rec: Game
|
||||
%doc: a ttrpg game I have played or am playing
|
||||
%key: Id
|
||||
%type: Id int
|
||||
%type: System,Module,Format line
|
||||
%type: Updated,Started date
|
||||
%type: Started date
|
||||
%typedef: Role enum DM Player
|
||||
%typedef: Length enum Campaign Adventure Oneshot
|
||||
%typedef: Status enum Ongoing Complete Hiatus Dead
|
||||
%auto: Id Updated
|
||||
%mandatory: Id System Module Format Notes Updated Started Role Length Status
|
||||
%auto: Id Started
|
||||
%mandatory: Id System Module Format Started Role Length Status
|
||||
%unique: Id
|
||||
```
|
||||
|
||||
Note: `Notes` (arguably the most important field) does not have a type because there is no valid type for multi-line entries in recfiles. Thus is remains untyped, uncheckable by recins, and undocumented in the schema. I consider this a bug of the recutils.
|
||||
Game Update:
|
||||
|
||||
```
|
||||
%rec: Update
|
||||
%doc: an update for a game!
|
||||
%type: Game rec Game
|
||||
%key: Id
|
||||
%type: Id int
|
||||
%type: Created date
|
||||
%auto: Id Created
|
||||
%mandatory: Id Created Text
|
||||
%allowed: Id Created Text Game
|
||||
%unique: Id
|
||||
%sort: Id
|
||||
```
|
||||
|
||||
This database originally just had the one `Game` record with updates to games unofficially recorded in the Notes field.
|
||||
This lead to the primary datatype being the campaign, or the adventure, or the oneshot.
|
||||
And individual session logs didn't really exist anywhere.
|
||||
I didn't like this because it meant I never new how many actual games I've played.
|
||||
For example, I had been playing Strixhaven on a weekly basis for months,
|
||||
but still to this day only have three 'updates' for it.
|
||||
So I migrated all notes and updates for each game to a new `Update` type.
|
||||
And the new goal is to create and retire Games as needed,
|
||||
and to create a new Update for every session played.
|
||||
So I actually know how many games I've played for real.
|
||||
|
||||
Note that after doing this,
|
||||
I am still not using `recsel`'s "join" feature,
|
||||
because recsel joins are messy.
|
||||
|
||||
## Learnings
|
||||
|
||||
|
@ -59,15 +88,20 @@ check out [doc/learnings.md](doc/learnings.md)
|
|||
|
||||
## Recsel examples
|
||||
|
||||
- `recsel -e "Role = 'Player'" games.rec`
|
||||
- `recsel -t Game -e "Role = 'Player'" games.rec`
|
||||
|
||||
See `justfile` for more examples
|
||||
|
||||
## Todo
|
||||
|
||||
- [x] Add types/enums
|
||||
- [x] ~~tui?~~ run `just new` (or `node bin/cli.js`)
|
||||
- [ ] add Update to CLI
|
||||
- [x] ~~tui?~~ run `just new`
|
||||
- [x] add Update to CLI
|
||||
- [x] add Date to update menu. sometimes i add the session log after the session has happened!
|
||||
- [x] refactor edit/update search functions
|
||||
- [x] change Recent Games from 'recently created' to 'recently updated' ?
|
||||
- [ ] CLI flags mode
|
||||
- [ ] rename Update to Log or Session Log?
|
||||
|
||||
## Resources
|
||||
|
||||
|
|
80
bin/cli.js
80
bin/cli.js
|
@ -1,80 +0,0 @@
|
|||
const inquirer = require('inquirer');
|
||||
const { exec } = require('child_process');
|
||||
|
||||
const database = 'db/games.rec';
|
||||
|
||||
console.log('Create a new gamelog')
|
||||
|
||||
const questions = [
|
||||
{
|
||||
type: 'input',
|
||||
name: 'System',
|
||||
message: 'System (e.g. D&D, Troika!, etc.)',
|
||||
},
|
||||
{
|
||||
type: 'input',
|
||||
name: 'Module',
|
||||
message: `What's the name of the module?`,
|
||||
},
|
||||
{
|
||||
type: 'list',
|
||||
name: 'Role',
|
||||
message: 'Were you the DM or a player?',
|
||||
choices: ['DM', 'Player'],
|
||||
},
|
||||
{
|
||||
type: 'input',
|
||||
name: 'Format',
|
||||
message: 'Format? (e.g. play by post, roll20, etc)'
|
||||
},
|
||||
{
|
||||
type: 'list',
|
||||
name: 'Length',
|
||||
message: 'Length',
|
||||
choices: ['Campaign', 'Oneshot', 'Adventure']
|
||||
},
|
||||
{
|
||||
type: 'list',
|
||||
name: 'Status',
|
||||
message: 'Status',
|
||||
choices: ['Ongoing', 'Complete', 'Hiatus', 'Dead']
|
||||
},
|
||||
{
|
||||
type: 'input',
|
||||
name: 'Started',
|
||||
message: 'Started At (YYYY-MM-DD)',
|
||||
validate(value) {
|
||||
const valid = value.match(/\d{4}-\d{2}-\d{2}/);
|
||||
return valid && true || 'Enter YYYY-MM-DD';
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'editor',
|
||||
name: 'Notes',
|
||||
message: 'How did it go?'
|
||||
},
|
||||
];
|
||||
|
||||
inquirer.prompt(questions).then((answers) => {
|
||||
let cmd = `recins --verbose -t Game `
|
||||
exec('gdate -I', (err, stdout, stderr) => {
|
||||
answers.Updated = stdout
|
||||
})
|
||||
for (key in answers) {
|
||||
cmd += `-f ${key} -v "${answers[key]?.trim() || 'unk'}" `
|
||||
}
|
||||
cmd += database
|
||||
|
||||
console.log(cmd)
|
||||
|
||||
exec(cmd, (error, stdout, stderr) => {
|
||||
if (error) {
|
||||
console.log(`error: ${error.message}`);
|
||||
return;
|
||||
}
|
||||
if (stderr) {
|
||||
console.log(`stderr: ${stderr}`);
|
||||
return;
|
||||
}
|
||||
});
|
||||
});
|
|
@ -0,0 +1,241 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# cli.sh
|
||||
# ------
|
||||
#
|
||||
# === Menu Driven ===
|
||||
# Begin: Update or New Game or Exit
|
||||
# Update: Select from recent or Quick Search
|
||||
# New: Enter New Game. Return to Menu
|
||||
# === CLI Driven ===
|
||||
# -n New Game
|
||||
# -u Update Game
|
||||
|
||||
db="db/games.rec"
|
||||
|
||||
|
||||
|
||||
function main_menu {
|
||||
cat<<EOF
|
||||
|
||||
== Main Menu ==
|
||||
1. [U]pdate
|
||||
2. [N]ew Game
|
||||
3. [E]dit Game
|
||||
4. [Q]uit
|
||||
EOF
|
||||
read -p "> " selection;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function new_game () {
|
||||
read -p "System: " system
|
||||
read -p "Module: " module
|
||||
cat<<EOF
|
||||
Role:
|
||||
1. [D]M
|
||||
2. [P]layer
|
||||
EOF
|
||||
read -p "> " roleinput
|
||||
cat<<EOF
|
||||
Length:
|
||||
1. [C]ampaign
|
||||
2. [A]dventure
|
||||
3. [O]neshot
|
||||
EOF
|
||||
read -p "> " lengthinput
|
||||
read -p "Format: " format
|
||||
|
||||
case "$roleinput" in
|
||||
"D" | "d" | 1) role="DM";;
|
||||
"P" | "p" | 2) role="Player";;
|
||||
"*") echo "Unknown Role!"; exit 1;;
|
||||
esac
|
||||
|
||||
case "$lengthinput" in
|
||||
"C" | "c" | 1) length="Campaign";;
|
||||
"A" | "a" | 2) length="Adventure";;
|
||||
"O" | "o" | 3) length="Oneshot";;
|
||||
"*") echo "Unknown Length!"; exit 1;;
|
||||
esac
|
||||
|
||||
recins $db --verbose -t Game \
|
||||
-f "System" -v "$system" \
|
||||
-f "Module" -v "$module" \
|
||||
-f "Role" -v "$role" \
|
||||
-f "Length" -v "$length" \
|
||||
-f "Format" -v "$format" \
|
||||
-f "Status" -v "Ongoing"
|
||||
}
|
||||
|
||||
gamemenutmpl="{{Id}}. {{Module}} ({{System}})
|
||||
"
|
||||
|
||||
|
||||
|
||||
function edit_game () {
|
||||
id="$1"
|
||||
shift
|
||||
recsel $db -t Game -e "Id = $id" \
|
||||
| awk 'BEGIN { RS="\n" } { print NR ". " $0 }'
|
||||
read -p "Number/[A]bort> " selection
|
||||
case $selection in
|
||||
"a" | "A" | "x" | "X" | "")
|
||||
edit_menu;;
|
||||
*)
|
||||
fieldvalue=(`recsel $db -t Game -e "Id = $id" \
|
||||
| awk 'BEGIN { RS="\n"; FS=": " } NR == s { print $1 " " $2 }' s="$selection"`)
|
||||
echo "${fieldvalue[0]}: ${fieldvalue[1]}"
|
||||
read -p "New value: " value
|
||||
recset --verbose $db -t Game -e "Id = $id" -f "${fieldvalue[0]}" -s "$value";
|
||||
edit_game $id;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
|
||||
function update () {
|
||||
id="$1"
|
||||
shift
|
||||
read -p "Date> " created
|
||||
tmp=$(mktemp)
|
||||
$EDITOR "$tmp"
|
||||
Text=$(< "$tmp")
|
||||
recins --verbose $db -t Update -f Game -v "$id" -f Text -v "$Text" -f Created -v "$created"
|
||||
recsel $db -t Update -q "$Text"
|
||||
main_menu
|
||||
}
|
||||
|
||||
|
||||
|
||||
function recent_updates () {
|
||||
count=`recsel -t Update $db -c`
|
||||
recent="$((count - 7))"
|
||||
recsel $db \
|
||||
-t Update \
|
||||
-e "Id > ${recent}" \
|
||||
-j Game \
|
||||
-p Game_Id:Id,Game_Module:Module,Game_System:System \
|
||||
| recfmt "${gamemenutmpl}"
|
||||
read -p "Number> " id
|
||||
case $id in
|
||||
"" | "b" | "B" | "x" | "X" | "q" | "Q")
|
||||
update_menu;;
|
||||
*)
|
||||
update $id;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
|
||||
function search_updates () {
|
||||
read -p "Query> " q
|
||||
recsel $db -t Game -i -q "${q}" | recfmt "${gamemenutmpl}"
|
||||
read -p "Number> " id
|
||||
case id in
|
||||
"" | "b" | "B" | "x" | "X" | "q" | "Q")
|
||||
update_menu;;
|
||||
*)
|
||||
update $id;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
|
||||
function recent_games () {
|
||||
count=`recsel -t Game $db -c`
|
||||
recent="$((count - 7))"
|
||||
recsel $db -t Game -e "Id > ${recent}" | recfmt "${gamemenutmpl}"
|
||||
read -p "Number> " id
|
||||
case $id in
|
||||
"" | "b" | "B" | "x" | "X" | "q" | "Q")
|
||||
edit_menu;;
|
||||
*)
|
||||
edit_game $id;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
|
||||
function search_games () {
|
||||
read -p "Query> " q
|
||||
recsel $db -t Game -i -q "${q}" | recfmt "${gamemenutmpl}"
|
||||
read -p "Number> " id
|
||||
case id in
|
||||
"" | "b" | "B" | "x" | "X" | "q" | "Q")
|
||||
edit_menu;;
|
||||
*)
|
||||
edit_game $id;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
|
||||
function update_menu () {
|
||||
cat<<EOF
|
||||
|
||||
== Find Game To Update ==
|
||||
1. [R]ecent Games
|
||||
2. [S]earch
|
||||
3. [M]ain menu
|
||||
EOF
|
||||
read -p "> " menu
|
||||
|
||||
case "$menu" in
|
||||
1 | "r" | "R")
|
||||
recent_updates;;
|
||||
2 | "s" | "S")
|
||||
search_updates;;
|
||||
3 | "m" | "M" | "q" | "Q" | "b" | "B")
|
||||
main_menu;;
|
||||
*)
|
||||
echo "Select a number or letter from the menu";edit_menu;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
|
||||
function edit_menu () {
|
||||
cat<<EOF
|
||||
|
||||
== Edit Existing Game ==
|
||||
1. [R]ecent Games
|
||||
2. [S]earch
|
||||
3. [M]ain menu
|
||||
EOF
|
||||
read -p "> " menu
|
||||
|
||||
case "$menu" in
|
||||
1 | "r" | "R")
|
||||
recent_games;;
|
||||
2 | "s" | "S")
|
||||
search_games;;
|
||||
3 | "m" | "M" | "q" | "Q" | "b" | "B")
|
||||
main_menu;;
|
||||
*)
|
||||
echo "Select a number or letter from the menu";edit_menu;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
|
||||
function main () {
|
||||
main_menu
|
||||
|
||||
case "$selection" in
|
||||
1 | "u" | "U")
|
||||
update_menu;;
|
||||
2 | "n" | "N")
|
||||
new_game;;
|
||||
3 | "e" | "E")
|
||||
edit_menu;;
|
||||
4 | "x" | "X" | "q" | "Q")
|
||||
echo "Byeeee";;
|
||||
*)
|
||||
echo "Select a letter or number from the menu";;
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
main
|
|
@ -0,0 +1,30 @@
|
|||
#!/usr/bin/env sh
|
||||
database="db/games.rec"
|
||||
|
||||
feedtmpl='<item>
|
||||
<title>{{Game_System}} - {{Game_Module}}</title>
|
||||
<link>http://tilde.town/~dozens/gamelog/index.html#u{{Id}}</link>
|
||||
<pubDate>{{Created}}</pubDate>
|
||||
<description>
|
||||
<![CDATA[
|
||||
{{Text}}
|
||||
]]>
|
||||
</description>
|
||||
</item>
|
||||
'
|
||||
|
||||
|
||||
exec > dist/feed.xml
|
||||
cat<<EOF
|
||||
<rss version="2.0">
|
||||
<channel>
|
||||
<title>gamelog</title>
|
||||
<link>http://tilde.town/~dozens/gamelog/index.html</link>
|
||||
<description>all the games i play</description>
|
||||
<atom:link rel="self" type="application/rss+xml" href="http://tilde.town/~dozens/gamelog/feed.xml"/>
|
||||
EOF
|
||||
|
||||
|
||||
recsel -t Update -j Game $database | recfmt "$feedtmpl"
|
||||
echo '</channel></rss>'
|
||||
sed -i '' 's/&/and/g' dist/feed.xml
|
|
@ -0,0 +1,140 @@
|
|||
#!/bin/zsh
|
||||
database="db/games.rec"
|
||||
|
||||
|
||||
## BEGIN: TEMPLATES ##
|
||||
gameheadertmpl='<article>
|
||||
<h2 id={{Id}}>{{Module}} ({{System}}) <small><a href="#{{Id}}">#</a></small></h2>
|
||||
<p>{{Module}} is a game of {{System}} that I started playing on {{Started}} as a {{Role}}. It is a {{Format}} {{Length}} and is currently {{Status}}.</p>
|
||||
<p>Here is how it went!</p>
|
||||
'
|
||||
|
||||
updatetmpl='<h3 id="u{{Id}}">{{Created}} <small><a href="#u{{Id}}">#</a></small></h3>
|
||||
|
||||
{{Text}}
|
||||
'
|
||||
|
||||
updateupdatetmpl='<h3 id="u{{Id}}">{{Created}} {{Game_System}}: {{Game_Module}}<small><a href="#u{{Id}}">#</a></small></h3>
|
||||
|
||||
{{Text}}
|
||||
'
|
||||
|
||||
gamefootertmpl='<center>🎲🎲</center>
|
||||
</article>'
|
||||
|
||||
toctmpl='<li><a href="#{{Id}}">{{Module}} ({{System}})</a></li>'
|
||||
## END: TEMPLATES ##
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
BEGIN=$(
|
||||
cat<<EOF
|
||||
<html>
|
||||
<head>
|
||||
<title>The Most Interesting Thing That Happened To Me Today</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="alternate" type="application/rss+xml" href="rss.xml" title="dozens interesting microblog">
|
||||
<style>
|
||||
body {
|
||||
max-width: 80ch;
|
||||
margin: 0 auto;
|
||||
padding: 3rem 1rem;
|
||||
}
|
||||
h2 {
|
||||
border-bottom: solid 1px black;
|
||||
margin-top: 3rem;
|
||||
}
|
||||
h2, h3 {
|
||||
position: relative;
|
||||
}
|
||||
h2 a, h3 a {
|
||||
position: absolute;
|
||||
left: -1.2rem;
|
||||
text-decoration: none;
|
||||
opacity: 0.2;
|
||||
}
|
||||
h2 a {
|
||||
line-height: 1.4;
|
||||
}
|
||||
h3 a {
|
||||
line-height: 1.2;
|
||||
}
|
||||
h2:hover a, h3:hover a {
|
||||
opacity: 1;
|
||||
}
|
||||
@media (prefers-color-scheme: dark) {
|
||||
html, body {
|
||||
background: #15191d;
|
||||
color: #ddd;
|
||||
}
|
||||
body a, body a:visited {
|
||||
color: #809fff;
|
||||
}
|
||||
h2 {
|
||||
border-bottom: solid 1px white;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<h1>Gamelogs</h1>
|
||||
<p>All the roleplaying games I\'ve played.</p>
|
||||
<li>src: <a href="https://git.tilde.town/dozens/gamelog">https://git.tilde.town/dozens/gamelog</a></li>
|
||||
<li>dozens webring: <a href="https://tilde.town/%7Edozens/webring/dozens/index.html?name=gamelog&dir=prev">previous</a> <a href="https://tilde.town/%7Edozens/webring/dozens/index.html">index</a> <a href="https://tilde.town/%7Edozens/webring/dozens/index.html?name=gamelog&dir=next">next</a></li>
|
||||
<li><a href="feed.xml">rss</a></li>
|
||||
<p>
|
||||
View by:
|
||||
<a href="index.html">Game</a>
|
||||
<a href="updates.html">Update</a>
|
||||
</p>
|
||||
</header>
|
||||
<main>
|
||||
EOF
|
||||
)
|
||||
|
||||
|
||||
END=$(
|
||||
cat<<'END-OF-END'
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
END-OF-END
|
||||
)
|
||||
|
||||
|
||||
|
||||
## INDEX (View by Game) ##
|
||||
exec > dist/index.html
|
||||
echo $BEGIN
|
||||
echo '<h2>Contents</h2>'
|
||||
recsel $database -t Game | recfmt "$toctmpl"
|
||||
allgames=(`recsel $database -t Game -P Id -C | tr '\n' ' '`)
|
||||
for idx in "${allgames[@]}"
|
||||
do
|
||||
recsel $database -t Game -e "Id = $idx" \
|
||||
| recfmt "$gameheadertmpl"
|
||||
recsel $database -t Update -e "Game = $idx" \
|
||||
| recfmt "$updatetmpl" | markdown
|
||||
echo $gamefootertmpl
|
||||
done
|
||||
echo $END
|
||||
|
||||
|
||||
## UPDATE (View by Update) ##
|
||||
exec > dist/updates.html
|
||||
echo $BEGIN
|
||||
recsel db/games.rec -t Update -j Game \
|
||||
| awk '
|
||||
BEGIN { RS="";FS="\n" }
|
||||
{ rec[NR] = $0 }
|
||||
END {
|
||||
for (i=length(rec);i>0;i--) {
|
||||
print rec[i]; print "";
|
||||
}
|
||||
}' \
|
||||
| recfmt "$updateupdatetmpl" \
|
||||
| markdown
|
||||
echo $END
|
1387
db/games.rec
1387
db/games.rec
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,30 @@
|
|||
%rec: feed
|
||||
%doc: metadata about a recfeed
|
||||
%type: updated date
|
||||
%type: author,title,summary,location line
|
||||
%mandatory: author title location updated
|
||||
%allowed: author title summary location updated contact
|
||||
|
||||
author: dozens <dozens@tilde.team>
|
||||
title: gamelog
|
||||
summary: all the games i play
|
||||
location: /Users/cb/blogs/gamelogs/dist/feed.rec
|
||||
updated: 2024-02-17T21:48:34-07:00
|
||||
|
||||
%rec: item
|
||||
%doc: an item belonging to a recfeed
|
||||
%key: id
|
||||
%type: id int
|
||||
%auto: id
|
||||
%type: title,summary,location line
|
||||
%type: published,updated date
|
||||
%mandatory: id title location published
|
||||
%allowed: id title location published summary updated
|
||||
|
||||
id: 0
|
||||
title: my first blog post
|
||||
summary: announcing my new blog
|
||||
location: /Users/cb/blogs/gamelogs/db/games.rec
|
||||
published: 2024-04-07T20:14:10-06:00
|
||||
updated: 2024-04-07T20:14:10-06:00
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,817 @@
|
|||
<html> <head> <title>The Most Interesting Thing That Happened To Me Today</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="alternate" type="application/rss+xml" href="rss.xml" title="dozens interesting microblog"> <style> body { max-width: 80ch; margin: 0 auto; padding: 3rem 1rem; } h2 { border-bottom: solid 1px black; margin-top: 3rem; } h2, h3 { position: relative; } h2 a, h3 a { position: absolute; left: -1.2rem; text-decoration: none; opacity: 0.2; } h2 a { line-height: 1.4; } h3 a { line-height: 1.2; } h2:hover a, h3:hover a { opacity: 1; } @media (prefers-color-scheme: dark) { html, body { background: #15191d; color: #ddd; } body a, body a:visited { color: #809fff; } h2 { border-bottom: solid 1px white; } } </style> </head> <body> <header> <h1>Gamelogs</h1> <p>All the roleplaying games I\'ve played.</p> <li>src: <a href="https://git.tilde.town/dozens/gamelog">https://git.tilde.town/dozens/gamelog</a></li> <li>dozens webring: <a href="https://tilde.town/%7Edozens/webring/dozens/index.html?name=gamelog&dir=prev">previous</a> <a href="https://tilde.town/%7Edozens/webring/dozens/index.html">index</a> <a href="https://tilde.town/%7Edozens/webring/dozens/index.html?name=gamelog&dir=next">next</a></li> <li><a href="feed.xml">rss</a></li> <p> View by: <a href="index.html">Game</a> <a href="updates.html">Update</a> </p> </header> <main>
|
||||
<h3 id="u94">2024-05-28 Girl By Moonlight: An Empty Dream<small><a href="#u94">#</a></small></h3>
|
||||
|
||||
|
||||
<p>nif reveals that she is actually filthy rich because of her parents immoral and exploitive business practices. cary feels outrage at inequity. cali gets her impulsive chop fixed up into a cute pixie cut and goes on a date with camryn, and help janus heal up after the fight with the architect. cary works both of her jobs and learns that sensai gutierez might have something to teach her after all. janus decides to step down as captain of the robotics club but spendiferous talks her out of it. cary discovers that the experiments in the lab predate the incursion of the dreaming by quite a bit, and that the final subject of the experiments was albert storm. nif reveals that she can use her family connections to set up a meeting with storm.</p>
|
||||
|
||||
<h3 id="u93">2024-05-17 D&D: Tales of Athas<small><a href="#u93">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Having captured both raider scout ships, the gang returns to the port of Thanalus and offloads the prisoners and slaves so they can be given medical care. The thri-kreen caravan shows up. They build out a crew for it and Thalia’s Vengence. Jolly has a brief moment of communing with the thri-kreen hivemind. The ships set sail and discover Black Mountain, a legendary floating island that crawls slowly across the silt sea. They are able to dock in the pirates cove, and make their way up to the prisoners floor.</p>
|
||||
|
||||
<h3 id="u92">2024-04-23 Girl By Moonlight: An Empty Dream<small><a href="#u92">#</a></small></h3>
|
||||
|
||||
|
||||
<p>The gang splits up. Callie and Janus head over to the abandoned science building, and Cary and Nif head down to the beach to check out the anomaly.At the shore, a giant sea monster showed up along with Black Tail. Concordia single handedly attacked and soothed the monster in equal measures. Meanwhile Lykos talked with Black Tail the “new Lykos.” Back at the abandoned science building, Max aka The Architect is pretty much handing Janus and Callie’s butts to them. Callie stepped in and saved Janus from taking extreme harm. At that moment, Janus traveled back in time to give Callie the pendant that Verdade gave Cronus in the future. This allows Callie in the present moment to finally transcend and become Verdade. When Janus returns, Verdade grabs her and flies them both out of there and goes to meet up with Nif and Cary at the beach. They arrive in time to see Jordan Flowers, student linguist who has a pet crocopug, help Concordia turn the monster docile. Jordan tells the gang she knows where there are portals to the Dreaming; she has been working alone up till now trying to keep them closed so no monsters come through.</p>
|
||||
|
||||
<h3 id="u91">2024-05-03 D&D: Tales of Athas<small><a href="#u91">#</a></small></h3>
|
||||
|
||||
|
||||
<p>A couple of reavers dismembered Henry but Diablo kept him alive. Jolly put on her Ring of Silt Striding and ran across the sea to the boat and severed their anchoring rope. Lucia catapulted a bomb into the open arms of one of the humans on board the first ship, totally ruining his day. That ship got away. The second ship started to slip away but then Diablo cast Magic Circle on it. The ship remained moving while its inhabitants remained imobile, resulting in a terrible crushing. One of the three muls fell overboard and drowned, sending Jolly into a dark spiral. She tried to lash out, but found no outlet for her fury. Only more victims. Docca and the remaing mul who can speak comforted her and talked her down.</p>
|
||||
|
||||
<h3 id="u90">2024-04-19 D&D: Tales of Athas<small><a href="#u90">#</a></small></h3>
|
||||
|
||||
|
||||
<p>The gang showed up after being missing for a year to find that Thanalas has moved on in their abscence. Raiders attacked the town. (We seriously spent about an hour just openeng a door. Not much got accomplished.)</p>
|
||||
|
||||
<h3 id="u89">2024-04-09 Girl By Moonlight: An Empty Dream<small><a href="#u89">#</a></small></h3>
|
||||
|
||||
|
||||
<p>So following up last session, Cary is battered and bruised and passes out in class during an exam because they didn’t take care of themself. The paramedics carry them off to the emergency room, and the whole gang and the whole extended family all flocks to their side. There are some strong hints at Verdade almost crossing over to this side via Calliope. Nif tries to have some sexy times with Helios but keeps getting interrupted while trying to “plant the carrot.” Janus discovers that her mentor Moonflower aka Dr. Tabitha Day was instrumental in founding Our Lady Of The Atom (an organization created to criticize zealotry and idolatry in the science community) back in the 70s with Albert Storm of Storm Industries (evil!) and the mysterious Agatha Vogel. Vogel suffered some kind of accident back in the day. Tabitha knows where she is, but isn’t telling. And also Vogel is somehow connected to Kai and the “conduit” that it uses to connect to the Dreaming. The gang decides to split up, with Nif and Cary going to the bay to investigate the anomaly that is turning people into airplanes; and Janus and Cali are going to the abandoned and now mostly demolished physics building that seems to be at the epicenter of the re-emerging Our Lady of the Atom.</p>
|
||||
|
||||
<h3 id="u88">2024-04-03 Delta Green: Last Things Last<small><a href="#u88">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Fun sesh! We snooped around Baughman’s cabin and found some clues and stuff that lead us to zombie Marlene trapped in a buried tank in the backyard. Possum wanted to free her and help her. Parkour wanted to torch her right away, with Parliament joining his side. Persimmon was neutral until he found out that she is undead. Possum lied to the group and told them that the handler gave them extra time. Possum and Persimmon went to go study some files, and Parkour is probably going to torch Marlene.</p>
|
||||
|
||||
<h3 id="u87">2024-03-26 Girl By Moonlight: An Empty Dream<small><a href="#u87">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Following up our last session, we dive straight into the Mission phase and battle a weird airplane creature that when it stands up is a four stories tall kaiju. Everybody starts doing their thing: Concordia starts singing to soothe it, Lykos starts punching furiously, Calliope starts trying to lead the creature away from the citizens with coffee shop pastries, and Cronos does science and time manipulation to find weaknesses and protect people. My most favorite thing that Cronos has managed to pull off to date: creating a great time travel paradox, Janus appears in the cockpit of the creature and starts wrestling with the pilot even while Cronos is battling the creature with the rest of the gang. The creature is eventually subdued and de-morphs to reveal a passed out woman in military fatigues. We take her to the abandoned trailer in the back of the Arbys parking lot. She turns out to be Captain Alice Ramos. Several pilots have gone missing over the bay, coinciding with the appearance of more ‘creatures’. Somehow Storm Industries is involved. (Founded in the 1980s by Santa Marta alumni Albert Storm.) In the meantime we find out that during the battle, there was some kind of explosion at the old physics building, the site of the re-emergence of Our Lady of the Atom. Good sesh! Felt like the Mystery is starting to pull us deeper into its embrace.</p>
|
||||
|
||||
<h3 id="u86">2024-03-28 Delta Green: Last Things Last<small><a href="#u86">#</a></small></h3>
|
||||
|
||||
|
||||
<p>session one of D-Green. We are the lowly middling P Cell, assembled to investigate the untimely death of agent Baughman and determine if any leak needs to be covered up or damage control needs to be done. I am playing Tuesday Pryor, paranormal investigator, cryptozoologist, and hit podcast host. codename posssum. (after one of her favorite cryptids, the Appomattox Possum; a giant bipedal possum.) didn’t get very far, but we examined Baughman’s house, found only a few minorly creepy things, and then drove out to his cabin in the woods, where things are about to get spooky.</p>
|
||||
|
||||
<h3 id="u85">2024-03-23 D&D: Tales of Athas<small><a href="#u85">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Lyrmwithmas Holiday Special surprise: K and Chuck swapped places, with C behind the screen for the first time ever and K at the players table! Super fun, C did a good job. We all got transported to an illusion puzzle of Lucia’s childhood castle home. Everything was layers of mirrors and reflections. We got to hang out with Blane / Gavin (K’s character) and everybody got a shiny platter. We eventually found the key to the tower and got back home but not before a final trick / temptation of the castle: it showed us the lush verdant forests of Guthie, Darragh’s home. She chose to go through the portal and we thought we were going to say goodbye to her forever, but at the last second she realized it was another illusion, and Blane roped her out of there and we portaled back home at the last second. Lyrmwithmas was a huge celebration as always. Dragon noodles, cake, brownies, decorations, eggs, candy, gifts, costumes. Already can’t wait for next year. Hail Lyrmwith!</p>
|
||||
|
||||
<h3 id="u84">2024-03-19 Die 100 Times: Dark Conspiracy<small><a href="#u84">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Kicking off a new play-by-post game with Sean and the boys. Kind of playing the same character that I’m playing in this new Delta Green game. Die A Hundred Times is probably the smallest working d100 ruleset for BRP/COC style games: https://alexandre-kobayashi.itch.io/die-a-hundred-times</p>
|
||||
|
||||
<h3 id="u83">2024-03-20 Delta Green: Last Things Last<small><a href="#u83">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Session zero-ish. Did some character building. I made Tuesday Pryor, paranormal investigator, cryptozoologist, and podcast host.</p>
|
||||
|
||||
<h3 id="u82">2024-03-19 Girl By Moonlight: An Empty Dream<small><a href="#u82">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Another fun session of Girl By Moonlight. Long overdue. We only made it through the obligation and downtime phases, which means that next session will start with the mission. This group is aaaallll about the feels. Lots of vulnerability, acceptance, disappointment, loneliness, worry, love, fear etc etc etc. Janus joined a bridge tournament at the local senior rec center, accepted the tutelage of Esther Lastnameunknown, and found new rivals in the team of Charlotte Lastnameunknown (no relation) + Ruth Cogwell, Splendiferous’s auntie (shakes fist angrily and curses). Nif had to deal with the fallout of Helios being touched by the Dreaming; he started having vision of Atompunk Virgin Mary, which led her to discover the nascent revival of the enigmatic Our Lady of the Atom. Nif also solicited Janus for help building an ambulatory robot garden for easily moving her carrots from the lab to outdoors, a task to which she immediately fully devoted herself, reluctantly enlisting the help of Splendiferous Cogwell. Cary forgot about trying to be a human and picked a fight with Sensei Gutierez, who had confronted her about stealing a bunch of mats and weapons from the student center. They agreed to a fight, and she soundly beat him, and then agreed to work with him teaching the kindergartners in the community class. Caliope spent some time getting emotionally abused by her mother, and then trained for a while with Ky, who revealed that Verdade (the Dreaming entity that chose Cali as their avatar, but with whom they have so far been unable to fuse) was the leader of the Dream Rebellion, and was maimed in battle. Cali considered the fact that they are both crippled, and considered her own inner Hero.</p>
|
||||
|
||||
<h3 id="u81">2024-03-08 D&D: Tales of Athas<small><a href="#u81">#</a></small></h3>
|
||||
|
||||
|
||||
<p>fun sesh! we ended up spending a lot of time playing with the mimic / desk in martok’s tent. first we got a whole bunch of opium and laced some meat jerky, and fed it to the mimic with mage hand. then lucia illusioned herself to look and sound like martok and put on a bunch of his clothes to appear friendly to the mimic. then she pulled her arm into her sleeve and Dakka cast mage hand to act as her hand as she pilfered. It worked pretty good! we found some magic rings and i got a half-working magic dagger, and we found all the papers we were looking for, and also a little more than we bargained for: i found an assassin’s contract for members of the Veiled Alliance, including myself! a bunch of names were already crossed off, and the payment was made to “Darro.” We also found a map that lead us back to Valtor’s and, after solving a glowing book puzzle, into his secret sanctum. we found a mysterious book with Lucia’s dad’s name on it, and when she picked it up, we all got Myst sucked into the book!</p>
|
||||
|
||||
<h3 id="u80">2024-02-23 D&D: Tales of Athas<small><a href="#u80">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Great sesh. When we last left off, Jolly and Lucia were exploring Martok’s tent. It was heavily booby trapped, and is also the place where we saw a vision of us all dying while at the ziggurat. Lucia got disappeared, and Jolly went back to get to get backup. Darragh and Diablo stood watch outside while Jolly and Dakka went back in and got attacked by the grasping vines of an Oota Root. Jolly and Dakka got entangled and started slashing at it. Diablo came in and helped with some heals, and also stabbed at the root with some arrows like a mean chopstick stabbing thing. Darragh ran around the tent, climbed up on top, slashed the canvas, and then slid down like she was zip lining, or like she was in a swashbuckling pirate movie. She comes flying in and kicks the jar the root is in, knocking it over and exposing the root ball. We start hacking on the roots. Meanwhile, Lucia is trapped in an illusion by the floating brain in the jar. She sees all our dead bodies, and faint shimmers of the real world. She tries casting burning hands at one of the shimmers and catches Dakka’s leg on fire. Finally she figures out what’s going on, and shatters the brain jar, ending the illusion. When she reappears in the real world, we have the root on the ropes, and she casts incandescent form and smother burns the root. The brain bonds with Diablo, who convinces everybody not to squish it. We keep it in a pickle jar and it is our friend now. Its name is Martin. We drew a couple of different faces on the bucket so Martin can express himself. So after all of that, the documents we’re looking for are still inside this large, ornate desk. Martin tells us that the desk is a mimic. We make a plan to sedate the mimic by feeding it all of the drugs in Martok’s opium den. Then we’ll get the stuff and get out. Easy right?</p>
|
||||
|
||||
<h3 id="u5">2023-02-23 D&D: Spelljammer<small><a href="#u5">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Started a new game for the Beekey Blinders. Supposed to be just a one-shot of spelljammer, but they liked it a lot and wanted to just keep playing this. So now this is what we’re doing!</p>
|
||||
|
||||
<h3 id="u78">2024-02-06 Girl By Moonlight: An Empty Dream<small><a href="#u78">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Another great, heart-wrenching session of magic girls!</p>
|
||||
|
||||
<p>On the one hand, I know I’m still in the honeymoon phase with this game. (It’s only our second session!) But on the other hand, I think it may really be that good. Players are really starting to settle into their characters and really inhabit their personalities. Calliope is wracked with doubt and insecurity. Nif is trying way too hard to keep everybody together and happy. Janus is about as high strung as you can get. And Cary is an arrogant alien. And it all just works. Everybody gels together really well, and we’re a really weird, very loving little family.</p>
|
||||
|
||||
<p>Last night, Nif and Cal got to go visit Poppy, Nif’s stand-in mother, to get some heirloom seeds for Nif’s experiments. Janus got some guidance from Moonflower about her troubling visions. Cary “liberated” a bunch of mats and weapons from the student center martial arts club to help Cal build out the practice room in the hideout.</p>
|
||||
|
||||
<p>And then Corvus, Cary’s former best friend from the dreaming, came and turned our friends into a bunch of crow people and started wrecking stuff. Cary and Corvus basically had one prolonged tearjerking breakup scene throughout the encounter. Nif sang the entire time. I did some timey wimey bullshit and yanked Calliope from the timeline when the crowpeople started closing in on them, and then jumped myself out of harms way and behind Corvus so I could tabletop behind their legs and Cary could tackle them.</p>
|
||||
|
||||
<p>In the end, Corvus left us because of the power of love, and fled. But, I think, did not forgive Cary for leaving. And everybody cried. Hats off to Mal for really just twisting the knife every session so far.</p>
|
||||
|
||||
<h3 id="u79">2024-02-03 Troika!: Fronds of Benevolence<small><a href="#u79">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Not going to be able update this every time I play a “session” because it’s play by post, and there aren’t really sessions. But I did make the first post to the news server. I’ll make an update here every couple of posts to keep track of things. Maybe every couple of weeks. Hope this works out! It is already a fun experiment in using new (ha) technologies for roleplaying!</p>
|
||||
|
||||
<h3 id="u77">Sat, 02 Feb 2024 09:51:47 -0700 D&D: Tales of Athas<small><a href="#u77">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Good sesh. Largely dealt with The Aftermath of the previous session. Jolly (me) and Diablo spent a lot of time just trying to find everybody and get caught up on what happened.</p>
|
||||
|
||||
<p>We also spent a lot of time digging in the rubble trying to save some of the victims of the bombing + collapse. Diablo was dead set on finding a child to save because that would be the most heroic thing. The first whimpers and faint cries we investigated turned out to be an old man whose legs were pinned under a beam. Diablo was greatly disappointed. We tried to free the old man by lifting the beam, but we are both weak and injured, so we accidentally drop the beam on the old man’s chest, crushing him and killing him instantly. Oops! I try to replace the rock that had concealed him originally, but I am too weak and cannot hide the body. So it remains shamefully on display for all to see. We investigate another cry and find another old man. We don’t kill this one, and Diablo perfunctorily stabilizes him and sets him aside and keeps digging for a child. I leave at this point because I am too weak even at my best to lift rocks. I go to find Dakka, because I heard his voice coming from the announcer’s booth, and he’s the only party member whose whereabouts I have a lead on.</p>
|
||||
|
||||
<p>Diablo finally finds a child in the rubble and cannot wait to save it so that everybody can see how heroic he is. He cradles the child in his arms and walks out to the center of the arena so everybody can see. The Double Lunar Eclipse ends just at the right moment to bathe him in otherworldly light. “Look! I saved it! I saved the child.”</p>
|
||||
|
||||
<p>The child lightly protests.</p>
|
||||
|
||||
<p>“Shhh. Hush, I’m your mommy now.”</p>
|
||||
|
||||
<p>“Have you seen my grandpa? His legs were crushed under a beam. He’s all I have left.”</p>
|
||||
|
||||
<p>“No,” Diablo says, not even considering telling the nameless, genderless child that he had just crushed and killed its only living relative. “Hush. I am saving you.”</p>
|
||||
|
||||
<p>Having delivered the child to the center of the arena for maximum views and likes, Diablo sets the child down and leaves to go find the rest of the party.</p>
|
||||
|
||||
<p>Lucia had gone back to confront Kale, head of the ghostflame syndicate. I think they each kind of were trying to shake the other down. So Lucia went Flame On and turned into a fire demon and maimed one of his guards. And then when Dakka showed up as backup, Kale went Panic Mode and tried to set off one of the bombs and go kamikaze, taking out himself and everybody else, including the innocent child Broccolini. Lucia was able to lunge forward and burning hands the bomb and melt it at the very last second, heroically saving everybody at the very last second. And then she coup de grâce him with what is now considered her signature move: a small stone magically catapulted through the skull.</p>
|
||||
|
||||
<p>So everybody finally gets back together for the first time in probably a couple of hours in game, but what is also probably over a month out of game. We have killed all of the major power players in town: Martok the ruthless despot, Valtor the violent traditionalist, and Kale the head of the evil and chaotic Ghostflame Syndicate.</p>
|
||||
|
||||
<p>In the aftermath, there is a little bit of chaos and looting in the streets. So we assemble a few parties of thri-kreen, the surviving gladiators, and the loyal mull to go stamp out the remaining loyalists and calm everybody down. Everybody else gets assigned to rescue efforts in the arena.</p>
|
||||
|
||||
<p>We put our support behind Henrietta, a completely random NPC, and her plan to create a new democratic ruling council, and then we go to Martok’s manor in the town square to get the city charter so that the new council has the authority to govern the city.</p>
|
||||
|
||||
<p>Martok’s manor is the place we saw in one of our collective visions. The place where some of us are killed by the place’s traps and wards. Jolly cautiously enters to seek out and disable any physical or mechanical traps, followed closely by Lucia who is on the look out for any magical traps she can disarm. We sidestep several obvious traps. And then Lucia sneaks off by herself to check out a room, and is disappeared by some kind of phantasm.</p>
|
||||
|
||||
<h3 id="u1">Wed, 31 Jan 2024 22:27:31 -0700 Girl By Moonlight: An Empty Dream<small><a href="#u1">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Session 1 of <em>An Empty Dream</em> was magnificent! Got to meet Splendiferous Cogwell and beat him soundly in a robotics competition. And then there was a great reveal toward the end with him turning into Splendiferous Maximus! Then we defeated him with Feelings and everybody cried. It was th best. Can’t wait for more sessions.</p>
|
||||
|
||||
<h3 id="u8">2024-01-27 D&D: Tales of Athas<small><a href="#u8">#</a></small></h3>
|
||||
|
||||
|
||||
<p>So I just realized a couple of things. 1) it’s been almost 1.25 years since we started this campaign already!! and, 2) the way this gamelog—which, according to my git log, I’ve been keeping since 2021-12-23—is set up, I don’t really have any way to keep track of individual sessions of an ongoing campaign in a meaningful way. Besides little updates to existing entries such as this one. That is, if I want to run the numbers and see how many individual sessions I have played over the course of a year, I don’t really have any easy way to do that. I shall ponder this.</p>
|
||||
|
||||
<p>Anyway, huge session last night. The culimation of our last year of playing. Let me catch you up:</p>
|
||||
|
||||
<p>The city-state of Thanalas is ruled by a cruel despot. Martok, a cannibal halfling with psionic powers in a world of little to no magic. And we’re trying to overthrow him and give the city back to the people. So we rallied a bunch of townies to our cause. And we waited until the night of the Lunar Veil, this big parade + festival celebrating the rare full double eclipse of the sun by the planet’s two moons, to stage the coup. BUT some terrorists, the Ghostflame Syndicate, planted a bunch of bombs in the parade floats to wreck the coup and damage the cause. But we found them and defused them. And meanwhile a couple of us got caught in Martok’s private viewing box in the gladiatorial arena. (We had just executed on a plan to assassinate Martok by spiking his drink with the one half of the explosive components of the Ghostflame’s bombs, and lacing his food with the other half. So after he eats and drinks them… BIO BOMB.) And the rest of us have just found out that our pal Valtor, the hugely popular and renowned gladiator, is in cahoots with the Ghostflames and got them access to the parade and the coliseum to plant all the bombs.</p>
|
||||
|
||||
<p>And that’s where we are now.</p>
|
||||
|
||||
<p>A whole bunch of stuff happens in parallel. Dakka gets roped into working the announcer booth for the gladiatorial games, pulling off a bunch of Vicious Mockery and Bardic Inspiration through the giant announcer’s horn. At one point, our man Henry shows up in the booth and is like, Hey boss what’s this? And shows Dakka one of the bombs. Turns out there are dozens of them planted in the stands. Which are packed with people. Dakka announces a competition, tells everybody to look under their seats and if they find a little hourglass shaped thing, CAREFULLY bring it to the announcer’s booth WITHOUT letting the sands in the two halves mix for the chance to win a Fabulous Prize! This is maybe the most dangerous thing Dakka has ever done.</p>
|
||||
|
||||
<p>Meanwhile, Lucia is running around running all kinds of stuff behind the scenes. Kale, head of the Ghostflames, summons her for an audience and asks her to kill Martok. She’s like, gosh that’s TOTALLY not already part of our plans and is totally inconvenient, gosh. But she accepts. Then Zara—a old pal of Jolly’s from the Veiled Alliance freedom fighter group—shows up in the crowd and approaches Lucia. She tells her the thri-kreen are IN the arena. (We have a kinship bond with the thri-kreen after rescuing their eggs from the ankheg.) They have buried themselves in the sand and will wait for our signal to leap out and attack. When she hears the “competition” announced over the horn, she runs up to the announcer’s booth, teaches our man Henry how to disarm the bombs, and sends him out to find as many as possible. Eventually, he and his boys disarm about a dozen. And about a dozen more are turned into the booth for prizes.</p>
|
||||
|
||||
<p>Meanwhile, Darragh, our champion, is prepping for the final event. It’s her versus Valtor. She delivers a pep talk to some of the civilians who have been conscripted / forced into being gladiators. (After we ourselves escaped from the arena, Martok captured a bunch of commoners and forced them to fight in our place.) They are being forced to fight seasoned guards and gladiators in a re-enactment (to the death!) of the ancient battle at the temple, where the execution of Rajat shattered the sun and drained magic from the world, an event to which we are mystically bound and have had visions of. Darragh’s pep talk, and her bribing one of the guards to join the commoner’s side, lead to the commoners narrowly defeating the guards in a dramatic and very unlikely upset. Then it’s finally time for the main event.</p>
|
||||
|
||||
<p>Jolly and Diablo have been entertaining Martok, his personal bodyguard Grak, and a couple of guards this whole time in Martok’s personal box. A lot of deception and sleight of hand and luck have made this go fairly well. He noshes on the laced grubs. And as the final event starts, he cracks open the bottle of his finest wine. Which is the drink spiked with the catalyst. He toasts, and downs the drink, and he fucking EXPLODES. Jolly and Diablo dive behind the thick oak bathroom door and avoid most of the blast. They’re stuck in there now though, so they escape down the poop chute and end up outside the arena.</p>
|
||||
|
||||
<p>Simultaneously, Darragh and Valtor square off out on the arena. A dozen guards encircle them, and behind each of them is chained a giant ten foot tall scorpion to force them into close quarters. Darragh immediately gives the signal, and the sands rumble, and over a dozen thri-kreen warriors emerge from the sand and start wrecking the gladiators. Darragh easily dispatches Valtor and when she grabs his scimitar it burns her hand and sears her mind.</p>
|
||||
|
||||
<p>When Martok’s booth explodes, Grak the half-giant (with whom we have a lot of personal beef) is thrown from the booth, through the air, and lands on the arena floor far below. He survives, but just barely. Only for Lucia in passing to magically catapult a small stone through his skull.</p>
|
||||
|
||||
<p>An over-excited fan shakes her hourglass in the stands, and blows several rows of seats to kingdom come, and also blows a hole in the side of the arena. Disastrous. But also the only unintended explosion after recovering two dozen something bombs?</p>
|
||||
|
||||
<p>And that’s where we ended. Now you’re caught up on a little over a year of D&D.</p>
|
||||
|
||||
<h3 id="u0">Thu, 04 Jan 2024 11:01:42 -0700 Girl By Moonlight: An Empty Dream<small><a href="#u0">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Started Session 0 of GBML. Mal is GMing. And I’m playing alongside tehfraga, el, deafgamer, and chantel. We did a whole lot of worldbuilding, session planning, and character building. I was pretty excited to play this game beforehand, but I gotta say I’m REALLY excited to play it now! This game is part of the Lantern Light Adventures game network. So it’s going to be streamed on twitch, and then published on youtube and also as a podcast. It’s my first time playing anything quite so public, so I’m a little bit nervous about it. But also looking forward to it. Wheeeee! <a href="https://www.twitch.tv/lanternlightadventures">https://www.twitch.tv/lanternlightadventures</a></p>
|
||||
|
||||
<h3 id="u6">2024-01-03 D&D: Spelljammer<small><a href="#u6">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Completed this game a couple months ago. It was heckin fun! The gang hasn’t gotten together for a game since then though. sadface :(</p>
|
||||
|
||||
<h3 id="u2">Tue, 19 Dec 2023 09:25:41 -0700 Fighting Fantasy Hack: Twilight Dungeon of the Void Magus<small><a href="#u2">#</a></small></h3>
|
||||
|
||||
|
||||
<p>This was a <abbr title="Lunch Time Live Text">LTLT</abbr> <abbr title="One Hour One Shot">OHOH</abbr> with Sean and Florik. I played Roderik the Frail (because I rolled abysmally low Stamina), a librarian and amateur entomologist who wants to make a quick buck and to capture some rare insects. Florik was Lonk the Lazy Jewelry Store Guard, who just wants to go fishing. I don’t actually know what system Sean was running, but it had the familiar Skill Stamina Luck format of Fighting Fantasy, which I know he loves. Banter between Roderik and Lonk was jolly good. Brain and muscle. We explored the dungeon, avoided the Invisible Apes, captured a blind salamander, found a secret passage and a hoard of jewels, and fought off a <em>dwelf</em> or dwarf-elf. (It was “a bearded elf” that we rp-ed into being a dwarf / elf hybrid, yee-haw!) 10/10 would play again!</p>
|
||||
|
||||
<h3 id="u3">Thu, 14 Dec 2023 12:53:50 -0700 Halberts (Fantasy Traveler): Ultraviolet Grasslands<small><a href="#u3">#</a></small></h3>
|
||||
|
||||
|
||||
<p>finally got to play with kensanata and the boys! trading, exploring, buying goods, negotiating prices, hiring guards = economics simulator. i actually installed ledger-cli to keep track of accounts and inventory. played for 2 hours and at the end of it, we have a spreadsheet and a loan and a trade route. and a guard. i am playing Bagagalio Quatro! which is a name i got from the UVG name generator. i guess they are from fantasy italy. he is an exiled bluelander and cultist of the blue god, a rapscallion and magician. first time playing any kind of traveler. character creation is really interesting with the past careers and stuff. <a href="https://campaignwiki.org/wiki/MontagInZ%c3%bcrich/Ultraviolet_Grasslands">https://campaignwiki.org/wiki/MontagInZ%c3%bcrich/Ultraviolet_Grasslands</a></p>
|
||||
|
||||
<h3 id="u62">2023-08-30 Smithy of Sacrilege: Anvil (Homebrew)<small><a href="#u62">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Moving this to dead. Haven’t had any movement on it in quite some time.</p>
|
||||
|
||||
<h3 id="u48">2023-08-30 D&D 5e: Zigs and Dragons<small><a href="#u48">#</a></small></h3>
|
||||
|
||||
|
||||
<p> Moving this to dead. Game fizzled out after some tensions at the table escalated.</p>
|
||||
|
||||
<h3 id="u4">Fri, 04 Aug 2023 21:53:12 -0600 D&D: Betrayal at House on the Hill<small><a href="#u4">#</a></small></h3>
|
||||
|
||||
|
||||
<p>what is up this is a oneshot game that i played over two sessions with a bunch of coworkers from the office. connor ran it and erin was there and those were the only two i knew from our holiday oneshot and everybody else was new. we were all potential heirs to lady longbottom’s fortune and all we had to do was survive one night in her weird spooky haunted house. we used betrayal at the house on haunted hill to procedurally randomly generate the house. that part was pretty fun. it made it feel like a classic traditional dungeon crawl which is a style of play with which i actually have no real experience. we just showed up, gelled as a party, and started exploring. i played professor plum—that is, christopher lloyd from the movie clue—a bumbling wild magic sorcerer which is one of my favorite classes to bring to a level 1 game. and i was a firbolg silverquill initiate. didn’t get up to too many hijinks but did get to wild magic surge twice, turning myself blue and casting confusion on myself. dm brought the optional sanity rules from the dmg. consequently i lost control of my character a couple times, which resulted in me downing one of my party. he turned out fine. i fell off the top of the tower not once but twice. and then the guy i downed fell off the tower and fell on me and downed me. what goes around comes around i guess!</p>
|
||||
|
||||
<h3 id="u59">2023-02-26 Quarrel & Fable: Newton Handle<small><a href="#u59">#</a></small></h3>
|
||||
|
||||
|
||||
<p> this game fizzled out. The second ADF Troika game I’ve played to do so! Too bad. I enjoyed the brief time that I got to create some McDonalds cosmology. Just for fun, here’s Gliftwirp expositing a little bit.</p>
|
||||
|
||||
<blockquote><p>Gliftwirp bites into a burger that he swiped from somewhere, closes his eyes, and sighs happily.
|
||||
“How grand that your falcon-headed god gave you his own sight as a boon! How grand that you can even know your god!”
|
||||
“Sadly, my god grants no boons and answers no prayers. It is a long story with which I shall not tire you okay fine if you insist.”
|
||||
He settles in to tell a story.
|
||||
“Long, long ago, my god (whose name I cannot say for reasons you will soon understand) was a member of high stature in the Court of the God King. And his best friend and closest confidante was the court jester, Rhahn Ald. But their friendship would end in tragedy! Just listen and you will know why.”
|
||||
“You see, Rhahn Ald, the trickster, had quietly and discreetly been stealing magical items from the king’s coffers, slowly, over the years, accumulating glamour that he used to increase his influence in the court, to weaken the God King’s mind and make him reliant on him. My god (whose name I cannot say) eventually found out and threatened to expose Rhahn Ald. So the mad jester framed his best friend, and easily convinced the God King of his guilt.”
|
||||
“So as punishment, everything was stolen from my god, including his name. The Court of the God King will only allow him to be referred to as the Evil Nemesis. (Bit dramatic don’t you think?) He also had his handsome physique stolen from him: he now inhabits the form of a large, four-armed, purple worm. And he had his home and all his land stolen from him: he now resides in a damp cave. Most cruelly, he had his intellect stolen: he remains just barely aware of what he used to be, of what was taken from him. But his eloquence is gone. He is incapable of forming the words he needs to defend himself, or gather followers to his cause.”
|
||||
Gliftwirp sighs sadly and nods. “My god was cursed and exiled because of the evil trickster god Rhahn Ald.”
|
||||
“And in retribution for his wrongful suffering, his followers turn to holy acquisitions and righteous theft. Just as everything was taken from our beloved Evil Nemesis, so do we take and redistribute. And so we shall until he is redeemed and restored to his rightful place.”
|
||||
Gliftwirp continues quietly to himself, under his breath, “Robble robble, Amen,” and takes another bite of his hamburger.
|
||||
“I truly am happy that you get to know your falcon-headed god, Kiara. It is a gift I hope you won’t take for granted!”</p></blockquote>
|
||||
|
||||
<h3 id="u57">2023-02-26 Risus: To Kill A God<small><a href="#u57">#</a></small></h3>
|
||||
|
||||
|
||||
<p> Moving this to dead. Never could remember to go check rpg.net for updates. One of our players dropped, and it became not enough to keep the story going. sad! First time playing Risus, a game I’ve long wanted to try. Don’t feel like I ever got to really get a handle on it.</p>
|
||||
|
||||
<h3 id="u20">2023-02-26 Quarrel & Fable: Newton Handle<small><a href="#u20">#</a></small></h3>
|
||||
|
||||
|
||||
<p> Almost a month since we last played, no updates. Moving to dead.</p>
|
||||
|
||||
<h3 id="u17">2023-02-26 Quarrel & Fable: Newton Handle<small><a href="#u17">#</a></small></h3>
|
||||
|
||||
|
||||
<p>sean is running me and tibbius through a dungeon!</p>
|
||||
|
||||
<p>i am playing Cali Copperpot from Castiron Sworn.</p>
|
||||
|
||||
<p>we played a quick 90 minute sesh this morning and did some exploring.</p>
|
||||
|
||||
<p>I rolled all 1s during character creation!</p>
|
||||
|
||||
<p>Cali gonna dieeee</p>
|
||||
|
||||
<p><a href="https://seanfsmith.itch.io/quarrel">https://seanfsmith.itch.io/quarrel</a></p>
|
||||
|
||||
<p><a href="https://quarrel-fable.carrd.co/">https://quarrel-fable.carrd.co/</a></p>
|
||||
|
||||
<h3 id="u16">2023-02-26 1400: planar nexus<small><a href="#u16">#</a></small></h3>
|
||||
|
||||
|
||||
<p> Almost a month since we last played, no updates. Moving to dead.</p>
|
||||
|
||||
<h3 id="u11">2023-02-26 Sleepaway: Camp Spookypants<small><a href="#u11">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Killed this game because it was too hard for the group, and decided to go do some oneshots and figure out what to do next for a campaign. Might continue playing this solo just to see what happens because I really like it.</p>
|
||||
|
||||
<h3 id="u47">2023-02-16 D&D 5e: Zigs and Dragons<small><a href="#u47">#</a></small></h3>
|
||||
|
||||
|
||||
<p> Been continuing to play this and enjoy it. It’s been nice watching Zigs come into his own as a DM. It’s been just man and Jaybee playing lately. Miss playing with the others, but it’s also fun with just the two of us. I’ve played a different character each time, slowly building out the sprawling family tree.</p>
|
||||
|
||||
<h3 id="u51">2023-02-11 2-bit: Numenera<small><a href="#u51">#</a></small></h3>
|
||||
|
||||
|
||||
<p> Moving this to dead. The story was really good. The system was surprisingly good. The gimmick is that you a special that you can invoke and it just happens. And then you flip a coin. Heads = you can continue to use your special. Tails = special is burned until recharged. Made for smoe really fun gameplay.
|
||||
See more at <a href="https://tibbiusgames.itch.io/2-bit">https://tibbiusgames.itch.io/2-bit</a></p>
|
||||
|
||||
<h3 id="u9">Thu, 09 Feb 2023 20:36:26 -0700 Troika!: Small Medium Large<small><a href="#u9">#</a></small></h3>
|
||||
|
||||
|
||||
<p>First time playing with the Aftermathematicians!</p>
|
||||
|
||||
<p>Ran a game for Enki, Tuesday, Dril, and Lofi.</p>
|
||||
|
||||
<p>We played Small Medium Large, winner of the 2022 one-page dungeon contest.</p>
|
||||
|
||||
<p><a href="https://www.dungeoncontest.com/">https://www.dungeoncontest.com/</a></p>
|
||||
|
||||
<p>Been a while since I played some Troika. Good times.</p>
|
||||
|
||||
<p>We had a lawyer, a sorcerer of friends, a dwarf, and a gremlin catcher.</p>
|
||||
|
||||
<h3 id="u15">2023-01-30 1400: planar nexus<small><a href="#u15">#</a></small></h3>
|
||||
|
||||
|
||||
<p> Fought a spooky spider and got kind of roughed up. Made it to the portal room. But still missing 2 glyff balls. Got to turn into a Ghost Form, and then switch back and do some stabs. That was pretty awesome.</p>
|
||||
|
||||
<h3 id="u10">2023-01-26 Sleepaway: Camp Spookypants<small><a href="#u10">#</a></small></h3>
|
||||
|
||||
|
||||
<p>from Pathfinder to a game with no real rules or objectives: my irl group had a hard time adjusting to this.</p>
|
||||
|
||||
<p>it didn’t help that we took <del>2 weeks</del> 3 months! off from between sessions: we all forgot a lot from the last time we played.</p>
|
||||
|
||||
<p>but we settled into the groove, and i think everybody had a really good time!</p>
|
||||
|
||||
<p>I play songleader Oleander. I rekindled a friendship with the ropeskeeper, and ended one with the lifeguarder after accidentally injuring a camper.</p>
|
||||
|
||||
<h3 id="u19">2023-01-24 Quarrel & Fable: Newton Handle<small><a href="#u19">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Sean ran almost the exact same exploding corpse encounter for us that Tibbs ran for us in Planar Nexus! 🤣</p>
|
||||
|
||||
<h3 id="u14">2023-01-23 1400: planar nexus<small><a href="#u14">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Got a little further into the dungeon. Fought off some vines and a woozy trippy room. Found some loot and some tech that might active a Portal</p>
|
||||
|
||||
<h3 id="u12">Thu, 19 Jan 2023 22:03:34 -0700 D&D: Holiday Oneshot<small><a href="#u12">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Played a live and in person game for the first time ever! (Since before pandemic)</p>
|
||||
|
||||
<p>Work friends: C. (DM), EH (bard), EK (artificer) A. (bard), and M (geomancer (druid)). and Me (bard).</p>
|
||||
|
||||
<p>3/5 of the party was bards! It was bard-tastic!</p>
|
||||
|
||||
<p>I played Barumpa Pumpum, the lizardfolk College of Creation bard.</p>
|
||||
|
||||
<p><a href="https://tiny.tilde.website/@dozens/109706687499993446">https://tiny.tilde.website/@dozens/109706687499993446</a></p>
|
||||
|
||||
<p>They were a little hillbilly, a little redneck. Straight from the swamp. A little uncouth.</p>
|
||||
|
||||
<p>We had to go save Santa from (spoilers) Cleff Tezos, who wanted his company, The Nile, to be the sole supplier of Christmas Toys. So he made a big old evil Robosanta to go on a rampage in the North Pole.</p>
|
||||
|
||||
<p>Structure was great. Like, 85% puzzles and 15% combat.</p>
|
||||
|
||||
<p>We had to find a key, a code, and an RFID card do get into Santa’s Palace. That was the puzzle part.</p>
|
||||
|
||||
<p>During the final part, there was a dance-off mechanic that the DM came up with before realizing that the part was 60% bards.</p>
|
||||
|
||||
<p>Anyway, super fun. Haven’t gotten to play 5e as a player in a while. Good times.</p>
|
||||
|
||||
<p>Hopefully I get to play with this group some more in the future.</p>
|
||||
|
||||
<h3 id="u13">2023-01-16 1400: planar nexus<small><a href="#u13">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Played a tibbius game with sean.</p>
|
||||
|
||||
<p>I’m playing Orrowyss the Haunted, a spirit mage. A portal to the spirit realm exposed Orrowyss to otherworldly energies. They are followed by the sound of tinkling bells. They wear an ancient amulet, and a faceless mask (it has two black eyes, and a black vertical line through each eye running the length of the mask) when channeling spirits from the spirit realm. Their familiar takes the form of a small but vicious dog.</p>
|
||||
|
||||
<p>Me and Sindie were sent to run off some ratfolk bandits. We tracked them to their caves, and they promised to leave the humans alone if we cleared out the caves of the presense.</p>
|
||||
|
||||
<p>good fun!</p>
|
||||
|
||||
<h3 id="u18">2023-01-10 Quarrel & Fable: Newton Handle<small><a href="#u18">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Played another sesh this morning. Cleared level 1. Fought a giant butcher. Sidestepped the boss, a mopey goth cenobite. Levelled up.</p>
|
||||
|
||||
<h3 id="u22">2023-01-04 Ironsworn: Castiron Sworn<small><a href="#u22">#</a></small></h3>
|
||||
|
||||
|
||||
<p>sinatra inspired me to read Ironsworn, which I had been meaning to do anyway for a long time.</p>
|
||||
|
||||
<p>It looks really rad!</p>
|
||||
|
||||
<p>I made a character and ran her through an encounter and it was really fun. Different. Combat was very cinematic. Treating the battle as a progress meter that you can test to see if it’s complete is a totally different feel than just attacking a sack of hit points.</p>
|
||||
|
||||
<p>I liked it a lot. I’m going to keep playing!</p>
|
||||
|
||||
<h3 id="u21">2023-01-04 Lisergia: 36 Corollaries of Lisergia<small><a href="#u21">#</a></small></h3>
|
||||
|
||||
|
||||
<p>jotting this down to get it in the logs.</p>
|
||||
|
||||
<p>i started playing Lisergia with a mishmash of systems and oracles a while back. Don’t play it super often, but still think about it and return to it sometimes. It’s dreamy and surreal and groovy and nice.</p>
|
||||
|
||||
<p><a href="https://capacle.itch.io/lisergia">https://capacle.itch.io/lisergia</a></p>
|
||||
|
||||
<p><gemini://tilde.town/~dozens/corollaries/></p>
|
||||
|
||||
<h3 id="u76">2023-01-04 Quarrel & Fable: Newton Handle<small><a href="#u76">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Lost my notes for session one :(</p>
|
||||
|
||||
<h3 id="u46">2022-12-03 D&D 5e: Zigs and Dragons<small><a href="#u46">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Zig’s first time DM-ing! A series of oneshots on a mysterious island. Getting to play with Alex again is fun. The characters escalate from session to session from level 3 to 6 to 9 etc. Have played two so far. Having a lot of fun playing and getting to make new characters all the time.</p>
|
||||
|
||||
<h3 id="u7">2022-11-17 D&D: Tales of Athas<small><a href="#u7">#</a></small></h3>
|
||||
|
||||
|
||||
<p>an in person campaign with the old vulcamonos gang!</p>
|
||||
|
||||
<p>can’t believe it. very excite.</p>
|
||||
|
||||
<p>some real mad max / dune / acid death fantasy kind of world building from Keegs, which is really cool. good for him. there’s a huge, cracked, blistering sun; and two moons (they have names and everything but i didn’t write them down). there are 9-ish ‘islands’ of earth in a ‘sea’ of loose sand, so despite being in an unforgiving desert, there’s lots of nautical imagery. different crafts that can sail on the silt sea.</p>
|
||||
|
||||
<p>we started out in prison with no items. as cliche as meeting in a tavern, but fun. we felt underpowered and desperate.</p>
|
||||
|
||||
<p>i’m playing a lovable rogue based on dolly parton. her name is jolly pardon. she grew up dirt poor in a one-room cabin in the (hills). one day she was spotted by a traveling (prince) who was enchanted by her singing. he whisked her off of to the court of the petty warlord, where she grew very popular. her nemesis Dolene, however, grew jealous of her and spread rumors to besmirch her reputation. Dolene was eventually successful and the warlord tossed Jolly out of the court.</p>
|
||||
|
||||
<p>In our session, we broke out of gladiator’s prison, crossed the city, and made it to Shatterglass, an abandoned obsidian mine and outpost of the Veiled Alliance, an organization dedicated to freeing the slave cities of Athas.</p>
|
||||
|
||||
<p>We found what was left of my crew there. Zax was a husk. his mind had been wiped. And the others had been dragged deeper into the mines.</p>
|
||||
|
||||
<p>Following the trails, we found a strange tableau. Thri-keen eggs had been arranged around the bodies of Verin and Zara. As we approached, a horror burst from the ground and attacked us.</p>
|
||||
|
||||
<p>So yeah! Super excited! It’s been about 8 years we determined since we’ve all played together. and Keegs is a super crafty dm. There are battle maps and minis, and he gives everybody dossiers for character sheets and notes, and sometimes he crafts huge stage pieces for the map. it’s all really quite impressive.</p>
|
||||
|
||||
<h3 id="u25">Wed, 26 Oct 2022 20:47:24 -0600 Brindlewood Bay: Good Buy, Cruel World<small><a href="#u25">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Boy I struggle mightily with Brindlewood Bay. It is such a challenging game to run. There’s no guidance for how to play the characters. The clues that pop up lead the fiction in weird directions, and as the facilitator you’re left holding the bag trying to give your players what they want when following up with questions. And at the end, there are so many red herrings and clues that don’t add up, and just.</p>
|
||||
|
||||
<p>The ending, the Theorize Move, is the most interesting and fun part of the game. But it rarely creates a narratively satisfying ending.</p>
|
||||
|
||||
<p>I also don’t know how to create tension or stakes in this game.</p>
|
||||
|
||||
<p>Don’t get me wrong, it’s fun.</p>
|
||||
|
||||
<p>I just feel like I gotta find a different system to run these characters and this story on.</p>
|
||||
|
||||
<p>BTW there’s no written evidence of this anywhere, but the second BB game we played was in March of this year. The first was in February. And this is the 3rd, seven months later in October</p>
|
||||
|
||||
<p>Anyway, the module was Good Buy, Cruel World by Michael van Fleet, and it was great. Everybody seemed to love mallwalking and being in the mall. This is the 2nd game i’ve played by van Fleet, the first one being <em>Moon’s Shot</em>, a oneshot for troika.</p>
|
||||
|
||||
<p><a href="https://signalstation.itch.io/good-buy-cruel-world">https://signalstation.itch.io/good-buy-cruel-world</a></p>
|
||||
|
||||
<p>Here’s a character sheet if you want to use it.</p>
|
||||
|
||||
<p><a href="https://docs.google.com/spreadsheets/d/1fbzZnOhHlsuuxDGkroHHpZJgLPIPydOGyKI3Knv9P9w/edit#gid=2144772881">https://docs.google.com/spreadsheets/d/1fbzZnOhHlsuuxDGkroHHpZJgLPIPydOGyKI3Knv9P9w/edit#gid=2144772881</a></p>
|
||||
|
||||
<h3 id="u39">2022-10-06 D&D: Strixhaven<small><a href="#u39">#</a></small></h3>
|
||||
|
||||
|
||||
<p> Finished the campaign! That was super fun!</p>
|
||||
|
||||
<h3 id="u26">Fri, 30 Sep 2022 10:52:29 -0600 plasma torch: untitled<small><a href="#u26">#</a></small></h3>
|
||||
|
||||
|
||||
<p><a href="https://www.drivethrurpg.com/product/356977/Plasma-Torch-A-OnePage-RPG-of-Derelict-Spaceships">https://www.drivethrurpg.com/product/356977/Plasma-Torch-A-OnePage-RPG-of-Derelict-Spaceships</a></p>
|
||||
|
||||
<p>a one-on-one OHOS with tibbius</p>
|
||||
|
||||
<p>it was short and fun!</p>
|
||||
|
||||
<p>there are two parts to playing the game:</p>
|
||||
|
||||
<ol>
|
||||
<li><p>doing stuff: roll d6. +d6 if your background applies, +d6 if you can use your equipment. 5 - 6 = success, 1 - 4 = fail.</p></li>
|
||||
<li><p>resource die: if you fail, roll d8. 1 - 2 = step down your resource die to d4, and your resources are depleted. if you fail on a d4, you die, or whatever.</p></li>
|
||||
</ol>
|
||||
|
||||
|
||||
<p>running the game looks super easy. there are tables for generating rooms and complications as you explore the derelict ship.</p>
|
||||
|
||||
<p>i think the resource die is a fascinating way to represent health and death and resources and depletion all in one handy little mechanic.</p>
|
||||
|
||||
<p>during the game, my character (Naylen, a rugged ex-convict with a crowbar) sneaked in through an airlock onto an abandoned, derelict pleasure cruiser to find some loot. they struggled a little bit to get the airlock to work, but then made their way into the hallway and down into a medical bay. (which was locked, but Nalyen guessed the password; it was 1234.)</p>
|
||||
|
||||
<p>inside the medical bay, he was confronted with some kind of tentacular eldrich horror / medical experiment. it crushed him and ripped his space suit, but he bopped it with his crowbar and got away.</p>
|
||||
|
||||
<p>and then we had to stop</p>
|
||||
|
||||
<p>two thumbs up, would play again!</p>
|
||||
|
||||
<p>tibbius said he’d be interesting in adapting the system to some kind of fantasy dungeon crawler, and i agree that would be fun.</p>
|
||||
|
||||
<h3 id="u31">2022-09-28 Quarrel & Fable: Newton Handle<small><a href="#u31">#</a></small></h3>
|
||||
|
||||
|
||||
<p>I missed a couple games due to being out of town. But now I’m back. Tibbius is … what’s the ttrpg term for <em>distro hopping</em>? We ditched tricube for Quarrel & Fable, which he then hacked into his own “Test Metal”.</p>
|
||||
|
||||
<p><a href="https://seanfsmith.itch.io/quarrel">https://seanfsmith.itch.io/quarrel</a></p>
|
||||
|
||||
<p><a href="https://tibbiusgames.itch.io/tst-mtl">https://tibbiusgames.itch.io/tst-mtl</a></p>
|
||||
|
||||
<p>I missed the entire fight with the ‘mirror wolves’, but dropped back in just in time to pick back up the original murdered lover mystery, which is exactly where i left off.</p>
|
||||
|
||||
<p>Brine left the game, sean i think got busy with something else, so it was just me and tibbs, which was just fine</p>
|
||||
|
||||
<h3 id="u58">2022-09-16 Troika: Acid Death Fantasy<small><a href="#u58">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Another more different ADF! Born of the APF server, but on another new server with Kunailby. Playing Gliftwirp, a sarong-fu master who is also basically the hamburglar</p>
|
||||
|
||||
<h3 id="u27">Fri, 09 Sep 2022 09:39:48 -0600 Adventure Skeletons: Boneheads<small><a href="#u27">#</a></small></h3>
|
||||
|
||||
|
||||
<p>one of my players no-showed during our regular D&D campaign so we busted out a quick onepage rpg</p>
|
||||
|
||||
<p><a href="https://gshowitt.itch.io/adventure-skeletons">https://gshowitt.itch.io/adventure-skeletons</a></p>
|
||||
|
||||
<p>i’ve been wanting to play this one for quite some time because it looks silly and ridiculous.</p>
|
||||
|
||||
<p>Our characters were Vinnie, a sadistic former garbage collector with a vengeance streak a mile wide; Snak, a former orc; and xxx, who used to have a gambling problem.</p>
|
||||
|
||||
<p>The skeletons surfaced near a busy crossroads and encountered a shepherd who kicked Vinnie in the pelvis. Snak scared him off, and he ran away with his sheep, vowing to report them to the Visiting Lord.</p>
|
||||
|
||||
<p>They regrouped in a nearby barn where they found a shrine to the Visiting Lord. They took apart a goat, Vinnie wearing its pelvis and one of its legs, xxx wearing its head as a hand.</p>
|
||||
|
||||
<p>The sweet little old farm lady came by and, confusing the skeletons for her long lost Eustice, offered them soup and redemption. But they knifed her to death anyway.</p>
|
||||
|
||||
<p>Bert the farmhand stumbled upon the scene and hit Snak in the pelvis with a shovel, knocking her to pieces. They took out Bert, stole a horse, and burned down the barn.</p>
|
||||
|
||||
<p>They came up with a two part plan: vengeance on the shepherd boy, and confront the Visiting Lord.</p>
|
||||
|
||||
<p>Snak put on a disguise and pretended to be Clarissa, the milkmaid for whom the boy pines. While he was distracted, xxx appeared on horseback and Vinnie leaped down from above and sent the boy, his love unrequited, into the wild blue yonder with one swift kick to the crotch with his +1 Pelvis Kicking Boots.</p>
|
||||
|
||||
<p>Now all well disguised, they ventured into the village and found the Church of the Visiting Lord. They confronted him, and he turned out to be Eccentric Kevin, a fellow skeleton and frenemy from the wizard’s dungeon.</p>
|
||||
|
||||
<p>They put Kevin’s skull on display on the church as a religious symbol and mouthpiece for their agenda, began to rotate through the role of the Visiting Lord themselves, and started to tax their congregants heavily.</p>
|
||||
|
||||
<p>Amassing wealth and spreading their new religion became their new mission.</p>
|
||||
|
||||
<h3 id="u28">Fri, 09 Sep 2022 09:23:12 -0600 none/fkr: Cap'n Mushroom and the Case of the Red Slipper<small><a href="#u28">#</a></small></h3>
|
||||
|
||||
|
||||
<p>a quick true fkr game with me and erika, sean running</p>
|
||||
|
||||
<p>mad fun.</p>
|
||||
|
||||
<p><a href="https://sean-f-smith.medium.com/the-case-of-the-red-slipper-f99872ab7078">https://sean-f-smith.medium.com/the-case-of-the-red-slipper-f99872ab7078</a></p>
|
||||
|
||||
<p>erika played Maelo, a tomb raider / cat burglar with a bit of razzle dazzle magic.</p>
|
||||
|
||||
<p>I was Cinder, a grizzled sell-sword who has agreed to do just ONE more job so he can retire and be a mushroom farmer. He’s is also a former beloved child actor, star of <em>Li'l Fatso’s Jamboree</em>.</p>
|
||||
|
||||
<p>We were called in to investigate the gruesome murder of Baron von Leffe’s squire. They were besieged by bandits out on the road. The Baron escaped, but the boy was skewered by arrows and had his right arm cleaved off and absconded with! The latest in a string of arm thefts.</p>
|
||||
|
||||
<p>Cinder and Maelo quickly established a great Watson/Holmes dynamic, and discovered that the wounds from the arrows display necrotization consistent with the Red Slipper mushroom that grows in the graveyard.</p>
|
||||
|
||||
<p>In a cut scene, the two set up a trust and a will so that in the event of their unfortunate demise, the Li'l Fatso Memorial Mushroom Farm will be established to teach children the joys of composting.</p>
|
||||
|
||||
<p>Sean pointed out afterwards that there were no dice rolls whatsoever, which I find delightful.</p>
|
||||
|
||||
<h3 id="u29">Tue, 30 Aug 2022 07:16:51 -0600 Dragonfly D6: dragonflyd6<small><a href="#u29">#</a></small></h3>
|
||||
|
||||
|
||||
<p>almost forgot about this one!</p>
|
||||
|
||||
<p>sean ran a game of dragonfly d6 for me and tibbius</p>
|
||||
|
||||
<p>it is a cardless version of his very interesting insect horror survival with a solitaire card game mechanic, exuviae</p>
|
||||
|
||||
<p><a href="https://seanfsmith.itch.io/exuviae">https://seanfsmith.itch.io/exuviae</a></p>
|
||||
|
||||
<p>the first playlogs can be found on medium:</p>
|
||||
|
||||
<p><a href="https://sean-f-smith.medium.com/play-report-dragonfly-d6-part-one-c8654b2f3a6f">https://sean-f-smith.medium.com/play-report-dragonfly-d6-part-one-c8654b2f3a6f</a></p>
|
||||
|
||||
<p>in the second session, Sid and Midge arrive at the Angles house, and shit goes immediately sideways.</p>
|
||||
|
||||
<p>Sid heads in to talk with speak with Isolde Angles who behaved and moved most unnatural.</p>
|
||||
|
||||
<p>Meanwhile Midge tried to sneak around the side of the house but got covered in eggs, and then chased by the mosquito-stuffed skin suit of Mick the dispatcher.</p>
|
||||
|
||||
<p>Sid eventually came to her rescue as Miss Donnelly climbed out of the cab.</p>
|
||||
|
||||
<p>It was a total horror show. Midge was not in control. It was really fun!</p>
|
||||
|
||||
<h3 id="u23">2022-08-30 Brighter Worlds: cleric+thief<small><a href="#u23">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Playing a solo game of Brighter Worlds!
|
||||
It is super fun!</p>
|
||||
|
||||
<p><a href="https://awkwardturtle.itch.io/brighter-worlds">https://awkwardturtle.itch.io/brighter-worlds</a></p>
|
||||
|
||||
<p><a href="http://tilde.town/~dozens/clericthief/">http://tilde.town/~dozens/clericthief/</a></p>
|
||||
|
||||
<h3 id="u30">2022-08-23 Tricube Tales: Guardians of the Shadow Frontier<small><a href="#u30">#</a></small></h3>
|
||||
|
||||
|
||||
<p>tibbius is running a game for me and brine and sean.</p>
|
||||
|
||||
<p>I’m playing Toobin, a sneaky little bastard with preternatural senses, and who is often greedy. Joining Toobin are Khedera (sean), an agile sentinel who’s quick and too often vainglorious; and Syfas (brine), an agile seer who can manipulate elements with a touch but can be blinded by vengeance.</p>
|
||||
|
||||
<p>We came across a body by a waterfall, discovered that it had been killed by an archer while waiting for a lover’s tryst. Took the body back to the village. People were sad about it :(</p>
|
||||
|
||||
<p>And that’s about all we had time for in this <abbr title="One Hour One Shot">OHOS</abbr>. We didn’t have time for a <abbr title="One Hundred Minute One Shot">OHMOS</abbr>. So we’ll play again next week.</p>
|
||||
|
||||
<p>Did a lot more roleplay than Getting Stuff Done. Found out that Toobin is superstitious, and shy around people who aren’t Guardians.</p>
|
||||
|
||||
<p>Tricube is fun. Never heard of it before Tibbius suggested it. Excited to explore further the karma/resolve + quirk/perk mechanics. I kind of like the meta token currency.</p>
|
||||
|
||||
<p><a href="https://www.drivethrurpg.com/product/294202/Tricube-Tales">https://www.drivethrurpg.com/product/294202/Tricube-Tales</a></p>
|
||||
|
||||
<h3 id="u32">Sat, 16 Jul 2022 18:36:19 -0600 Thousand Year Old Vampire: Orion Valentine<small><a href="#u32">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Been meaning to play this one for a while. The catalyst for doing it is that I think my players in my D&D game might at some point soon go meet a powerful vampire NPC. And I wanted them to have a compelling and complete backstory. And now they do! It was a wild ride. It ended up turning Valentine into kind of a wretched thing. Not a proud, beautiful creature, but a desperate, damaged, and unhealthy one. I’d like to play it again, at least one more time. I felt like I didn’t grok it enough to create much continuity or connection across prompts. I had resources and skills, but wasn’t often able to use them effectively. That’s probably on me. Next time! 5 out of 5, would play again.</p>
|
||||
|
||||
<h3 id="u24">2022-07-13 Shoes In The Dark: Basement Quest<small><a href="#u24">#</a></small></h3>
|
||||
|
||||
|
||||
<p>This game is the cat’s pajamas. it’s the bee’s knees.</p>
|
||||
|
||||
<p>It is a play-by-post game on the tildepals email list.</p>
|
||||
|
||||
<p>We’ve had a lot of people dropping in and dropping out, but it is mostly just sinatra and mio playing, and me facilitating. And it is an absolute blast so far.</p>
|
||||
|
||||
<p>We are playing the postcard-sized <em>Shoes in the Dark</em> rules, which immensely support the free-wheeling, rules-light style of play we’ve naturally adopted.</p>
|
||||
|
||||
<p><a href="https://dozens.itch.io/shoes-in-the-dark">https://dozens.itch.io/shoes-in-the-dark</a></p>
|
||||
|
||||
<p><a href="http://tilde.town/~dozens/quest/">http://tilde.town/~dozens/quest/</a></p>
|
||||
|
||||
<h3 id="u33">Wed, 29 Jun 2022 09:14:42 -0600 Trophy Gold: a game of trophy gold<small><a href="#u33">#</a></small></h3>
|
||||
|
||||
|
||||
<p>An ongoing series of live text play on discord. Technically a oneshot, i guess? But spread out over 1 - 2 hours of text here and there on discord.</p>
|
||||
|
||||
<p>It’s a Sean game with eskur, 7th Outpost, and wendi. (wendi couldn’t make it this time tho)</p>
|
||||
|
||||
<p>I’m playing Ifori, who is basically a <em>cleric of a small god</em> from Brighter Worlds. And who is also basically a less monstrous version of Bbblippt from Wicked Ones. She has a small turnip-like creature that she believes is an infant god. It gives her access to rituals at least.</p>
|
||||
|
||||
<p>This game, we escaped and immolated some kind of sucking flesh tree, and then desecrated a shrine to some evil earth deity and then killed one of its priests.</p>
|
||||
|
||||
<p>And that was about it! Short and sweet.</p>
|
||||
|
||||
<p>First time playing Trophy Gold. The stress mechanic feels the same as from Cthulhu Dark. I like it. Makes things feel risky and scary, and that you’re constantly on the edge of doom and disaster. Kind of like the token meta-currency. Haven’t gotten a chance to actually use it yet.</p>
|
||||
|
||||
<h3 id="u34">Sat, 11 Jun 2022 20:35:10 -0600 Old School Essentials: Lichway<small><a href="#u34">#</a></small></h3>
|
||||
|
||||
|
||||
<p>played some OSE with sean and the gang. played a human thief named Myla Wygarthe (thanks dmheroes). played very fkr style: there were no rolls at all. very system agnostic. we had some fun searching a spooky dungeon for the dark enchantress.</p>
|
||||
|
||||
<h3 id="u35">Sat, 04 Jun 2022 17:51:55 -0600 Facing the Titan: facing the titan<small><a href="#u35">#</a></small></h3>
|
||||
|
||||
|
||||
<p>This was a Swords Without Masters game, the first of which I’ve played. Played with eskur, fergus, and hoid.</p>
|
||||
|
||||
<p>Very interesting system. GM-less, narrative, storytelling. Lots of fun. Interesting use of setting tones, and then freeform story telling.</p>
|
||||
|
||||
<p>unique d21 tables: roll d66, and the low roll is the tens and the high roll is the ones.</p>
|
||||
|
||||
<p>played for 2 hours, didn’t get to finish. but really liked it. very unique to the kinds of game i usually play.</p>
|
||||
|
||||
<h3 id="u72">2022-05-12 Troika!: 13 Story Bizarre<small><a href="#u72">#</a></small></h3>
|
||||
|
||||
|
||||
<p>The game is complete! Blessed Lytton, Dear Labolas, Precious Frondella</p>
|
||||
|
||||
<h3 id="u36">Mon, 18 Apr 2022 14:37:49 -0600 maze rats: Nyolibhotep’s sewers<small><a href="#u36">#</a></small></h3>
|
||||
|
||||
|
||||
<p>finally got to play a game with sean!
|
||||
short little 2 hour live text game on discord.
|
||||
possibly my first maze rats ever.
|
||||
i played a chisled chimneysweep hippie, and we went down into the sewers to find out what the cultists were doing with all the doubleslugs.
|
||||
read the whole thing here:
|
||||
https://sean-f-smith.medium.com/play-report-maze-rats-nyolibhoteps-sewers-1003d411c39f</p>
|
||||
|
||||
<h3 id="u38">2022-03-16 D&D: Strixhaven<small><a href="#u38">#</a></small></h3>
|
||||
|
||||
|
||||
<p> Second session went so much better! Threw out a bunch of the rules. Made the rolls a bunch more simple. Players actually solved the mystery, Got a couple glimpses into the conspiracy. It was a hoot and a holler!</p>
|
||||
|
||||
<h3 id="u68">2022-02-22 Pathfinder: Agents of Edgewatch<small><a href="#u68">#</a></small></h3>
|
||||
|
||||
|
||||
<p> We killed this campaign as a group to try out something new. New system, new characters, new game. Inject some life and some fun into this struggling beast.</p>
|
||||
|
||||
<h3 id="u37">2022-02-21 D&D: Strixhaven<small><a href="#u37">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Strixhaven happen!
|
||||
Background: my pathfinder group agreed to disband and reform as something else. Seems we were a little burned out on the game and needed a change. (I for one have complained to anybody who will listen about how much I hate Pathfinder!) So we decided to try something a little lighter and light-hearted and we went back to 5e D&D and agreed to try <em>Strixhaven: Curriculum of Chaos</em>. Former DM gets to play, I get to DM, and we finally had our first session.
|
||||
Chierce showed up having not made a character and decided to just lurk quietly and watch, which was both totally okay but also kind of weird.
|
||||
Our planned cadence is ~1.5 hrs twice a week. We’ll see if we stick to it.
|
||||
We got one third of the way through the first 3-part session. We might get through the next two parts next sesh.
|
||||
Anyway, cool, new game! Super fun!</p>
|
||||
|
||||
<h3 id="u61">2022-02-11 Smithy of Sacrilege: Anvil (Homebrew)<small><a href="#u61">#</a></small></h3>
|
||||
|
||||
|
||||
<p> Still going strong! Sean just recruited some new players to breathe some new life into the game. We abandoned the spooky haunted house which we learned is actually just a front for an arms smuggler. Then we decided to go climb an anti-crater!</p>
|
||||
|
||||
<h3 id="u56">2022-02-11 Risus: To Kill A God<small><a href="#u56">#</a></small></h3>
|
||||
|
||||
|
||||
<p>pbp on rpg.net with tibbius. Playing former child actor Sender, who is a blade for hire who just wants to retire and be a mushroom farmer, who is also haunted by the ghost of his dead twin brother who he absorbed in the womb, and who is also followed around by small woodland animals like a disney princess.
|
||||
<a href="https://www.drivethrurpg.com/product/170294/Risus-The-Anything-RPG">https://www.drivethrurpg.com/product/170294/Risus-The-Anything-RPG</a></p>
|
||||
|
||||
<h3 id="u40">Thu, 10 Feb 2022 21:07:12 -0700 Brindlewood Bay: Dad Overboard<small><a href="#u40">#</a></small></h3>
|
||||
|
||||
|
||||
<p>okay so first of all this is a historic game because after years of inviting her to join me in my hobby, this is the first time pete agreed and actually joined. bittersweet: she did not have fun.
|
||||
nor did i, to be honest. this was a very challenging game to run. i felt stressed out and frustrated the whole time. the clues were super vauge. it was hard to understand a new system, and the mystery, and also stay on top of helping people play their character. There was also a bunch of the game that I should have just thrown out because it was not applicable/appropriate for a one-shot. Also all of the clues are objects. There’s no way to have a clue come up in conversation without the person running away so they could find an object, or somehow describing the object for some reason.
|
||||
I had two players (pete and ari) who had never played a game before, pete was kind of lost. i should have thrown out abilities and had a straight 2d6 roll.
|
||||
that said, it was a great group. a real convergence of spheres.
|
||||
I don’t know, i’d run it again. I imagine i’ll feel more prepared the second time around. the players (except for pete) all seemed to have fun
|
||||
<a href="https://www.drivethrurpg.com/product/307416/Brindlewood-Bay">https://www.drivethrurpg.com/product/307416/Brindlewood-Bay</a></p>
|
||||
|
||||
<h3 id="u41">Thu, 03 Feb 2022 21:43:52 -0700 Cthulhu Dark: Arkham 1628<small><a href="#u41">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Radsauce. Ran it with Carter, Hilary, and Jimmy. It went a bit over an hour, and the we finished it up in a bit over an hour the next day. Not positive I got all the rolls right, but the players seemed to have fun. I got a couple <em>wtf</em> moments out of them which seems like a success. I think there might need to be something said upfront about how the point of some of the weirdness is just that it is weird. That is, not every theme is a clue to the answer to the mystery. (Speaking directly of the puppet theme in this adventure.) There was interest in continuing with the othe mysteries in the text, so we might start that next week</p>
|
||||
|
||||
<h3 id="u42">Wed, 29 Dec 2021 12:54:05 -0700 2400 Exiles: Ultraviolet Grasslands<small><a href="#u42">#</a></small></h3>
|
||||
|
||||
|
||||
<p>fun! eskur ran it, played with hat and wrongtube. never played 2400 before, that was fun. never played the UVG setting either. that was also fun. played in the Forest of Meat!
|
||||
<a href="https://wizardthieffighter.itch.io/ultraviolet-grasslands-and-the-black-city-uvg">https://wizardthieffighter.itch.io/ultraviolet-grasslands-and-the-black-city-uvg</a>
|
||||
<a href="https://jasontocci.itch.io/2400">https://jasontocci.itch.io/2400</a></p>
|
||||
|
||||
<h3 id="u43">Wed, 29 Dec 2021 12:27:52 -0700 D&D: Quiet Midwinter<small><a href="#u43">#</a></small></h3>
|
||||
|
||||
|
||||
<p>super good! ran for z and j. the premise was ‘Cheesy Hallmark Christmas movie for OSE’ and I think they pulled it off really well. Players arranged for the best ending possible: get /everybody/ to meet up at the docks: dinaz and lucretia to steal the ship (desperate move by L to get on the naughty list) both bounty hunters, yvette and midge, to capture dinaz and lucretia + bitter; winter and loss there, snow to arrange a romantic sleigh ride with Z and Loss… it was a beautiful chaotic mess that was super fun. five thumbs up.
|
||||
<a href="https://r-rook.itch.io/ose-quiet-midwinter">https://r-rook.itch.io/ose-quiet-midwinter</a></p>
|
||||
|
||||
<h3 id="u44">2021-12-21 Into the Odd: yule homebrew<small><a href="#u44">#</a></small></h3>
|
||||
|
||||
|
||||
<p>another Kyle game! got to play with eskur and wendi and kim. first time playing into the odd. played Luna Saturday, dreamy moonchild with a cane. we ventured down below a giant tree, and prevented a goblin invasion. (Wendi stopped the ooze ritual and tossed a bomb into the mirror.)</p>
|
||||
|
||||
<h3 id="u45">2021-12-05 Giraffe Wants Best Leaves: Giraffe Wants Best Leaves<small><a href="#u45">#</a></small></h3>
|
||||
|
||||
|
||||
<p>This was a first, made a little toy rpg (a lasers and feelings clone) and some tildepals wanted to play it, so I ran a game for nico and malvarma. fun little session!
|
||||
<a href="http://tilde.town/~dozens/giraffe/">http://tilde.town/~dozens/giraffe/</a></p>
|
||||
|
||||
<h3 id="u49">2021-11-05 troika: crapland 2<small><a href="#u49">#</a></small></h3>
|
||||
|
||||
|
||||
<p>beautiful craptastic chaos at galgoricon 2021! Galgorian and Spooky Rusty ran a two table game with players constantly teleporting between the two locations before joining up at the final encounter. It was bonkers and fun. Big cast of characters, almost 12 players
|
||||
<a href="https://www.kickstarter.com/projects/stratosfiend-2-zine/crapland-2-a-surrealist-suburban-troika-rpg-book">https://www.kickstarter.com/projects/stratosfiend-2-zine/crapland-2-a-surrealist-suburban-troika-rpg-book</a></p>
|
||||
|
||||
<h3 id="u73">2021-10-31 Troika!: Acid Death Fantasy<small><a href="#u73">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Abandoned by gm after a valiant effort at keeping it going which is sad. Andy was one of the most creative and generous GMs ever, creating original playscii artwork for us, and providing us with groovy vintage vinal soundtracks.
|
||||
<a href="https://www.drivethrurpg.com/product/331670/Acid-Death-Fantasy">https://www.drivethrurpg.com/product/331670/Acid-Death-Fantasy</a></p>
|
||||
|
||||
<h3 id="u69">2021-10-31 Wicked Ones (Forged in the Dark): Wicked Friends<small><a href="#u69">#</a></small></h3>
|
||||
|
||||
|
||||
<p>on hiatus
|
||||
<a href="https://banditcamp.io/wickedones/">https://banditcamp.io/wickedones/</a></p>
|
||||
|
||||
<h3 id="u65">2021-10-31 Mothership: Picket Line Tango<small><a href="#u65">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Game stalled out really quickly, probably not going to pick back up
|
||||
<a href="https://ian-yusem.itch.io/picket-line-tango">https://ian-yusem.itch.io/picket-line-tango</a>
|
||||
<a href="https://www.mothershiprpg.com/home">https://www.mothershiprpg.com/home</a></p>
|
||||
|
||||
<h3 id="u55">2021-10-31 Marvelous Mutations and Merry Musicians: Rockaway Beach<small><a href="#u55">#</a></small></h3>
|
||||
|
||||
|
||||
<p>wendi’s game of mmnmm. almost immediately fizzled out. might resume at some point?
|
||||
<a href="https://wendiy.itch.io/marvelous-mutations-merry-musicians">https://wendiy.itch.io/marvelous-mutations-merry-musicians</a></p>
|
||||
|
||||
<h3 id="u54">2021-10-31 Cthulhu Dark: Garrets Ranch<small><a href="#u54">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Kyle ran us a game of Cthulhu Dark! Played with Josh and Mike and wendi. Investigate Garret’s Ranch in Fate, Texas. Everybody escaped intact and alive. A very simple but very flexible game. I liked how you can boost your roll with a cost with the insight die. And we did a good job of using the failure die once or twice. Occupation is really important and you can kind of cripple yourself if you pick something off like “uber driver” like josh did. Nobody took advantage of infinite rolls, and I think somebody suppressed insight only once. Which is all to say that for a rules light game, you kind of have to remember a lot. Anyway, it was fun!
|
||||
<a href="https://www.drivethrurpg.com/product/98137/Cthulhu-Dark">https://www.drivethrurpg.com/product/98137/Cthulhu-Dark</a></p>
|
||||
|
||||
<h3 id="u53">2021-10-31 Troika: Moon's Shot<small><a href="#u53">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Did moon’s shot again but for the skookums-and-dragons crew. Zigs, Alex, and Jess. They murderhoboed the whole thing.
|
||||
<a href="https://signalstation.itch.io/moons-shot">https://signalstation.itch.io/moons-shot</a></p>
|
||||
|
||||
<h3 id="u52">2021-10-31 Troika: Moon's Shot<small><a href="#u52">#</a></small></h3>
|
||||
|
||||
|
||||
<p>ran moon’s shot for alex, sparky, and jade. a good time was had by all. they did a capitalism, but for good</p>
|
||||
|
||||
<h3 id="u50">2021-10-31 2-bit: Numenera<small><a href="#u50">#</a></small></h3>
|
||||
|
||||
|
||||
<p>gonna start a coin-flipping game with tibbius. gonna play a witchy person.</p>
|
||||
|
||||
<h3 id="u60">2021-09-16 Smithy of Sacrilege: Anvil (Homebrew)<small><a href="#u60">#</a></small></h3>
|
||||
|
||||
|
||||
<p>A hack of Tunnel Goons by Nate Smith. Very fun original world, hex crawly open sandbox. You can get a lot done even with hyper minimal rules
|
||||
<a href="https://seanfsmith.itch.io/puffin">https://seanfsmith.itch.io/puffin</a></p>
|
||||
|
||||
<h3 id="u63">2021-06-07 Mausritter: Honey Rafters<small><a href="#u63">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Fun game! Surprisingly spooky. Quite lethal. Cursed sunflower = corrupted bees and candy cultists. Played with FKR discord folk.
|
||||
<a href="https://losing-games.itch.io/mausritter-honey-in-the-rafters">https://losing-games.itch.io/mausritter-honey-in-the-rafters</a>
|
||||
<a href="https://mausritter.com/">https://mausritter.com/</a></p>
|
||||
|
||||
<h3 id="u64">2021-06-01 Mothership: Picket Line Tango<small><a href="#u64">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Just started. Not much to report yet.</p>
|
||||
|
||||
<h3 id="u66">2021-05-23 Troika: Cocaine and Alligators: Florida Man Sphere<small><a href="#u66">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Fun pick-up game from Melsonia discord. The game hilariously involves googling random Florida Man stories to create NPCs and encounters throughout the game. Could have honestly done without the whole police violence part in the middle. Good times overall though! I think this was my first time playing Troika in real time.
|
||||
<a href="https://gordinaak.itch.io/cocaine-alligators">https://gordinaak.itch.io/cocaine-alligators</a></p>
|
||||
|
||||
<h3 id="u70">2021-05-15 Troika!: Dome Riders (Homebrew)<small><a href="#u70">#</a></small></h3>
|
||||
|
||||
|
||||
<p>One of the most tragic stories of 2021 both in-game and without. Epic setting dreamed up by GreyWarden, and then when they abondened the game, me and fraidy_cat and jade decided to keep playing by ourselves using a GM emulator. It was a great experiment in collaboration and self-government, and it was really going places. We have 22 pages of original setting content in a google doc. But then a huge in-game encounter killed our NPC leader and things never really recovered from that. Currently on infinite hiatus.</p>
|
||||
|
||||
<h3 id="u75">2021-05-02 Dungeons & Dragons: Storm King's Thunder<small><a href="#u75">#</a></small></h3>
|
||||
|
||||
|
||||
<p>My original long running D&D campaign with my original gaming group. Calling it ‘on hiatus’ is generous. It’s dead in the water. We haven’t played in a year. But I just can’t let it go.</p>
|
||||
|
||||
<h3 id="u74">2021-04-29 Troika!: So You've Been Thrown Down A Well<small><a href="#u74">#</a></small></h3>
|
||||
|
||||
|
||||
<p>So we started playing this one game and the the GM vanished, so I stepped in and turned it into So You’ve Been Thrown Down A Well, which was super fun. Highlight: the insectoid race who rules as written couldn’t speak, so in play-by-post, the communicated exclusively via emoji.
|
||||
<a href="https://www.drivethrurpg.com/product/313219/So-Youve-Been-Thrown-Down-A-Well">https://www.drivethrurpg.com/product/313219/So-Youve-Been-Thrown-Down-A-Well</a>
|
||||
<a href="https://www.troikarpg.com/">https://www.troikarpg.com/</a></p>
|
||||
|
||||
<h3 id="u71">2021-04-29 Troika!: 13 Story Bizarre<small><a href="#u71">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Originally supposed to be a really quick adventure with my core Troika pbp group, but has been slogging along for months now. I’m about to just end it so we can move on to something else.
|
||||
<a href="https://brick-road.itch.io/13-story-bazaar">https://brick-road.itch.io/13-story-bazaar</a></p>
|
||||
|
||||
<h3 id="u67">2021-02-26 Pathfinder: Agents of Edgewatch<small><a href="#u67">#</a></small></h3>
|
||||
|
||||
|
||||
<p>Pathfinder is everything I hate about ttrpgs. I only keep playing this because it’s the only way this particular friend group continues to get together, so I’ll probably keep playing it forever, hating the game and enjoying the company of my friends.</p>
|
||||
</main> </body> </html>
|
103
justfile
103
justfile
|
@ -20,99 +20,25 @@ default:
|
|||
year x:
|
||||
recsel -t Game -e 'Updated >> "{{x}}-01-01"' -P "Module,System,Updated" {{database}}
|
||||
|
||||
# create a new entry
|
||||
new:
|
||||
node bin/cli.js
|
||||
alias n := new
|
||||
# create a new game
|
||||
new: cli
|
||||
|
||||
alias u := update
|
||||
# create a new game update
|
||||
update: cli
|
||||
|
||||
# start cli
|
||||
cli:
|
||||
sh bin/cli.sh
|
||||
|
||||
# build da html
|
||||
html:
|
||||
#!/usr/bin/env sh
|
||||
## BEGIN: TEMPLATES ##
|
||||
gameheadertmpl='<article>
|
||||
<h2 id={{{{Id}}>{{{{Module}} ({{{{System}})</h2>
|
||||
<p>{{{{Module}} is a game of {{{{System}} that I started playing on {{{{Started}} as a {{{{Role}}. It is a {{{{Format}} {{{{Length}} and is currently {{{{Status}}.</p>
|
||||
<p>Here is how it went!</p>
|
||||
'
|
||||
|
||||
updatetmpl='<h3>{{{{Created}}</h3>
|
||||
|
||||
{{{{Text}}
|
||||
'
|
||||
|
||||
gamefootertmpl='<center>🎲🎲</center>
|
||||
</article>'
|
||||
|
||||
toctmpl='<li><a href="#{{{{Id}}">{{{{Module}} ({{{{System}})</a></li>'
|
||||
## END: TEMPLATES ##
|
||||
|
||||
exec > dist/index.html
|
||||
|
||||
## BEGIN: STYLE ##
|
||||
cat<<EOF
|
||||
<link rel="alternate" type="application/rss+xml" href="feed.xml" title="dozens gamelog">
|
||||
<style>
|
||||
body {
|
||||
max-width: 80ch;
|
||||
margin: 0 auto;
|
||||
}
|
||||
h2 {
|
||||
border-bottom: solid 1px black;
|
||||
margin-top: 3rem;
|
||||
}
|
||||
</style>
|
||||
EOF
|
||||
## END: STYLE ##
|
||||
|
||||
## BEGIN: INTRO ##
|
||||
cat<<EOF
|
||||
<h1>Games!</h1>
|
||||
<li>src: <a href='https://git.tilde.town/dozens/gamelog'>https://git.tilde.town/dozens/gamelog</a></li>
|
||||
<li>dozens webring: <a href='https://tilde.town/%7Edozens/webring/dozens/index.html?name=gamelog&dir=prev'>previous</a> <a href='https://tilde.town/%7Edozens/webring/dozens/index.html'>index</a> <a href='https://tilde.town/%7Edozens/webring/dozens/index.html?name=gamelog&dir=next'>next</a></li>
|
||||
<li><a href="feed.xml">rss</a></li>
|
||||
EOF
|
||||
## END: INTRO ##
|
||||
|
||||
## BEGIN: TOC ##
|
||||
echo '<h2>Contents</h2>'
|
||||
recsel {{database}} -t Game | recfmt "$toctmpl"
|
||||
## END: TOC ##
|
||||
|
||||
## BEGIN: BODY ##
|
||||
allgames=(`recsel {{database}} -t Game -P Id -C | tr '\n' ' '`)
|
||||
for idx in "${allgames[@]}"
|
||||
do
|
||||
recsel {{database}} -t Game -e "Id = $idx" | recfmt "$gameheadertmpl"
|
||||
recsel {{database}} -t Update -e "Game = $idx" | recfmt "$updatetmpl" | markdown
|
||||
echo $gamefootertmpl
|
||||
done
|
||||
## END: BODY ##
|
||||
sh bin/html.sh
|
||||
|
||||
# rss feed
|
||||
feed:
|
||||
#!/usr/bin/env sh
|
||||
feedtmpl='<item>
|
||||
<title>{{{{Game_Module}} ({{{{Game_System}})</title>
|
||||
<link>http://tilde.town/~dozens/gamelog/index.html</link>
|
||||
<pubDate>{{{{Created}}</pubDate>
|
||||
<description>
|
||||
<![CDATA[
|
||||
{{{{Text}}
|
||||
]]>
|
||||
</description>
|
||||
</item>
|
||||
'
|
||||
exec > dist/feed.xml
|
||||
cat<<EOF
|
||||
<?xml version="1.0" ?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<atom:link rel="self" type="application/rss+xml" href="http://tilde.town/~dozens/gamelog/feed.xml"/>
|
||||
<title>gamelog</title>
|
||||
<link>http://tilde.town/~dozens/gamelog/index.html</link>
|
||||
<description>all the games i play</description>
|
||||
EOF
|
||||
recsel -t Update -j Game {{database}} | recfmt "$feedtmpl"
|
||||
echo '</channel></rss>'
|
||||
sed -i '' 's/&/and/g' dist/feed.xml
|
||||
sh bin/feed.sh
|
||||
|
||||
# copy to blog
|
||||
export:
|
||||
|
@ -127,4 +53,3 @@ up: build export
|
|||
|
||||
# do everything
|
||||
all: build up
|
||||
|
||||
|
|
|
@ -1,917 +0,0 @@
|
|||
{
|
||||
"name": "gamelogs",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "gamelogs",
|
||||
"version": "1.0.0",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"inquirer": "^8.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/ansi-escapes": {
|
||||
"version": "4.3.2",
|
||||
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
|
||||
"integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
|
||||
"dependencies": {
|
||||
"type-fest": "^0.21.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/ansi-regex": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/ansi-styles": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||
"dependencies": {
|
||||
"color-convert": "^2.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/base64-js": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
|
||||
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
]
|
||||
},
|
||||
"node_modules/bl": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
|
||||
"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
|
||||
"dependencies": {
|
||||
"buffer": "^5.5.0",
|
||||
"inherits": "^2.0.4",
|
||||
"readable-stream": "^3.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/buffer": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
|
||||
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"base64-js": "^1.3.1",
|
||||
"ieee754": "^1.1.13"
|
||||
}
|
||||
},
|
||||
"node_modules/chalk": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
|
||||
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/chalk?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/chardet": {
|
||||
"version": "0.7.0",
|
||||
"resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
|
||||
"integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
|
||||
},
|
||||
"node_modules/cli-cursor": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
|
||||
"integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
|
||||
"dependencies": {
|
||||
"restore-cursor": "^3.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/cli-spinners": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz",
|
||||
"integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==",
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/cli-width": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
|
||||
"integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/clone": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
|
||||
"integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
|
||||
"engines": {
|
||||
"node": ">=0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/color-convert": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||
"dependencies": {
|
||||
"color-name": "~1.1.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/color-name": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
||||
},
|
||||
"node_modules/defaults": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
|
||||
"integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
|
||||
"dependencies": {
|
||||
"clone": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/emoji-regex": {
|
||||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
|
||||
},
|
||||
"node_modules/escape-string-regexp": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
|
||||
"engines": {
|
||||
"node": ">=0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/external-editor": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
|
||||
"integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
|
||||
"dependencies": {
|
||||
"chardet": "^0.7.0",
|
||||
"iconv-lite": "^0.4.24",
|
||||
"tmp": "^0.0.33"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/figures": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
|
||||
"integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
|
||||
"dependencies": {
|
||||
"escape-string-regexp": "^1.0.5"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/has-flag": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/iconv-lite": {
|
||||
"version": "0.4.24",
|
||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
|
||||
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
|
||||
"dependencies": {
|
||||
"safer-buffer": ">= 2.1.2 < 3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/ieee754": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
|
||||
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
]
|
||||
},
|
||||
"node_modules/inherits": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
||||
},
|
||||
"node_modules/inquirer": {
|
||||
"version": "8.2.0",
|
||||
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz",
|
||||
"integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==",
|
||||
"dependencies": {
|
||||
"ansi-escapes": "^4.2.1",
|
||||
"chalk": "^4.1.1",
|
||||
"cli-cursor": "^3.1.0",
|
||||
"cli-width": "^3.0.0",
|
||||
"external-editor": "^3.0.3",
|
||||
"figures": "^3.0.0",
|
||||
"lodash": "^4.17.21",
|
||||
"mute-stream": "0.0.8",
|
||||
"ora": "^5.4.1",
|
||||
"run-async": "^2.4.0",
|
||||
"rxjs": "^7.2.0",
|
||||
"string-width": "^4.1.0",
|
||||
"strip-ansi": "^6.0.0",
|
||||
"through": "^2.3.6"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/is-fullwidth-code-point": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
|
||||
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/is-interactive": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
|
||||
"integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/is-unicode-supported": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
|
||||
"integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/lodash": {
|
||||
"version": "4.17.21",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
|
||||
},
|
||||
"node_modules/log-symbols": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
|
||||
"integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
|
||||
"dependencies": {
|
||||
"chalk": "^4.1.0",
|
||||
"is-unicode-supported": "^0.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/mimic-fn": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
|
||||
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/mute-stream": {
|
||||
"version": "0.0.8",
|
||||
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
|
||||
"integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="
|
||||
},
|
||||
"node_modules/onetime": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
|
||||
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
|
||||
"dependencies": {
|
||||
"mimic-fn": "^2.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/ora": {
|
||||
"version": "5.4.1",
|
||||
"resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
|
||||
"integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
|
||||
"dependencies": {
|
||||
"bl": "^4.1.0",
|
||||
"chalk": "^4.1.0",
|
||||
"cli-cursor": "^3.1.0",
|
||||
"cli-spinners": "^2.5.0",
|
||||
"is-interactive": "^1.0.0",
|
||||
"is-unicode-supported": "^0.1.0",
|
||||
"log-symbols": "^4.1.0",
|
||||
"strip-ansi": "^6.0.0",
|
||||
"wcwidth": "^1.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/os-tmpdir": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
|
||||
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/readable-stream": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
|
||||
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
|
||||
"dependencies": {
|
||||
"inherits": "^2.0.3",
|
||||
"string_decoder": "^1.1.1",
|
||||
"util-deprecate": "^1.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/restore-cursor": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
|
||||
"integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
|
||||
"dependencies": {
|
||||
"onetime": "^5.1.0",
|
||||
"signal-exit": "^3.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/run-async": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
|
||||
"integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
|
||||
"engines": {
|
||||
"node": ">=0.12.0"
|
||||
}
|
||||
},
|
||||
"node_modules/rxjs": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.4.0.tgz",
|
||||
"integrity": "sha512-7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w==",
|
||||
"dependencies": {
|
||||
"tslib": "~2.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/safe-buffer": {
|
||||
"version": "5.2.1",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
||||
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
]
|
||||
},
|
||||
"node_modules/safer-buffer": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||
},
|
||||
"node_modules/signal-exit": {
|
||||
"version": "3.0.6",
|
||||
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz",
|
||||
"integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ=="
|
||||
},
|
||||
"node_modules/string_decoder": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
|
||||
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
|
||||
"dependencies": {
|
||||
"safe-buffer": "~5.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/string-width": {
|
||||
"version": "4.2.3",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
||||
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
||||
"dependencies": {
|
||||
"emoji-regex": "^8.0.0",
|
||||
"is-fullwidth-code-point": "^3.0.0",
|
||||
"strip-ansi": "^6.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/strip-ansi": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||
"dependencies": {
|
||||
"ansi-regex": "^5.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/supports-color": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"dependencies": {
|
||||
"has-flag": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/through": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
|
||||
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
|
||||
},
|
||||
"node_modules/tmp": {
|
||||
"version": "0.0.33",
|
||||
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
|
||||
"integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
|
||||
"dependencies": {
|
||||
"os-tmpdir": "~1.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.6.0"
|
||||
}
|
||||
},
|
||||
"node_modules/tslib": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
|
||||
"integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A=="
|
||||
},
|
||||
"node_modules/type-fest": {
|
||||
"version": "0.21.3",
|
||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
|
||||
"integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/util-deprecate": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
||||
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
|
||||
},
|
||||
"node_modules/wcwidth": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
|
||||
"integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
|
||||
"dependencies": {
|
||||
"defaults": "^1.0.3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-escapes": {
|
||||
"version": "4.3.2",
|
||||
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
|
||||
"integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
|
||||
"requires": {
|
||||
"type-fest": "^0.21.3"
|
||||
}
|
||||
},
|
||||
"ansi-regex": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
|
||||
},
|
||||
"ansi-styles": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||
"requires": {
|
||||
"color-convert": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"base64-js": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
|
||||
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
|
||||
},
|
||||
"bl": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
|
||||
"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
|
||||
"requires": {
|
||||
"buffer": "^5.5.0",
|
||||
"inherits": "^2.0.4",
|
||||
"readable-stream": "^3.4.0"
|
||||
}
|
||||
},
|
||||
"buffer": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
|
||||
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
|
||||
"requires": {
|
||||
"base64-js": "^1.3.1",
|
||||
"ieee754": "^1.1.13"
|
||||
}
|
||||
},
|
||||
"chalk": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
|
||||
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
||||
"requires": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
}
|
||||
},
|
||||
"chardet": {
|
||||
"version": "0.7.0",
|
||||
"resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
|
||||
"integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
|
||||
},
|
||||
"cli-cursor": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
|
||||
"integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
|
||||
"requires": {
|
||||
"restore-cursor": "^3.1.0"
|
||||
}
|
||||
},
|
||||
"cli-spinners": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz",
|
||||
"integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g=="
|
||||
},
|
||||
"cli-width": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
|
||||
"integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw=="
|
||||
},
|
||||
"clone": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
|
||||
"integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
|
||||
},
|
||||
"color-convert": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||
"requires": {
|
||||
"color-name": "~1.1.4"
|
||||
}
|
||||
},
|
||||
"color-name": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
||||
},
|
||||
"defaults": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
|
||||
"integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
|
||||
"requires": {
|
||||
"clone": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"emoji-regex": {
|
||||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
|
||||
},
|
||||
"escape-string-regexp": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
|
||||
},
|
||||
"external-editor": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
|
||||
"integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
|
||||
"requires": {
|
||||
"chardet": "^0.7.0",
|
||||
"iconv-lite": "^0.4.24",
|
||||
"tmp": "^0.0.33"
|
||||
}
|
||||
},
|
||||
"figures": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
|
||||
"integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
|
||||
"requires": {
|
||||
"escape-string-regexp": "^1.0.5"
|
||||
}
|
||||
},
|
||||
"has-flag": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
|
||||
},
|
||||
"iconv-lite": {
|
||||
"version": "0.4.24",
|
||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
|
||||
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
|
||||
"requires": {
|
||||
"safer-buffer": ">= 2.1.2 < 3"
|
||||
}
|
||||
},
|
||||
"ieee754": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
|
||||
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
|
||||
},
|
||||
"inherits": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
||||
},
|
||||
"inquirer": {
|
||||
"version": "8.2.0",
|
||||
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz",
|
||||
"integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==",
|
||||
"requires": {
|
||||
"ansi-escapes": "^4.2.1",
|
||||
"chalk": "^4.1.1",
|
||||
"cli-cursor": "^3.1.0",
|
||||
"cli-width": "^3.0.0",
|
||||
"external-editor": "^3.0.3",
|
||||
"figures": "^3.0.0",
|
||||
"lodash": "^4.17.21",
|
||||
"mute-stream": "0.0.8",
|
||||
"ora": "^5.4.1",
|
||||
"run-async": "^2.4.0",
|
||||
"rxjs": "^7.2.0",
|
||||
"string-width": "^4.1.0",
|
||||
"strip-ansi": "^6.0.0",
|
||||
"through": "^2.3.6"
|
||||
}
|
||||
},
|
||||
"is-fullwidth-code-point": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
|
||||
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
|
||||
},
|
||||
"is-interactive": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
|
||||
"integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="
|
||||
},
|
||||
"is-unicode-supported": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
|
||||
"integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw=="
|
||||
},
|
||||
"lodash": {
|
||||
"version": "4.17.21",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
|
||||
},
|
||||
"log-symbols": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
|
||||
"integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
|
||||
"requires": {
|
||||
"chalk": "^4.1.0",
|
||||
"is-unicode-supported": "^0.1.0"
|
||||
}
|
||||
},
|
||||
"mimic-fn": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
|
||||
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
|
||||
},
|
||||
"mute-stream": {
|
||||
"version": "0.0.8",
|
||||
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
|
||||
"integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="
|
||||
},
|
||||
"onetime": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
|
||||
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
|
||||
"requires": {
|
||||
"mimic-fn": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"ora": {
|
||||
"version": "5.4.1",
|
||||
"resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
|
||||
"integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
|
||||
"requires": {
|
||||
"bl": "^4.1.0",
|
||||
"chalk": "^4.1.0",
|
||||
"cli-cursor": "^3.1.0",
|
||||
"cli-spinners": "^2.5.0",
|
||||
"is-interactive": "^1.0.0",
|
||||
"is-unicode-supported": "^0.1.0",
|
||||
"log-symbols": "^4.1.0",
|
||||
"strip-ansi": "^6.0.0",
|
||||
"wcwidth": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"os-tmpdir": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
|
||||
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
|
||||
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
|
||||
"requires": {
|
||||
"inherits": "^2.0.3",
|
||||
"string_decoder": "^1.1.1",
|
||||
"util-deprecate": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"restore-cursor": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
|
||||
"integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
|
||||
"requires": {
|
||||
"onetime": "^5.1.0",
|
||||
"signal-exit": "^3.0.2"
|
||||
}
|
||||
},
|
||||
"run-async": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
|
||||
"integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ=="
|
||||
},
|
||||
"rxjs": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.4.0.tgz",
|
||||
"integrity": "sha512-7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w==",
|
||||
"requires": {
|
||||
"tslib": "~2.1.0"
|
||||
}
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.2.1",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
||||
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
|
||||
},
|
||||
"safer-buffer": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||
},
|
||||
"signal-exit": {
|
||||
"version": "3.0.6",
|
||||
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz",
|
||||
"integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ=="
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
|
||||
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
|
||||
"requires": {
|
||||
"safe-buffer": "~5.2.0"
|
||||
}
|
||||
},
|
||||
"string-width": {
|
||||
"version": "4.2.3",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
||||
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
||||
"requires": {
|
||||
"emoji-regex": "^8.0.0",
|
||||
"is-fullwidth-code-point": "^3.0.0",
|
||||
"strip-ansi": "^6.0.1"
|
||||
}
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||
"requires": {
|
||||
"ansi-regex": "^5.0.1"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"requires": {
|
||||
"has-flag": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"through": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
|
||||
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
|
||||
},
|
||||
"tmp": {
|
||||
"version": "0.0.33",
|
||||
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
|
||||
"integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
|
||||
"requires": {
|
||||
"os-tmpdir": "~1.0.2"
|
||||
}
|
||||
},
|
||||
"tslib": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
|
||||
"integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A=="
|
||||
},
|
||||
"type-fest": {
|
||||
"version": "0.21.3",
|
||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
|
||||
"integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w=="
|
||||
},
|
||||
"util-deprecate": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
||||
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
|
||||
},
|
||||
"wcwidth": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
|
||||
"integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
|
||||
"requires": {
|
||||
"defaults": "^1.0.3"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
14
package.json
14
package.json
|
@ -1,14 +0,0 @@
|
|||
{
|
||||
"name": "gamelogs",
|
||||
"version": "1.0.0",
|
||||
"description": "RPGs I've played",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"inquirer": "^8.2.0"
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue