0:00:08.559,0:00:10.880
okay
0:00:12.960,0:00:18.000
so i'm gonna start with my just my demo
0:00:14.960,0:00:31.840
emacs here eric we're ready
0:00:18.000,0:00:35.440
oh we are live
0:00:31.840,0:00:39.200
okay so you're starting then
0:00:35.440,0:00:41.760
i guess i'll start right now here we go
0:00:39.200,0:00:43.440
so i'm a windows user as we talked about
0:00:41.760,0:00:46.719
yesterday
0:00:43.440,0:00:47.440
i'm gonna try to uh start emacs for you
0:00:46.719,0:00:48.960
now
0:00:47.440,0:00:52.879
and i've kind of got it pinned to this
0:00:48.960,0:00:55.760
thing but mostly what i actually do
0:00:52.879,0:01:00.160
is grab a file explorer and head to my
0:00:55.760,0:01:00.160
desktop where i have all sorts of emacs
0:01:00.559,0:01:04.160
eric can you make sure that your vlc is
0:01:05.960,0:01:08.960
muted
0:01:10.840,0:01:13.840
okay
0:01:21.840,0:01:27.840
give me a second please
0:01:39.360,0:01:44.000
i do okay all right we should be we
0:01:42.079,0:01:44.560
should be working again now my apologies
0:01:44.000,0:01:46.560
for that
0:01:44.560,0:01:47.759
all right handling technical problems in
0:01:46.560,0:01:50.079
real time is
0:01:47.759,0:01:52.079
uh what emacs is all about as we're
0:01:50.079,0:01:53.360
coding we're constantly making errors
0:01:52.079,0:01:54.560
and fixing them and
0:01:53.360,0:01:56.159
learning from the kinds of errors that
0:01:54.560,0:01:57.759
we make and adjusting the editor to be
0:01:56.159,0:02:00.719
easier to use
0:01:57.759,0:02:02.640
so today we'll try to build on uh some
0:02:00.719,0:02:05.600
of the ideas we introduced yesterday
0:02:02.640,0:02:07.280
around how a community can help us learn
0:02:05.600,0:02:10.479
emacs faster
0:02:07.280,0:02:13.040
and how we can think broadly
0:02:10.479,0:02:14.160
about the people in our team when we
0:02:13.040,0:02:16.080
decide how
0:02:14.160,0:02:18.000
what kind of emacs configuration we're
0:02:16.080,0:02:19.680
going to have going for our project
0:02:18.000,0:02:22.239
so i'm just going to fire up my normal
0:02:19.680,0:02:25.440
emacs config now so that we get
0:02:22.239,0:02:29.120
uh hopefully a nice pretty demo or uh
0:02:25.440,0:02:30.959
at least some slides and for safety
0:02:29.120,0:02:33.360
we're going to avoid the server because
0:02:30.959,0:02:35.280
i hate it when it crashes
0:02:33.360,0:02:37.840
it's a little less stable under windows
0:02:35.280,0:02:37.840
i think
0:02:41.120,0:02:44.800
and well uh while this starts up i'll
0:02:43.360,0:02:47.200
just briefly introduce
0:02:44.800,0:02:49.519
my lifelong friend and eric uh elm
0:02:47.200,0:02:51.120
salzer who's hanging in the wings and
0:02:49.519,0:02:53.840
waiting impatiently for us to be able to
0:02:51.120,0:02:53.840
start our slides
0:02:54.400,0:02:57.280
hello everybody
0:02:58.560,0:03:02.000
so you've heard plenty from me already
0:03:00.720,0:03:05.760
this conference
0:03:02.000,0:03:09.120
um i suppose
0:03:05.760,0:03:10.720
uh so i'm just gonna uh
0:03:09.120,0:03:12.400
so eric and i have worked things out so
0:03:10.720,0:03:14.159
that he'll do most of the talking today
0:03:12.400,0:03:14.879
i'll drive us through some code parts
0:03:14.159,0:03:16.239
but
0:03:14.879,0:03:18.000
the hope is that we'll just focus a
0:03:16.239,0:03:20.000
little more on the game and if you have
0:03:18.000,0:03:21.840
questions about the game at all please
0:03:20.000,0:03:24.879
don't hesitate to ask those as well as
0:03:21.840,0:03:24.879
your emacs questions
0:03:28.480,0:03:33.840
and i think we're starting out welcome
0:03:34.959,0:03:40.400
and let's cut away here so we can show
0:03:37.680,0:03:40.400
some faces
0:03:41.200,0:03:47.840
i lost you eric why would you do that
0:03:45.040,0:03:47.840
there he is
0:03:48.319,0:03:53.280
and let's just do one more thing because
0:03:50.239,0:03:55.439
that's just kind of offensive
0:03:53.280,0:03:59.360
i'm gonna kill off that cute wallpaper
0:03:55.439,0:04:02.640
we all were playing with yesterday
0:03:59.360,0:04:04.480
although that's not so bad anymore
0:04:02.640,0:04:07.360
oh that's terrible it's got to come back
0:04:04.480,0:04:07.360
i'm sorry everybody
0:04:11.120,0:04:15.840
oh my dear all right
0:04:16.720,0:04:22.400
and we just opened emacs so i have to
0:04:19.040,0:04:22.400
open my slideshow
0:04:25.040,0:04:30.320
and there we are
0:04:28.479,0:04:32.560
okay eric i think i'm about as ready as
0:04:30.320,0:04:35.520
i get
0:04:32.560,0:04:37.840
cool well uh let's begin here welcome to
0:04:35.520,0:04:40.560
the dungeon everybody
0:04:37.840,0:04:40.560
i'm eric and this
0:04:41.199,0:04:45.120
london is that we've been working on for
0:04:43.199,0:04:48.240
about a year now
0:04:45.120,0:04:52.000
um the dungeon
0:04:48.240,0:04:54.000
game is based on
0:04:52.000,0:04:56.160
a tradition of gaming that came out of
0:04:54.000,0:04:57.520
the university of minnesota back in like
0:04:56.160,0:05:00.639
the 1950s
0:04:57.520,0:05:03.680
as far as we can tell and it
0:05:00.639,0:05:05.199
is a predecessor an ancestor of most of
0:05:03.680,0:05:07.680
the commercial role-playing games
0:05:05.199,0:05:08.720
that you have heard of or maybe tried
0:05:07.680,0:05:10.800
out from
0:05:08.720,0:05:11.919
various stores and friends when i have
0:05:10.800,0:05:14.240
you
0:05:11.919,0:05:15.759
so one of the first things we want to
0:05:14.240,0:05:17.039
talk about is what is it that sets
0:05:15.759,0:05:19.440
dungeon apart
0:05:17.039,0:05:20.800
why is it you know what is it about this
0:05:19.440,0:05:22.880
game that makes us want to
0:05:20.800,0:05:25.039
continue bringing it forward when there
0:05:22.880,0:05:26.800
are so many games
0:05:25.039,0:05:28.479
already commercially available that are
0:05:26.800,0:05:32.400
descended from it
0:05:28.479,0:05:36.479
um dungeon is kind of a
0:05:32.400,0:05:39.280
simpler game like we
0:05:36.479,0:05:40.400
don't a lot of the mechanics that you
0:05:39.280,0:05:42.240
think of about like
0:05:40.400,0:05:44.560
what is it that defines your character
0:05:42.240,0:05:48.080
stats and skills and attributes
0:05:44.560,0:05:51.199
we just don't deal with in dungeon um
0:05:48.080,0:05:54.720
but dungeon
0:05:51.199,0:05:59.560
the simplicity of it allows it um
0:05:54.720,0:06:01.840
to be a view over creativity more than
0:05:59.560,0:06:04.720
um
0:06:01.840,0:06:07.039
so that's kind of why we like it but
0:06:04.720,0:06:07.039
also
0:06:16.639,0:06:24.000
so when we look at it as kind of like
0:06:20.800,0:06:26.880
uh a technology problem whoops
0:06:24.000,0:06:27.919
when we try to hey home uh i'm sorry i
0:06:26.880,0:06:30.560
got ahead of us i'll
0:06:27.919,0:06:30.560
i'll cut back
0:06:32.160,0:06:37.600
i i thought we were doing fine
0:06:35.520,0:06:40.000
okay well then i'll i'll just yeah
0:06:37.600,0:06:40.000
either way
0:06:40.319,0:06:46.479
so we've been friends since um
0:06:43.360,0:06:49.840
it was our parents basically
0:06:46.479,0:06:53.120
um our parents are friends uh and
0:06:49.840,0:07:02.479
we learn this game from our parents
0:06:53.120,0:07:04.560
um specifically um
0:07:02.479,0:07:06.400
uh yeah that's where that's that's
0:07:04.560,0:07:09.599
that's my q in right
0:07:06.400,0:07:13.759
so um yeah my my
0:07:09.599,0:07:15.120
my folks uh and and eric's folks were
0:07:13.759,0:07:17.360
were really tight they used to run
0:07:15.120,0:07:20.400
science fiction conventions together
0:07:17.360,0:07:21.840
and yeah we our play
0:07:20.400,0:07:23.520
featured you know imaginative
0:07:21.840,0:07:25.360
role-playing usually we would find ways
0:07:23.520,0:07:28.639
to work the computers in
0:07:25.360,0:07:30.479
to things and uh uh
0:07:28.639,0:07:34.160
i don't i don't know i i hardly have
0:07:30.479,0:07:34.160
memories uh that proceed eric
0:07:35.000,0:07:44.240
um also it turns out we're both
0:07:37.840,0:07:47.280
kind of nervous uh we've been um
0:07:44.240,0:07:49.039
back in the early 80s and
0:07:47.280,0:07:51.360
for as long as we've been friends
0:07:49.039,0:07:52.800
basically we've also been into playing
0:07:51.360,0:07:55.440
with computers
0:07:52.800,0:07:55.840
um over the years we've worked with many
0:07:55.440,0:07:59.120
many
0:07:55.840,0:07:59.120
different systems we've played
0:08:11.360,0:08:17.919
like um so we
0:08:14.560,0:08:20.800
also always thought like
0:08:17.919,0:08:22.639
how is it that we can use these cool
0:08:20.800,0:08:27.840
computers
0:08:22.639,0:08:27.840
to build this dungeons
0:08:28.319,0:08:35.039
right that's certainly what we did um
0:08:32.080,0:08:35.839
so after some decades of bike shedding
0:08:35.039,0:08:37.360
where we saw
0:08:35.839,0:08:39.039
really a lot of changes in the
0:08:37.360,0:08:40.800
technology field
0:08:39.039,0:08:42.880
cell phones were invented smartphones
0:08:40.800,0:08:44.720
were invented text messaging in
0:08:42.880,0:08:47.120
particular had a dramatic
0:08:44.720,0:08:48.640
impact on on what we thought dungeon
0:08:47.120,0:08:49.519
would have to be able to do to be more
0:08:48.640,0:08:54.720
fun
0:08:49.519,0:08:58.480
than scribbling in in graph paper
0:08:54.720,0:09:01.519
um yeah either way
0:08:58.480,0:09:04.399
we've been using linux since the mid 90s
0:09:01.519,0:09:06.160
um i don't remember exactly when i did
0:09:04.399,0:09:09.279
my first linux install
0:09:06.160,0:09:12.560
but uh i really
0:09:09.279,0:09:13.279
liked it from the get-go and um i think
0:09:12.560,0:09:23.360
it was
0:09:13.279,0:09:26.320
you know um
0:09:23.360,0:09:28.800
uh and i'll add i remember the day that
0:09:26.320,0:09:32.560
i learned about the formation of gnu
0:09:28.800,0:09:33.440
it um it had a life i i mean i read lots
0:09:32.560,0:09:36.880
of licenses i
0:09:33.440,0:09:38.480
i think a lot of us have written our own
0:09:36.880,0:09:41.600
swag license code
0:09:38.480,0:09:42.800
and uh i definitely credit the formation
0:09:41.600,0:09:46.240
of gnu to my
0:09:42.800,0:09:46.240
being interested in thinking about that
0:09:48.640,0:09:53.040
right i am working the slides here okay
0:09:50.720,0:09:55.200
well um
0:09:53.040,0:09:56.080
so yeah this is your turn i already
0:09:55.200,0:09:58.720
mentioned uh
0:09:56.080,0:10:00.399
jeff yesterday so you're turning to take
0:09:58.720,0:10:03.519
it for a few slides
0:10:00.399,0:10:04.240
okay well i mean you know along the
0:10:03.519,0:10:07.200
learning
0:10:04.240,0:10:08.560
linux we started learning the various
0:10:07.200,0:10:11.680
tools that were available
0:10:08.560,0:10:14.000
through the new free software movement
0:10:11.680,0:10:14.720
and um it didn't take very long before
0:10:14.000,0:10:18.240
we got
0:10:14.720,0:10:21.040
into using emacs um and when we were
0:10:18.240,0:10:24.000
working as software developers um back
0:10:21.040,0:10:25.680
in the 90s we both were using emacs in
0:10:24.000,0:10:28.959
an office environment with
0:10:25.680,0:10:33.360
some other developers and it i mean
0:10:28.959,0:10:33.360
it was obviously a very powerful
0:10:40.560,0:10:48.000
um yeah i'm not going to go on at length
0:10:43.120,0:10:48.000
about my love for emacs here so um
0:10:48.880,0:10:52.480
so we yeah so we put together a project
0:10:52.000,0:10:54.240
and
0:10:52.480,0:10:56.320
and each time we rehearse this eric
0:10:54.240,0:10:58.000
introduces it with it's my story to tell
0:10:56.320,0:10:59.360
but since our flow is already to hell
0:10:58.000,0:11:00.880
and we're just having a conversation
0:10:59.360,0:11:03.920
with you today
0:11:00.880,0:11:06.399
um i'll just jump in and say
0:11:03.920,0:11:08.160
from a project standpoint the the
0:11:06.399,0:11:09.839
project owes its inception
0:11:08.160,0:11:12.079
to a tremendous number of people in
0:11:09.839,0:11:14.000
fandom that you know
0:11:12.079,0:11:15.680
uh encouraged us to just do crazy
0:11:14.000,0:11:18.160
projects and
0:11:15.680,0:11:18.800
in this case to our friends that were
0:11:18.160,0:11:21.360
hanging out
0:11:18.800,0:11:22.560
with us on discord all the time while we
0:11:21.360,0:11:25.200
played different games
0:11:22.560,0:11:26.640
and uh through that and while i was
0:11:25.200,0:11:31.839
fooling with emacs is
0:11:26.640,0:11:31.839
generally other people played games uh
0:11:34.000,0:11:37.200
kind of the pieces fell into place and
0:11:35.680,0:11:38.320
we were all there so we could talk about
0:11:37.200,0:11:41.040
it and the idea got
0:11:38.320,0:11:42.800
exciting again and we started going back
0:11:41.040,0:11:44.480
to all the places that we had
0:11:42.800,0:11:46.640
had trouble with it in the past and it
0:11:44.480,0:11:48.000
really did seem to add up we built proof
0:11:46.640,0:11:50.240
of concepts to do
0:11:48.000,0:11:51.440
hard stuff quickly and i guess we'll
0:11:50.240,0:11:54.320
probably head into that
0:11:51.440,0:11:54.320
that area now
0:11:54.880,0:11:57.040
so
0:12:03.360,0:12:11.839
and there was a slide about all of
0:12:06.800,0:12:11.839
the problems
0:12:31.360,0:12:37.279
hey there hey
0:12:34.959,0:12:38.800
um yeah go ahead and continue i just got
0:12:37.279,0:12:40.639
a phone call i think from leo so i'm
0:12:38.800,0:12:44.480
gonna mute
0:12:40.639,0:12:47.600
okay so um what we did in
0:12:44.480,0:12:49.680
in the project was basically come up
0:12:47.600,0:12:51.440
with our minimum play testable candidate
0:12:49.680,0:12:52.000
we listed all of the things that we need
0:12:51.440,0:12:56.240
to be able
0:12:52.000,0:12:59.040
to make the project do in order to
0:12:56.240,0:12:59.519
recreate the dungeon experience that we
0:12:59.040,0:13:01.279
had
0:12:59.519,0:13:04.720
with paper and dice sitting around a
0:13:01.279,0:13:04.720
table when we were kids
0:13:05.600,0:13:07.839
and
0:13:09.680,0:13:13.839
i mean we you know it took a while for
0:13:12.079,0:13:16.079
us to kind of
0:13:13.839,0:13:18.000
tease apart the problem in a way where
0:13:16.079,0:13:19.120
we could actually list out all of the
0:13:18.000,0:13:20.959
features like
0:13:19.120,0:13:23.920
what are the problems we have to solve
0:13:20.959,0:13:23.920
and how do we solve them
0:13:27.760,0:13:33.040
so creating any free software any
0:13:30.959,0:13:36.000
self-organizing free software project
0:13:33.040,0:13:37.200
is is challenging to start with and
0:13:36.000,0:13:38.480
we're generally
0:13:37.200,0:13:40.320
people with a bunch of other
0:13:38.480,0:13:40.560
responsibilities by the time we get to
0:13:40.320,0:13:44.000
it
0:13:40.560,0:13:47.040
so it's it's not just hey
0:13:44.000,0:13:47.680
you know the general herding cats it's
0:13:47.040,0:13:49.120
it's
0:13:47.680,0:13:51.040
you know trying to make it a part of
0:13:49.120,0:13:54.399
your life to
0:13:51.040,0:13:57.680
uh that being kind of a
0:13:54.399,0:14:00.480
you know challenging battle we we
0:13:57.680,0:14:02.639
kind of aligned on some some principles
0:14:00.480,0:14:04.079
that we wanted to adhere to
0:14:02.639,0:14:05.680
once we started taking the project
0:14:04.079,0:14:09.519
seriously
0:14:05.680,0:14:12.720
like pre you know particularly
0:14:09.519,0:14:15.199
recognizing gnu in specific as we focus
0:14:12.720,0:14:16.480
on giving back to the community
0:14:15.199,0:14:18.240
taking what we learned as pearl
0:14:16.480,0:14:22.079
programmers and
0:14:18.240,0:14:24.320
uh you know bringing that spirit forward
0:14:22.079,0:14:26.399
into into our work and maybe
0:14:24.320,0:14:27.120
specifically support making sure that we
0:14:26.399,0:14:30.639
can
0:14:27.120,0:14:31.760
um you know write uh functions for the
0:14:30.639,0:14:35.199
game
0:14:31.760,0:14:38.079
um in pearl if we want to
0:14:35.199,0:14:40.320
and then to use the game as a vehicle to
0:14:38.079,0:14:42.560
make people look beyond
0:14:40.320,0:14:42.560
the
0:14:43.360,0:14:49.600
typically open source or sorry typically
0:14:46.800,0:14:52.160
uh nominally open source at best
0:14:49.600,0:14:54.160
generally pretty closed world of
0:14:52.160,0:14:55.440
computer gaming a lot of windows users
0:14:54.160,0:14:57.519
out there a lot of free
0:14:55.440,0:14:59.760
non-free communication tools and a lot
0:14:57.519,0:15:01.839
of uh
0:14:59.760,0:15:03.360
you know a lot of ground to cover from a
0:15:01.839,0:15:05.920
free software perspective
0:15:03.360,0:15:07.360
so what can emacs do from a gaming
0:15:05.920,0:15:12.160
standpoint to
0:15:07.360,0:15:14.880
to open that up
0:15:12.160,0:15:16.720
and not to mention the hubris of the you
0:15:14.880,0:15:18.399
know the two of us with a few friends
0:15:16.720,0:15:19.440
basically deciding to take on what
0:15:18.399,0:15:21.839
amounts to a
0:15:19.440,0:15:24.720
huge project um you know we're
0:15:21.839,0:15:27.839
essentially a year in now and we haven't
0:15:24.720,0:15:30.000
really gotten over halfway to our
0:15:27.839,0:15:32.880
minimum playtestable candidate
0:15:30.000,0:15:34.320
um it's a it's a work in progress we've
0:15:32.880,0:15:36.800
got a long row to go
0:15:34.320,0:15:38.399
there's at least 50 items on the things
0:15:36.800,0:15:40.320
that we think are critical to
0:15:38.399,0:15:43.279
to be able to introduce it to my younger
0:15:40.320,0:15:43.279
kids for example
0:15:44.720,0:15:49.279
um okay so we're in the accomplishments
0:15:48.399,0:15:50.959
section
0:15:49.279,0:15:52.639
so we're supposed to be talking about
0:15:50.959,0:15:55.920
the things that we have
0:15:52.639,0:15:58.880
succeeded in doing in our first year um
0:15:55.920,0:16:01.199
we have succeeded in working with data
0:15:58.880,0:16:04.480
in org documents using org mode
0:16:01.199,0:16:05.360
tables to store the data that we're
0:16:04.480,0:16:09.279
going to use
0:16:05.360,0:16:12.519
in the various parts of our game
0:16:09.279,0:16:14.160
um and we've had a lot of success with
0:16:12.519,0:16:16.639
svg.el
0:16:14.160,0:16:17.279
uh it started withdrawing maps and we
0:16:16.639,0:16:19.440
have
0:16:17.279,0:16:21.440
another talk about our mapping
0:16:19.440,0:16:23.759
specifically coming up next so we'll
0:16:21.440,0:16:25.199
put off some of that discussion for a
0:16:23.759,0:16:28.720
separate talk
0:16:25.199,0:16:32.320
um but we've also succeeded in
0:16:28.720,0:16:35.680
um getting into a bunch of different
0:16:32.320,0:16:38.160
elements of the game where uh
0:16:35.680,0:16:38.959
we're you know making a lot of progress
0:16:38.160,0:16:41.920
using this
0:16:38.959,0:16:43.759
drawing engine we developed to also draw
0:16:41.920,0:16:45.279
this other thing and also draw this
0:16:43.759,0:16:46.079
other thing and also draw this other
0:16:45.279,0:16:49.519
thing and it's
0:16:46.079,0:16:52.560
um you know we kind of backed into
0:16:49.519,0:16:54.720
we've got this aesthetic and we're
0:16:52.560,0:16:57.839
using it to draw interfaces for all of
0:16:54.720,0:16:57.839
the different parts of the game
0:17:03.120,0:17:06.959
so let's talk let's talk a little bit
0:17:05.600,0:17:10.880
about what
0:17:06.959,0:17:13.360
uh what works now um
0:17:10.880,0:17:14.640
first of all there's the mapping part
0:17:13.360,0:17:18.480
that eric mentioned
0:17:14.640,0:17:20.880
and we'll jump here into um we'll start
0:17:18.480,0:17:22.160
opening up some files and looking around
0:17:20.880,0:17:25.520
um but then
0:17:22.160,0:17:26.959
also later uh we'll we'll fire up an eye
0:17:25.520,0:17:28.400
elm and look at some of the
0:17:26.959,0:17:30.240
some of the other proofs of concept so
0:17:28.400,0:17:32.240
hopefully we can
0:17:30.240,0:17:34.320
pivot the second talk more toward the
0:17:32.240,0:17:35.520
demos as as we skip some of the
0:17:34.320,0:17:39.120
interactive stuff that might be
0:17:35.520,0:17:39.120
mentioned in the slides that we go by
0:17:43.200,0:17:50.080
so maps
0:17:46.880,0:17:53.120
visual battle board um
0:17:50.080,0:17:54.160
the battle board i'm just gonna i'm just
0:17:53.120,0:18:01.840
gonna skip it eric
0:17:54.160,0:18:01.840
we'll hit it in the next one okay
0:18:02.000,0:18:04.480
hang on
0:18:08.480,0:18:11.840
okay so i'm just going to go ahead and
0:18:09.919,0:18:13.760
open up uh maps and
0:18:11.840,0:18:15.039
let you talk from the from the svg
0:18:13.760,0:18:16.480
process itself
0:18:15.039,0:18:20.080
because that's the interesting part to
0:18:16.480,0:18:20.080
me that uh to me
0:18:22.240,0:18:28.640
okay talk about the svg
0:18:26.080,0:18:30.640
process like what what are you thinking
0:18:28.640,0:18:33.760
exactly we want to talk about how
0:18:30.640,0:18:37.919
we turn our data into an image or
0:18:33.760,0:18:39.760
what what are you hoping for yeah so
0:18:37.919,0:18:41.200
i mean did you did you want to talk more
0:18:39.760,0:18:45.679
from from the
0:18:41.200,0:18:47.039
svg the hand-drawn svg graphics at all
0:18:45.679,0:18:49.760
i thought we were going to save that
0:18:47.039,0:18:52.000
stuff for the passing talk okay
0:18:49.760,0:18:53.440
right now if you want yeah i mean so
0:18:52.000,0:18:56.559
we've got about
0:18:53.440,0:18:58.400
uh 10 minutes before the turn where we
0:18:56.559,0:19:00.400
thought we would first take any
0:18:58.400,0:19:02.320
questions that are hanging out there
0:19:00.400,0:19:04.799
i unfortunately closed the ether pad but
0:19:02.320,0:19:08.480
i can open it again real quick
0:19:04.799,0:19:11.440
and or you can jump
0:19:08.480,0:19:12.320
jump into the to the pathing stuff now
0:19:11.440,0:19:13.760
or i can just
0:19:12.320,0:19:15.440
throw up an animal and we can start the
0:19:13.760,0:19:18.880
demos so
0:19:15.440,0:19:19.840
let me invite uh almond or sasha back in
0:19:18.880,0:19:22.160
if you guys
0:19:19.840,0:19:22.960
or leo if any of you want to join the
0:19:22.160,0:19:25.840
conversation
0:19:22.960,0:19:27.120
make a suggestion as to how we balance
0:19:25.840,0:19:29.840
between the remaining time
0:19:27.120,0:19:32.480
the rest of what we have left starts in
0:19:29.840,0:19:35.120
on toward the technical so especially
0:19:32.480,0:19:36.840
if there would be questions uh questions
0:19:35.120,0:19:39.840
about the game right now that would be
0:19:36.840,0:19:39.840
awesome
0:19:40.160,0:19:43.600
and i'm gonna get seated again
0:19:48.720,0:19:53.200
i'm not sure if i talk over the stream
0:19:51.200,0:19:54.720
um if you'll hear it because i'm just
0:19:53.200,0:19:59.520
watching your stream
0:19:54.720,0:19:59.520
but i can try writing an irc um
0:20:01.200,0:20:07.360
sure yeah questions would be cool um or
0:20:04.640,0:20:08.559
um yeah well eric why don't you just go
0:20:07.360,0:20:09.120
ahead and start walking us through the
0:20:08.559,0:20:11.440
hand
0:20:09.120,0:20:12.960
hand-drawn svg stuff just a little bit
0:20:11.440,0:20:14.640
because i think
0:20:12.960,0:20:17.120
if that isn't interesting to people we
0:20:14.640,0:20:21.120
can just preempt for a question
0:20:17.120,0:20:24.080
okay so historically when we
0:20:21.120,0:20:25.840
um decided to actually start writing
0:20:24.080,0:20:26.720
code one of the very first things we
0:20:25.840,0:20:30.080
wanted to do
0:20:26.720,0:20:31.919
was the maps because initially it seemed
0:20:30.080,0:20:33.840
like the maps were going to be one of
0:20:31.919,0:20:35.760
the biggest challenges
0:20:33.840,0:20:38.000
in terms of how do we get a text editor
0:20:35.760,0:20:42.159
to draw pictures for us
0:20:38.000,0:20:45.280
um we pretty quickly decided we wanted
0:20:42.159,0:20:48.559
to work with svgs because it allowed us
0:20:45.280,0:20:52.159
to leverage the power of emacs as a text
0:20:48.559,0:20:56.080
editor and a text manipulator to write
0:20:52.159,0:20:59.520
text graphics with the svg format
0:20:56.080,0:21:01.440
so we did some svg graphics by hand
0:20:59.520,0:21:02.640
we went in and just started hand coding
0:21:01.440,0:21:05.440
things that looked
0:21:02.640,0:21:07.440
visually like the maps we used to draw
0:21:05.440,0:21:08.960
by hand on graph paper when
0:21:07.440,0:21:11.280
we were you know sitting around the
0:21:08.960,0:21:11.280
table
0:21:11.360,0:21:17.840
yep absolutely what emerged from that
0:21:14.559,0:21:20.400
is as we started working on um some of
0:21:17.840,0:21:24.000
these files this particular image is a
0:21:20.400,0:21:26.240
test of some 20 wide water
0:21:24.000,0:21:28.000
with some beaches around it and a
0:21:26.240,0:21:29.679
special chamber kind of off to the side
0:21:28.000,0:21:33.760
called a clapper
0:21:29.679,0:21:36.559
and this was the way we would code is by
0:21:33.760,0:21:37.600
sketching by hand all of these things to
0:21:36.559,0:21:39.440
look right
0:21:37.600,0:21:42.080
and then we would take that code and we
0:21:39.440,0:21:43.919
noticed um it became real repetitive
0:21:42.080,0:21:45.440
as we would go like chunk of water chunk
0:21:43.919,0:21:46.880
of water chunk of water
0:21:45.440,0:21:48.559
and we're like okay so what we really
0:21:46.880,0:21:52.000
need is to define a
0:21:48.559,0:21:53.600
set of um we called it tiles um but like
0:21:52.000,0:21:55.760
you could think of it as rubber stamps
0:21:53.600,0:21:57.440
where we write this graphics code
0:21:55.760,0:22:00.400
and then we're able to repeat it in
0:21:57.440,0:22:03.039
different places around the map
0:22:00.400,0:22:06.880
um you want to flip over to code view
0:22:03.039,0:22:06.880
and show that or do we want to move into
0:22:07.120,0:22:12.720
tiles code
0:22:10.240,0:22:14.320
so you know you can see just really
0:22:12.720,0:22:15.200
obviously here the only thing that's
0:22:14.320,0:22:18.240
changing from
0:22:15.200,0:22:21.600
chunk of water to chunk of water is the
0:22:18.240,0:22:24.640
x and y coordinates um
0:22:21.600,0:22:26.000
we're you know we can skip getting into
0:22:24.640,0:22:29.360
the svg directives
0:22:26.000,0:22:30.640
and how all of the path statements
0:22:29.360,0:22:33.679
actually work
0:22:30.640,0:22:36.480
but you can trust us
0:22:33.679,0:22:39.039
all of these d equals and there's m's
0:22:36.480,0:22:41.039
and h's and v's that turns out to be
0:22:39.039,0:22:42.480
horizontal lines and vertical lines and
0:22:41.039,0:22:44.159
cursor moves and it's kind of like
0:22:42.480,0:22:46.640
turtle graphics if anyone
0:22:44.159,0:22:48.720
remembers that far back and we're
0:22:46.640,0:22:54.720
picking up our pen and dropping it and
0:22:48.720,0:22:56.240
drawing lines around on our map
0:22:54.720,0:22:58.000
so we do have a few questions if you
0:22:56.240,0:23:01.200
want to take them now otherwise
0:22:58.000,0:23:03.120
um we can also jump in
0:23:01.200,0:23:04.559
let's get them while they're fresh okay
0:23:03.120,0:23:07.520
sounds good
0:23:04.559,0:23:08.000
um so we'll probably shift to question
0:23:07.520,0:23:10.799
and answer
0:23:08.000,0:23:11.919
mode for up to 15 minutes here so if you
0:23:10.799,0:23:14.480
do have questions
0:23:11.919,0:23:15.679
um maybe stack rank go ahead and sort
0:23:14.480,0:23:17.600
the questions
0:23:15.679,0:23:18.960
a little for us or comment on them to
0:23:17.600,0:23:19.760
let us know which ones you want to see
0:23:18.960,0:23:21.280
us get here
0:23:19.760,0:23:23.600
if we start getting a little long-winded
0:23:21.280,0:23:26.960
or nudges along we'll take direction
0:23:23.600,0:23:28.799
but thanks for your questions um i'd
0:23:26.960,0:23:30.720
like to see a demo as well we'll look at
0:23:28.799,0:23:32.159
that with the remaining time after this
0:23:30.720,0:23:35.200
question block
0:23:32.159,0:23:38.720
um more about what the game is
0:23:35.200,0:23:40.720
okay sure so let's let's take our
0:23:38.720,0:23:42.799
uh one minute each swing at what the
0:23:40.720,0:23:45.120
game is you wanna go first i called
0:23:42.799,0:23:48.840
weapons
0:23:45.120,0:23:52.720
okay um dungeon
0:23:48.840,0:23:55.440
is like role-playing games
0:23:52.720,0:23:56.159
but you don't really do role-playing
0:23:55.440,0:23:57.919
like the
0:23:56.159,0:23:59.520
for me the thing the core of being a
0:23:57.919,0:24:02.080
role-playing game is you
0:23:59.520,0:24:03.039
take on the role of being your character
0:24:02.080,0:24:06.000
and you play
0:24:03.039,0:24:06.400
your character and dungeon's not like
0:24:06.000,0:24:10.320
that
0:24:06.400,0:24:12.640
dungeon um you can play
0:24:10.320,0:24:13.840
so the dungeon party always has eight
0:24:12.640,0:24:15.840
characters in it
0:24:13.840,0:24:17.679
there's four in the front row and four
0:24:15.840,0:24:18.720
in the back row and you march through
0:24:17.679,0:24:22.159
the dungeon
0:24:18.720,0:24:24.000
fighting whatever you encounter and if
0:24:22.159,0:24:25.200
there's one player you play all eight
0:24:24.000,0:24:27.120
characters
0:24:25.200,0:24:28.720
and depending on how many players you
0:24:27.120,0:24:30.799
have you split up the party
0:24:28.720,0:24:32.960
in whatever way seems fair and equitable
0:24:30.799,0:24:34.880
to everybody
0:24:32.960,0:24:36.720
similarly i said the dungeon is kind of
0:24:34.880,0:24:38.320
a simple game like there's only
0:24:36.720,0:24:40.080
three races and there's only three
0:24:38.320,0:24:41.760
classes all of your characters are
0:24:40.080,0:24:44.080
either human elf dwarf
0:24:41.760,0:24:44.880
they're all a warrior a priest or a
0:24:44.080,0:24:46.640
wizard
0:24:44.880,0:24:48.320
and all of these characters have you
0:24:46.640,0:24:51.279
know special properties
0:24:48.320,0:24:53.760
and special talents that is why they
0:24:51.279,0:24:56.240
come together in this party of eight
0:24:53.760,0:24:57.600
but essentially dungeon is a game about
0:24:56.240,0:25:00.000
making up all of these
0:24:57.600,0:25:01.679
um eight characters and stomping through
0:25:00.000,0:25:03.840
the dungeon killing things taking their
0:25:01.679,0:25:05.120
stuff
0:25:03.840,0:25:06.960
well you're way over but i don't know
0:25:05.120,0:25:10.080
how much i have to add to that
0:25:06.960,0:25:14.159
i will just add that if if you're
0:25:10.080,0:25:16.559
uh if if one's passion as a dungeon
0:25:14.159,0:25:17.120
master is killing player characters this
0:25:16.559,0:25:19.600
game
0:25:17.120,0:25:21.039
is meant for you you don't have to build
0:25:19.600,0:25:22.559
your game like that
0:25:21.039,0:25:24.400
but that's definitely a thing that
0:25:22.559,0:25:27.360
people do with this game
0:25:24.400,0:25:28.960
um and then as eric said it just
0:25:27.360,0:25:30.320
encourages you to put your creativity on
0:25:28.960,0:25:31.039
the table to bring all the different
0:25:30.320,0:25:33.760
elements
0:25:31.039,0:25:35.039
um and this hopefully this may be clear
0:25:33.760,0:25:36.400
in our slides since we were a little
0:25:35.039,0:25:36.960
fumbling for the first few minutes of
0:25:36.400,0:25:40.480
the talk
0:25:36.960,0:25:41.200
but um there's also a kind of a player's
0:25:40.480,0:25:43.760
guide
0:25:41.200,0:25:45.919
that that i started a few years ago um
0:25:43.760,0:25:48.400
that's that's not super complete
0:25:45.919,0:25:50.159
but um but does cover some of the high
0:25:48.400,0:25:52.320
level basics of the game that eric's
0:25:50.159,0:25:55.679
been talking from
0:25:52.320,0:25:56.960
and i would add that some of the things
0:25:55.679,0:25:58.480
you know some of what makes dungeon
0:25:56.960,0:25:59.360
great is that there's a lot of mystery
0:25:58.480,0:26:01.120
about it
0:25:59.360,0:26:02.880
like the player's handbook doesn't tell
0:26:01.120,0:26:06.080
you all of the rules
0:26:02.880,0:26:08.080
um or like really mystery
0:26:06.080,0:26:09.679
and like there's mazes and there's
0:26:08.080,0:26:12.240
puzzles and
0:26:09.679,0:26:12.799
you have to figure out how things work
0:26:12.240,0:26:14.559
and like
0:26:12.799,0:26:16.640
we've got all of these treasure items in
0:26:14.559,0:26:18.480
there that could help you deal with a
0:26:16.640,0:26:19.919
particular monster if it occurs to you
0:26:18.480,0:26:22.720
to use it
0:26:19.919,0:26:23.360
and um you know like that there's a lot
0:26:22.720,0:26:25.279
of
0:26:23.360,0:26:27.039
um you don't know what's going on you're
0:26:25.279,0:26:28.559
dropped in the middle of this situation
0:26:27.039,0:26:31.919
and you have to try and survive
0:26:28.559,0:26:33.840
and level up and figure it out and
0:26:31.919,0:26:35.520
if you succeed in doing that for long
0:26:33.840,0:26:37.520
enough eventually you start realizing
0:26:35.520,0:26:40.000
that there are big picture puzzles
0:26:37.520,0:26:41.760
that there are you know there is more to
0:26:40.000,0:26:43.360
this than just killing things and taking
0:26:41.760,0:26:46.000
their stuff
0:26:43.360,0:26:47.279
and that's where the joy of designing
0:26:46.000,0:26:49.679
these games comes in
0:26:47.279,0:26:51.679
for me is like designing the mazes and
0:26:49.679,0:26:53.200
designing the puzzles and like
0:26:51.679,0:26:54.240
oh yeah and then they're going to come
0:26:53.200,0:26:55.919
out of this room and you know what
0:26:54.240,0:26:58.240
they're going to do they want to
0:26:55.919,0:26:59.600
go that way so i'm going to put the trap
0:26:58.240,0:27:01.360
right there
0:26:59.600,0:27:03.840
and they'll walk right into it every
0:27:01.360,0:27:05.440
time and then when the party does get in
0:27:03.840,0:27:07.200
your map and they do exactly what you
0:27:05.440,0:27:09.279
thought and they hit the trap it's just
0:27:07.200,0:27:10.960
really satisfying to watch the look on
0:27:09.279,0:27:12.320
their little faces as they squirm and
0:27:10.960,0:27:13.760
struggle to stay alive
0:27:12.320,0:27:15.520
yeah that's that's what i was trying to
0:27:13.760,0:27:16.320
get at thanks all right that was perfect
0:27:15.520,0:27:19.200
for me
0:27:16.320,0:27:20.320
all right um so so highlight your
0:27:19.200,0:27:21.840
question for me if you think it's
0:27:20.320,0:27:22.960
important we grab it here before we jump
0:27:21.840,0:27:25.039
into demos
0:27:22.960,0:27:27.760
but otherwise i think it's time to try
0:27:25.039,0:27:27.760
running some code
0:27:27.919,0:27:33.840
what say okay i say do it
0:27:31.279,0:27:36.480
okay so you less less camera more more
0:27:33.840,0:27:39.120
emacs now
0:27:36.480,0:27:39.840
and hopefully i could find the right e
0:27:39.120,0:27:42.960
max
0:27:39.840,0:27:48.799
the right desktop all right there we are
0:27:42.960,0:27:54.000
so we'll try to fire up uh
0:27:48.799,0:27:58.799
and right now and i usually like to do
0:27:54.000,0:27:58.799
the full path to emax
0:27:59.120,0:28:03.840
when i'm gonna run it under minus q
0:28:07.279,0:28:10.000
all right
0:28:13.120,0:28:19.360
let's have some iom
0:28:16.720,0:28:20.000
all right and then i'm also going to do
0:28:19.360,0:28:24.000
a
0:28:20.000,0:28:25.840
load file on the init script that you
0:28:24.000,0:28:30.480
can find in the repository
0:28:25.840,0:28:33.279
in the emacs user and it's uh
0:28:30.480,0:28:33.279
init scripts
0:28:34.960,0:28:38.159
uh users folder
0:28:40.159,0:28:45.840
user folder nice
0:28:48.080,0:28:51.840
and it's called init dm because that
0:28:49.919,0:28:55.360
happened to fit with my naming scheme
0:28:51.840,0:28:56.320
potentially terrible all right and with
0:28:55.360,0:28:58.320
that loaded
0:28:56.320,0:29:00.159
in theory some very basic stuff will
0:28:58.320,0:29:02.159
work even without us doing anything in
0:29:00.159,0:29:04.399
iom so i think the the last thing eric
0:29:02.159,0:29:06.000
was talking about was the svg code
0:29:04.399,0:29:10.720
behind the maps
0:29:06.000,0:29:13.760
um there as kind of the technical thread
0:29:10.720,0:29:15.440
so we'll just fire open the maps pick a
0:29:13.760,0:29:18.480
dungeon level
0:29:15.440,0:29:19.840
let's pick a pretty one okay if i show
0:29:18.480,0:29:22.480
this
0:29:19.840,0:29:22.480
yeah whatever
0:29:23.440,0:29:30.799
is that the surface yeah
0:29:27.679,0:29:32.159
and let's scale it here i think if i
0:29:30.799,0:29:34.960
wrap
0:29:32.159,0:29:36.399
like once once we got the engine up and
0:29:34.960,0:29:39.120
running a little bit
0:29:36.399,0:29:42.480
we decided to do some experimentation
0:29:39.120,0:29:46.080
about seeing what we could do to push
0:29:42.480,0:29:49.360
the limits of our tile
0:29:46.080,0:29:50.080
and gender so we more or less on the
0:29:49.360,0:29:52.799
surface
0:29:50.080,0:29:52.799
map i
0:29:53.120,0:29:58.399
basically started with almost no
0:29:56.399,0:30:00.240
tiles from below like the water and the
0:29:58.399,0:30:01.279
beaches and the general store and the
0:30:00.240,0:30:03.679
stairs
0:30:01.279,0:30:05.200
were existing tiles but then we were
0:30:03.679,0:30:07.279
like this is going to be a surface map
0:30:05.200,0:30:08.399
so we're outdoors so i want hills and i
0:30:07.279,0:30:11.760
want trees
0:30:08.399,0:30:12.399
and i want grass and um it took a little
0:30:11.760,0:30:15.039
while
0:30:12.399,0:30:16.320
playing with svg to come up with some
0:30:15.039,0:30:18.480
acceptable code
0:30:16.320,0:30:19.840
but once the like the grass gets tiled
0:30:18.480,0:30:21.600
out it
0:30:19.840,0:30:23.039
kind of you know gives the illusion of
0:30:21.600,0:30:24.880
grass and
0:30:23.039,0:30:26.399
you know these are all in my estimation
0:30:24.880,0:30:28.640
kind of crude graphics
0:30:26.399,0:30:30.399
but we're at the proof of concept stage
0:30:28.640,0:30:31.679
and it definitely proves that we can use
0:30:30.399,0:30:34.640
our graphics engine
0:30:31.679,0:30:35.279
to decide what we want our maps to look
0:30:34.640,0:30:39.440
like
0:30:35.279,0:30:44.240
and real quickly compose new map tiles
0:30:39.440,0:30:46.880
and uh stamp out a bunch of new maps
0:30:44.240,0:30:48.640
so now i'll uh show off one of the other
0:30:46.880,0:30:50.559
things so the next thing we did once we
0:30:48.640,0:30:51.919
once we had the maps doing
0:30:50.559,0:30:53.600
and we haven't gotten into the features
0:30:51.919,0:30:54.960
of the maps we can we can appoint time
0:30:53.600,0:30:58.960
to that or not
0:30:54.960,0:31:00.720
but um there are a number of
0:30:58.960,0:31:02.840
uh featured features there that we can
0:31:00.720,0:31:05.760
look at the
0:31:02.840,0:31:08.640
uh we then wanted to
0:31:05.760,0:31:10.399
try to see if that could make other
0:31:08.640,0:31:11.360
interfaces more appealing so we built
0:31:10.399,0:31:14.320
stuff like
0:31:11.360,0:31:15.919
oop that's gonna be the map again um
0:31:14.320,0:31:18.320
i'll just run it here through i
0:31:15.919,0:31:20.080
am so it's more obvious what i'm doing
0:31:18.320,0:31:21.679
um
0:31:20.080,0:31:25.360
so let's look next to the character
0:31:21.679,0:31:25.360
sheet oops
0:31:26.080,0:31:35.840
back and alt p doesn't work okay
0:31:32.880,0:31:38.240
that's a bummer uh that is not
0:31:35.840,0:31:40.559
autoloaded
0:31:38.240,0:31:41.600
so this this project is a bit of a mess
0:31:40.559,0:31:43.120
right now y'all
0:31:41.600,0:31:45.120
it does some stuff that's really
0:31:43.120,0:31:47.039
exciting to us but the code is terrible
0:31:45.120,0:31:48.399
and we need all the help we can get uh
0:31:47.039,0:31:49.279
being told what our problems are and how
0:31:48.399,0:31:51.360
to fix them
0:31:49.279,0:31:52.559
so that is if you take nothing away from
0:31:51.360,0:31:54.799
this talk
0:31:52.559,0:32:00.480
uh take away from it that we could use
0:31:54.799,0:32:02.399
your help
0:32:00.480,0:32:04.640
yeah that doubles back to uh when we
0:32:02.399,0:32:06.320
were talking about larry wall's cardinal
0:32:04.640,0:32:07.440
virtues of programming like we
0:32:06.320,0:32:09.760
definitely
0:32:07.440,0:32:10.640
took on some hubris thinking we could do
0:32:09.760,0:32:13.519
this
0:32:10.640,0:32:14.799
and we might not be wrong but um we
0:32:13.519,0:32:16.799
could do it easier with
0:32:14.799,0:32:18.240
more hands you know many hands make
0:32:16.799,0:32:21.760
light work all right
0:32:18.240,0:32:23.360
i'll bite yeah
0:32:21.760,0:32:24.799
and the character she won't load for us
0:32:23.360,0:32:26.960
today i had some problems with my
0:32:24.799,0:32:29.360
version control i had to revert my thing
0:32:26.960,0:32:31.200
i threw all my local changes in a stash
0:32:29.360,0:32:32.080
and it's it's a terrible mess let's look
0:32:31.200,0:32:37.519
at stuff i
0:32:32.080,0:32:40.559
tested already today uh before
0:32:37.519,0:32:43.760
you got the battle board available
0:32:40.559,0:32:45.760
let's find out first we'll load library
0:32:43.760,0:32:48.000
it
0:32:45.760,0:32:57.440
uh in fact actually your basic require
0:32:48.000,0:33:00.480
should work
0:32:57.440,0:33:02.640
no uh i can try load library
0:33:00.480,0:33:03.760
uh you know what let's forg i'm just
0:33:02.640,0:33:04.960
gonna go ahead and give it to you as a
0:33:03.760,0:33:09.919
lab beast
0:33:04.960,0:33:11.600
since that's probably more fun to watch
0:33:09.919,0:33:15.919
we'll take it from my own inet
0:33:11.600,0:33:15.919
this is more likely to be healthy
0:33:16.640,0:33:20.880
since only some of the time uh first we
0:33:19.840,0:33:24.799
have to
0:33:20.880,0:33:28.559
uh ctrl x alt i d m
0:33:24.799,0:33:31.760
all right and having then loaded
0:33:28.559,0:33:34.080
the init control u f9
0:33:31.760,0:33:35.200
should give me the maps and we can
0:33:34.080,0:33:37.200
verify
0:33:35.200,0:33:38.640
things work in a basic way just by
0:33:37.200,0:33:41.679
changing level
0:33:38.640,0:33:41.679
let's look at something else
0:33:43.200,0:33:47.360
um i mentioned there were a number of
0:33:46.399,0:33:51.600
bindings
0:33:47.360,0:33:54.080
show them briefly we wrote our own
0:33:51.600,0:33:56.640
functions to handle movement some of
0:33:54.080,0:33:59.679
those in svg.el the left
0:33:56.640,0:34:02.640
uh left and right movements didn't
0:33:59.679,0:34:03.120
didn't seem to work quite quite likely
0:34:02.640,0:34:06.720
coding
0:34:03.120,0:34:09.760
of course
0:34:06.720,0:34:11.760
um all right enough
0:34:09.760,0:34:13.040
so let's let's see if battleboard works
0:34:11.760,0:34:15.760
now
0:34:13.040,0:34:17.040
i really thought that was on f7 up
0:34:15.760,0:34:19.679
that's the character sheet
0:34:17.040,0:34:22.159
sweet that's why you stay out of user
0:34:19.679,0:34:22.159
bindings
0:34:24.879,0:34:33.919
so that looks a little better
0:34:28.079,0:34:35.919
so let's talk about the character sheet
0:34:33.919,0:34:38.000
yeah
0:34:35.919,0:34:39.839
so the character sheet was our first big
0:34:38.000,0:34:42.560
uh repurposing
0:34:39.839,0:34:44.159
of the engine that we couldn't do uh the
0:34:42.560,0:34:49.839
battle board program
0:34:44.159,0:34:49.839
that uh let's see if that runs now too
0:34:53.599,0:34:57.359
uh it's not interactive if it does
0:35:00.880,0:35:03.839
good
0:35:04.960,0:35:07.119
no
0:35:08.480,0:35:13.040
try let cemex guess no joy all right i'm
0:35:11.760,0:35:14.079
not sure what's up with the battle board
0:35:13.040,0:35:15.280
eric
0:35:14.079,0:35:17.119
we haven't messed with that one for a
0:35:15.280,0:35:18.880
while in fact um
0:35:17.119,0:35:21.040
we had discussed using its code as an
0:35:18.880,0:35:22.640
example so maybe we'll debug it with you
0:35:21.040,0:35:25.359
um i'll certainly check for questions
0:35:22.640,0:35:28.079
first um
0:35:25.359,0:35:31.280
the uh so the character sheet which is
0:35:28.079,0:35:34.800
not scaling ideally here
0:35:31.280,0:35:34.800
see if reloading it does anything
0:35:35.680,0:35:40.960
nope not as far as i can tell assuming
0:35:39.440,0:35:42.800
you don't have this scale implemented
0:35:40.960,0:35:44.960
for character sheet
0:35:42.800,0:35:46.800
that's right there's everything in scale
0:35:44.960,0:35:49.599
it take in order to get what you were
0:35:46.800,0:35:49.599
looking at there
0:35:54.079,0:36:02.240
all right this uh
0:35:58.640,0:36:05.440
this whole thing is hard-coded
0:36:02.240,0:36:09.040
basically to the gills except
0:36:05.440,0:36:10.640
for things like this this program
0:36:09.040,0:36:11.040
represents a re-implementation of the
0:36:10.640,0:36:14.880
draw
0:36:11.040,0:36:18.640
engine using um all of the same things
0:36:14.880,0:36:18.640
let's see that's selected so
0:36:19.599,0:36:23.119
uh we'll just try bringing up a map
0:36:21.680,0:36:26.320
again
0:36:23.119,0:36:28.560
there's one and you'll notice um dm
0:36:26.320,0:36:29.839
map doesn't know anything about the new
0:36:28.560,0:36:31.599
draw engine
0:36:29.839,0:36:33.520
and there are a couple of places where
0:36:31.599,0:36:36.480
the new draw engine is still
0:36:33.520,0:36:37.440
hooked in to the s for example
0:36:36.480,0:36:39.680
particularly
0:36:37.440,0:36:41.119
the sizing of the graph paper background
0:36:39.680,0:36:44.240
so i've started the work
0:36:41.119,0:36:47.040
in dmdraw.el
0:36:44.240,0:36:47.440
of trying to show how exactly we did
0:36:47.040,0:36:50.160
this
0:36:47.440,0:36:51.760
removing the how did we get data out of
0:36:50.160,0:36:53.280
org mode that i talked about yesterday
0:36:51.760,0:36:56.480
with our etl flows
0:36:53.280,0:36:58.960
and just focusing on
0:36:56.480,0:37:00.160
how did we solve the problem of
0:36:58.960,0:37:01.839
predicated drawing
0:37:00.160,0:37:05.200
which i realized we didn't really talk
0:37:01.839,0:37:07.760
about so should i jump into that
0:37:05.200,0:37:09.280
yeah i guess uh how are we on time we
0:37:07.760,0:37:11.359
have time for detours
0:37:09.280,0:37:12.800
um yeah it looks like we could spend two
0:37:11.359,0:37:15.599
or three minutes on that and then
0:37:12.800,0:37:17.680
uh come back for the questions cool do
0:37:15.599,0:37:20.480
it
0:37:17.680,0:37:20.800
and i'm just gonna peek into my org mode
0:37:20.480,0:37:23.200
by
0:37:20.800,0:37:24.960
into my chat conference and i don't see
0:37:23.200,0:37:25.520
anybody talking to me from the organizer
0:37:24.960,0:37:26.560
channel
0:37:25.520,0:37:28.800
so i'm going to assume that's a good
0:37:26.560,0:37:32.079
guess
0:37:28.800,0:37:34.160
um all right so let's let's go ahead and
0:37:32.079,0:37:37.760
play with the map a little then that is
0:37:34.160,0:37:39.440
uh pretty fun and and uh so much fun
0:37:37.760,0:37:41.760
that we had to curtail play sessions in
0:37:39.440,0:37:44.000
order to keep working on the project
0:37:41.760,0:37:44.000
um
0:37:45.119,0:37:51.839
so uh i'll
0:37:48.480,0:37:55.920
i'll do the
0:37:51.839,0:37:59.839
um we'll try to find something different
0:37:55.920,0:37:59.839
from any gif i've shared here right
0:38:01.040,0:38:05.760
so here we are in a random go ahead eric
0:38:03.359,0:38:08.240
you phil
0:38:05.760,0:38:10.000
oh okay so what what what corwin is
0:38:08.240,0:38:13.359
doing here is he's about to put the
0:38:10.000,0:38:16.800
the map into play mode um
0:38:13.359,0:38:19.920
which is going to turn on the fog of war
0:38:16.800,0:38:23.040
and then we're gonna use
0:38:19.920,0:38:24.560
the fog of war and the the play mode to
0:38:23.040,0:38:26.240
kind of reveal the map
0:38:24.560,0:38:28.160
one square at a time like we would
0:38:26.240,0:38:29.920
during a play session
0:38:28.160,0:38:31.280
so we'll just drop the party randomly
0:38:29.920,0:38:33.839
somewhere onto this map
0:38:31.280,0:38:36.079
looks like we're on alpha maze level
0:38:33.839,0:38:38.800
three here
0:38:36.079,0:38:38.800
and um
0:38:40.800,0:38:50.480
uh-oh then we'll walk around a little
0:38:46.320,0:38:52.160
okay there we go we're halfway there
0:38:50.480,0:38:53.520
i'll have to i'll have to do a full
0:38:52.160,0:38:55.920
redraw
0:38:53.520,0:38:58.480
uh the sketch the sketching stuff has
0:38:55.920,0:39:00.240
has has broken things here like i said
0:38:58.480,0:39:01.599
the two aren't separated once i run them
0:39:00.240,0:39:03.520
in the same instance they're not
0:39:01.599,0:39:05.359
predictable
0:39:03.520,0:39:07.040
okay so let me elaborate here when he
0:39:05.359,0:39:10.560
says the sketching stuff
0:39:07.040,0:39:13.520
the current um focus of our work is to
0:39:10.560,0:39:14.320
turn all of this map stuff we've got
0:39:13.520,0:39:17.920
into
0:39:14.320,0:39:20.880
a basically a wysiwyg map editor
0:39:17.920,0:39:22.160
where we can get into the tiles and
0:39:20.880,0:39:24.480
we'll be able to
0:39:22.160,0:39:26.560
select the tile and basically rubber
0:39:24.480,0:39:29.680
stamp it into a map
0:39:26.560,0:39:30.000
graphically and then save the map file
0:39:29.680,0:39:33.280
out
0:39:30.000,0:39:36.720
and load it back in later so that um
0:39:33.280,0:39:38.480
we're able to you know just pound out
0:39:36.720,0:39:42.000
these maps real fast
0:39:38.480,0:39:43.200
um using a graphical editor rather than
0:39:42.000,0:39:45.440
having to hand code
0:39:43.200,0:39:47.839
every symbol and every square of the
0:39:45.440,0:39:47.839
tables
0:39:48.000,0:39:51.839
so the process of doing that um
0:39:52.960,0:39:56.720
things are a mess we've got covers off
0:39:54.800,0:39:58.720
there's wires hanging out
0:39:56.720,0:40:01.040
um different stuff works on different
0:39:58.720,0:40:01.040
days
0:40:03.119,0:40:07.119
well i will say in our defense this is
0:40:05.200,0:40:07.520
exactly why we staged a complicated
0:40:07.119,0:40:09.680
thing
0:40:07.520,0:40:11.119
and uh probably we should have just gone
0:40:09.680,0:40:14.160
with that instead of
0:40:11.119,0:40:17.760
trying to give you uh the experience
0:40:14.160,0:40:19.200
of of of what it's like uh to use emacs
0:40:17.760,0:40:21.359
to do this which is
0:40:19.200,0:40:23.280
which is sort of the last minute thought
0:40:21.359,0:40:25.119
there and my apologies for that
0:40:23.280,0:40:27.200
if that's made it harder to follow the
0:40:25.119,0:40:28.240
thread let's check back now for
0:40:27.200,0:40:30.000
questions
0:40:28.240,0:40:32.079
and see if anybody wants to redirect at
0:40:30.000,0:40:32.079
all
0:40:36.640,0:40:40.800
so yep this so what you're looking at
0:40:39.599,0:40:44.880
all uses prog
0:40:40.800,0:40:47.760
pragmatic svg uh
0:40:44.880,0:40:49.119
svg generation uh for question number
0:40:47.760,0:40:52.000
four there have you played with
0:40:49.119,0:40:55.119
generating svgs pragmatically in emacs
0:40:52.000,0:40:55.680
that is what the maps are doing um in
0:40:55.119,0:40:58.480
terms
0:40:55.680,0:41:00.400
of uh uh we should have been maybe more
0:40:58.480,0:41:01.680
explicit about that we started hand
0:41:00.400,0:41:05.119
coding things and
0:41:01.680,0:41:06.400
once we got the idea of what the code
0:41:05.119,0:41:09.359
was going to look like
0:41:06.400,0:41:10.000
we switched to doing it programmatically
0:41:09.359,0:41:12.880
so
0:41:10.000,0:41:14.640
um we were going to open up maybe now if
0:41:12.880,0:41:15.839
we've got time we can get into the tile
0:41:14.640,0:41:18.640
set real quick
0:41:15.839,0:41:20.560
sure we definitely didn't do any of the
0:41:18.640,0:41:23.040
pathing slides and so now we've skipped
0:41:20.560,0:41:25.040
over some stuff we were going to present
0:41:23.040,0:41:26.880
yeah that's right we skipped a whole
0:41:25.040,0:41:28.160
bunch of slides and i can certainly uh
0:41:26.880,0:41:30.640
go back to them they're open here
0:41:28.160,0:41:30.640
obviously
0:41:31.040,0:41:34.480
um right i was just showing off the
0:41:33.599,0:41:36.880
sketching
0:41:34.480,0:41:38.000
tool uh briefly in that context but i
0:41:36.880,0:41:40.000
think you're right let's
0:41:38.000,0:41:41.280
we can jump over to the actually i
0:41:40.000,0:41:42.000
should finish with this now having
0:41:41.280,0:41:45.119
teased it
0:41:42.000,0:41:47.119
so let's do the same thing here ctrl h m
0:41:45.119,0:41:48.560
and you'll see in this case there are
0:41:47.119,0:41:52.160
very few keyboard
0:41:48.560,0:41:55.359
key bindings that are set up um even
0:41:52.160,0:41:59.280
this uh shift delete has a tera uh
0:41:55.359,0:42:02.560
or shift with uh
0:41:59.280,0:42:05.680
yeah control delete it would seem to be
0:42:02.560,0:42:07.119
so that has couple obvious bugs with it
0:42:05.680,0:42:09.280
right didn't pick it didn't pick up
0:42:07.119,0:42:11.280
those control points until i reused them
0:42:09.280,0:42:13.760
not clearing that stack
0:42:11.280,0:42:14.480
um and also should probably think about
0:42:13.760,0:42:16.720
whether
0:42:14.480,0:42:18.400
the origin should return and hey marking
0:42:16.720,0:42:19.839
that origin would be nice
0:42:18.400,0:42:21.680
so there's a tremendous amount to do
0:42:19.839,0:42:24.400
here this is just uh
0:42:21.680,0:42:26.079
showing that it is possible to use
0:42:24.400,0:42:31.680
essentially like a touch input
0:42:26.079,0:42:35.119
to um uh
0:42:31.680,0:42:35.760
yeah and then also we can switch over to
0:42:35.119,0:42:39.040
our place
0:42:35.760,0:42:43.040
tool and
0:42:39.040,0:42:45.040
um hopefully we can get a nice big menu
0:42:43.040,0:42:48.000
of all the tiles that eric prepared for
0:42:45.040,0:42:48.000
the game maps
0:42:49.440,0:42:53.119
uh that was probably a terrible choice
0:42:51.680,0:42:55.839
but there you have just a bit of
0:42:53.119,0:42:55.839
corridor right
0:42:56.800,0:42:59.839
that looks
0:43:00.480,0:43:06.160
uh and even the click yep and this this
0:43:04.560,0:43:07.280
glitch action here is the last thing i
0:43:06.160,0:43:08.079
was working on before i dropped
0:43:07.280,0:43:10.079
everything to
0:43:08.079,0:43:13.839
to build the decks that uh we will soon
0:43:10.079,0:43:13.839
share for this conference
0:43:14.240,0:43:18.240
so okay back to the tile sets
0:43:19.680,0:43:23.440
right so the way we approached drawing
0:43:22.160,0:43:25.200
it programmatically
0:43:23.440,0:43:27.280
is we broke our code up into little
0:43:25.200,0:43:29.280
snippets we called tiles
0:43:27.280,0:43:32.160
um corman's going to open up the tile
0:43:29.280,0:43:35.280
set here basically each tile has a name
0:43:32.160,0:43:37.920
and then with that name we place data
0:43:35.280,0:43:40.640
into different layers of the image
0:43:37.920,0:43:41.280
some of the layers are just svg paths
0:43:40.640,0:43:44.880
and
0:43:41.280,0:43:47.920
the data is just svg commands
0:43:44.880,0:43:50.960
like we saw in that handwritten code and
0:43:47.920,0:43:54.160
some of it is compositions of other
0:43:50.960,0:43:56.160
tiles so a tile can be made up of other
0:43:54.160,0:43:58.000
tiles
0:43:56.160,0:43:59.599
furthermore some of these tiles have
0:43:58.000,0:44:02.319
conditional code in it
0:43:59.599,0:44:02.720
where like some of this stuff is talking
0:44:02.319,0:44:06.560
about
0:44:02.720,0:44:08.079
elf and bang elf so the map is going to
0:44:06.560,0:44:09.440
be drawn differently depending
0:44:08.079,0:44:11.200
on whether or not there's elves in the
0:44:09.440,0:44:16.880
party
0:44:11.200,0:44:18.240
um so and that's the demo they broke
0:44:16.880,0:44:20.000
the engine has to make all those
0:44:18.240,0:44:21.599
decisions um
0:44:20.000,0:44:23.280
and that's what we're calling predicated
0:44:21.599,0:44:25.200
drawing oh there's a
0:44:23.280,0:44:26.480
special room here do you have any elves
0:44:25.200,0:44:31.440
you do so i draw
0:44:26.480,0:44:31.440
there is elf's way um
0:44:32.880,0:44:36.319
yeah so we built up the set of tiles and
0:44:35.839,0:44:39.920
then
0:44:36.319,0:44:43.760
um we basically made map files which
0:44:39.920,0:44:47.839
take um our map and break it up into xy
0:44:43.760,0:44:50.240
grids and then we drop these tiles into
0:44:47.839,0:44:52.000
positions on the map so we can use the
0:44:50.240,0:44:52.480
same tile square after square after
0:44:52.000,0:44:54.720
square
0:44:52.480,0:44:55.680
when there's a corridor north south it's
0:44:54.720,0:44:59.119
the same tile
0:44:55.680,0:45:02.400
over and over again and that makes it
0:44:59.119,0:45:05.839
easy to reuse the code and then also
0:45:02.400,0:45:05.839
when uh
0:45:05.920,0:45:10.319
when we go to present um the
0:45:10.560,0:45:15.839
what am i trying to say the the drawing
0:45:13.520,0:45:18.000
in in fog of war mode as we move down
0:45:15.839,0:45:20.640
the corridor we can just add the
0:45:18.000,0:45:23.440
necessary code one bit at a time to the
0:45:20.640,0:45:24.960
visible image so that what we're
0:45:23.440,0:45:27.359
displaying doesn't contain
0:45:24.960,0:45:30.160
any data except what the party has
0:45:27.359,0:45:30.160
already discovered
0:45:30.240,0:45:34.400
and thus we have kind of spoiler rich
0:45:32.319,0:45:37.359
documents sitting on the gm
0:45:34.400,0:45:38.400
server and then less you know and
0:45:37.359,0:45:41.440
spoiler-free
0:45:38.400,0:45:44.000
data that flows down to the org mode uh
0:45:41.440,0:45:47.040
files on the player system and the only
0:45:44.000,0:45:50.160
real challenge is making sure that the
0:45:47.040,0:45:50.960
the nothing that the game does can mess
0:45:50.160,0:45:54.480
with the
0:45:50.960,0:45:55.280
the the users the the players data file
0:45:54.480,0:45:57.680
in case they
0:45:55.280,0:46:00.160
might have their own notes and things in
0:45:57.680,0:46:05.359
it that that would be the one
0:46:00.160,0:46:05.359
uh you know number one thing to avoid
0:46:06.160,0:46:09.680
another thing we can talk about here is
0:46:08.000,0:46:11.839
that there are layers
0:46:09.680,0:46:13.520
you can see this table at the bottom has
0:46:11.839,0:46:15.119
tile and overlay
0:46:13.520,0:46:17.040
the overlay column is just going to
0:46:15.119,0:46:20.800
contain some actual svg
0:46:17.040,0:46:21.599
xml style tags um so that's where we can
0:46:20.800,0:46:25.359
add whatever
0:46:21.599,0:46:26.720
text elements or other svg like raw svg
0:46:25.359,0:46:28.880
tags we want
0:46:26.720,0:46:30.560
whereas a lot of the other layers are
0:46:28.880,0:46:32.960
going to be like path layers we've got
0:46:30.560,0:46:35.359
water layers and beach layers
0:46:32.960,0:46:37.680
and our plan was to have a style sheet
0:46:35.359,0:46:38.720
that defines how each of those layers
0:46:37.680,0:46:40.720
are represented
0:46:38.720,0:46:42.160
so like when the water gets drawn blue
0:46:40.720,0:46:45.520
and it's got arrows on it
0:46:42.160,0:46:47.680
giving it direction um all of that
0:46:45.520,0:46:49.200
can be customized with a style sheet to
0:46:47.680,0:46:51.200
change the water to be
0:46:49.200,0:46:52.960
whatever you want and like we have
0:46:51.200,0:46:54.319
beaches as yellow but maybe you like
0:46:52.960,0:46:57.359
beaches as red or
0:46:54.319,0:47:01.200
you know whatever so we also built
0:46:57.359,0:47:04.079
some test programs um
0:47:01.200,0:47:05.359
and various of the i'm not not sure what
0:47:04.079,0:47:07.040
kind of shape we're gonna find these in
0:47:05.359,0:47:10.640
but we can try running them
0:47:07.040,0:47:12.960
um here for example is just a
0:47:10.640,0:47:15.119
very basic all of using a saint using
0:47:12.960,0:47:18.560
the same file to define
0:47:15.119,0:47:24.880
the tiles and and then
0:47:18.560,0:47:26.640
the layout so to speak oh look at that
0:47:24.880,0:47:28.960
uh there's the layout okay so that
0:47:26.640,0:47:30.960
actually looks fine tile
0:47:28.960,0:47:32.400
and it's pat so this is defining a tile
0:47:30.960,0:47:35.440
named seas
0:47:32.400,0:47:38.720
and uh it's gonna have a list of tiles
0:47:35.440,0:47:41.839
defined above um and you'll notice also
0:47:38.720,0:47:44.559
that we can just sort of freely define
0:47:41.839,0:47:46.160
and redefine and it sort of figures out
0:47:44.559,0:47:50.839
oh this must still be part of the b
0:47:46.160,0:47:53.839
row um we could also have done
0:47:50.839,0:47:53.839
this
0:48:00.000,0:48:07.839
okay so this would this would work as
0:48:02.160,0:48:07.839
would this
0:48:08.480,0:48:12.720
one of uh early on in development when
0:48:11.599,0:48:14.400
we were talking about
0:48:12.720,0:48:15.839
getting data in and out of these org
0:48:14.400,0:48:19.440
tables it
0:48:15.839,0:48:22.319
was kind of a priority to us to
0:48:19.440,0:48:23.040
leave the way the data is organized open
0:48:22.319,0:48:26.960
to
0:48:23.040,0:48:30.720
the users and to the dungeon masters so
0:48:26.960,0:48:32.559
while we set our tile set apart from our
0:48:30.720,0:48:35.440
map sets
0:48:32.559,0:48:38.319
this clearly shows that you can cram a
0:48:35.440,0:48:41.040
tile set and a map into a single file
0:48:38.319,0:48:43.040
so in situations like the surface where
0:48:41.040,0:48:43.760
we're using different tiles from other
0:48:43.040,0:48:46.559
maps
0:48:43.760,0:48:48.079
maybe it makes sense to move you know
0:48:46.559,0:48:50.559
those tiles just into the file
0:48:48.079,0:48:52.400
with your map or like it's hard for us
0:48:50.559,0:48:54.319
to predict how other people are going to
0:48:52.400,0:48:55.119
want to use this when they design their
0:48:54.319,0:48:57.359
games
0:48:55.119,0:48:58.160
so we wanted to leave it as versatile as
0:48:57.359,0:49:01.599
possible
0:48:58.160,0:49:02.640
about how you can use it where it
0:49:01.599,0:49:04.319
matters right
0:49:02.640,0:49:05.920
not support every feature in the world i
0:49:04.319,0:49:07.280
can't count the number of times i said
0:49:05.920,0:49:09.200
eric eric eric
0:49:07.280,0:49:10.800
hey if we do it like this people will be
0:49:09.200,0:49:14.000
able and he just like
0:49:10.800,0:49:14.480
does it have to do that do we do we does
0:49:14.000,0:49:17.920
it like
0:49:14.480,0:49:19.599
do we need it right away uh
0:49:17.920,0:49:21.040
do you have to really rewrite everything
0:49:19.599,0:49:24.160
so it can all do that
0:49:21.040,0:49:26.880
and uh a lot of those
0:49:24.160,0:49:28.240
a lot of those conversations too but the
0:49:26.880,0:49:31.200
the key flexibilities
0:49:28.240,0:49:32.559
are really there people might want to
0:49:31.200,0:49:34.160
use a lot of different files they might
0:49:32.559,0:49:35.760
want to lay the tables out however they
0:49:34.160,0:49:37.440
want they have to be able to say hey
0:49:35.760,0:49:39.440
this is a table that has
0:49:37.440,0:49:40.720
data that's controlled by the game and
0:49:39.440,0:49:44.079
everything else in the file
0:49:40.720,0:49:45.920
is not the game's problem
0:49:44.079,0:49:47.440
on our table some of our tables started
0:49:45.920,0:49:48.960
getting really wide so we started
0:49:47.440,0:49:51.119
striping the tables
0:49:48.960,0:49:52.640
where we'll repeat the same table over
0:49:51.119,0:49:56.400
and over and over again to
0:49:52.640,0:49:59.119
get all of the columns in there without
0:49:56.400,0:49:59.599
making it you know a million miles wide
0:49:59.119,0:50:01.040
yeah
0:49:59.599,0:50:02.640
do you want to should i go ahead and
0:50:01.040,0:50:06.079
pull open like a level here
0:50:02.640,0:50:08.319
do you think sure just to have shown it
0:50:06.079,0:50:09.680
the aisle set's a great example of
0:50:08.319,0:50:11.119
striped tables if you
0:50:09.680,0:50:13.839
look down like in the level change
0:50:11.119,0:50:13.839
feature oh sure
0:50:18.800,0:50:22.400
sorry i'm not quite sitting well to my
0:50:20.240,0:50:27.839
keyboard here i can just readjust things
0:50:22.400,0:50:27.839
real quick
0:50:30.079,0:50:35.200
so what you know you can see here
0:50:33.280,0:50:36.800
like some of these tables got real wide
0:50:35.200,0:50:40.559
when we're stuffing svg
0:50:36.800,0:50:44.160
tags into them and what we
0:50:40.559,0:50:49.359
oh maybe it's not in these
0:50:44.160,0:50:49.359
i thought it was
0:50:50.079,0:50:54.240
special probably yeah no there it is
0:50:52.960,0:50:56.000
yeah
0:50:54.240,0:50:58.720
it was in level change it does the table
0:50:56.000,0:51:00.640
can you repeat okay great
0:50:58.720,0:51:01.920
up and down so fast i didn't realize so
0:51:00.640,0:51:05.680
this first table
0:51:01.920,0:51:08.800
we've got path and what is that stairs
0:51:05.680,0:51:10.079
so the stairs level is one that draws in
0:51:08.800,0:51:11.920
like a pink color
0:51:10.079,0:51:13.440
to highlight the places where you can
0:51:11.920,0:51:15.200
change level
0:51:13.440,0:51:17.200
and then if we scroll down to the second
0:51:15.200,0:51:19.359
half of this section
0:51:17.200,0:51:20.960
the second table is going to have all of
0:51:19.359,0:51:22.800
these same tiles in it but
0:51:20.960,0:51:24.720
instead of path and stairs we're going
0:51:22.800,0:51:27.920
to have other
0:51:24.720,0:51:31.200
columns can we
0:51:27.920,0:51:31.200
see the next table
0:51:31.680,0:51:35.359
there we go so the same tiles only here
0:51:33.839,0:51:38.720
we've got overlay
0:51:35.359,0:51:40.319
documentation and behavior and i guess
0:51:38.720,0:51:41.839
we haven't talked about this at all the
0:51:40.319,0:51:44.880
behavior column
0:51:41.839,0:51:47.359
was our concept of a way that we could
0:51:44.880,0:51:47.359
attach
0:51:47.520,0:51:51.359
functions basically to these different
0:51:49.680,0:51:54.720
areas of the map
0:51:51.359,0:51:57.760
because sometimes when you enter an area
0:51:54.720,0:51:59.920
we want it to do something like
0:51:57.760,0:52:02.319
when you enter a stairs down maybe we
0:51:59.920,0:52:04.559
want it to change to the next level
0:52:02.319,0:52:06.160
and draw the stairs up behind you and
0:52:04.559,0:52:09.200
draw you where you are
0:52:06.160,0:52:11.040
on the next level so
0:52:09.200,0:52:12.240
these are like hooks where we could
0:52:11.040,0:52:16.400
attach functions
0:52:12.240,0:52:18.480
or you know macros or whatever to
0:52:16.400,0:52:22.079
make the map have these behaviors as we
0:52:18.480,0:52:22.079
get further towards automation
0:52:23.440,0:52:30.839
cool um so that's that
0:52:26.559,0:52:33.920
should be pretty close to our time
0:52:30.839,0:52:36.880
um questions or just say goodbye
0:52:33.920,0:52:38.559
um yeah so there's the i'm sorry we
0:52:36.880,0:52:40.000
couldn't show it earlier there is the
0:52:38.559,0:52:44.240
battle board
0:52:40.000,0:52:48.079
um and so this is used just to keep
0:52:44.240,0:52:49.319
track of hit points so with this example
0:52:48.079,0:52:51.680
battle board
0:52:49.319,0:52:53.760
dmbattleboard.el there's there's a
0:52:51.680,0:52:57.200
complete example of not only
0:52:53.760,0:53:00.480
in a single file repub filling out the
0:52:57.200,0:53:00.960
the cells and the tiles but then coming
0:53:00.480,0:53:04.640
in
0:53:00.960,0:53:05.280
and keeping the org mode file in sync
0:53:04.640,0:53:09.040
with
0:53:05.280,0:53:12.319
with clicks so and i can press the star
0:53:09.040,0:53:15.359
key and set my damage to -1 and
0:53:12.319,0:53:16.400
take the damage back off i just haven't
0:53:15.359,0:53:18.079
spent a lot of time
0:53:16.400,0:53:20.800
building up fancy bindings for this
0:53:18.079,0:53:23.119
you'll also find that the crew
0:53:20.800,0:53:23.839
probably find how i figure out what was
0:53:23.119,0:53:26.880
clicked on
0:53:23.839,0:53:28.000
in the code hard but if i just assign
0:53:26.880,0:53:32.960
something recognizable
0:53:28.000,0:53:32.960
for damage and then come into
0:53:33.520,0:53:37.040
it will now have opened the org mode
0:53:35.440,0:53:39.680
file behind the scenes because it's
0:53:37.040,0:53:39.680
changing it
0:53:41.280,0:53:47.599
and we can then look at that file a
0:53:44.640,0:53:51.040
little bit and hopefully
0:53:47.599,0:53:53.440
that is un
0:53:51.040,0:53:55.520
uh large enough you can kind of see
0:53:53.440,0:53:59.119
there's our 17 damage landed
0:53:55.520,0:54:01.200
in armor the logic that sits behind that
0:53:59.119,0:54:06.240
to figure out the part of the screen
0:54:01.200,0:54:06.240
is not necessarily our finest work
0:54:08.880,0:54:12.319
uh uh but it but it does work and it's
0:54:11.839,0:54:14.000
one for
0:54:12.319,0:54:15.920
the stuff was used on the map a little
0:54:14.000,0:54:17.520
bit too we didn't really need to show
0:54:15.920,0:54:19.680
that in the demo but as you're scrolling
0:54:17.520,0:54:22.960
around there's like a highlighter
0:54:19.680,0:54:24.720
um that that you know we were drawing on
0:54:22.960,0:54:26.160
shaft to show you which square you've
0:54:24.720,0:54:28.800
got selected
0:54:26.160,0:54:29.839
um because we were having trouble with
0:54:28.800,0:54:31.280
that code
0:54:29.839,0:54:34.160
initially and we were sometimes
0:54:31.280,0:54:34.160
revealing the wrong
0:54:36.839,0:54:40.480
okay
0:54:38.720,0:54:42.160
and i don't know how we're set for time
0:54:40.480,0:54:44.400
but i just saw a message
0:54:42.160,0:54:46.480
um from trixie that she could jump on if
0:54:44.400,0:54:47.920
we want her oh that would be amazing
0:54:46.480,0:54:51.520
yeah go ahead and invite her in i'll
0:54:47.920,0:54:51.520
just cut to the scene as soon as she's
0:54:51.680,0:54:56.799
i in uh yeah so we're reaching the ask
0:54:56.160,0:54:58.960
me any
0:54:56.799,0:55:01.200
anything uh portion of the program here
0:54:58.960,0:55:02.559
with what uh with what time we have left
0:55:01.200,0:55:05.200
for your questions
0:55:02.559,0:55:06.160
um please correct me if we're still like
0:55:05.200,0:55:08.799
10 minutes
0:55:06.160,0:55:10.000
you know if we're if we're more than
0:55:08.799,0:55:12.640
like
0:55:10.000,0:55:13.760
15 to 20 minutes from our time but i i
0:55:12.640,0:55:16.640
suspect we've less weight
0:55:13.760,0:55:17.440
left way less than that and out of
0:55:16.640,0:55:21.839
respect for
0:55:17.440,0:55:21.839
all the other presenters um
0:55:24.319,0:55:30.640
oh i don't want to close that actually
0:55:28.720,0:55:32.839
i think i may have found an old version
0:55:30.640,0:55:35.200
of my slides that could have some good
0:55:32.839,0:55:36.799
stuff
0:55:35.200,0:55:38.799
it's been an event for a couple of weeks
0:55:36.799,0:55:41.359
here i had a break in and uh
0:55:38.799,0:55:43.599
my somebody got into our bank accounts
0:55:41.359,0:55:46.880
and
0:55:43.599,0:55:50.079
nasty business just a lot going on over
0:55:46.880,0:55:50.079
over this whole year i think
0:55:50.720,0:55:53.839
do we have more questions to shag or
0:55:53.040,0:55:56.960
where
0:55:53.839,0:55:58.799
sure so i think
0:55:56.960,0:56:01.040
there was at least one we deferred a
0:55:58.799,0:56:03.839
little bit uh what the game
0:56:01.040,0:56:03.839
is
0:56:05.040,0:56:08.400
uh always eight characters that can be
0:56:06.799,0:56:10.000
divided right that's so always eight
0:56:08.400,0:56:12.160
characters that can be divided between
0:56:10.000,0:56:14.319
the party is the classic formula
0:56:12.160,0:56:16.240
it actually works pretty well for a
0:56:14.319,0:56:17.760
conversational group remember that
0:56:16.240,0:56:18.480
role-playing games are about talking to
0:56:17.760,0:56:20.000
each other
0:56:18.480,0:56:22.079
and being good at them is about taking
0:56:20.000,0:56:23.200
excellent notes so
0:56:22.079,0:56:24.559
when you're sitting around with a group
0:56:23.200,0:56:25.920
of people and you're going to have to
0:56:24.559,0:56:26.880
wait for them while they dig through
0:56:25.920,0:56:28.720
their notes
0:56:26.880,0:56:30.319
and listen to all of the things they
0:56:28.720,0:56:32.240
find interesting to say
0:56:30.319,0:56:34.160
and try to reach an imaginative place
0:56:32.240,0:56:36.160
that you can stay together
0:56:34.160,0:56:38.319
while you're doing all that and working
0:56:36.160,0:56:40.880
in dice and remembering the rules
0:56:38.319,0:56:43.200
it's actually a complicated activity i
0:56:40.880,0:56:46.240
liken it more to a bridge game
0:56:43.200,0:56:48.960
than to like uh
0:56:46.240,0:56:51.359
you know parcheesi or perhaps even like
0:56:48.960,0:56:52.160
risk or access and allies or other games
0:56:51.359,0:56:54.319
that
0:56:52.160,0:56:56.160
have have definitely the strategy to
0:56:54.319,0:56:59.839
them but
0:56:56.160,0:56:59.839
i don't eric your thoughts
0:57:00.160,0:57:06.640
yeah i mean i think that's fair um
0:57:03.920,0:57:08.160
you know yes definitely the the
0:57:06.640,0:57:09.440
tradition is to always have eight
0:57:08.160,0:57:12.079
characters in the party
0:57:09.440,0:57:13.760
and you know one of the great things
0:57:12.079,0:57:15.200
about dungeon is that everybody who
0:57:13.760,0:57:18.000
writes their own dungeon
0:57:15.200,0:57:19.440
gets to write their own rules and is
0:57:18.000,0:57:21.760
free to change whatever
0:57:19.440,0:57:22.720
you want and that being said i've
0:57:21.760,0:57:25.839
certainly seen
0:57:22.720,0:57:28.079
people try to take on challenging that
0:57:25.839,0:57:30.640
always eight characters in a party
0:57:28.079,0:57:32.640
thing um i've seen people take
0:57:30.640,0:57:34.640
approaches like every player gets two
0:57:32.640,0:57:36.319
characters and then you can have a party
0:57:34.640,0:57:38.079
ranging from two to ten
0:57:36.319,0:57:40.000
or there's always going to be ten or
0:57:38.079,0:57:43.200
there's you know this or that or people
0:57:40.000,0:57:45.280
have um tried stuff and none of it has
0:57:43.200,0:57:45.839
really worked out very satisfactorily we
0:57:45.280,0:57:48.319
always
0:57:45.839,0:57:49.680
seem to keep coming back to our um party
0:57:48.319,0:57:54.160
of eight
0:57:49.680,0:57:55.839
yeah it's i i i i it's one of the things
0:57:54.160,0:57:57.359
dungeon that you can't change when you
0:57:55.839,0:57:58.720
write your own dungeon
0:57:57.359,0:58:00.960
and that's the reason it's so
0:57:58.720,0:58:03.119
complicated as a as a software
0:58:00.960,0:58:04.559
project why it's taken us decades
0:58:03.119,0:58:08.000
because
0:58:04.559,0:58:11.280
trying to model the data for example or
0:58:08.000,0:58:14.160
really any attempt to
0:58:11.280,0:58:15.680
quantify it in specific terms always
0:58:14.160,0:58:18.880
falls to examples
0:58:15.680,0:58:22.079
well you know dungeons usually have
0:58:18.880,0:58:25.280
elves dwarves and humans they have uh
0:58:22.079,0:58:27.599
priests wizards and warriors uh they
0:58:25.280,0:58:30.000
have eight characters in the party
0:58:27.599,0:58:31.680
the bell rocks are particularly nasty
0:58:30.000,0:58:35.119
and live in a room of some
0:58:31.680,0:58:38.319
specific shape um spoilers
0:58:35.119,0:58:39.520
uh right and we don't tell you the rules
0:58:38.319,0:58:40.960
and that's what you know
0:58:39.520,0:58:42.640
and you sit down at the table and you
0:58:40.960,0:58:44.480
say what's your character name and
0:58:42.640,0:58:48.400
what's your special power
0:58:44.480,0:58:51.599
and and then i say uh i
0:58:48.400,0:58:53.839
i i'm zelda and uh
0:58:51.599,0:58:56.000
i i have this bridge that i can put down
0:58:53.839,0:58:59.040
that always gets me across the river
0:58:56.000,0:58:59.359
um so let's touch on special power real
0:58:59.040,0:59:01.119
quick
0:58:59.359,0:59:03.280
since that's one of the things that is
0:59:01.119,0:59:06.160
kind of unique to dungeon
0:59:03.280,0:59:06.720
and one of the things that is the
0:59:06.160,0:59:08.960
biggest
0:59:06.720,0:59:10.240
challenge to us in trying to code a
0:59:08.960,0:59:13.200
system like this for
0:59:10.240,0:59:14.319
automated play and that's that every
0:59:13.200,0:59:17.119
character gets a
0:59:14.319,0:59:18.000
unique special power and traditionally
0:59:17.119,0:59:19.520
you negotiate
0:59:18.000,0:59:21.839
your special power with the dungeon
0:59:19.520,0:59:24.079
master when you create your character
0:59:21.839,0:59:25.839
and occasionally throughout the course
0:59:24.079,0:59:27.359
of the character's life their special
0:59:25.839,0:59:29.920
power might change
0:59:27.359,0:59:33.280
due to game circumstances usually it
0:59:29.920,0:59:34.960
improves but sometimes not
0:59:33.280,0:59:36.960
uh and that's those are the most fun
0:59:34.960,0:59:39.440
conversations right sometimes we have
0:59:36.960,0:59:41.760
fun gaming sessions where we barely get
0:59:39.440,0:59:43.680
all the characters created and started
0:59:41.760,0:59:45.440
because we get off into arguing about
0:59:43.680,0:59:48.319
the special powers no zelda special
0:59:45.440,0:59:52.079
powers obviously the candle come on
0:59:48.319,0:59:52.079
also that was link not zelda
0:59:53.359,1:00:01.440
i still have my t-shirt hey there she is
0:59:56.240,1:00:05.839
let's cut scene
1:00:01.440,1:00:07.359
you get video fun filters today because
1:00:05.839,1:00:08.799
that's what we got going on over here
1:00:07.359,1:00:15.839
today all right i'm gonna recut
1:00:08.799,1:00:15.839
everybody hang on tight
1:00:18.079,1:00:23.200
all right there's eric this is gonna be
1:00:20.799,1:00:25.200
eric for a second hope
1:00:23.200,1:00:27.440
no worries and welcome to the welcome to
1:00:25.200,1:00:30.960
the stream uh trixie horror
1:00:27.440,1:00:32.720
uh who is
1:00:30.960,1:00:34.559
uh one of our project team members
1:00:32.720,1:00:35.440
somebody who's learning emacs as part of
1:00:34.559,1:00:38.480
the project
1:00:35.440,1:00:40.720
and um yeah i
1:00:38.480,1:00:42.160
i i particularly wanted to invite you on
1:00:40.720,1:00:44.319
to talk about your experience learning
1:00:42.160,1:00:46.079
emacs i think you have run into
1:00:44.319,1:00:47.839
places where it's a pain in the butt to
1:00:46.079,1:00:56.000
learn emacs and that this is a safe
1:00:47.839,1:00:58.960
space to talk about that
1:00:56.000,1:01:00.640
jump into that by saying um the emacs
1:00:58.960,1:01:02.880
cheat sheet
1:01:00.640,1:01:03.680
um i think it's the one that canoe puts
1:01:02.880,1:01:07.680
out
1:01:03.680,1:01:09.440
is a lifesaver um a little bit of a
1:01:07.680,1:01:12.480
vocabulary disconnect
1:01:09.440,1:01:13.359
like and this actually kind of comes up
1:01:12.480,1:01:15.200
a lot
1:01:13.359,1:01:18.000
in conversation with corona and eric and
1:01:15.200,1:01:21.920
i but copy paste versus
1:01:18.000,1:01:24.480
what yank and w
1:01:21.920,1:01:24.480
whatever w
1:01:27.920,1:01:31.200
why would you even do that to us right
1:01:30.000,1:01:33.359
where where were you
1:01:31.200,1:01:38.480
when zero's park happened no i i
1:01:33.359,1:01:39.520
understand that makes sense what else
1:01:38.480,1:01:41.440
i mean you don't have to sit here and
1:01:39.520,1:01:43.119
rag on emacs but we're here for that
1:01:41.440,1:01:44.400
that's all i'm saying
1:01:43.119,1:01:46.799
no i'm like that's been the biggest
1:01:44.400,1:01:49.920
thing like i'm
1:01:46.799,1:01:52.319
i'm used to like just kind of the
1:01:49.920,1:01:53.839
very binary nature like nope that didn't
1:01:52.319,1:01:57.119
work try something else
1:01:53.839,1:01:59.200
so as long as you're like willing to try
1:01:57.119,1:02:02.880
other stuff
1:01:59.200,1:02:06.559
like emacs will be fine so
1:02:02.880,1:02:08.960
it's a tough cookie i can take it
1:02:06.559,1:02:11.119
worst thing that happens is you have to
1:02:08.960,1:02:13.520
really install it
1:02:11.119,1:02:16.799
throw your ignite file that you
1:02:13.520,1:02:16.799
hopefully have a backup of
1:02:19.920,1:02:24.640
all right fine um are there more
1:02:22.079,1:02:26.480
questions in the hopper
1:02:24.640,1:02:27.680
yeah if anybody does have any questions
1:02:26.480,1:02:29.839
up there uh
1:02:27.680,1:02:32.000
for hope for eric or i so just to
1:02:29.839,1:02:34.240
summarize i've known eric
1:02:32.000,1:02:36.160
i've known eric my whole life i've known
1:02:34.240,1:02:39.599
hope around a decade we
1:02:36.160,1:02:44.480
worked together on a project for
1:02:39.599,1:02:44.480
uh for a science fiction convention yeah
1:02:44.559,1:02:48.960
we got conventions and then i also
1:02:46.880,1:02:50.799
helped with i just wrote a bio
1:02:48.960,1:02:53.520
so this should like all theoretically be
1:02:50.799,1:02:53.520
in my head right
1:02:53.599,1:03:00.160
i want i refer to my own bio
1:02:58.079,1:03:02.640
i'm the project coordinator for dungeon
1:03:00.160,1:03:02.640
mode
1:03:10.799,1:03:16.400
um that's nice
1:03:14.000,1:03:18.000
we've gotten a ton of support from a lot
1:03:16.400,1:03:20.480
of our lifelong friends people
1:03:18.000,1:03:22.319
and also people that we just met maybe
1:03:20.480,1:03:25.039
that's a that's a great segue
1:03:22.319,1:03:26.400
um do throw your questions in there i'm
1:03:25.039,1:03:27.839
gonna fill for just a second and then
1:03:26.400,1:03:31.920
we'll probably cut away
1:03:27.839,1:03:31.920
um but uh
1:03:32.319,1:03:36.319
uh i mean thematically actually that's
1:03:34.960,1:03:37.200
that's too abrupt so we need to go
1:03:36.319,1:03:39.119
around the room
1:03:37.200,1:03:40.720
eric you had hours and hours to rehearse
1:03:39.119,1:03:41.359
hope kind of jumped in on the last
1:03:40.720,1:03:43.520
minute
1:03:41.359,1:03:46.319
so let's let's is it okay to pick on you
1:03:43.520,1:03:48.880
or do you want me to give mine
1:03:46.319,1:03:50.000
uh to what are you asking me to do what
1:03:48.880,1:03:51.359
do you what do you want people to take
1:03:50.000,1:03:54.240
away from this talk
1:03:51.359,1:03:55.280
you know as we think about dungeon and
1:03:54.240,1:03:57.520
sharing it's
1:03:55.280,1:03:58.799
sharing its tradition as we think about
1:03:57.520,1:04:02.799
learning emacs
1:03:58.799,1:04:04.880
and like making that awesome um
1:04:02.799,1:04:07.599
and just you know generally what's up
1:04:04.880,1:04:12.480
with free software and trying to make
1:04:07.599,1:04:15.200
computers a tool to make people freer
1:04:12.480,1:04:15.920
wow that's like five questions yeah so
1:04:15.200,1:04:18.960
i'm gonna start
1:04:15.920,1:04:22.240
with jumping um i think
1:04:18.960,1:04:25.359
that dungeon is a lot of fun and
1:04:22.240,1:04:27.599
you know i'm i've played many
1:04:25.359,1:04:28.480
commercial role-playing games over the
1:04:27.599,1:04:31.680
years
1:04:28.480,1:04:32.000
and i've enjoyed all of them and there
1:04:31.680,1:04:34.720
are
1:04:32.000,1:04:36.319
very few of them that i've had as many
1:04:34.720,1:04:40.160
belly laughs and as much
1:04:36.319,1:04:42.799
just joy playing as from dungeon
1:04:40.160,1:04:43.280
and i think you know the magic of it is
1:04:42.799,1:04:45.520
you know
1:04:43.280,1:04:47.200
like any game like the real magic is the
1:04:45.520,1:04:49.599
people you play with and having fun with
1:04:47.200,1:04:51.280
your friends
1:04:49.599,1:04:53.440
and what i would hope that people can
1:04:51.280,1:04:55.920
take away from is that dungeon has the
1:04:53.440,1:04:59.280
ability to be that magical thing
1:04:55.920,1:05:00.000
and hopefully we can get our project to
1:04:59.280,1:05:02.160
the point
1:05:00.000,1:05:04.960
where it gets out of the way and lets
1:05:02.160,1:05:07.200
you have that fun with your friends
1:05:04.960,1:05:08.240
um but there's a lot of work to do we
1:05:07.200,1:05:10.880
could use some help
1:05:08.240,1:05:14.480
so if you're interested in having fun
1:05:10.880,1:05:14.480
come help us build this fun tool
1:05:20.960,1:05:24.079
all right so i just got the call that
1:05:22.319,1:05:25.039
we've got just about two to three
1:05:24.079,1:05:28.160
minutes left
1:05:25.039,1:05:31.440
and we should start our wrap-up
1:05:28.160,1:05:34.240
okay wrap up so
1:05:31.440,1:05:35.920
yeah um so i'll i'll see if i can charge
1:05:34.240,1:05:38.480
the room with some energy unless you're
1:05:35.920,1:05:40.720
ready to have at it hope
1:05:38.480,1:05:42.799
here here's here's what i want people to
1:05:40.720,1:05:46.720
take away
1:05:42.799,1:05:46.720
were you like no okay
1:05:47.039,1:05:51.839
i'm not getting your audio hope
1:05:53.599,1:05:57.359
it's okay on my end maybe i just need to
1:05:55.839,1:05:58.880
speak up
1:05:57.359,1:06:00.640
is this better let me know when i'm
1:05:58.880,1:06:01.680
coming through yeah you're coming
1:06:00.640,1:06:05.359
through now
1:06:01.680,1:06:08.799
okay cool oh no i
1:06:05.359,1:06:10.559
was gonna say go ahead i didn't okay
1:06:08.799,1:06:12.880
i mean i i don't know that i know what i
1:06:10.559,1:06:13.599
want to say either except a whole ton of
1:06:12.880,1:06:16.480
thank yous
1:06:13.599,1:06:17.200
so i will i will save those for the for
1:06:16.480,1:06:20.880
the literal
1:06:17.200,1:06:24.160
end here and instead
1:06:20.880,1:06:27.839
what i would say is as we build
1:06:24.160,1:06:32.160
our amazing innovations and
1:06:27.839,1:06:35.119
explore our ideas in emacs
1:06:32.160,1:06:36.079
we are fighting our own ego for the will
1:06:35.119,1:06:37.680
to get them done
1:06:36.079,1:06:38.960
it's hard and we're not sure if they're
1:06:37.680,1:06:40.000
going to be a good idea and will it
1:06:38.960,1:06:41.680
excite people and part of our
1:06:40.000,1:06:43.440
responsibility is to excite people so
1:06:41.680,1:06:44.240
that they can feel good about liking
1:06:43.440,1:06:45.680
them
1:06:44.240,1:06:47.359
if you come off and you're like hey this
1:06:45.680,1:06:47.920
is a terrible idea it's really hard to
1:06:47.359,1:06:49.760
be like
1:06:47.920,1:06:51.200
no i love that idea it works
1:06:49.760,1:06:55.520
theatrically but
1:06:51.200,1:06:55.520
in larger groups may not scale
1:06:55.680,1:07:00.400
so that's a crucible for ideas and a
1:06:58.400,1:07:03.280
crucible for teams
1:07:00.400,1:07:04.240
the first part is definitely healthy the
1:07:03.280,1:07:07.440
second part
1:07:04.240,1:07:08.640
there's a lot we can we can do you know
1:07:07.440,1:07:10.880
having upfront
1:07:08.640,1:07:15.440
and and and good faith conversations on
1:07:10.880,1:07:17.520
that subject
1:07:15.440,1:07:19.119
anybody else wanted i want to weigh it
1:07:17.520,1:07:22.960
in after that sorry that that was more
1:07:19.119,1:07:22.960
of a calm down than a then a fire out
1:07:23.200,1:07:26.000
oh that's okay
1:07:27.280,1:07:30.960
i mean um the first part of this but i
1:07:29.280,1:07:32.960
think um
1:07:30.960,1:07:34.880
we would be remiss not to highlight org
1:07:32.960,1:07:37.839
mode a little bit
1:07:34.880,1:07:38.480
yeah like that's that's our bread and
1:07:37.839,1:07:40.240
butter
1:07:38.480,1:07:42.720
yeah our whole project is built on org
1:07:40.240,1:07:46.240
mode right and i'm just really excited
1:07:42.720,1:07:49.680
because like i have i don't have adhd
1:07:46.240,1:07:51.119
but i have like something similar and so
1:07:49.680,1:07:54.880
like to know that there's something that
1:07:51.119,1:07:57.760
exists that is like purely hierarchical
1:07:54.880,1:07:58.559
is incredible like i can just run a
1:07:57.760,1:08:01.839
report
1:07:58.559,1:08:03.839
basically and get all of my like
1:08:01.839,1:08:05.760
to-do lists that i didn't have to put in
1:08:03.839,1:08:10.240
one specific place
1:08:05.760,1:08:10.240
um and like that's kind of been
1:08:10.559,1:08:16.480
a complex issue for me of like
1:08:14.559,1:08:18.080
okay i have all these to-do lists like
1:08:16.480,1:08:18.319
in google keep or whatever like what do
1:08:18.080,1:08:20.719
i
1:08:18.319,1:08:21.359
do with them now so being able to like
1:08:20.719,1:08:24.400
pull them
1:08:21.359,1:08:26.640
into one list and then just cycle
1:08:24.400,1:08:30.239
through them is really incredible
1:08:26.640,1:08:34.480
and i think taking a dungeon and
1:08:30.239,1:08:35.839
like using it to
1:08:34.480,1:08:37.759
like combining it with org mode
1:08:35.839,1:08:41.040
basically um
1:08:37.759,1:08:42.560
really yeah i'm excited about it i'm
1:08:41.040,1:08:44.159
excited to see like what it can do for
1:08:42.560,1:08:47.759
player groups
1:08:44.159,1:08:50.319
um yeah especially
1:08:47.759,1:08:52.319
like i was excited about dungeon mode um
1:08:50.319,1:08:53.920
before the pandemic and now like i'm
1:08:52.319,1:08:57.120
only more enthusiastic
1:08:53.920,1:08:58.400
so yeah uh definitely the pandemic has
1:08:57.120,1:08:59.120
been the greatest thing that happened to
1:08:58.400,1:09:02.080
this game
1:08:59.120,1:09:02.640
terrible terrible as it is to say that
1:09:02.080,1:09:05.120
it
1:09:02.640,1:09:06.719
if we uh needed a hobby and it turns out
1:09:05.120,1:09:09.839
role-playing games are
1:09:06.719,1:09:09.839
a really good fit
1:09:11.279,1:09:14.799
so um so i think that's probably about
1:09:13.839,1:09:18.560
our time
1:09:14.799,1:09:21.759
um i'm guessing that's my call and
1:09:18.560,1:09:23.120
uh thank you very much thank you
1:09:21.759,1:09:25.679
everybody
1:09:23.120,1:09:31.759
we'll be around for discord and stuff
1:09:25.679,1:09:31.759
later come catch us if you want to talk