-from various stores and friends, what -have you. +from various stores and friends, what have you.
So one of the first things we want to talk about is: @@ -272,12 +271,10 @@ So that's kind of why we like it, but also it makes it a tricky problem
-when it comes to writing a computer game -to mimic +when it comes to writing a computer game to mimic
-the game that we played with paper and -dice around a table. +the game that we played with paper and dice around a table.
CORWIN: So when we look at it as kind of a technology problem... Whoops... @@ -310,7 +307,7 @@ Specifically, I learned it from Corwin when I was 7 or 8. CORWIN: Yeah, that's where... that's my cue in, right?
-My folks and Erik's folks were were really tight. +My folks and Erik's folks were really tight.
They used to run science fiction conventions together. @@ -340,8 +337,7 @@ basically we've also been into playing with computers. Over the years, we've worked with many, many different systems.
-We've played with Ataris, Apples, and -Amigas +We've played with Ataris, Apples, and Amigas
for a long time before either of us got PC clones @@ -359,8 +355,7 @@ So we also always thought, like, how is it that we can use these cool computers that we're into
-to build this Dungeon game that we're -into? +to build this Dungeon game that we're into?
'Cause that's what you do, right? @@ -588,4194 +583,2605 @@ in order to recreate the Dungeon experience that we had with paper and dice sitting around a
-table when we were kids +table when we were kids.
-and +00:13:02.160 --> 00:13:12.570 +And, I mean, we've, you know, it took a while for us to kind of
-I mean we you know it took a while for +00:13:12.570 --> 00:13:15.870 +tease apart the problem in a way where we could actually
-us to kind of +00:13:15.870 --> 00:13:19.370 +list out all of the features, like, what are the problems
-tease apart the problem in a way where +00:13:19.370 --> 00:13:22.160 +we have to solve and how do we solve them?
-we could actually list out all of the +00:13:27.160 --> 00:13:31.050 +So, creating any free software, any self-organizing free
-features like +00:13:31.050 --> 00:13:34.740 +software project is challenging to start with, and we're
-what are the problems we have to solve +00:13:34.740 --> 00:13:38.530 +generally people with a bunch of other responsibilities by
-and how do we solve them +00:13:38.530 --> 00:13:43.570 +the time we get to it. So, it's not just, hey, you know,
-so creating any free software any +00:13:43.570 --> 00:13:48.350 +the general herding cats, it's, you know, trying to make it
-self-organizing free software project +00:13:48.350 --> 00:13:50.160 +a part of your life, too.
-is is challenging to start with and +00:13:52.160 --> 00:13:56.570 +That being kind of a, you know, challenging battle, we kind
-we're generally +00:13:56.570 --> 00:14:00.580 +of aligned on some principles that we wanted to adhere to
-people with a bunch of other +00:14:00.580 --> 00:14:04.160 +once we started taking the project seriously.
-responsibilities by the time we get to +00:14:04.160 --> 00:14:10.640 +Like, you know, particularly recognizing GNU in specific as
-it +00:14:10.640 --> 00:14:14.160 +we focus on giving back to the community.
-so it's it's not just hey +00:14:15.160 --> 00:14:19.830 +Taking what we learned as Perl programmers and, you know,
-you know the general herding cats it's +00:14:19.830 --> 00:14:23.920 +bringing that spirit forward into our work and maybe
-it's +00:14:23.920 --> 00:14:28.830 +specifically support, making sure that we can, you know,
-you know trying to make it a part of +00:14:28.830 --> 00:14:34.160 +write functions for the game in Perl if we want to.
-your life to +00:14:35.160 --> 00:14:40.250 +And then to use the game as a vehicle to make people look
-that being kind of a +00:14:40.250 --> 00:14:45.510 +beyond the typically open source – sorry, typically nom
-you know challenging battle we we +00:14:45.510 --> 00:14:50.290 +inally open source at best, generally pretty closed world of
-kind of aligned on some some principles +00:14:50.290 --> 00:14:52.160 +computer gaming.
-that we wanted to adhere to +00:14:52.160 --> 00:14:55.260 +A lot of Windows users out there, a lot of non-free
-once we started taking the project +00:14:55.260 --> 00:14:58.670 +communication tools, and a lot of, you know, a lot of
-seriously +00:14:58.670 --> 00:15:02.160 +ground to cover from a free software perspective.
-like pre you know particularly +00:15:03.160 --> 00:15:08.160 +So what can Emacs do from a gaming standpoint to open that up?
-recognizing gnu in specific as we focus +00:15:08.160 --> 00:15:12.960 +And not to mention the hubris of the, you know, the two of
-on giving back to the community +00:15:12.960 --> 00:15:17.600 +us with a few friends basically deciding to take on what
-taking what we learned as perl +00:15:17.600 --> 00:15:20.160 +amounts to a huge project.
-programmers and +00:15:20.160 --> 00:15:24.080 +You know, we're essentially a year in now and we haven't
-you know bringing that spirit forward +00:15:24.080 --> 00:15:29.160 +really gotten over halfway to our minimum play testable candidate.
-into into our work and maybe +00:15:30.160 --> 00:15:34.160 +It's a work in progress. We've got a long road to go.
-specifically support making sure that we +00:15:34.160 --> 00:15:37.310 +There's at least 50 items on the things that we think are
-can +00:15:37.310 --> 00:15:40.390 +critical to be able to introduce it to my younger kids, for
-you know write functions for the +00:15:40.390 --> 00:15:41.160 +example.
-game +00:15:41.160 --> 00:15:48.650 +Okay, so we're in the accomplishments section. So we're
-in perl if we want to +00:15:48.650 --> 00:15:51.700 +supposed to be talking about the things that we have
-and then to use the game as a vehicle to +00:15:51.700 --> 00:15:54.160 +succeeded in doing in our first year.
-make people look beyond +00:15:55.160 --> 00:15:59.580 +We have succeeded in working with data in org documents,
-the +00:15:59.580 --> 00:16:04.030 +using org mode tables to store the data that we're going to
-typically open source or sorry typically +00:16:04.030 --> 00:16:07.160 +use in the various parts of our game.
-nominally open source at best +00:16:07.160 --> 00:16:14.440 +And we've had a lot of success with svg.el. It started with
-generally pretty closed world of +00:16:14.440 --> 00:16:18.130 +drawing maps and we have another talk about our mapping
-computer gaming a lot of windows users +00:16:18.130 --> 00:16:20.160 +specifically coming up next.
-out there a lot of free +00:16:21.160 --> 00:16:25.160 +So we'll put off some of that discussion for a separate talk.
-non-free communication tools and a lot +00:16:25.160 --> 00:16:30.050 +But we've also succeeded in getting into a bunch of
-of +00:16:30.050 --> 00:16:36.770 +different elements of the game where we're, you know,
-you know a lot of ground to cover from a +00:16:36.770 --> 00:16:39.340 +making a lot of progress using this drawing engine we
-free software perspective +00:16:39.340 --> 00:16:43.360 +developed to also draw this other thing and also draw this
-so what can Emacs do from a gaming +00:16:43.360 --> 00:16:45.160 +other thing and also draw this other thing.
-standpoint to +00:16:46.160 --> 00:16:46.160 +And we kind of backed into, we've got this aesthetic
-to open that up +00:16:46.161 --> 00:16:54.750 +and we're using it to draw interfaces for all of the different
-and not to mention the hubris of the you +00:16:54.750 --> 00:16:56.160 +parts of the game.
-know the two of us with a few friends +00:16:56.160 --> 00:17:08.160 +So let's talk a little bit about what works now.
-basically deciding to take on what +00:17:11.160 --> 00:17:15.330 +First of all, there's the mapping part that Erik mentioned
-amounts to a +00:17:15.330 --> 00:17:19.040 +and we'll jump here into, we'll start opening up some files
-huge project you know we're +00:17:19.040 --> 00:17:20.160 +and looking around.
-essentially a year in now and we haven't +00:17:20.160 --> 00:17:25.060 +But then also later we'll fire up an IELM and look at some
-really gotten over halfway to our +00:17:25.060 --> 00:17:28.160 +of the other proofs of concept.
-minimum playtestable candidate +00:17:28.160 --> 00:17:31.350 +So hopefully we can pivot the second talk more toward the
-it's a it's a work in progress we've +00:17:31.350 --> 00:17:34.520 +demos as we skip some of the interactive stuff that might
-got a long row to go +00:17:34.520 --> 00:17:37.160 +be mentioned in the slides that we go by.
-there's at least 50 items on the things +00:17:37.160 --> 00:17:38.160 +Okay.
-that we think are critical to +00:17:38.160 --> 00:17:48.160 +So, maps, visual battleboard.
-to be able to introduce it to my younger +00:17:48.160 --> 00:17:51.160 +The battleboard...
-kids for example +00:17:51.160 --> 00:17:55.160 +I'm just going to skip it Erik, we'll hit it in the next one.
-okay so we're in the accomplishments +00:17:55.160 --> 00:17:57.160 +Okay.
-section +00:17:57.160 --> 00:18:03.160 +Hang on.
-so we're supposed to be talking about +00:18:05.160 --> 00:18:07.660 +Okay, so I'm just going to go ahead and open up maps and
-the things that we have +00:18:07.660 --> 00:18:12.490 +let you talk from the SVG process itself, because that's
-succeeded in doing in our first year +00:18:12.490 --> 00:18:15.160 +the interesting part to me.
-we have succeeded in working with data +00:18:15.160 --> 00:18:21.160 +Okay.
-in org documents using org mode +00:18:22.160 --> 00:18:26.350 +Talk about the SVG process, like what do you think exactly
-tables to store the data that we're +00:18:26.350 --> 00:18:31.310 +we want to talk about? How we turn our data into an image
-going to use +00:18:31.310 --> 00:18:34.160 +or what are you hoping for?
-in the various parts of our game +00:18:34.160 --> 00:18:40.140 +Yeah, so I mean did you want to talk more from the hand-d
-and we've had a lot of success with +00:18:40.140 --> 00:18:43.160 +rawn SVG graphics at all?
-SVG.el +00:18:43.160 --> 00:18:48.160 +I thought we were going to save that stuff for the pathing talk.
-it started withdrawing maps and we +00:18:48.160 --> 00:18:49.160 +Okay, that sounds fine.
-have +00:18:49.160 --> 00:18:50.160 +But we can go into it right now if you want.
-another talk about our mapping +00:18:50.160 --> 00:18:54.640 +Yeah, so we've got about 10 minutes before the turn where
-specifically coming up next so we'll +00:18:54.640 --> 00:18:58.470 +we thought we would first take any questions that are
-put off some of that discussion for a +00:18:58.470 --> 00:19:00.160 +hanging out there.
-separate talk +00:19:00.160 --> 00:19:04.160 +I unfortunately closed the Etherpad, but I can open it again real quick.
-but we've also succeeded in +00:19:04.160 --> 00:19:09.850 +Or you can jump into the pathing stuff now, or I can just
-getting into a bunch of different +00:19:09.850 --> 00:19:14.160 +throw open an IELM and we can start the demos.
-elements of the game where +00:19:15.160 --> 00:19:20.600 +So let me invite Amin or Sacha back in, or Leo, if any of
-we're you know making a lot of progress +00:19:20.600 --> 00:19:23.350 +you want to join the conversation and make a suggestion as
-using this +00:19:23.350 --> 00:19:27.160 +to how we balance between the remaining time.
-drawing engine we developed to also draw +00:19:27.160 --> 00:19:30.300 +The rest of what we have left starts in on toward the
-this other thing and also draw this +00:19:30.300 --> 00:19:34.250 +technical, so especially if there would be questions about
-other thing and also draw this other +00:19:34.250 --> 00:19:37.160 +the game right now, that would be awesome.
-thing and it's +00:19:37.160 --> 00:19:42.160 +And I'm going to get seated again.
-you know we kind of backed into +00:19:44.160 --> 00:19:48.870 +I'm not sure if I talk over the stream, if you'll hear it,
-we've got this aesthetic and we're +00:19:48.870 --> 00:19:57.160 +because I'm just watching your stream, but I can try writing on IRC.
-using it to draw interfaces for all of +00:20:01.160 --> 00:20:06.140 +Sure, yeah, questions would be cool. Or, yeah, well Erik,
-the different parts of the game +00:20:06.140 --> 00:20:08.980 +why don't you just go ahead and start walking us through
-so let's talk a little bit +00:20:08.980 --> 00:20:12.000 +the hand drawn SVG stuff just a little bit, because I think
-about what +00:20:12.000 --> 00:20:14.950 +if that isn't interesting to people, we can just preempt
-what works now +00:20:14.950 --> 00:20:16.160 +for a question.
-first of all there's the mapping part +00:20:17.160 --> 00:20:23.010 +Okay, so historically when we decided to actually start
-that Erik mentioned +00:20:23.010 --> 00:20:27.080 +writing code, one of the very first things we wanted to do
-and we'll jump here into we'll start +00:20:27.080 --> 00:20:30.990 +was the maps, because initially it seemed like the maps
-opening up some files and looking around +00:20:30.990 --> 00:20:34.750 +were going to be one of the biggest challenges in terms of
-but then +00:20:34.750 --> 00:20:37.160 +how do we get a text editor to draw pictures for us.
-also later we'll we'll fire up an eye +00:20:40.160 --> 00:20:44.350 +So, we pretty quickly decided we wanted to work with SVGs
-elm and look at some of the +00:20:44.350 --> 00:20:48.370 +because it allowed us to leverage the power of Emacs as a
-some of the other proofs of concept so +00:20:48.370 --> 00:20:53.680 +text editor and a text manipulator to write text graphics
-hopefully we can +00:20:53.680 --> 00:20:56.160 +with the SVG format.
-pivot the second talk more toward the +00:20:56.160 --> 00:20:59.770 +So we did some SVG graphics by hand, we went in and just
-demos as as we skip some of the +00:20:59.770 --> 00:21:03.620 +started hand coding things that looked visually like the
-interactive stuff that might be +00:21:03.620 --> 00:21:07.300 +maps we used to draw by hand on graph paper when we were,
-mentioned in the slides that we go by +00:21:07.300 --> 00:21:10.160 +you know, sitting around the table.
-so maps +00:21:10.160 --> 00:21:13.160 +Yep, absolutely.
-visual battle board +00:21:13.160 --> 00:21:17.610 +What emerged from that is as we started working on some of
-the battle board I'm just going to I'm just +00:21:17.610 --> 00:21:22.140 +these files, this particular image is a test of some 20
-going to skip it Erik +00:21:22.140 --> 00:21:25.910 +wide water with some beaches around it and a special
-we'll hit it in the next one okay +00:21:25.910 --> 00:21:29.160 +chamber kind of off to the side called a clapper.
-hang on +00:21:29.160 --> 00:21:32.960 +And this was the way we would code is by sketching by hand
-okay so I'm just going to go ahead and +00:21:32.960 --> 00:21:36.940 +all of these things to look right. And then we would take
-open up maps and +00:21:36.940 --> 00:21:40.810 +that code and we noticed it became real repetitive as we
-let you talk from the from the SVG +00:21:40.810 --> 00:21:45.160 +would go like chunk of water chunk of water chunk of water.
-process itself +00:21:45.160 --> 00:21:48.860 +And we're like okay so what we really need is to define a
-because that's the interesting part to +00:21:48.860 --> 00:21:52.620 +set of, we call it tiles, but like you can think of it as
-me that to me +00:21:52.620 --> 00:21:56.660 +rubber stamps where we write this graphics code, and then
-okay talk about the SVG +00:21:56.660 --> 00:22:01.160 +we're able to repeat it in different places around the map.
-process like what what are you thinking +00:22:01.160 --> 00:22:05.680 +You want to flip over to code view and show that or do we
-exactly we want to talk about how +00:22:05.680 --> 00:22:09.160 +want to move into. Sure.
-we turn our data into an image or +00:22:09.160 --> 00:22:10.160 +Code view.
-what what are you hoping for yeah so +00:22:10.160 --> 00:22:14.700 +So, you know, you can see just really obviously here the
-I mean did you did you want to talk more +00:22:14.700 --> 00:22:19.240 +only thing that's changing from chunk of water to chunk of
-from from the +00:22:19.240 --> 00:22:22.160 +water is the x and y coordinates.
-SVG the hand-drawn SVG graphics at all +00:22:22.160 --> 00:22:26.990 +And, you know, we can skip getting into the SVG directives
-I thought we were going to save that +00:22:26.990 --> 00:22:31.640 +and how all of the path statements actually work, but you
-stuff for the passing talk okay +00:22:31.640 --> 00:22:36.230 +can trust us, all of these D equals and there's m's and h's
-right now if you want yeah I mean so +00:22:36.230 --> 00:22:41.160 +and V's that turns out to be horizontal lines and vertical
-we've got about +00:22:41.160 --> 00:22:42.160 +lines and cursor moves
-10 minutes before the turn where we +00:22:42.160 --> 00:22:46.900 +kind of like turtle graphics if anyone remembers that far
-thought we would first take any +00:22:46.900 --> 00:22:50.910 +back, and we're picking up our pen and dropping it and
-questions that are hanging out there +00:22:50.910 --> 00:22:54.160 +drawing lines around on our map.
-I unfortunately closed the ether pad but +00:22:54.160 --> 00:22:58.090 +Okay, so we do have a few questions if you want to take
-I can open it again real quick +00:22:58.090 --> 00:23:01.160 +them now otherwise we can also jump in.
-and or you can jump +00:23:01.160 --> 00:23:05.160 +Let's get them while they're fresh. Okay, sounds good.
-jump into the to the pathing stuff now +00:23:05.160 --> 00:23:08.540 +So we'll probably shift to question and answer mode for up
-or I can just +00:23:08.540 --> 00:23:12.490 +to 15 minutes here. So if you do have questions, maybe
-throw up an IELM and we can start the +00:23:12.490 --> 00:23:15.740 +stack rank, go ahead and sort the questions a little for us
-demos so +00:23:15.740 --> 00:23:18.880 +or comment on them to let us know which ones you want to
-let me invite Amin or Sacha back in +00:23:18.880 --> 00:23:21.540 +see us get here if we start getting a little long winded or
-if you guys +00:23:21.540 --> 00:23:23.160 +not just a long, we'll take direction.
-or Leo if any of you want to join the +00:23:23.160 --> 00:23:26.160 +But thanks for your questions.
-conversation +00:23:26.160 --> 00:23:30.050 +I'd like to see a demo as well we'll look at that with the
-make a suggestion as to how we balance +00:23:30.050 --> 00:23:33.160 +remaining time after this question block.
-between the remaining time +00:23:33.160 --> 00:23:38.000 +More about what the game is okay sure. So let's let's take
-the rest of what we have left starts in +00:23:38.000 --> 00:23:42.510 +our one minute each swing at what the game is, you want to
-on toward the technical so especially +00:23:42.510 --> 00:23:45.160 +go first, I called weapons.
-if there would be questions +00:23:45.160 --> 00:23:47.160 +Okay.
-about the game right now that would be +00:23:47.160 --> 00:23:52.180 +Dungeon is like role playing games, but you don't really do
-awesome +00:23:52.180 --> 00:23:56.990 +role playing like the, for me the thing the core of being a
-and I'm going to get seated again +00:23:56.990 --> 00:24:01.400 +role playing game is you take on the role of being your
-I'm not sure if I talk over the stream +00:24:01.400 --> 00:24:06.500 +character and you play your character and dungeons not like
-if you'll hear it because I'm just +00:24:06.500 --> 00:24:08.160 +that dungeon.
-watching your stream +00:24:08.160 --> 00:24:11.160 +You can play.
-but I can try writing an irc +00:24:11.160 --> 00:24:14.660 +So, the dungeon party always has eight characters in it.
-sure yeah questions would be cool or +00:24:14.660 --> 00:24:17.890 +There's four in the front row and four in the back row and
-yeah well Erik why don't you just go +00:24:17.890 --> 00:24:22.160 +you march through the dungeon, fighting, whatever you encounter.
-ahead and start walking us through the +00:24:22.160 --> 00:24:25.700 +And if there's one player you play all eight characters.
-hand-drawn SVG stuff just a little bit +00:24:25.700 --> 00:24:29.180 +And depending on how many players you have you split up the
-because I think +00:24:29.180 --> 00:24:33.160 +party in whatever way seems fair and equitable to everybody.
-if that isn't interesting to people we +00:24:33.160 --> 00:24:36.010 +And similarly I said the dungeon is kind of a simple game
-can just preempt for a question +00:24:36.010 --> 00:24:38.720 +like there's only three races and there's only three
-okay so historically when we +00:24:38.720 --> 00:24:42.160 +classes, all of your characters are either human elf dwarf.
-decided to actually start writing +00:24:42.160 --> 00:24:45.680 +They're all a warrior, a priest or a wizard, and all of
-code one of the very first things we +00:24:45.680 --> 00:24:49.400 +these characters have, you know, special properties and
-wanted to do +00:24:49.400 --> 00:24:52.820 +special talents, that is why they come together in this
-was the maps because initially it seemed +00:24:52.820 --> 00:24:54.160 +party of eight.
-like the maps were going to be one of +00:24:54.160 --> 00:24:57.730 +So essentially dungeon is a game about making up all of
-the biggest challenges +00:24:57.730 --> 00:25:01.530 +these eight characters and stomping through the dungeon
-in terms of how do we get a text editor +00:25:01.530 --> 00:25:04.160 +killing things taking their stuff.
-to draw pictures for us +00:25:04.160 --> 00:25:08.120 +Well you're way over but I don't know how much I have to
-we pretty quickly decided we wanted +00:25:08.120 --> 00:25:12.160 +add to that. I will just add that if, if you're.
-to work with svgs because it allowed us +00:25:12.160 --> 00:25:15.570 +If one's passion as a dungeon master is killing player
-to leverage the power of Emacs as a text +00:25:15.570 --> 00:25:19.210 +characters this game is meant for you. You don't have to
-editor and a text manipulator to write +00:25:19.210 --> 00:25:23.050 +build your game like that. But that's definitely a thing
-text graphics with the SVG format +00:25:23.050 --> 00:25:25.160 +that people do with this game.
-so we did some SVG graphics by hand +00:25:25.160 --> 00:25:28.430 +And then as Erik said, it just encourages you to put your
-we went in and just started hand coding +00:25:28.430 --> 00:25:32.160 +creativity on the table to bring all the different elements.
-things that looked +00:25:32.160 --> 00:25:35.830 +Hopefully, this may be clear in our slides since we were a
-visually like the maps we used to draw +00:25:35.830 --> 00:25:39.430 +little fumbling for the first few minutes of the talk
-by hand on graph paper when +00:25:39.431 --> 00:25:44.160 +but there's also a kind of a player's guide that I started a few years ago.
-we were you know sitting around the +00:25:44.160 --> 00:25:47.950 +That's not super complete, but does cover some
-table +00:25:47.950 --> 00:25:52.160 +of the high level basics of the game that Erik's been talking from.
-yep absolutely what emerged from that +00:25:52.160 --> 00:25:55.800 +And I would add that some of the things that you know some
-is as we started working on some of +00:25:55.800 --> 00:25:58.890 +of what makes dungeon great is that there's a lot of
-these files this particular image is a +00:25:58.890 --> 00:26:02.950 +mystery about it, like the player's handbook doesn't tell
-test of some 20 wide water +00:26:02.950 --> 00:26:07.020 +you all of the rules, or like any really mystery and like
-with some beaches around it and a +00:26:07.020 --> 00:26:09.160 +there's mazes and there's puzzles,
-special chamber kind of off to the side +00:26:09.160 --> 00:26:12.650 +and you have to figure out how things work, and like we've
-called a clapper +00:26:12.650 --> 00:26:16.020 +got all of these treasure items in there that could help
-and this was the way we would code is by +00:26:16.020 --> 00:26:20.160 +you deal with a particular monster if it occurs to you to use it.
-sketching by hand all of these things to +00:26:20.160 --> 00:26:24.160 +And, you know, like that. There's a lot of.
-look right +00:26:24.160 --> 00:26:27.450 +You don't know what's going on you're dropped in the middle
-and then we would take that code and we +00:26:27.450 --> 00:26:30.680 +of this situation and you have to try and survive and level
-noticed it became real repetitive +00:26:30.680 --> 00:26:33.750 +up and figure it out. And if you succeed in doing that for
-as we would go like chunk of water chunk +00:26:33.750 --> 00:26:36.520 +a long enough eventually you start realizing that there are
-of water chunk of water +00:26:36.520 --> 00:26:40.890 +big picture puzzles that there are, you know, there is more to this than just
-and we're like okay so what we really +00:26:40.890 --> 00:26:43.160 +killing things and taking their stuff.
-need is to define a +00:26:43.160 --> 00:26:46.190 +And that's where the joy of designing these games comes in
-set of we called it tiles but like +00:26:46.190 --> 00:26:48.890 +for me is like designing the mazes and designing the
-you could think of it as rubber stamps +00:26:48.890 --> 00:26:51.890 +puzzles and like, oh yeah and then they're going to come
-where we write this graphics code +00:26:51.890 --> 00:26:51.890 +out of this room and you know what they're going to do.
-and then we're able to repeat it in +00:26:51.891 --> 00:26:57.160 +They're wanting to go that way.
-different places around the map +00:26:57.160 --> 00:27:00.160 +So I'm going to put the trap right there.
-you want to flip over to code view +00:27:00.160 --> 00:27:00.160 +And I walk right into it every time.
-and show that or do we want to move into +00:27:00.161 --> 00:27:00.161 +And then when the party does get in your map
-tiles code +00:27:00.162 --> 00:27:00.162 +and they do exactly what you thought and they hit the trap
-so you know you can see just really +00:27:00.163 --> 00:27:07.820 +it's just really satisfying
-obviously here the only thing that's +00:27:07.820 --> 00:27:07.820 +to watch the look on their little faces
-changing from +00:27:07.821 --> 00:27:12.160 +as they squirm and struggle to stay alive.
-chunk of water to chunk of water is the +00:27:12.160 --> 00:27:14.580 +Yeah, that's, that's what I was trying to get at. Thanks.
-x and y coordinates +00:27:14.580 --> 00:27:18.160 +All right, that was perfect for me. All right.
-we're you know we can skip getting into +00:27:18.160 --> 00:27:21.360 +So so highlight your question for me if you think it's
-the SVG directives +00:27:21.360 --> 00:27:24.800 +important we grab it here before we jump into demos,
-and how all of the path statements +00:27:24.801 --> 00:27:28.160 +but otherwise I think it's time to try running some code.
-actually work +00:27:28.160 --> 00:27:30.160 +Let's say.
-but you can trust us +00:27:30.160 --> 00:27:37.160 +Okay, I say do it. Okay, so you less less camera more more emacs now.
-all of these d equals and there's m's +00:27:37.160 --> 00:27:40.380 +And hopefully I could find the right emacs the right
-and h's and v's that turns out to be +00:27:40.380 --> 00:27:43.160 +desktop. All right, there we are.
-horizontal lines and vertical lines and +00:27:43.160 --> 00:27:49.160 +So we'll try to fire up
-cursor moves and it's kind of like +00:27:49.160 --> 00:27:59.160 +a command right now. And I usually like to do the full path to emacs.
-turtle graphics if anyone +00:27:59.160 --> 00:28:07.160 +When I'm going to run it under minus q.
-remembers that far back and we're +00:28:07.160 --> 00:28:13.160 +All right.
-picking up our pen and dropping it and +00:28:13.160 --> 00:28:17.160 +Let's have some IELM.
-drawing lines around on our map +00:28:17.160 --> 00:28:23.270 +All right, and then I'm also going to do a load file on the
-so we do have a few questions if you +00:28:23.270 --> 00:28:29.790 +net script that you can find in the repository in the emacs
-want to take them now otherwise +00:28:29.790 --> 00:28:36.160 +user and it's init scripts
-we can also jump in -
-let's get them while they're fresh okay -
-sounds good -
-so we'll probably shift to question -
-and answer -
-mode for up to 15 minutes here so if you -
-do have questions -
-maybe stack rank go ahead and sort -
-the questions -
-a little for us or comment on them to -
-let us know which ones you want to see -
-us get here -
-if we start getting a little long-winded -
-or nudges along we'll take direction -
-but thanks for your questions I'd -
-like to see a demo as well we'll look at -
-that with the remaining time after this -
-question block - -NOTE Jas looked at things up to here -
-more about what the game is -
-okay sure so let's let's take our -
-one minute each swing at what the -
-game is you want to go first I called -
-weapons -
-okay Dungeon -
-is like role-playing games -
-but you don't really do role-playing -
-like the -
-for me the thing the core of being a -
-role-playing game is you -
-take on the role of being your character -
-and you play -
-your character and Dungeon's not like -
-that -
-Dungeon you can play -
-so the Dungeon party always has eight -
-characters in it -
-there's four in the front row and four -
-in the back row and you march through -
-the Dungeon -
-fighting whatever you encounter and if -
-there's one player you play all eight -
-characters -
-and depending on how many players you -
-have you split up the party -
-in whatever way seems fair and equitable -
-to everybody -
-similarly I said the Dungeon is kind of -
-a simple game like there's only -
-three races and there's only three -
-classes all of your characters are -
-either human elf dwarf -
-they're all a warrior a priest or a -
-wizard -
-and all of these characters have you -
-know special properties -
-and special talents that is why they -
-come together in this party of eight -
-but essentially Dungeon is a game about -
-making up all of these -
-eight characters and stomping through -
-the Dungeon killing things taking their -
-stuff -
-well you're way over but I don't know -
-how much I have to add to that -
-I will just add that if if you're -
-if if one's passion as a Dungeon -
-master is killing player characters this -
-game -
-is meant for you you don't have to build -
-your game like that -
-but that's definitely a thing that -
-people do with this game -
-and then as Erik said it just -
-encourages you to put your creativity on -
-the table to bring all the different -
-elements -
-and this hopefully this may be clear -
-in our slides since we were a little -
-fumbling for the first few minutes of -
-the talk -
-but there's also a kind of a player's -
-guide -
-that that I started a few years ago -
-that's that's not super complete -
-but but does cover some of the high -
-level basics of the game that Erik's -
-been talking from -
-and I would add that some of the things -
-you know some of what makes Dungeon -
-great is that there's a lot of mystery -
-about it -
-like the player's handbook doesn't tell -
-you all of the rules -
-or like really mystery -
-and like there's mazes and there's -
-puzzles and -
-you have to figure out how things work -
-and like -
-we've got all of these treasure items in -
-there that could help you deal with a -
-particular monster if it occurs to you -
-to use it -
-and you know like that there's a lot -
-of -
-you don't know what's going on you're -
-dropped in the middle of this situation -
-and you have to try and survive -
-and level up and figure it out and -
-if you succeed in doing that for long -
-enough eventually you start realizing -
-that there are big picture puzzles -
-that there are you know there is more to -
-this than just killing things and taking -
-their stuff -
-and that's where the joy of designing -
-these games comes in -
-for me is like designing the mazes and -
-designing the puzzles and like -
-oh yeah and then they're going to come -
-out of this room and you know what -
-they're going to do they want to -
-go that way so I'm going to put the trap -
-right there -
-and they'll walk right into it every -
-time and then when the party does get in -
-your map and they do exactly what you -
-thought and they hit the trap it's just -
-really satisfying to watch the look on -
-their little faces as they squirm and -
-struggle to stay alive -
-yeah that's that's what I was trying to -
-get at thanks all right that was perfect -
-for me -
-all right so so highlight your -
-question for me if you think it's -
-important we grab it here before we jump -
-into demos -
-but otherwise I think it's time to try -
-running some code -
-what say okay I say do it -
-okay so you less less camera more more -
-Emacs now -
-and hopefully I could find the right e -
-max -
-the right desktop all right there we are -
-so we'll try to fire up -
-and right now and I usually like to do -
-the full path to Emacs -
-when I'm going to run it under minus q -
-all right -
-let's have some IELM -
-all right and then I'm also going to do -
-a -
-load file on the init script that you -
-can find in the repository -
-in the Emacs user and it's -
-init scripts -
+00:28:36.160 --> 00:28:41.160 users folder
-user folder nice -
-and it's called init dm because that -
-happened to fit with my naming scheme -
-potentially terrible all right and with -
-that loaded -
-in theory some very basic stuff will -
-work even without us doing anything in -
-IELM so I think the the last thing Erik -
-was talking about was the SVG code -
-behind the maps -
-there as kind of the technical thread -
-so we'll just fire open the maps pick a -
-Dungeon level -
-let's pick a pretty one okay if I show -
-this -
-yeah whatever -
-is that the surface yeah -
-and let's scale it here I think if I -
-wrap -
-like once once we got the engine up and -
-running a little bit -
-we decided to do some experimentation -
-about seeing what we could do to push -
-the limits of our tile -
-and gender so we more or less on the -
-surface -
-map I -
-basically started with almost no -
-tiles from below like the water and the -
-beaches and the general store and the -
-stairs -
-were existing tiles but then we were -
-like this is going to be a surface map -
-so we're outdoors so I want hills and I -
-want trees +00:28:41.160 --> 00:28:48.160 +nice.
-and I want grass and it took a little +00:28:48.160 --> 00:28:51.530 +And it's called init-dm because that happened to fit with
-while +00:28:51.531 --> 00:28:54.160 +my naming scheme, potentially terrible.
-playing with SVG to come up with some +00:28:54.160 --> 00:28:54.160 +All right, and with that loaded in theory some very basic stuff will work
-acceptable code +00:28:54.161 --> 00:28:54.161 +even without us doing anything in IELM
-but once the like the grass gets tiled +00:28:54.162 --> 00:29:05.870 +so I think the last thing Erik was talking about
-out it +00:29:05.871 --> 00:29:07.160 +was the SVG code behind the maps.
-kind of you know gives the illusion of +00:29:07.160 --> 00:29:11.800 +There as kind of the technical thread so we'll just fire
-grass and +00:29:11.800 --> 00:29:15.160 +open the maps, pick a dungeon level.
-you know these are all in my estimation +00:29:15.160 --> 00:29:17.160 +Let's pick a pretty one.
-kind of crude graphics +00:29:17.160 --> 00:29:19.160 +Okay, if I show this.
-but we're at the proof of concept stage +00:29:19.160 --> 00:29:23.160 +Yeah, whatever.
-and it definitely proves that we can use +00:29:23.160 --> 00:29:27.160 +Is that the surface. Yeah.
-our graphics engine +00:29:27.160 --> 00:29:32.740 +And let's scale it here I think if I recall that fun like
-to decide what we want our maps to look +00:29:32.740 --> 00:29:36.820 +once, once we got the engine up and running a little bit.
-like +00:29:36.820 --> 00:29:40.870 +We decided to do some experimentation about seeing
-and real quickly compose new map tiles +00:29:40.871 --> 00:29:47.160 +what we could do to push the limits of our tile engine.
-and stamp out a bunch of new maps +00:29:47.160 --> 00:29:54.450 +So we more or less on the surface map, I basically started
-so now I'll show off one of the other +00:29:54.450 --> 00:29:54.450 +with almost no tiles from below like the water
-things so the next thing we did once we +00:29:54.451 --> 00:30:01.370 +and the beaches and the general store and the stairs were existing tiles
-once we had the maps doing +00:30:01.371 --> 00:30:04.730 +but then we were like this is going to be surface maps.
-and we haven't gotten into the features +00:30:04.731 --> 00:30:07.160 +We're outdoors so I want hills
-of the maps we can we can appoint time +00:30:07.160 --> 00:30:11.150 +and I want trees, and I want grass, and it took a little
-to that or not +00:30:11.150 --> 00:30:15.430 +while playing with SVG to come up with some acceptable code,
-but there are a number of +00:30:15.430 --> 00:30:19.610 +but once the like the grass gets tiled out, it kind of,
-featured features there that we can +00:30:19.610 --> 00:30:24.510 +you know, gives the illusion of grass, and, you know, these
-look at the +00:30:24.510 --> 00:30:25.160 +are all in my estimation
-we then wanted to +00:30:25.160 --> 00:30:29.970 +of crude graphics, but we're at the proof of concept stage,
-try to see if that could make other +00:30:29.970 --> 00:30:34.130 +and it definitely proves that we can use our graphics
-interfaces more appealing so we built +00:30:34.130 --> 00:30:38.490 +engine to decide what we want our maps to look like, and
-stuff like +00:30:38.490 --> 00:30:42.970 +real quickly compose new map tiles and stamp out a bunch of
-oop that's going to be the map again +00:30:42.970 --> 00:30:44.160 +new maps.
-I'll just run it here through I +00:30:44.160 --> 00:30:48.050 +So now I'll show off one of the other things. So the next
-am so it's more obvious what I'm doing +00:30:48.050 --> 00:30:51.680 +thing we did once we once we had the maps doing, and we
+00:30:51.680 --> 00:30:56.040 +haven't gotten into the features of the maps we can we can +00:30:56.040 --> 00:30:59.200 +appoint time to that or not, but there are a number of
-so let's look next to the character +00:30:59.200 --> 00:31:01.160 +features there that we can look at.
-sheet oops +00:31:01.160 --> 00:31:06.310 +The, we then wanted to try to see if that could make other
-back and alt p doesn't work okay +00:31:06.310 --> 00:31:11.550 +interfaces more appealing so we built stuff like, that's
-that's a bummer that is not +00:31:11.550 --> 00:31:14.160 +going to be the map again.
-autoloaded +00:31:14.160 --> 00:31:18.580 +I'll just run it here through I am so it's more obvious
-so this this project is a bit of a mess +00:31:18.580 --> 00:31:20.160 +what I'm doing.
-right now y'all +00:31:20.160 --> 00:31:23.160 +So let's look next to the character sheet.
-it does some stuff that's really +00:31:23.160 --> 00:31:27.160 +Oops.
-exciting to us but the code is terrible +00:31:27.160 --> 00:31:33.160 +And alt P doesn't work. Okay.
-and we need all the help we can get +00:31:33.160 --> 00:31:35.160 +That's a bummer.
-being told what our problems are and how +00:31:35.160 --> 00:31:38.160 +That is not auto loaded.
-to fix them +00:31:38.160 --> 00:31:41.120 +So this, this project is a bit of a mess right now, y'all,
-so that is if you take nothing away from +00:31:41.120 --> 00:31:43.800 +it does some stuff that's really exciting to us but the
-this talk +00:31:43.800 --> 00:31:46.560 +code is terrible and we need all the help we can get being
-take away from it that we could use +00:31:46.560 --> 00:31:49.160 +told what our problems are and how to fix them.
-your help +00:31:49.160 --> 00:31:53.160 +So that is if you take nothing away from this talk.
-yeah that doubles back to when we +00:31:53.160 --> 00:32:00.160 +Take away from it that we could use your help.
-were talking about larry wall's cardinal +00:32:00.160 --> 00:32:03.692 +Yeah, that doubles back to when we were talking about
-virtues of programming like we +00:32:03.693 --> 00:32:07.800 +Larry Wall's cardinal virtues of programming like we definitely
-definitely +00:32:07.800 --> 00:32:11.160 +took on some hubris, thinking we could do this.
-took on some hubris thinking we could do +00:32:11.160 --> 00:32:14.300 +We might not be wrong, but we could do it easier with more
-this +00:32:14.300 --> 00:32:18.160 +hands, you know, many hands make light work. All right.
-and we might not be wrong but we +00:32:18.160 --> 00:32:21.160 +I'll bite.
-could do it easier with +00:32:21.160 --> 00:32:24.580 +Yeah, and the character she won't load for us today I had
-more hands you know many hands make +00:32:24.580 --> 00:32:27.880 +some problems with my version control I had to revert my
-light work all right +00:32:27.880 --> 00:32:31.290 +thing I threw all my local changes in a stash and it's it's
-I'll bite yeah +00:32:31.290 --> 00:32:35.160 +a terrible mess let's look at stuff I tested already today.
-and the character she won't load for us +00:32:35.160 --> 00:32:40.160 +Before you got the battle board available.
-today I had some problems with my +00:32:40.160 --> 00:32:42.160 +Let's find out.
-version control I had to revert my thing +00:32:42.160 --> 00:32:46.160 +First of all, the library.
-I threw all my local changes in a stash +00:32:46.160 --> 00:32:57.160 +In fact, actually, your basic require should work.
-and it's it's a terrible mess let's look +00:32:57.160 --> 00:32:59.160 +No.
-at stuff I +00:32:59.160 --> 00:33:03.490 +You can try a load library. You know what, let's, I'm just
-tested already today before +00:33:03.490 --> 00:33:07.350 +going to go ahead and give it to you as a lab beast, since
-you got the battle board available +00:33:07.350 --> 00:33:10.160 +that's probably more fun to watch.
-let's find out first we'll load library +00:33:10.160 --> 00:33:16.570 +So we'll take it from my own and this is more likely to be
-it +00:33:16.570 --> 00:33:17.160 +healthy.
-in fact actually your basic require +00:33:17.160 --> 00:33:19.160 +Since only some of the time.
-should work +00:33:19.160 --> 00:33:25.160 +First we have to control x, all the IDM.
-no I can try load library +00:33:25.160 --> 00:33:30.360 +All right, and having then loaded the net control you have
-you know what let's forg I'm just +00:33:30.360 --> 00:33:35.550 +nine should give me the maps, and we can verify things work
-going to go ahead and give it to you as a +00:33:35.550 --> 00:33:39.160 +in a basic way just by changing level.
-lab beast +00:33:39.160 --> 00:33:44.160 +Let's look at something else.
-since that's probably more fun to watch +00:33:44.160 --> 00:33:49.380 +I mentioned, there were a number of bindings, show them
-we'll take it from my own inet +00:33:49.380 --> 00:33:50.160 +briefly.
-this is more likely to be healthy +00:33:50.160 --> 00:33:55.820 +We wrote our own functions to handle movement. Some of
-since only some of the time first we +00:33:55.820 --> 00:34:00.872 +those in SVG dot el the left, left and right movements
-have to +00:34:00.873 --> 00:34:07.160 +didn't seem to work quite quite likely coding, of course.
-ctrl x alt I d m +00:34:07.160 --> 00:34:10.160 +Um, all right, enough.
-all right and having then loaded +00:34:10.160 --> 00:34:13.160 +So let's, let's see if battle board works now.
-the init control u f9 +00:34:13.160 --> 00:34:16.160 +I really thought that was on F7.
-should give me the maps and we can +00:34:16.160 --> 00:34:19.160 +Up that's the character sheet suite.
-verify +00:34:19.160 --> 00:34:25.160 +Okay, how to use your bindings.
-things work in a basic way just by +00:34:25.160 --> 00:34:28.160 +So that looks a little better.
-changing level +00:34:28.160 --> 00:34:34.160 +So let's talk about the character sheet.
-let's look at something else +00:34:34.160 --> 00:34:36.160 +Yeah.
-I mentioned there were a number of +00:34:36.160 --> 00:34:40.570 +So the character sheet was our first big repurposing of the
-bindings +00:34:40.570 --> 00:34:45.160 +engine that we couldn't do the battle board program that.
-show them briefly we wrote our own +00:34:45.160 --> 00:34:54.160 +Let's see if that runs now to.
-functions to handle movement some of +00:34:54.160 --> 00:35:01.160 +It's not interactive if it does.
-those in SVG.el the left +00:35:01.160 --> 00:35:05.160 +Good.
-left and right movements didn't +00:35:05.160 --> 00:35:09.160 +So,
-didn't seem to work quite quite likely +00:35:09.160 --> 00:35:12.360 +try smex guess? No joy. All right, I'm not sure what's
-coding +00:35:12.360 --> 00:35:14.160 +up with the battle board Erik.
-of course +00:35:14.160 --> 00:35:17.190 +We haven't messed with that one for a while in fact we had
-all right enough +00:35:17.190 --> 00:35:20.270 +discussed using its code as an example so maybe we'll debug
-so let's let's see if battleboard works +00:35:20.270 --> 00:35:21.160 +it with you.
-now +00:35:21.160 --> 00:35:24.160 +I'll certainly check for questions first.
-I really thought that was on f7 up +00:35:24.160 --> 00:35:29.740 +Um, the. So the character sheet which is not scaling
-that's the character sheet +00:35:29.740 --> 00:35:31.160 +ideally here.
-sweet that's why you stay out of user +00:35:31.160 --> 00:35:36.160 +See if reloading it does anything.
-bindings +00:35:36.160 --> 00:35:37.160 +Nope.
-so that looks a little better +00:35:37.160 --> 00:35:40.660 +As far as I can tell, assuming you don't have this
-so let's talk about the character sheet +00:35:40.660 --> 00:35:43.160 +implemented character sheet.
-yeah +00:35:43.160 --> 00:35:49.800 +That's right, there's everything in scale, it take in order
-so the character sheet was our first big +00:35:49.800 --> 00:35:54.160 +to get what you were looking at there.
-repurposing +00:35:54.160 --> 00:35:56.160 +All right.
-of the engine that we couldn't do the +00:35:56.160 --> 00:36:03.201 +This, this whole thing is hard coded, basically to the
-battle board program +00:36:03.202 --> 00:36:08.160 +gills, except for things like this.
-that let's see if that runs now too +00:36:08.160 --> 00:36:11.780 +This program represents a re implementation of the drawing
-it's not interactive if it does +00:36:11.780 --> 00:36:17.420 +engine using all of the same things. Let's see that
-good +00:36:17.420 --> 00:36:20.160 +selected so
-no +00:36:20.160 --> 00:36:23.160 +we'll just try bringing up a map again.
-try let cemex guess no joy all right I'm +00:36:23.160 --> 00:36:27.180 +There's one and you'll notice DM map doesn't know anything
-not sure what's up with the battle board +00:36:27.180 --> 00:36:31.240 +about the new draw engine, and there are a couple of places
-Erik +00:36:31.240 --> 00:36:35.160 +where the new draw engine is still hooked in to the.
-we haven't messed with that one for a +00:36:35.160 --> 00:36:38.250 +For example, particularly the sizing of the graph paper
-while in fact +00:36:38.250 --> 00:36:43.160 +background. So I've started the work in DM draw.
-we had discussed using its code as an +00:36:44.160 --> 00:36:47.950 +Of trying to show how exactly we did this removing the, how
-example so maybe we'll debug it with you +00:36:47.950 --> 00:36:51.040 +did we get data out of org mode that I talked about
-I'll certainly check for questions +00:36:51.040 --> 00:36:56.410 +yesterday with our ETL flows, and just focusing on what how
-first +00:36:56.410 --> 00:37:00.580 +did we solve the problem of predicated drawing, which I
-the so the character sheet which is +00:37:00.580 --> 00:37:04.290 +realized we didn't really talk about so should I jump into
-not scaling ideally here +00:37:04.290 --> 00:37:05.160 +that.
-see if reloading it does anything +00:37:05.160 --> 00:37:06.160 +Yeah, I guess.
-nope not as far as I can tell assuming +00:37:06.160 --> 00:37:09.160 +How are we on time, we have time for detours.
-you don't have this scale implemented +00:37:09.160 --> 00:37:12.450 +Um, yeah, it looks like we could spend two or three minutes
-for character sheet +00:37:12.450 --> 00:37:15.160 +on that and then come back for the questions.
-that's right there's everything in scale +00:37:15.160 --> 00:37:18.160 +Cool.
-it take in order to get what you were +00:37:18.160 --> 00:37:21.440 +And I'm just going to peek into my org mode into my chat
-looking at there +00:37:21.440 --> 00:37:24.970 +conference and I don't see anybody talking to me from the
-all right this +00:37:24.970 --> 00:37:29.160 +organizer channel, so I'm gonna assume that's a good guess.
-this whole thing is hard-coded +00:37:29.160 --> 00:37:33.700 +All right, so let's go ahead and play with the map a
-basically to the gills except +00:37:33.700 --> 00:37:38.170 +little then that is pretty fun and so much fun that we
-for things like this this program +00:37:38.170 --> 00:37:42.640 +had to curtail play sessions in order to keep working on
-represents a re-implementation of the +00:37:42.640 --> 00:37:44.160 +the project.
-draw +00:37:44.160 --> 00:37:52.160 +So, I'll, I'll do the.
-engine using all of the same things +00:37:52.160 --> 00:37:58.516 +Um, we'll try to find something different from any gift
-let's see that's selected so +00:37:58.517 --> 00:38:01.160 +I've shared here right.
-we'll just try bringing up a map +00:38:01.160 --> 00:38:06.160 +So here we are in a random. Go ahead, Erik, you feel.
-again +00:38:06.160 --> 00:38:10.660 +Okay, so what we're, what Corwin is doing here is he's
-there's one and you'll notice dm +00:38:10.660 --> 00:38:15.380 +about to put the map into play mode, which is going to turn
-map doesn't know anything about the new +00:38:15.380 --> 00:38:17.160 +on the fog of war.
-draw engine +00:38:17.160 --> 00:38:21.100 +And then we're going to use the fog of war and the, the
-and there are a couple of places where +00:38:21.100 --> 00:38:25.230 +play mode to kind of reveal the map, one square at a time
-the new draw engine is still +00:38:25.230 --> 00:38:28.160 +like we would during a play session.
-hooked in to the s for example +00:38:28.160 --> 00:38:32.350 +So we'll just drop the party randomly somewhere onto this
-particularly +00:38:32.350 --> 00:38:36.160 +map looks like we're on alpha maze level three here.
-the sizing of the graph paper background +00:38:36.160 --> 00:38:46.160 +And then we'll walk around a little.
-so I've started the work +00:38:46.160 --> 00:38:52.280 +Okay, so we're halfway there. I'll have to, I'll have to do
-in dmdraw.el +00:38:52.280 --> 00:38:55.540 +a full redraw the sketch the sketching stuff has has has
-of trying to show how exactly we did +00:38:55.540 --> 00:38:58.980 +broken things here like I said, the two aren't separated
-this +00:38:58.980 --> 00:39:01.910 +once I run them in the same instance, they're not
-removing the how did we get data out of +00:39:01.910 --> 00:39:03.160 +predictable.
-org mode that I talked about yesterday +00:39:03.160 --> 00:39:08.060 +Okay, so let me elaborate here when he says the sketching
-with our etl flows +00:39:08.060 --> 00:39:12.960 +stuff. The current focus of our work is to turn all of this
-and just focusing on +00:39:12.960 --> 00:39:17.940 +map stuff we've got into a basically a WYSIWYG map editor,
-how did we solve the problem of +00:39:17.940 --> 00:39:22.330 +where we can get into the tiles, and we'll be able to
-predicated drawing -
-which I realized we didn't really talk -
-about so should I jump into that -
-yeah I guess how are we on time we -
-have time for detours -
-yeah it looks like we could spend two -
-or three minutes on that and then -
-come back for the questions cool do -
-it -
-and I'm just going to peek into my org mode -
-by -
-into my chat conference and I don't see -
-anybody talking to me from the organizer -
-channel -
-so I'm going to assume that's a good -
-guess -
-all right so let's let's go ahead and -
-play with the map a little then that is -
-pretty fun and and so much fun -
-that we had to curtail play sessions in -
-order to keep working on the project -
-
-so I'll -
-I'll do the -
-we'll try to find something different -
-from any gif I've shared here right -
-so here we are in a random go ahead Erik -
-you phil -
-oh okay so what what what corwin is -
-doing here is he's about to put the -
-the map into play mode -
-which is going to turn on the fog of war -
-and then we're going to use -
-the fog of war and the the play mode to -
-kind of reveal the map -
-one square at a time like we would -
-during a play session -
-so we'll just drop the party randomly -
-somewhere onto this map -
-looks like we're on alpha maze level -
-three here -
-and -
--oh then we'll walk around a little -
-okay there we go we're halfway there -
-I'll have to I'll have to do a full -
-redraw -
-the sketch the sketching stuff has -
-has has broken things here like I said -
-the two aren't separated once I run them -
-in the same instance they're not -
-predictable -
-okay so let me elaborate here when he -
-says the sketching stuff -
-the current focus of our work is to -
-turn all of this map stuff we've got -
-into -
-a basically a wysiwyg map editor -
-where we can get into the tiles and -
-we'll be able to -
+00:39:22.330 --> 00:39:24.160 select the tile and basically rubber
-stamp it into a map -
-graphically and then save the map file -
-out -
-and load it back in later so that -
-we're able to you know just pound out -
-these maps real fast -
-using a graphical editor rather than -
-having to hand code -
-every symbol and every square of the -
-tables -
-so the process of doing that -
-things are a mess we've got covers off -
-there's wires hanging out -
-different stuff works on different -
-days -
-well I will say in our defense this is -
-exactly why we staged a complicated -
-thing -
-and probably we should have just gone -
-with that instead of -
-trying to give you the experience -
-of of of what it's like to use Emacs -
-to do this which is -
-which is sort of the last minute thought -
-there and my apologies for that -
-if that's made it harder to follow the -
-thread let's check back now for -
-questions -
-and see if anybody wants to redirect at -
-all -
-so yep this so what you're looking at -
-all uses prog -
-pragmatic SVG -
-SVG generation for question number -
-four there have you played with -
-generating svgs pragmatically in Emacs -
-that is what the maps are doing in -
-terms -
-of we should have been maybe more -
-explicit about that we started hand -
-coding things and -
-once we got the idea of what the code -
-was going to look like -
-we switched to doing it programmatically -
-so -
-we were going to open up maybe now if -
-we've got time we can get into the tile -
-set real quick -
-sure we definitely didn't do any of the -
-pathing slides and so now we've skipped -
-over some stuff we were going to present -
-yeah that's right we skipped a whole -
-bunch of slides and I can certainly -
-go back to them they're open here -
-obviously -
-right I was just showing off the -
-sketching -
-tool briefly in that context but I -
-think you're right let's -
-we can jump over to the actually I -
-should finish with this now having -
-teased it -
-so let's do the same thing here ctrl h m -
-and you'll see in this case there are -
-very few keyboard -
-key bindings that are set up even -
-this shift delete has a tera -
-or shift with -
-yeah control delete it would seem to be -
-so that has couple obvious bugs with it -
-right didn't pick it didn't pick up -
-those control points until I reused them -
-not clearing that stack -
-and also should probably think about -
-whether -
-the origin should return and hey marking -
-that origin would be nice -
-so there's a tremendous amount to do -
-here this is just -
-showing that it is possible to use -
-essentially like a touch input -
-to -
-yeah and then also we can switch over to -
-our place -
-tool and -
-hopefully we can get a nice big menu -
-of all the tiles that Erik prepared for -
-the game maps -
-that was probably a terrible choice -
-but there you have just a bit of -
-corridor right -
-that looks -
-and even the click yep and this this -
-glitch action here is the last thing I -
-was working on before I dropped -
-everything to -
-to build the decks that we will soon -
-share for this conference -
-so okay back to the tile sets -
-right so the way we approached drawing -
-it programmatically -
-is we broke our code up into little -
-snippets we called tiles -
-corman's going to open up the tile -
-set here basically each tile has a name -
-and then with that name we place data -
-into different layers of the image -
-some of the layers are just SVG paths -
-and -
-the data is just SVG commands -
-like we saw in that handwritten code and -
-some of it is compositions of other -
-tiles so a tile can be made up of other -
-tiles -
-furthermore some of these tiles have -
-conditional code in it -
-where like some of this stuff is talking -
-about -
-elf and bang elf so the map is going to -
-be drawn differently depending -
-on whether or not there's elves in the -
-party -
-so and that's the demo they broke -
-the engine has to make all those -
-decisions -
-and that's what we're calling predicated -
-drawing oh there's a -
-special room here do you have any elves -
-you do so I draw -
-there is elf's way -
-yeah so we built up the set of tiles and -
-then -
-we basically made map files which -
-take our map and break it up into xy -
-grids and then we drop these tiles into -
-positions on the map so we can use the -
-same tile square after square after -
-square -
-when there's a corridor north south it's -
-the same tile -
-over and over again and that makes it -
-easy to reuse the code and then also -
-when -
-when we go to present the -
-what am I trying to say the the drawing -
-in in fog of war mode as we move down -
-the corridor we can just add the -
-necessary code one bit at a time to the -
-visible image so that what we're -
-displaying doesn't contain -
-any data except what the party has -
-already discovered -
-and thus we have kind of spoiler rich -
-documents sitting on the gm -
-server and then less you know and -
-spoiler-free -
-data that flows down to the org mode -
-files on the player system and the only -
-real challenge is making sure that the -
-the nothing that the game does can mess -
-with the -
-the the users the the players data file -
-in case they -
-might have their own notes and things in -
-it that that would be the one -
-you know number one thing to avoid -
-another thing we can talk about here is -
-that there are layers -
-you can see this table at the bottom has -
-tile and overlay -
-the overlay column is just going to -
-contain some actual SVG -
-xml style tags so that's where we can -
-add whatever -
-text elements or other SVG like raw SVG -
-tags we want -
-whereas a lot of the other layers are -
-going to be like path layers we've got -
-water layers and beach layers -
-and our plan was to have a style sheet -
-that defines how each of those layers -
-are represented -
-so like when the water gets drawn blue -
-and it's got arrows on it -
-giving it direction all of that -
-can be customized with a style sheet to -
-change the water to be -
-whatever you want and like we have -
-beaches as yellow but maybe you like -
-beaches as red or -
-you know whatever so we also built -
-some test programs -
-and various of the I'm not not sure what -
-kind of shape we're going to find these in -
-but we can try running them -
-here for example is just a -
-very basic all of using a saint using -
-the same file to define -
-the tiles and and then -
-the layout so to speak oh look at that -
-there's the layout okay so that -
-actually looks fine tile -
-and it's pat so this is defining a tile -
-named seas -
-and it's going to have a list of tiles -
-defined above and you'll notice also -
-that we can just sort of freely define -
-and redefine and it sort of figures out -
-oh this must still be part of the b -
-row we could also have done -
-this -
-okay so this would this would work as -
-would this -
-one of early on in development when -
-we were talking about -
-getting data in and out of these org -
-tables it -
-was kind of a priority to us to -
-leave the way the data is organized open -
-to -
-the users and to the Dungeon masters so -
-while we set our tile set apart from our -
-map sets -
-this clearly shows that you can cram a -
-tile set and a map into a single file -
-so in situations like the surface where -
-we're using different tiles from other -
-maps -
-maybe it makes sense to move you know -
-those tiles just into the file -
-with your map or like it's hard for us -
-to predict how other people are going to -
-want to use this when they design their -
-games -
-so we wanted to leave it as versatile as -
-possible -
-about how you can use it where it -
-matters right -
-not support every feature in the world I -
-can't count the number of times I said -
-Erik Erik Erik -
-hey if we do it like this people will be -
-able and he just like -
-does it have to do that do we do we does -
-it like -
-do we need it right away -
-do you have to really rewrite everything -
-so it can all do that -
-and a lot of those -
-a lot of those conversations too but the -
-the key flexibilities -
-are really there people might want to -
-use a lot of different files they might -
-want to lay the tables out however they -
-want they have to be able to say hey -
-this is a table that has -
-data that's controlled by the game and -
-everything else in the file -
-is not the game's problem -
-on our table some of our tables started -
-getting really wide so we started -
-striping the tables -
-where we'll repeat the same table over -
-and over and over again to -
-get all of the columns in there without -
-making it you know a million miles wide -
-yeah -
-do you want to should I go ahead and -
-pull open like a level here -
-do you think sure just to have shown it -
-the aisle set's a great example of -
-striped tables if you -
-look down like in the level change -
-feature oh sure -
-sorry I'm not quite sitting well to my -
-keyboard here I can just readjust things -
-real quick -
-so what you know you can see here -
-like some of these tables got real wide -
-when we're stuffing SVG -
-tags into them and what we +00:39:24.160 --> 00:39:30.510 +stamp it into a map graphically, and then save the map file
-oh maybe it's not in these +00:39:30.510 --> 00:39:36.470 +out and load it back in later, so that we're able to just
-I thought it was +00:39:36.470 --> 00:39:40.160 +pound out these maps real fast.
-special probably yeah no there it is +00:39:40.160 --> 00:39:44.480 +Using a graphical editor rather than having to hand code
-yeah +00:39:44.480 --> 00:39:48.160 +every symbol and every square of the tables.
-it was in level change it does the table +00:39:48.160 --> 00:39:51.160 +So the process of doing that.
-can you repeat okay great +00:39:51.160 --> 00:39:56.190 +I hate them on things are a mess we've got covers off those
-up and down so fast I didn't realize so +00:39:56.190 --> 00:40:03.160 +wires hanging out different stuff works on different days.
-this first table +00:40:03.160 --> 00:40:06.860 +Well, I will say in our defense this is exactly why we
-we've got path and what is that stairs +00:40:06.860 --> 00:40:10.880 +staged a complicated thing, and probably we should have
-so the stairs level is one that draws in +00:40:10.880 --> 00:40:14.510 +just gone with that instead of trying to give you the
-like a pink color +00:40:14.510 --> 00:40:18.460 +experience of, of what it's like to use Emacs to do this
-to highlight the places where you can +00:40:18.460 --> 00:40:21.160 +which is sort of the last
-change level +00:40:21.160 --> 00:40:26.450 +thought there and my apologies for that if that's made it
-and then if we scroll down to the second +00:40:26.450 --> 00:40:31.650 +harder to follow the thread. Let's check back now for
-half of this section +00:40:31.650 --> 00:40:37.160 +questions and see if anybody wants to redirect at all.
-the second table is going to have all of +00:40:37.160 --> 00:40:41.438 +Oh yep, this. So what you're looking at all uses
-these same tiles in it but +00:40:41.439 --> 00:40:46.860 +progrmamatic SVG generation for question number four there,
-instead of path and stairs we're going +00:40:46.860 --> 00:40:52.160 +have you played with generating SVGs programmatically in Emacs.
-to have other +00:40:52.160 --> 00:40:58.160 +That is what the maps are doing in terms of
-columns can we +00:40:58.160 --> 00:41:01.860 +being more explicit about that we started hand coding
-see the next table +00:41:01.860 --> 00:41:05.650 +things and once we got the, the idea of what the code was
-there we go so the same tiles only here +00:41:05.650 --> 00:41:10.160 +going to look like we switched to doing it programmatically.
-we've got overlay +00:41:10.160 --> 00:41:13.330 +So, we were going to open up maybe now we've got time we
-documentation and behavior and I guess +00:41:13.330 --> 00:41:16.910 +can get into the tileset real quick. Sure, we definitely
-we haven't talked about this at all the +00:41:16.910 --> 00:41:19.820 +didn't do any of the pathing slides and so now we've
-behavior column +00:41:19.820 --> 00:41:23.160 +skipped over some stuff we were going to present.
-was our concept of a way that we could +00:41:23.160 --> 00:41:27.030 +Yeah, that's right we skipped a whole bunch of slides and I
-attach +00:41:27.030 --> 00:41:31.160 +can certainly go back to them they're open here obviously.
-functions basically to these different +00:41:31.160 --> 00:41:34.110 +I'm right I was just showing off the sketching tool,
-areas of the map +00:41:34.110 --> 00:41:37.530 +briefly in that context but I think you're right, let's, we
-because sometimes when you enter an area +00:41:37.530 --> 00:41:40.800 +can jump over to the actually I should finish with this now
-we want it to do something like +00:41:40.800 --> 00:41:42.160 +having teased it.
-when you enter a stairs down maybe we +00:41:42.160 --> 00:41:46.970 +So let's do the same thing here Ctrl H M, and you'll see in
-want it to change to the next level +00:41:46.970 --> 00:41:52.160 +this case there are very few key bindings that are set up.
-and draw the stairs up behind you and +00:41:52.160 --> 00:41:57.320 +This shift delete has a terror or shift with a control
-draw you where you are +00:41:57.320 --> 00:42:01.920 +delete, it would seem to be. So that has a couple obvious
-on the next level so +00:42:01.920 --> 00:42:06.590 +bugs with it right didn't pick it didn't pick up those
-these are like hooks where we could +00:42:06.590 --> 00:42:12.160 +control points until I reuse them not clearing that stack.
-attach functions +00:42:12.160 --> 00:42:16.720 +I think we can also should probably think about whether the
-or you know macros or whatever to +00:42:16.720 --> 00:42:21.060 +origin should return and hey marking that origin would be
-make the map have these behaviors as we +00:42:21.060 --> 00:42:25.370 +nice. So there's a tremendous amount to do here this is
-get further towards automation +00:42:25.370 --> 00:42:30.090 +just showing that it is possible to use, essentially like a
-cool so that's that +00:42:30.090 --> 00:42:31.160 +touch input to,
-should be pretty close to our time +00:42:31.160 --> 00:42:40.730 +yeah, and then also we can switch over to our place tool,
-questions or just say goodbye +00:42:40.730 --> 00:42:46.830 +and hopefully we can get a nice big menu of all the tiles that
-yeah so there's the I'm sorry we +00:42:46.830 --> 00:42:50.160 +Erik prepared for the game maps.
-couldn't show it earlier there is the +00:42:50.160 --> 00:42:55.160 +That was probably a terrible choice but there you have just
-battle board +00:42:55.160 --> 00:42:57.160 +a bit of corridor right.
-and so this is used just to keep +00:42:57.160 --> 00:43:01.160 +That looks.
-track of hit points so with this example +00:43:01.160 --> 00:43:03.160 +And even the click.
-battle board +00:43:03.160 --> 00:43:06.870 +Yep, and this click action here is the last thing I
-dmbattleboard.el there's there's a +00:43:06.870 --> 00:43:10.510 +was working on before I dropped everything to build the
-complete example of not only +00:43:10.510 --> 00:43:14.160 +decks that we will soon share for this conference.
-in a single file repub filling out the +00:43:14.160 --> 00:43:20.160 +So okay, back to the tile sets.
-the cells and the tiles but then coming +00:43:20.160 --> 00:43:24.130 +So the way we approached drawing it programmatically is we
-in +00:43:24.130 --> 00:43:28.160 +broke our code up into little snippets we called tiles.
-and keeping the org mode file in sync +00:43:28.160 --> 00:43:31.240 +And so this is where I was going to open up the tiles out
-with +00:43:31.240 --> 00:43:34.610 +here, basically each tile has a name, and then with that
-with clicks so and I can press the star +00:43:34.610 --> 00:43:38.160 +name we place data into different layers of the image.
-key and set my damage to -1 and +00:43:38.160 --> 00:43:43.290 +Some of the layers are just SVG paths, and the data is just
-take the damage back off I just haven't +00:43:43.290 --> 00:43:48.430 +SVG commands, like we saw in that handwritten code, and
-spent a lot of time +00:43:48.430 --> 00:43:53.560 +some of it is compositions of other tiles, so a tile can be
-building up fancy bindings for this +00:43:53.560 --> 00:43:56.160 +made up of other tiles.
-you'll also find that the crew +00:43:56.160 --> 00:44:00.270 +Furthermore, some of these tiles have conditional code in
-probably find how I figure out what was +00:44:00.270 --> 00:44:04.460 +it, where like some of this stuff is talking about elf and
-clicked on +00:44:04.460 --> 00:44:05.160 +bang elf.
-in the code hard but if I just assign +00:44:05.160 --> 00:44:09.540 +So the map is going to be drawn differently depending on
-something recognizable +00:44:09.540 --> 00:44:13.160 +whether or not there's elves in the party.
-for damage and then come into +00:44:13.160 --> 00:44:17.160 +So, and that's the demo they broke.
-it will now have opened the org mode +00:44:17.160 --> 00:44:20.160 +So the engine has to make all those decisions.
-file behind the scenes because it's +00:44:20.160 --> 00:44:22.887 +And that's what we're calling predicated drawing. Oh, there's
-changing it +00:44:22.888 --> 00:44:26.810 +a special room here. Do you have any elves? You do. So I
-and we can then look at that file a +00:44:26.810 --> 00:44:33.160 +draw it the "there is elves" way.
-little bit and hopefully +00:44:33.160 --> 00:44:37.440 +Yeah, so we built up the set of tiles, and then we
-that is un +00:44:37.440 --> 00:44:42.450 +basically made map files, which take our map and break it
-large enough you can kind of see +00:44:42.450 --> 00:44:46.840 +up into XY grids, and then we drop these tiles into
-there's our 17 damage landed +00:44:46.840 --> 00:44:49.160 +positions on the map.
-in armor the logic that sits behind that +00:44:49.160 --> 00:44:52.060 +So we can use the same tile square after square after
-to figure out the part of the screen +00:44:52.060 --> 00:44:55.470 +square. When there's a corridor north-south, it's the same
-is not necessarily our finest work +00:44:55.470 --> 00:44:59.980 +tile over and over again. And that makes it easy to reuse
-but it but it does work and it's +00:44:59.980 --> 00:45:01.160 +the code.
-one for +00:45:01.160 --> 00:45:12.370 +And also, when we go to present the -- what am I trying to
-the stuff was used on the map a little +00:45:12.370 --> 00:45:16.180 +say -- the drawing in fog of war mode, as we move down the
-bit too we didn't really need to show +00:45:16.180 --> 00:45:20.280 +corridor, we can just add the necessary code one bit at a
-that in the demo but as you're scrolling +00:45:20.280 --> 00:45:24.160 +time to the visible image, so that what we're displaying
-around there's like a highlighter +00:45:24.160 --> 00:45:28.160 +doesn't contain any data except what the party has already
-that that you know we were drawing on +00:45:28.160 --> 00:45:30.160 +discovered.
-shaft to show you which square you've +00:45:30.160 --> 00:45:34.720 +And thus we have kind of spoiler-rich documents sitting on
-got selected +00:45:34.720 --> 00:45:39.120 +the GM server, and then less -- and spoiler-free data that
-because we were having trouble with +00:45:39.120 --> 00:45:43.160 +flows down to the org mode files on the player system.
-that code +00:45:43.160 --> 00:45:47.660 +And the only real challenge is making sure that nothing
-initially and we were sometimes +00:45:47.660 --> 00:45:52.230 +that the game does can mess with the users -- the players'
-revealing the wrong +00:45:52.230 --> 00:45:56.610 +data file, in case they might have their own notes and
-okay +00:45:56.610 --> 00:46:03.800 +things in it. That would be the one, you know, number one
-and I don't know how we're set for time +00:46:03.800 --> 00:46:06.160 +thing to avoid.
-but I just saw a message +00:46:06.160 --> 00:46:09.200 +Another thing we can talk about here is that there are
-from trixie that she could jump on if +00:46:09.200 --> 00:46:12.350 +layers. You can see this table at the bottom has tile and
-we want her oh that would be amazing +00:46:12.350 --> 00:46:16.860 +overlay. The overlay column is just going to contain some
-yeah go ahead and invite her in I'll +00:46:16.860 --> 00:46:19.160 +actual SVG XML style tags.
-just cut to the scene as soon as she's +00:46:19.160 --> 00:46:23.100 +So that's where we can add whatever text elements or other
-I in yeah so we're reaching the ask +00:46:23.100 --> 00:46:27.120 +SVG, like raw SVG tags we want. Whereas a lot of the other
-me any +00:46:27.120 --> 00:46:30.980 +layers are going to be like path layers, we've got water
-anything portion of the program here +00:46:30.980 --> 00:46:33.160 +layers and beach layers.
-with what with what time we have left +00:46:33.160 --> 00:46:36.370 +And our plan was to have a style sheet that defines how
-for your questions +00:46:36.370 --> 00:46:39.790 +each of those layers are represented. So like when the
-please correct me if we're still like +00:46:39.790 --> 00:46:43.140 +water gets drawn blue and it's got arrows on it giving it
-10 minutes +00:46:43.140 --> 00:46:47.140 +direction, all of that can be customized with a style sheet
-you know if we're if we're more than +00:46:47.140 --> 00:46:50.160 +to change the water to be whatever you want.
-like +00:46:50.160 --> 00:46:53.430 +And like we have beaches as yellow, but maybe you like
-15 to 20 minutes from our time but I I +00:46:53.430 --> 00:46:56.160 +beaches as red or, you know, whatever.
-suspect we've less weight +00:46:56.160 --> 00:47:03.570 +So we also built some test programs and various -- I'm not
-left way less than that and out of +00:47:03.570 --> 00:47:05.900 +sure what kind of shape we're going to find these in, but
-respect for +00:47:05.900 --> 00:47:07.160 +we can try running them.
-all the other presenters +00:47:07.160 --> 00:47:13.950 +Here, for example, is just a very basic -- using the same
-oh I don't want to close that actually +00:47:13.950 --> 00:47:21.160 +file to define the tiles and then the layout, so to speak.
-I think I may have found an old version +00:47:21.160 --> 00:47:25.160 +Oh, look at that.
-of my slides that could have some good +00:47:25.160 --> 00:47:29.160 +There's the layout. Okay, so that actually looks fine. Tile.
-stuff +00:47:29.160 --> 00:47:33.430 +And it's path. So this is defining a tile named "seas" and
-it's been an event for a couple of weeks +00:47:33.430 --> 00:47:37.160 +it's going to have a list of tiles defined above.
-here I had a break in and +00:47:37.160 --> 00:47:41.120 +And you'll notice also that we can just sort of freely
-my somebody got into our bank accounts +00:47:41.120 --> 00:47:44.750 +define and redefine and it sort of figures out, oh, this
-and +00:47:44.750 --> 00:47:47.160 +must still be part of the B row.
-nasty business just a lot going on over +00:47:47.160 --> 00:48:00.160 +We could also have done this.
-over this whole year I think +00:48:00.160 --> 00:48:08.160 +Okay, so this would work as would this.
-do we have more questions to shag or +00:48:08.160 --> 00:48:11.930 +>> Early on in development when we were talking about
-where +00:48:11.930 --> 00:48:16.520 +getting data in and out of these org tables, it was kind of
-sure so I think +00:48:16.520 --> 00:48:22.160 +a priority to us to leave the way the data is organized
-there was at least one we deferred a +00:48:22.160 --> 00:48:25.160 +open to the users and to the dungeon masters.
-little bit what the game +00:48:25.160 --> 00:48:30.860 +So while we set our tile set apart from our map sets, this
-is +00:48:30.860 --> 00:48:36.430 +clearly shows that you can cram a tile set and a map into a
-always eight characters that can be +00:48:36.430 --> 00:48:38.160 +single file.
-divided right that's so always eight +00:48:38.160 --> 00:48:41.170 +So in situations like the surface where we're using
-characters that can be divided between +00:48:41.170 --> 00:48:44.610 +different tiles from other maps, maybe it makes sense to
-the party is the classic formula +00:48:44.610 --> 00:48:47.890 +move, you know, those tiles just into the file with your
-it actually works pretty well for a +00:48:47.890 --> 00:48:49.160 +map.
-conversational group remember that +00:48:49.160 --> 00:48:51.880 +But we also wanted to make sure, like, it's hard for us to
-role-playing games are about talking to +00:48:51.880 --> 00:48:54.640 +predict how other people are going to want to use this when
-each other +00:48:54.640 --> 00:48:56.160 +they design their games.
-and being good at them is about taking +00:48:56.160 --> 00:49:00.780 +So we wanted to leave it as versatile as possible about how
-excellent notes so +00:49:00.780 --> 00:49:02.160 +you can use it.
-when you're sitting around with a group +00:49:02.160 --> 00:49:04.810 +>> Where it matters, right? Not support every feature in
-of people and you're going to have to +00:49:04.810 --> 00:49:05.160 +the world.
-wait for them while they dig through +00:49:05.160 --> 00:49:08.560 +I can't count the number of times I said, Erik, Erik, Erik,
-their notes +00:49:08.560 --> 00:49:12.000 +hey, if we do it like this, people will be -- and he just,
-and listen to all of the things they +00:49:12.000 --> 00:49:14.160 +like, does it have to do that?
-find interesting to say +00:49:14.160 --> 00:49:19.090 +Like, do we need it right away? Do you have to really
-and try to reach an imaginative place +00:49:19.090 --> 00:49:21.160 +rewrite everything so it can all do that?
-that you can stay together +00:49:21.160 --> 00:49:26.160 +And a lot of those conversations, too.
-while you're doing all that and working +00:49:26.160 --> 00:49:30.160 +But the key flexibilities are really there.
-in dice and remembering the rules +00:49:30.160 --> 00:49:32.160 +People might want to use a lot of different files.
-it's actually a complicated activity I +00:49:32.160 --> 00:49:34.160 +They might want to lay the tables out however they want.
-liken it more to a bridge game +00:49:34.160 --> 00:49:37.590 +They have to be able to say, hey, this is a table that has
-than to like +00:49:37.590 --> 00:49:40.950 +data that's controlled by the game, and everything else in
-you know parcheesi or perhaps even like +00:49:40.950 --> 00:49:43.160 +the file is not the game's problem.
-risk or access and allies or other games +00:49:43.160 --> 00:49:45.980 +>> And our table, some of our tables started getting really
-that +00:49:45.980 --> 00:49:48.160 +wide, so we started striping the tables.
-have have definitely the strategy to +00:49:48.160 --> 00:49:52.140 +We'll repeat the same table over and over and over again to
-them but +00:49:52.140 --> 00:49:56.180 +get all of the columns in there without making it, you know,
-I don't Erik your thoughts +00:49:56.180 --> 00:49:58.160 +a million miles wide.
-yeah I mean I think that's fair +00:49:58.160 --> 00:49:59.160 +>> Yeah.
-you know yes definitely the the +00:49:59.160 --> 00:50:02.450 +Do you want to -- should I go ahead and pull open, like, a
-tradition is to always have eight +00:50:02.450 --> 00:50:04.160 +level here, do you think?
-characters in the party +00:50:04.160 --> 00:50:05.160 +>> Sure.
-and you know one of the great things +00:50:05.160 --> 00:50:06.160 +>> Just to have shown it.
-about Dungeon is that everybody who +00:50:06.160 --> 00:50:08.750 +>> The file set's a great example of striped tables if you
-writes their own Dungeon +00:50:08.750 --> 00:50:11.160 +look down, like, in the level change feature.
-gets to write their own rules and is +00:50:11.160 --> 00:50:18.160 +>> Oh, sure.
-free to change whatever +00:50:18.160 --> 00:50:21.160 +>> Sorry, I'm not quite sitting well to my keyboard here.
-you want and that being said I've +00:50:21.160 --> 00:50:30.160 +I can just readjust things real quick.
-certainly seen +00:50:30.160 --> 00:50:33.920 +So what, you know, you can see here, like, some of these
-people try to take on challenging that +00:50:33.920 --> 00:50:38.160 +tables got real wide when we're stuffing SVG tags into them.
-always eight characters in a party +00:50:38.160 --> 00:50:44.160 +And what we -- oh, maybe it's not in these.
-thing I've seen people take +00:50:44.160 --> 00:50:50.160 +I thought it was.
-approaches like every player gets two +00:50:50.160 --> 00:50:51.160 +It's special, probably.
-characters and then you can have a party +00:50:51.160 --> 00:50:52.160 +>> Yeah.
-ranging from two to ten +00:50:52.160 --> 00:50:54.160 +No, there it is, yeah.
-or there's always going to be ten or +00:50:54.160 --> 00:50:55.160 +It was in level change.
-there's you know this or that or people +00:50:55.160 --> 00:50:57.160 +It does the table key repeat.
-have tried stuff and none of it has +00:50:57.160 --> 00:50:58.160 +>> Okay, great.
-really worked out very satisfactorily we +00:50:58.160 --> 00:50:59.720 +>> You were just scrolling up and down so fast I didn't
-always +00:50:59.720 --> 00:51:00.160 +realize.
-seem to keep coming back to our party +00:51:00.160 --> 00:51:04.270 +So this first table, we've got path and what is that,
-of eight +00:51:04.270 --> 00:51:05.160 +stairs?
-yeah it's I I I I it's one of the things +00:51:05.160 --> 00:51:09.010 +So the stairs level is one that draws in, like, a pink
-Dungeon that you can't change when you +00:51:09.010 --> 00:51:13.160 +color to highlight places where you can change level.
-write your own Dungeon +00:51:13.160 --> 00:51:16.120 +And then if we scroll down to the second half of this
-and that's the reason it's so +00:51:16.120 --> 00:51:19.380 +section, the second table is going to have all of these
-complicated as a as a software +00:51:19.380 --> 00:51:24.000 +same tiles in it, but instead of path and stairs, we're
-project why it's taken us decades +00:51:24.000 --> 00:51:27.160 +going to have other columns.
-because +00:51:27.160 --> 00:51:31.160 +Can we see the next table?
-trying to model the data for example or +00:51:31.160 --> 00:51:32.160 +There we go.
-really any attempt to +00:51:32.160 --> 00:51:35.610 +So the same tiles, only here we've got overlay,
-quantify it in specific terms always +00:51:35.610 --> 00:51:38.160 +documentation, and behavior.
-falls to examples +00:51:38.160 --> 00:51:40.160 +And I guess we haven't talked about this at all.
-well you know Dungeons usually have +00:51:40.160 --> 00:51:44.920 +The behavior column was our concept of a way that we could
-elves dwarves and humans they have +00:51:44.920 --> 00:51:50.100 +attach functions, basically, to these different areas of
-priests wizards and warriors they +00:51:50.100 --> 00:51:51.160 +the map.
-have eight characters in the party +00:51:51.160 --> 00:51:55.920 +Because sometimes when you enter an area, we want it to do
-the bell rocks are particularly nasty +00:51:55.920 --> 00:51:57.160 +something.
-and live in a room of some +00:51:57.160 --> 00:52:00.880 +Like when you enter a stairs down, maybe we want it to
-specific shape spoilers +00:52:00.880 --> 00:52:04.850 +change to the next level and draw the stairs up behind you
-right and we don't tell you the rules +00:52:04.850 --> 00:52:08.160 +and draw you where you are on the next level.
-and that's what you know +00:52:08.160 --> 00:52:13.470 +So these are like hooks where we could attach functions or,
-and you sit down at the table and you +00:52:13.470 --> 00:52:18.390 +you know, macros or whatever to make the map have these
-say what's your character name and +00:52:18.390 --> 00:52:23.160 +behaviors as we get further towards automation.
-what's your special power +00:52:23.160 --> 00:52:25.160 +Cool.
-and and then I say I +00:52:25.160 --> 00:52:31.160 +So that's that should be pretty close to our time.
-I I'm zelda and +00:52:31.160 --> 00:52:34.160 +Questions or just say goodbye.
-I I have this bridge that I can put down +00:52:34.160 --> 00:52:38.160 +Yeah, so there's the I'm sorry we couldn't show it earlier.
-that always gets me across the river +00:52:38.160 --> 00:52:41.160 +There is the battle board.
-so let's touch on special power real +00:52:41.160 --> 00:52:46.160 +And so this is used just to keep track of hit points.
-quick +00:52:46.160 --> 00:52:50.540 +So with this example, battle board, dm battle board.el,
-since that's one of the things that is +00:52:50.540 --> 00:52:54.590 +there's there's a complete example of not only in a single
-kind of unique to Dungeon +00:52:54.590 --> 00:52:58.430 +file reaper, we filling out the tell the cells and the
-and one of the things that is the +00:52:58.430 --> 00:53:03.720 +tiles, but then coming in and keeping the org mode file in
-biggest +00:53:03.720 --> 00:53:06.160 +sync with with clicks.
-challenge to us in trying to code a +00:53:06.160 --> 00:53:11.040 +So, and I can press the star key and set my damage to minus
-system like this for +00:53:11.040 --> 00:53:14.160 +one and take the damage back off.
-automated play and that's that every +00:53:14.160 --> 00:53:17.770 +I just haven't spent a lot of time building up fancy bind
-character gets a +00:53:17.770 --> 00:53:21.620 +ings for this, you'll also find that the crew probably find
-unique special power and traditionally +00:53:21.620 --> 00:53:25.270 +how I figure out what was clicked on in the code hard, but
-you negotiate +00:53:25.270 --> 00:53:30.010 +if I just assign something recognizable for damage, and
-your special power with the Dungeon +00:53:30.010 --> 00:53:33.160 +then come into.
-master when you create your character +00:53:33.160 --> 00:53:39.030 +It will now have opened the org mode file behind the scenes
-and occasionally throughout the course +00:53:39.030 --> 00:53:41.160 +because it's changing it.
-of the character's life their special +00:53:41.160 --> 00:53:48.340 +And we can then look at that file a little bit and
-power might change +00:53:48.340 --> 00:53:54.130 +hopefully that is on large enough you can kind of see there
-due to game circumstances usually it +00:53:54.130 --> 00:53:57.160 +'s our 17 damage landed in armor.
-improves but sometimes not +00:53:57.160 --> 00:54:04.200 +The logic that sits behind that to figure out the part of
-and that's those are the most fun +00:54:04.200 --> 00:54:10.160 +the screen is not necessarily our finest work.
-conversations right sometimes we have +00:54:10.160 --> 00:54:12.960 +But it does work and that's one kind of stuff was used on
-fun gaming sessions where we barely get +00:54:12.960 --> 00:54:16.030 +the map a little bit too. We didn't really get to show that
-all the characters created and started +00:54:16.030 --> 00:54:18.970 +in the demo but as you're scrolling around there's like a
-because we get off into arguing about +00:54:18.970 --> 00:54:22.160 +highlighter that that, you know, we were drawing on.
-the special powers no zelda special +00:54:22.160 --> 00:54:26.160 +Oh sure, show you which square you've got selected.
-powers obviously the candle come on +00:54:26.160 --> 00:54:30.300 +We were having trouble with that code. Initially, and we
-also that was link not zelda +00:54:30.300 --> 00:54:33.160 +were sometimes revealing the wrong.
-I still have my t-shirt hey there she is +00:54:33.160 --> 00:54:38.160 +Okay.
-let's cut scene +00:54:38.160 --> 00:54:41.320 +And I don't know how we're set for time but I just saw a
-you get video fun filters today because +00:54:41.320 --> 00:54:45.240 +message from Trixie that she could jump on if we want her.
-that's what we got going on over here +00:54:45.240 --> 00:54:48.290 +Oh, that would be amazing. Yeah, go ahead and invite her in
-today all right I'm going to recut +00:54:48.290 --> 00:54:51.160 +I'll just cut to the scene as soon as she's in.
-everybody hang on tight +00:54:51.160 --> 00:54:54.160 +I think.
-all right there's Erik this is going to be +00:54:54.160 --> 00:54:58.080 +Yeah, so we're reaching the ask me anything portion of the
-Erik for a second hope +00:54:58.080 --> 00:55:01.760 +program here with what, with what time we have left for
-no worries. welcome to the welcome to +00:55:01.760 --> 00:55:03.160 +your questions.
-the stream trixie horror +00:55:03.160 --> 00:55:09.170 +Please correct me if we're still like 10 minutes, you know,
-who is +00:55:09.170 --> 00:55:15.450 +if we're, if we're more than like 15 to 20 minutes from our
-one of our project team members +00:55:15.450 --> 00:55:20.560 +time but I suspect we've left way left way less than that
-somebody who's learning Emacs as part of +00:55:20.560 --> 00:55:25.160 +and out of respect for all the other presenters.
-the project +00:55:25.160 --> 00:55:29.160 +I don't want to close that actually.
-and yeah I +00:55:29.160 --> 00:55:33.060 +I think I may have found an old version of my slides that
-I I particularly wanted to invite you on +00:55:33.060 --> 00:55:35.160 +can have some good stuff.
-to talk about your experience learning +00:55:35.160 --> 00:55:40.220 +It's been an event for a couple of weeks here I had a break
-Emacs +00:55:40.220 --> 00:55:45.190 +in and my somebody got into our bank accounts and nasty
-I think you have run into places +00:55:45.190 --> 00:55:51.160 +business, just a lot going on over, over this whole year I think.
-where it's a pain in the butt to learn Emacs +00:55:51.160 --> 00:55:54.160 +Any more questions to share.
-and that this is a safe +00:55:54.160 --> 00:56:02.240 +Sure. So, I think there was at least one we deferred a
-space to talk about that +00:56:02.240 --> 00:56:06.160 +little bit with the game is
-TRIXIE: I'll jump into that by saying the Emacs cheat sheet, +00:56:06.160 --> 00:56:08.990 +always eight characters that can be divided right that's so
-I think it's the one that GNU puts out, +00:56:08.990 --> 00:56:11.660 +always eight characters that can be divided between the
-is a lifesaver. +00:56:11.660 --> 00:56:14.540 +party is the classic formula, it actually works pretty well
-A little bit of a vocabulary disconnect. +00:56:14.540 --> 00:56:16.160 +for a conversational group.
-This actually kind of comes up a lot +00:56:16.160 --> 00:56:18.810 +I think the idea that role playing games are about talking
-in conversation with Corwin and Erik and +00:56:18.810 --> 00:56:21.330 +to each other and being good at them is about taking
-I but copy paste versus +00:56:21.330 --> 00:56:23.770 +excellent notes. So, when you're sitting around with a
-what yank and w +00:56:23.770 --> 00:56:26.070 +group of people and you're going to have to wait for them
-whatever w +00:56:26.070 --> 00:56:29.410 +while they dig through their notes and listen to all of the
-why would you even do that to us right +00:56:29.410 --> 00:56:33.160 +things they find interesting to say, and try to reach an
-where where were you +00:56:33.160 --> 00:56:35.160 +imaginative place that you can stay together.
-when zero's park happened no I I +00:56:35.160 --> 00:56:38.800 +And when you're doing all that and working in dice and
-understand that makes sense what else +00:56:38.800 --> 00:56:43.250 +remembering the rules. It's actually a complicated activity,
-I mean you don't have to sit here and +00:56:43.250 --> 00:56:47.340 +I liken it more to a bridge game, then to like, you know,
-rag on Emacs but we're here for that +00:56:47.340 --> 00:56:51.310 +part cheesy or perhaps even like risk or access and allies
-that's all I'm saying +00:56:51.310 --> 00:56:55.620 +or other games that have have definitely the strategy to
-TRIXIE: No, I'm like that's been the biggest thing. +00:56:55.620 --> 00:56:57.160 +them but I don't.
-I'm used to the very binary nature, like, nope that didn't work. +00:56:57.160 --> 00:57:01.160 +Erik, your thoughts.
-Try something else. +00:57:02.160 --> 00:57:05.160 +I think that's fair.
-So as long as you're willing to try other stuff, +00:57:05.160 --> 00:57:08.880 +You know yes definitely. The, the tradition is to always
-Emacs will be fine. +00:57:08.880 --> 00:57:12.600 +have eight characters in the party, and, you know, one of
-it's a tough cookie I can take it +00:57:12.600 --> 00:57:16.320 +the great things about dungeon is that everybody who writes
-worst thing that happens is you have to +00:57:16.320 --> 00:57:19.730 +their own dungeon gets to write their own rules, and is
-really install it +00:57:19.730 --> 00:57:22.160 +free to change whatever you want.
-throw your ignite file that you +00:57:22.160 --> 00:57:26.700 +I've definitely seen people try to take on challenging that
-hopefully have a backup of +00:57:26.700 --> 00:57:30.160 +always eight characters in a party thing.
-all right fine +00:57:30.160 --> 00:57:33.460 +I've seen people take approaches like every player gets two
-ERIK: Are there more questions in the hopper? +00:57:33.460 --> 00:57:36.570 +characters and then you can have a party ranging from two
-yeah if anybody does have any questions +00:57:36.570 --> 00:57:40.130 +to 10, or there's always going to be 10 or there's, you
-up there +00:57:40.130 --> 00:57:43.340 +know, this or that or people have tried stuff, and none of
-for hope for Erik or I so just to +00:57:43.340 --> 00:57:47.170 +it has really worked out very satisfactorily we always seem
-summarize I've known Erik +00:57:47.170 --> 00:57:50.160 +to keep coming back to our party of eight.
-I've known Erik my whole life I've known +00:57:50.160 --> 00:57:55.710 +It's, it's one of the things that dungeon that you can't
-hope around a decade we +00:57:55.710 --> 00:57:59.290 +change when you write your own dungeon. And that's the
-worked together on a project for +00:57:59.290 --> 00:58:03.900 +reason it's so complicated as a, as a software project why
-for a science fiction convention yeah +00:58:03.900 --> 00:58:08.640 +it's taken us decades, because trying to model the data for
-we got conventions and then I also +00:58:08.640 --> 00:58:13.820 +example or really any attempt, quantify it in specific
-helped with I just wrote a bio +00:58:13.820 --> 00:58:16.160 +terms always falls to examples.
-so this should like all theoretically be +00:58:16.160 --> 00:58:20.740 +You know dungeons usually have elves, elves, dwarves and
-in my head right +00:58:20.740 --> 00:58:25.160 +humans. They have priests, wizards and warriors.
-I want I refer to my own bio +00:58:25.160 --> 00:58:29.330 +They have eight characters in the party. The Balrogs are
-I'm the project coordinator for Dungeon +00:58:29.330 --> 00:58:34.160 +particularly nasty and live in a room of some specific shape.
-mode +00:58:34.160 --> 00:58:57.160 +And they have spoilers.
-that's nice +00:58:57.160 --> 00:59:00.900 +So let's touch on special power real quick since that's one
-we've gotten a ton of support from a lot +00:59:00.900 --> 00:59:04.820 +of the things that is kind of unique to dungeon. And one of
-of our lifelong friends people +00:59:04.820 --> 00:59:08.710 +the things that is the biggest challenge to us and trying
-and also people that we just met maybe +00:59:08.710 --> 00:59:12.160 +to code a system like this for automated play.
-that's a that's a great segue +00:59:12.160 --> 00:59:15.680 +And that's that every character gets a unique special power
-do throw your questions in there I'm +00:59:15.680 --> 00:59:19.300 +and traditionally you negotiate your special power with the
-going to fill for just a second and then +00:59:19.300 --> 00:59:22.600 +dungeon master when you create your character, and
-we'll probably cut away +00:59:22.600 --> 00:59:25.970 +occasionally throughout the course of the characters life
-but +00:59:25.970 --> 00:59:29.160 +their special power might change due to game circumstances,
-I mean thematically actually that's +00:59:29.160 --> 00:59:34.160 +usually it improves but sometimes not.
-that's too abrupt so we need to go +00:59:34.160 --> 00:59:37.180 +So those are the most fun conversations right sometimes we
-around the room +00:59:37.180 --> 00:59:39.820 +have fun gaming sessions where we barely get all the
-Erik you had hours and hours to rehearse +00:59:39.820 --> 00:59:42.800 +characters created and started, because we get off into
-hope kind of jumped in on the last +00:59:42.800 --> 00:59:45.780 +arguing about the special powers no Zelda special powers
-minute +00:59:45.780 --> 00:59:49.160 +obviously the candle Come on.
-so let's let's is it okay to pick on you +00:59:49.160 --> 00:59:54.160 +Also that was like, not so.
-or do you want me to give mine +00:59:54.160 --> 01:00:02.160 +I still have my t shirt. Hey, there she is. Let's cut scene.
-to what are you asking me to do what +01:00:02.160 --> 01:00:05.890 +I'm going to be working with fun filters today, because
-do you what do you want people to take +01:00:05.890 --> 01:00:12.250 +that's what we got going on over here. All right, I'm going
-away from this talk +01:00:12.250 --> 01:00:19.160 +to recut everybody hang on tight.
-you know as we think about Dungeon and +01:00:19.160 --> 01:00:21.160 +All right, there's Erik.
-sharing it's +01:00:21.160 --> 01:00:24.160 +This is going to be Erik for a second home.
-sharing its tradition as we think about +01:00:24.160 --> 01:00:27.680 +No worries. And welcome to that welcome to the stream. Trix
-learning Emacs +01:00:27.680 --> 01:00:29.160 +ie horror.
-and like making that awesome +01:00:29.160 --> 01:00:33.410 +Who is one of our project team members somebody who's
-and just you know generally what's up +01:00:33.410 --> 01:00:37.160 +learning Emacs as part of the project, and.
-with free software and trying to make +01:00:37.160 --> 01:00:42.690 +Yeah, I particularly wanted to invite you on to talk about
-computers a tool to make people freer +01:00:42.690 --> 01:00:47.700 +your experience learning Emacs I think you have run into
-wow that's like five questions yeah so +01:00:47.700 --> 01:00:52.900 +places where it's a pain in the butt to learn Emacs and that
-I'm going to start +01:00:52.900 --> 01:00:56.160 +this is a safe space to talk about that.
-with jumping I think +01:00:56.160 --> 01:01:02.160 +I'll jump in by saying the Emacs cheat sheet.
-that Dungeon is a lot of fun and +01:01:02.160 --> 01:01:07.160 +I think it's the one that can do puts out is a lifesaver.
-you know I'm I've played many +01:01:07.160 --> 01:01:12.030 +I think there's a little bit of a vocabulary disconnect,
-commercial role-playing games over the +01:01:12.030 --> 01:01:16.050 +like, and this actually kind of comes up a lot in
-years +01:01:16.050 --> 01:01:21.080 +conversation with Corwin and Erik and I, but coffee paste
-and I've enjoyed all of them and there +01:01:21.080 --> 01:01:25.160 +versus what yank and w, whatever w killing yank.
-are +01:01:25.160 --> 01:01:28.160 +Yeah.
-very few of them that I've had as many +01:01:28.160 --> 01:01:31.380 +Why would you even do that to us right where where were you
-belly laughs and as much +01:01:31.380 --> 01:01:34.810 +when zeros park happened. No, I understand that makes sense.
-just joy playing as from Dungeon +01:01:34.810 --> 01:01:39.160 +What else.
-and I think you know the magic of it is +01:01:39.160 --> 01:01:41.920 +I mean you don't have to sit here and rag on Emacs but we're
-you know +01:01:41.920 --> 01:01:44.160 +here for that. That's all I'm saying.
-like any game like the real magic is the +01:01:44.160 --> 01:01:48.250 +I think that's the biggest thing, like, I'm, I'm used to,
-people you play with and having fun with +01:01:48.250 --> 01:01:52.170 +like, just kind of the very binary nature of like, nope,
-your friends +01:01:52.170 --> 01:01:55.160 +that didn't work, try something else.
-and what I would hope that people can +01:01:55.160 --> 01:02:00.680 +So, as long as you're willing to try other stuff like Emacs
-take away from is that Dungeon has the +01:02:00.680 --> 01:02:07.160 +will be fine. So, it's a tough cookie it can take it.
-ability to be that magical thing +01:02:07.160 --> 01:02:14.430 +The only thing that happens is you have to install it
-and hopefully we can get our project to +01:02:14.430 --> 01:02:21.160 +through your file that you hopefully have a backup of.
-the point +01:02:21.160 --> 01:02:25.160 +Um, are there more questions in the hopper.
-where it gets out of the way and lets +01:02:25.160 --> 01:02:29.500 +If anybody does have any questions up there for hope for
-you have that fun with your friends +01:02:29.500 --> 01:02:34.210 +Erik or I so just to summarize, I've known Erik, I've known
-but there's a lot of work to do we +01:02:34.210 --> 01:02:38.640 +Erik, my whole life, I've known hope around a decade we
-could use some help +01:02:38.640 --> 01:02:41.760 +work together on a project for, for a science fiction
-so if you're interested in having fun +01:02:41.760 --> 01:02:42.160 +convention.
-come help us build this fun tool +01:02:42.160 --> 01:02:45.160 +Yeah.
-all right so I just got the call that +01:02:45.160 --> 01:02:49.360 +I've written a few conventions and then I also helped with
-we've got just about two to three +01:02:49.360 --> 01:02:53.710 +I just wrote a bio. So this should like all theoretically
-minutes left +01:02:53.710 --> 01:02:55.160 +be in my head right.
-and we should start our wrap-up +01:02:55.160 --> 01:03:01.660 +I want to refer to my own bio project coordinator for
-okay wrap up so +01:03:01.660 --> 01:03:03.160 +dungeon mode.
-yeah so I'll I'll see if I can charge +01:03:03.160 --> 01:03:07.160 +I was a bird assistant good credit.
-the room with some energy unless you're +01:03:07.160 --> 01:03:13.160 +And family friend to the Bruce. Oh,
-ready to have at it hope +01:03:13.160 --> 01:03:17.870 +yeah, we've gotten a ton of support from a lot of our
-here here's here's what I want people to +01:03:17.870 --> 01:03:21.720 +lifelong friends people, and also people that we just met.
-take away +01:03:21.720 --> 01:03:24.160 +Maybe that's a that's a great segue.
-were you like no okay +01:03:24.160 --> 01:03:26.900 +Do throw your questions in there I'm going to fill for just
-I'm not getting your audio hope +01:03:26.900 --> 01:03:29.160 +a second and then we'll probably cut away.
-it's okay on my end maybe I just need to +01:03:29.160 --> 01:03:35.970 +But, I'm thinking thematically actually, that's that's too
-speak up +01:03:35.970 --> 01:03:38.810 +abrupt so we need to go around the room, Erik you had hours
-is this better let me know when I'm +01:03:38.810 --> 01:03:41.480 +and hours to rehearse hope kind of jumped in on the last
-coming through yeah you're coming +01:03:41.480 --> 01:03:42.160 +minute.
-through now +01:03:42.160 --> 01:03:47.050 +So let's let's, is it okay to pick on you or do you want me
-okay cool oh no I +01:03:47.050 --> 01:03:48.160 +to get mine.
-was going to say go ahead I didn't okay +01:03:48.160 --> 01:03:51.490 +What are you asking me to do what do you what do you want
-I mean I I don't know that I know what I +01:03:51.490 --> 01:03:55.280 +people to take away from this talk, you know, as we think
-want to say either except a whole ton of +01:03:55.280 --> 01:03:59.010 +about dungeon and sharing it's sharing its tradition, as we
-thank yous +01:03:59.010 --> 01:04:03.160 +think about learning Emacs, and like making that awesome.
-so I will I will save those for the for +01:04:03.160 --> 01:04:08.210 +And just, you know, generally what's up with free software
-the literal +01:04:08.210 --> 01:04:13.160 +and trying to make computers a tool to make people freer.
-end here and instead +01:04:13.160 --> 01:04:18.160 +Yeah, I'm going to ask like five questions. Yeah, so just
-what I would say is as we build +01:04:18.160 --> 01:04:19.160 +jump in.
-our amazing innovations and +01:04:19.160 --> 01:04:24.160 +I think that dungeon is a lot of fun. And, you know, I'm, I
-explore our ideas in Emacs +01:04:24.160 --> 01:04:29.260 +'ve played many commercial role playing games over the years
-we are fighting our own ego for the will +01:04:29.260 --> 01:04:32.160 +, and I've enjoyed all of them.
-to get them done +01:04:32.160 --> 01:04:36.500 +But there's very few of them that I've had as many belly
-it's hard and we're not sure if they're +01:04:36.500 --> 01:04:41.410 +laughs and as much just joy, playing as from dungeon. And I
-going to be a good idea and will it +01:04:41.410 --> 01:04:44.500 +think, you know, the magic of it is, you know, like any
-excite people and part of our +01:04:44.500 --> 01:04:47.400 +game like the real magic is the people you play with and
-responsibility is to excite people so +01:04:47.400 --> 01:04:50.160 +having fun with your friends.
-that they can feel good about liking +01:04:50.160 --> 01:04:53.780 +And what I would hope that people can take away from is
-them +01:04:53.780 --> 01:04:57.900 +that dungeon has the ability to be that magical thing. And
-if you come off and you're like hey this +01:04:57.900 --> 01:05:01.870 +hopefully we can get our project to the point where it gets
-is a terrible idea it's really hard to +01:05:01.870 --> 01:05:06.160 +out of the way and lets you have that fun with your friends.
-be like +01:05:06.160 --> 01:05:12.180 +So I think there's a lot of work to do we could use some
-no I love that idea it works +01:05:12.180 --> 01:05:19.330 +help. So if you're interested in having fun. Come help us
-theatrically but +01:05:19.330 --> 01:05:22.160 +build this fun tool.
-in larger groups may not scale +01:05:22.160 --> 01:05:25.370 +Alright so I just got the call that we've got just about
-so that's a crucible for ideas and a +01:05:25.370 --> 01:05:29.160 +two to three minutes left, and we should start our wrap up.
-crucible for teams +01:05:29.160 --> 01:05:31.160 +Wrap up.
-the first part is definitely healthy the +01:05:31.160 --> 01:05:35.090 +Yeah, so I'll see if I can charge the room with some energy
-second part +01:05:35.090 --> 01:05:38.160 +unless you're ready to have that at home.
-there's a lot we can we can do you know +01:05:38.160 --> 01:05:43.160 +Here, here's, here's what I want people to take away.
-having upfront +01:05:43.160 --> 01:05:47.160 +Were you like, No, okay.
-and and and good faith conversations on +01:05:47.160 --> 01:05:54.160 +I'm not getting your audio hope.
-that subject +01:05:54.160 --> 01:05:57.160 +So my end, maybe I just need to speak up.
-anybody else wanted I want to weigh it +01:05:57.160 --> 01:06:01.160 +Is this better, let me know when I'm coming through.
-in after that sorry that that was more +01:06:01.160 --> 01:06:05.160 +Okay, cool.
-of a calm down than a then a fire out +01:06:05.160 --> 01:06:07.160 +I was gonna say go ahead.
-oh that's okay +01:06:07.160 --> 01:06:11.240 +I didn't. Okay. I mean I don't know that I know what I want
-I mean the first part of this but I +01:06:11.240 --> 01:06:15.290 +to say either except a whole ton of thank you. So, I will,
-think +01:06:15.290 --> 01:06:19.160 +I will save those for the, for the literal end here.
-we would be remiss not to highlight org +01:06:19.160 --> 01:06:26.630 +And instead, what I would say is, as we build our amazing
-mode a little bit +01:06:26.630 --> 01:06:32.160 +innovations and explore our ideas in Emacs.
-yeah like that's that's our bread and +01:06:32.160 --> 01:06:34.980 +We are fighting our own ego for the will to get them done,
-butter +01:06:34.980 --> 01:06:37.740 +it's hard and we're not sure if they're going to be a good
-yeah our whole project is built on org +01:06:37.740 --> 01:06:39.960 +idea and will it excite people and part of our
-mode right and I'm just really excited +01:06:39.960 --> 01:06:42.780 +responsibility is to excite people so that they can feel
-because like I have I don't have adhd +01:06:42.780 --> 01:06:44.160 +good about liking them.
-but I have like something similar and so +01:06:44.160 --> 01:06:47.930 +If you come off and you're like hey this is a terrible idea
-like to know that there's something that +01:06:47.930 --> 01:06:51.470 +it's really hard to be like, no I love that idea works
-exists that is like purely hierarchical +01:06:51.470 --> 01:06:55.160 +theatrically but in larger groups may not scale.
-is incredible like I can just run a +01:06:55.160 --> 01:07:00.160 +So that's a crucible for ideas and a crucible for teams.
-report +01:07:00.160 --> 01:07:05.280 +The first part is definitely healthy. The second part,
-basically and get all of my like +01:07:05.280 --> 01:07:10.070 +there's a lot we can we can do, you know, having a front
-to-do lists that I didn't have to put in +01:07:10.070 --> 01:07:15.160 +and and and good faith conversations on that subject.
-one specific place +01:07:15.160 --> 01:07:19.600 +Anybody else want to want to wade in after that sorry that
-and like that's kind of been +01:07:19.600 --> 01:07:23.160 +that was more of a calm down than a fire out.
-a complex issue for me of like +01:07:23.160 --> 01:07:25.160 +Okay.
-okay I have all these to-do lists like +01:07:25.160 --> 01:07:27.160 +I think.
-in google keep or whatever like what do +01:07:27.160 --> 01:07:32.180 +The first part of this but I think we would be remiss not
-I +01:07:32.180 --> 01:07:35.860 +to highlight org mode, a little bit. Yeah, like, that's,
-do with them now so being able to like +01:07:35.860 --> 01:07:39.280 +that's our bread and butter. Yeah, our whole project is
-pull them +01:07:39.280 --> 01:07:40.160 +built on org mode.
-into one list and then just cycle +01:07:40.160 --> 01:07:44.580 +Right. And I'm just really excited because, like, I have, I
-through them is really incredible +01:07:44.580 --> 01:07:48.670 +don't have ADHD, but I have like something similar. And so,
-and I think taking a Dungeon and +01:07:48.670 --> 01:07:52.230 +like to know that there's something that exists, that is
-like using it to +01:07:52.230 --> 01:07:54.160 +like purely hierarchical.
-like combining it with org mode +01:07:54.160 --> 01:07:59.170 +It's incredible, like I can just run a report, basically
-basically +01:07:59.170 --> 01:08:03.550 +and get all of my like to do lists that I didn't have to
-really yeah I'm excited about it I'm +01:08:03.550 --> 01:08:06.160 +put in one specific place.
-excited to see like what it can do for +01:08:06.160 --> 01:08:13.190 +And, like, that's kind of been a complex issue for me of
-player groups +01:08:13.190 --> 01:08:16.680 +like, okay, I have all these to do lists, like in Google
-yeah especially +01:08:16.680 --> 01:08:19.160 +Keep or whatever like what do I do with them now.
-like I was excited about Dungeon mode +01:08:19.160 --> 01:08:24.160 +So being able to like pull them into one list.
-before the pandemic and now like I'm +01:08:24.160 --> 01:08:27.160 +And then recycle through them is really incredible.
-only more enthusiastic +01:08:27.160 --> 01:08:35.500 +And I think taking dungeon and like using it to like
-so yeah definitely the pandemic has +01:08:35.500 --> 01:08:40.160 +combining it with org mode basically really.
-been the greatest thing that happened to +01:08:40.160 --> 01:08:44.210 +I'm excited about it and I'm excited to see like what it
-this game +01:08:44.210 --> 01:08:46.160 +can do for player groups.
-terrible terrible as it is to say that +01:08:46.160 --> 01:08:49.190 +Especially now that quarantine like I was excited about
-it +01:08:49.190 --> 01:08:50.160 +dungeon mode.
-if we needed a hobby and it turns out +01:08:50.160 --> 01:08:54.040 +Before the pandemic and now like I'm only more enthusiastic.
-role-playing games are +01:08:54.040 --> 01:08:57.940 +So, yeah, definitely the pandemic has been the greatest
-a really good fit +01:08:57.940 --> 01:09:01.720 +thing that happened to this game, terrible terrible as it
-so so I think that's probably about +01:09:01.720 --> 01:09:05.090 +is to say that it, if we needed a hobby and it turns out
-our time +01:09:05.090 --> 01:09:11.160 +role playing games are are really good.
-I'm guessing that's my call and +01:09:11.160 --> 01:09:16.610 +So, so I think that's probably about our time. I'm guessing
-thank you very much thank you +01:09:16.610 --> 01:09:21.160 +that's my call. And thank you very much.
-everybody +01:09:21.160 --> 01:09:24.970 +Thank you everybody will be around for discord and stuff
-we'll be around for discord and stuff +01:09:24.970 --> 01:09:27.160 +later come catch us if you want to talk.
-later come catch us if you want to talk +01:09:27.160 --> 01:09:30.160 +Okay. -- cgit v1.2.3