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