diff options
Diffstat (limited to '2023/captions/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--main.vtt')
-rw-r--r-- | 2023/captions/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--main.vtt | 315 |
1 files changed, 315 insertions, 0 deletions
diff --git a/2023/captions/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--main.vtt b/2023/captions/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--main.vtt new file mode 100644 index 00000000..ef19436d --- /dev/null +++ b/2023/captions/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--main.vtt @@ -0,0 +1,315 @@ +WEBVTT captioned by sachac, checked by sachac + +NOTE Introduction + +00:00:00.000 --> 00:00:04.039 +Hi, I'm going to give you a little demo + +00:00:04.040 --> 00:00:06.439 +of a project that I'm working on + +00:00:06.440 --> 00:00:09.839 +which is called the `orgdungeon`. + +00:00:09.840 --> 00:00:16.039 +As you can see here, they are just a bunch of Org files + +00:00:16.040 --> 00:00:20.559 +and also an Emacs Lisp file. + +00:00:20.560 --> 00:00:26.799 +What I found is that if you have these Org files + +00:00:26.800 --> 00:00:30.919 +and then you have an Emacs Lisp file as a source + +00:00:30.920 --> 00:00:36.879 +to control how to progress from one file to another, + +00:00:36.880 --> 00:00:40.519 +it will give you a game-like experience. + +00:00:40.520 --> 00:00:43.479 +It's like the old game Myst. + +00:00:43.480 --> 00:00:46.119 +It was developed with the technology + +00:00:46.120 --> 00:00:48.759 +HyperCard for the Macintosh. + +00:00:48.760 --> 00:00:53.199 +Basically, it uses a similar technology, + +00:00:53.200 --> 00:00:57.559 +so a similar interface to the developer + +00:00:57.560 --> 00:01:01.199 +who was using that technology to develop the game. + +NOTE Demo + +00:01:01.200 --> 00:01:03.799 +Concretely, I'm going to give you + +00:01:03.800 --> 00:01:08.879 +a demo of how the game looks like. + +00:01:08.880 --> 00:01:14.839 +So, this is a very vanilla Emacs setup. + +00:01:14.840 --> 00:01:18.639 +Then I open up the first Org file. + +00:01:18.640 --> 00:01:22.839 +The Org file is just a bunch of text, + +00:01:22.840 --> 00:01:25.519 +but it tells you a story. + +00:01:25.520 --> 00:01:27.359 +So you wake up somewhere, + +00:01:27.360 --> 00:01:32.599 +and then there is a dog-like robot called Emi around you. + +00:01:32.600 --> 00:01:37.759 +And then it tells you what you should do. + +00:01:37.760 --> 00:01:40.799 +Following the instructions... + +00:01:40.800 --> 00:01:42.719 +For example, here it tells you + +00:01:42.720 --> 00:01:46.239 +down there is one thing called "code block," + +00:01:46.240 --> 00:01:51.359 +and then you can evaluate it by pressing `C-c C-c`. + +00:01:51.360 --> 00:01:53.639 +Then we can just go there + +00:01:53.640 --> 00:01:55.239 +and then just evaluate the code block. + +00:01:55.240 --> 00:02:00.239 +So technically it just runs the Emacs Lisp file, + +00:02:00.240 --> 00:02:04.999 +because you can see here, if you load Emacs Lisp... + +00:02:05.000 --> 00:02:07.159 +It just evaluates that Emacs Lisp file. + +00:02:07.160 --> 00:02:09.799 +I can just say `C-c C-c`. + +00:02:09.800 --> 00:02:12.319 +Then for this one, I just say yes, + +00:02:12.320 --> 00:02:16.519 +and then it will jump to another file. + +00:02:16.520 --> 00:02:18.759 +But in the game, I call it the plane. + +00:02:18.760 --> 00:02:21.039 +So it jumps to another plane. + +00:02:21.040 --> 00:02:24.039 +Yeah, so... + +00:02:24.040 --> 00:02:26.399 +In the other one, it's just saying that + +00:02:26.400 --> 00:02:29.879 +there is a function called `emi-escape-10`. + +00:02:29.880 --> 00:02:33.479 +Assuming that you don't have any experience + +00:02:33.480 --> 00:02:34.759 +how to use Emacs, + +00:02:34.760 --> 00:02:38.759 +so you have no idea how to do that, + +00:02:38.760 --> 00:02:41.319 +but down there, it's saying that + +00:02:41.320 --> 00:02:44.319 +there is a key combination called `C-h f`, + +00:02:44.320 --> 00:02:48.399 +and it will bring up the help system. + +00:02:48.400 --> 00:02:52.559 +Then you can read the help file of `emi-escape-10`. + +00:02:52.560 --> 00:02:55.739 +So you can just do that. For example, `C-h f` + +00:02:55.740 --> 00:03:02.999 +and then `describe-function` `emi-escape-10` here. + +00:03:03.000 --> 00:03:06.319 +It will show you the help file. + +00:03:06.320 --> 00:03:10.919 +Then it's just saying that you can press `M-x`, + +00:03:10.920 --> 00:03:13.519 +and Meta usually mapped to Alt, + +00:03:13.520 --> 00:03:15.079 +and then yeah. + +00:03:15.080 --> 00:03:18.719 +Then you can just close this help file using `C-x 1`. + +00:03:18.720 --> 00:03:21.399 +I'm just going to do that. And then yeah... + +00:03:21.400 --> 00:03:31.479 +I'm just try that. `M-x` and then `emi-escape-10`. + +00:03:31.480 --> 00:03:33.359 +All right. + +NOTE emi-escape-12 + +00:03:33.360 --> 00:03:36.039 +So I will jump to another file. + +00:03:36.040 --> 00:03:39.359 +Or in the game, you jump to another plane. + +00:03:39.360 --> 00:03:40.338 +And now you know that + +00:03:40.339 --> 00:03:44.839 +there is a function called `emi-escape-12`. + +00:03:44.840 --> 00:03:47.638 +And yeah, you can just do that `emi`, + +00:03:47.639 --> 00:03:50.399 +because you learned it previously, right. + +00:03:50.400 --> 00:03:52.079 +`emi-escape-12`. + +00:03:52.080 --> 00:03:55.119 +But this time, it asks you for a password, + +00:03:55.120 --> 00:03:57.799 +which you probably don't know, right? + +00:03:57.800 --> 00:03:59.839 +If you just type in anything, + +00:03:59.840 --> 00:04:02.719 +it will just say incorrect password. + +00:04:02.720 --> 00:04:06.359 +But yeah, it's part of the learning experience + +00:04:06.360 --> 00:04:07.279 +because previously you learned + +00:04:07.280 --> 00:04:10.319 +that you should use the help file, + +00:04:10.320 --> 00:04:16.199 +help system to read the help file of a function, + +00:04:16.200 --> 00:04:18.319 +so you can just use the help file + +00:04:18.320 --> 00:04:25.839 +to look for the help of `emi-escape-12`. + +00:04:25.840 --> 00:04:29.519 +Then, yeah, the help file will say that + +00:04:29.520 --> 00:04:31.239 +you should enter a password, + +00:04:31.240 --> 00:04:34.159 +and the password is `emi`. + +00:04:34.160 --> 00:04:36.439 +Right. So you can just do that. + +00:04:36.440 --> 00:04:42.239 +Write `emi-escape-12`, + +00:04:42.240 --> 00:04:47.039 +and then now you know the password is `emi`. Right. + +NOTE The rest of the game + +00:04:47.040 --> 00:04:51.839 +So you can progress along these different files, + +00:04:51.840 --> 00:04:53.519 +and then if you... + +00:04:53.520 --> 00:04:54.639 +Okay, it's like a game, + +00:04:54.640 --> 00:04:57.279 +but at the same time, it also teaches you + +00:04:57.280 --> 00:05:01.679 +something about how Emacs works. + +00:05:01.680 --> 00:05:04.599 +For example, like the previous one, + +00:05:04.600 --> 00:05:07.279 +you know how to use the help file, for example, + +00:05:07.280 --> 00:05:11.519 +but in the later part, you will learn how to + +00:05:11.520 --> 00:05:14.279 +evaluate some Emacs Lisp code + +00:05:14.280 --> 00:05:17.159 +and also how to write some Emacs Lisp code + +00:05:17.160 --> 00:05:19.559 +as well, and then you will learn + +00:05:19.560 --> 00:05:23.399 +the difference between interactive commands + +00:05:23.400 --> 00:05:27.239 +and also just ordinary functions, for example. + +00:05:27.240 --> 00:05:31.399 +Now, I just created a few Org files, + +00:05:31.400 --> 00:05:36.439 +but I'm actively adding more Org files + +00:05:36.440 --> 00:05:39.599 +so that we can have a complete kind of + +00:05:39.600 --> 00:05:42.559 +educational experience. + +00:05:42.560 --> 00:05:45.639 +If you want to follow along [with] this project, + +00:05:45.640 --> 00:05:51.359 +you can just go to my Github repository. + +00:05:51.360 --> 00:05:56.539 +I hope you enjoyed this little demo. + +00:05:56.540 --> 00:06:03.281 +Thank you. |