summaryrefslogtreecommitdiffstats
path: root/2023/talks/solo.md
blob: 9bf2edbec9a326b2baca582900366cd021e4ed20 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
[[!meta title="How I play TTRPGs in Emacs"]]
[[!meta copyright="Copyright © 2023 Howard Abrams"]]
[[!inline pages="internal(2023/info/solo-nav)" raw="yes"]]

<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
<!-- You can manually edit this file to update the abstract, add links, etc. --->


# How I play TTRPGs in Emacs
Howard Abrams - Website: <https://www.howardism.org> - Mastodon: @howard@emacs.ch, <mailto:howard@howardabrams.com>

[[!inline pages="internal(2023/info/solo-before)" raw="yes"]]


- Ironsworn Emacs project code: <https://gitlab.com/howardabrams/emacs-ironsworn>
- Note that this code depends on my earlier project: <https://gitlab.com/howardabrams/emacs-rpgdm>
- The alpha version of a RPG Toolkit code: <https://codeberg.org/howardabrams/emacs-rpgtk>

As an eternal Dungeon Master, I have a long history of collecting my notes
in Emacs. When my son was very young, I would export my Org files to
an HTML page that would include some magic JavaScript, so that when
displayed on my iPad, I could touch a table to have it randomly return a
line, or touch a phrase like `3d6+1`, to have the web page return a dice
roll.

Lately I’ve been getting into Solo versions of tabletop role playing games
(TTRPG), and have had a fun time writing Lisp to support this style of
play, and thought I’d share my code and my fun.

I’d like to begin by showing my  game play in action: I’m currently playing
Ironsworn with the Mythic GM Emulator and various other tables and
procedures to stike a balance between *playing a game* and *writing a
book*. Next I would like to show the code that supports the interface, and
perhaps dive a bit deeper into some of the underlying mechanisms and
functions, especially that function that randomly chooses entries from Org
tables. I’ll end with a plan for turning my code into a community project,
if people are interested.

Format (10 minutes, 20 minutes, description of other format) and outline:
20 minutes, but I could do less if you have too many submissions.

About the speaker:

Howard often gives technical, work-related talks at EmacsConf, but here he
is talking about playing games in Emacs.
# Discussion

## Questions and answers

-   Q: Where can I get this?
    -   A: <https://gitlab.com/howardabrams/emacs-ironsworn>
-   Q: How well would this suppliment freefoxm writing. short novels or
    novels?
    -   A: I think it would be a good start. It is just an org file, so
        you can go as far as you'd like with the writing.
-   Q: Does the current version also have some utilities for doing
    multiplayer? (either physically or digitally) (since you mentioned,
    you previously did multiplayer sessions as well..)
    -   A: Nope, it is just Solo, but that does sound like a fun idea.
-   Q: This game + CRDT (collabrative editing
    <https://github.com/emacs-straight/crdt.git>) should be great for
    non-solo playing?
    -   A: Perhaps, I'd like to try it out.
-   Q: How does one become super awesome like Howard Abrams??
    -   A: "There's no secrets! Just follow your passions!"
        -   Seriously inspiring.
-   Q: Please talk a little about how you produced such a slick
    presentation video!  Everything looked completely professional!
    -   A: <https://emacs.ch/@howard/111506614571155011> "My son helped
        me record my presentation for #emacsconf and we were able to
        achieve an over-the-top show that will evoke the feels ... from
        snickers to eyerolls."
-   Q: Does table data allow for recursion?  I have a table that when I
    roll on it, a result comes up that references another table (e.g.
    result that returns "There are [random monster] haunting the
    cavern entrance" and we'd roll on [random monster] and inject
    them into the result.)
    -   A: Yes.
-   Q: With your toolkit a list of good books would be nice to be
    included. example d&d, space, steampunk, cyberpunk settings
-   Q:  Hi Howard and Thanks for an outstanding presentation!!! What did
    you use to create the graphics in your presentation?
    -   A: I don't really know. I will have to ask my son, as he did
        the editing and directing.
-   Q: Any plans to borrow tables from Dungeon World, or
    Ironsworn:Starforged and publish in the toolkit repository? 
    (<https://github.com/lifelike/Dungeon-World-Org-Mode>)
    -   A: That does sound like fun.
-   Q: How has this impacted your imagination on the scenes?  (e.g.
    constraints by algorithms)
    -   A: Yes, writing creatively can be very helpful in many other
        aspects of your life.
-   Q: Your essay/video "Literate DevOps" I consider a classic, and
    it's really opened my eyes on org-babel and what you could do. Do
    you still use those techniques at work? Have you come up with any
    improvements or changes to your workflow?
    -   Yup. Still do.

## Notes

-   Ironsworn Emacs project code:
    <https://gitlab.com/howardabrams/emacs-ironsworn>
-   Note that this code depends on my earlier project:
    <https://gitlab.com/howardabrams/emacs-rpgdm>
-   The alpha version of a RPG Toolkit code:
    <https://codeberg.org/howardabrams/emacs-rpgtk>
-   Really cool project! - Also the enthusiasm for the topic is really
    contagious!
-   "Every time Howard publishes a talk, I end up doing one more thing
    in a new radical or literate way inside Emacs - currently looking
    into how to go about literate snow shoveling for the winter ahead."
- I can see this one is going to be a classic
- the camera and lighting already has me sold
- Such a vibe!
- can I just (require 'howardism) and be done with it all?
- i love this so hard
- "Howard's talk is published on the site now" "I'll be in my bunk"
- Holy CRAP Howardism WINNING EmacsConf2023
- Could we add this to emacs beside dunnet?
- Howard's stuff is always great. this particular thing is totally unchained. :D
- "Howard approaches your table in the tavern. Do you (1) buy him a tanker of mead (2) kill him and eat his brain"
- "Not showing-off," he said.
- That was epic
- Happy Hacking!
- What's the emoji for a crowd picking Howard up on our shoulders and carrying him around
- there's a peaceful aspect of having non web based stuff to play
  - Non-web, and not-networked!
- the web is horrible. lisp machines are the future.
- Imagine playing D&D with colab (from the previous talk)!


[[!inline pages="internal(2023/info/solo-after)" raw="yes"]]

[[!inline pages="internal(2023/info/solo-nav)" raw="yes"]]