Hi, I'm going to give you a little demo
of a project that I'm working on
which is called the `orgdungeon`.
As you can see here, they are just a bunch of Org files
and also an Emacs Lisp file.
What I found is that if you have these Org files
and then you have an Emacs Lisp file as a source
to control how to progress from one file to another,
it will give you a game-like experience.
It's like the old game Myst.
It was developed with the technology
HyperCard for the Macintosh.
Basically, it uses a similar technology,
so a similar interface to the developer
who was using that technology to develop the game.
Concretely, I'm going to give you
a demo of how the game looks like.
So, this is a very vanilla Emacs setup.
Then I open up the first Org file.
The Org file is just a bunch of text,
but it tells you a story.
So you wake up somewhere,
and then there is a dog-like robot called Emi around you.
And then it tells you what you should do.
Following the instructions...
For example, here it tells you
down there is one thing called "code block,"
and then you can evaluate it by pressing `C-c C-c`.
Then we can just go there
and then just evaluate the code block.
So technically it just runs the Emacs Lisp file,
because you can see here, if you load Emacs Lisp...
It just evaluates that Emacs Lisp file.
I can just say `C-c C-c`.
Then for this one, I just say yes,
and then it will jump to another file.
But in the game, I call it the plane.
So it jumps to another plane.
Yeah, so...
In the other one, it's just saying that
there is a function called `emi-escape-10`.
Assuming that you don't have any experience
how to use Emacs,
so you have no idea how to do that,
but down there, it's saying that
there is a key combination called `C-h f`,
and it will bring up the help system.
Then you can read the help file of `emi-escape-10`.
So you can just do that. For example, `C-h f`
and then `describe-function` `emi-escape-10` here.
It will show you the help file.
Then it's just saying that you can press `M-x`,
and Meta usually mapped to Alt,
and then yeah.
Then you can just close this help file using `C-x 1`.
I'm just going to do that. And then yeah...
I'm just try that. `M-x` and then `emi-escape-10`.
All right.
So I will jump to another file.
Or in the game, you jump to another plane.
And now you know that
there is a function called `emi-escape-12`.
And yeah, you can just do that `emi`,
because you learned it previously, right.
`emi-escape-12`.
But this time, it asks you for a password,
which you probably don't know, right?
If you just type in anything,
it will just say incorrect password.
But yeah, it's part of the learning experience
because previously you learned
that you should use the help file,
help system to read the help file of a function,
so you can just use the help file
to look for the help of `emi-escape-12`.
Then, yeah, the help file will say that
you should enter a password,
and the password is `emi`.
Right. So you can just do that.
Write `emi-escape-12`,
and then now you know the password is `emi`. Right.
So you can progress along these different files,
and then if you...
Okay, it's like a game,
but at the same time, it also teaches you
something about how Emacs works.
For example, like the previous one,
you know how to use the help file, for example,
but in the later part, you will learn how to
evaluate some Emacs Lisp code
and also how to write some Emacs Lisp code
as well, and then you will learn
the difference between interactive commands
and also just ordinary functions, for example.
Now, I just created a few Org files,
but I'm actively adding more Org files
so that we can have a complete kind of
educational experience.
If you want to follow along [with] this project,
you can just go to my Github repository.
I hope you enjoyed this little demo.
Thank you.