summaryrefslogblamecommitdiffstats
path: root/2020/subtitles/emacsconf-2020--28-welcome-to-the-dungeon--erik-elmshauser-corwin-brust-autogen.sbv
blob: eafeb1215584b1b66693c2fb09ef7a90ccdca412 (plain) (tree)
1
2
3
4
5
6
7
8



                       
                                       

                       
                           







                            
                                       

                       
                                        




                       
                                       




                       
                                      

                       
                                   




                                      
                                       













                                       
                                   













                                        
                                   

























                                        
            










                                    
                                      




                                   
                                      

                       
                               










                                       
                         




                                       
       

                       
                                     

























                                        
            

                       
                       

                       
                                       




                                       
                                     
















                                       
                    

                       
                                      







                                      
                                     










                                        
                                      










                                        
                   




                       
                                     







                       
                                       

                       
     







                                        
                 





































                                        
                                      












































































                                        
                                      

                       
                    

                       
             

                       
                              

                       
                                  




















































                                       
                                    
























































































                                        
                                      




                       
               

                       
                                       







                       
                                       

                       
                                    

                       
                                        

                       
             

                       
                                        




                       
                                        







                                       
                                       




                       
                                   










                                        
                                   



















                                      
                                    




                                      
                                      




                          
                                   




                                
                                        

                       
                                  






















                                        
                            































                                        
                                   

                       
                     




























                                        
                                    



















                                  
                                        

                       
                                    





































                                        
                                      

















































































































































                                        
                                  




































































































































































































                                        
                                        










                                 
                                      































                                       
                                        







                                      
                                    




                               
                                    













                                      
                                        

                       
                              







                                      
             








































                                        
                              

                       
                                      

                       
                                     




                       
                               
















                                       
               








































                                        
                                        










































































































































































































                                        
                                    



















                                        
                                   









































































                                        
                                       














































                                        
                                     

                       
                              

                       
                                 




















































                                        
                                      













                                      
                                       




































































































                                        
                                        

























                                        
                                       



















                                        
                                      




                       
                         




                                      
         

                       
                                      










                                        
                                      




                       
                                   







                       
                                       










                                     
                             




























                                       
                                      
















                                        
                                      










                        
                                    

























                                       
     



















                                       
                                       




                       
                                        

















































                                        
                                        








































                                       
                               

                       
                                      


















































































                                        
              




                                       
                                 

                       
                                        

                       
                                       




                                        
          



















                                       
                            

                       
                                    






















                                       
                   






















                                  
                                     


































                                       
                                  











































                                        
                                        



















                                        
                                     













                                      
                                      






































































                                        
                        













                                       
                                      













                               
                                      

                       
                                

                       
                                     
















                                        
                                        




                       
                                       







                                        
                                    






















                                        
          

                       
           




                                        
                                   























































                                        
                                   







                                     
                                      

                       
                                        















































































                                       
                                      
















                                        
                                       








































                                        
                                      

















































                                        
                                      







                                 
                                   




                       
                                     




                        
                                  


































                                        
                                        
































































                                        
                                      

                       
                               




































































































                                        
                














































                                        
                                       














































































































































                                        
                                        








































































































































                                        
                                        

                       
                                      


















































































                                        
                                    



















                                       
                                      

                       
                                        



















                                       
                













                                        
                                       

















































                                        
                                      
































































                                        
                                   





































                                        
                                       




                               
                                       










                                   
                                       




                       
                                     


















































































                                        
                                       

                       
                        







                                        
                                    




                                      
                                      

























                                        
                                      













                                  
                                      

                       
                                       










                                        
                            










                                       
                            







                                    
               






































































                                       
                                      






















                                        
                          

                       
                                  

























                                    
                                 










                                      
                              































                                        
                                        



































































                                        
                       

                       
                  

                       
                                        





















































































                                       
                                        










                                       
                               






















                                        
                                        




                       
             

                       
                                        




                                      
                               




                                       
                                   




                        
                                     




                       
                                       



















                                        
                       













                                      
                                




                                     
                                     

                       
                                    

                       
                     

                       
                                   

                       
              

                       
                                 













                                        
                          

                       
                                 

























                                       
                                 

                       
                         

                       
                                        










                                        
                                  

                       
                              







                                        
                            

                       
                                       



















                                        
                                       










                                     
                                      








































                                        
              
















                                      
               

                       
                       




                                
                             







                                      
                                      




                       
                                      







                                
                                       













                                        
                                     































                                       
                                     













                                 
                                        







                                       
                                        







                       
                               

                       
                                        




                       
                                   







                                 
                 

                       
                                    

                       
                                        







                                        
                                       







                       
                               




                           
                          


































                                        
                            































                                        
                                      










                                      
                                      



















                                       
                                      

                       
                                     

                       
                                        







                                        
                                   







                                
                                        










                               
                                      




                                       
 













                                      
                                










                               
                                    










                                      
                                        

                       
                                    




























                                        
                                      




                       
                                  












                                       
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