Skip to Content

Literately Programming a Fantasy World

I have this fantasy world that I can’t settle on how to implement. Stories? A novel? Tabletop role-playing game resources? Podcasts? A text-based online game? All of the above?

Of course, the ideal is all of the above but that’s not realistic, and honestly my main interest, more than any of that, is in exploring the craft of building a fantasy world. By doing that, I’ll stumble upon the stories and media most worth expressing myself through. I’ve always had an interest in codifying the world, getting it into a computer so I can make sure things make some sort of sense. At one point, I started to succeed; I made a multi-user dimension, or MUD, set in the world, so had a few small towns and their residents written. But they were also like, interactive, walking around the won; it was an attempt at a game, too. I think with what I’m learning with Emacs, Org-mode, and literate programming, I might be able to actually start accomplishing the task. This’ll be awkward because I know like, nothing about Elisp syntax, nor do I have any firm idea of how to accomplish what I want.

(setq teraum <<whole-wide-world>>)
Code Snippet 1: teraum-declaration

So that’s simple enough, it sets up a variable that is set to the <<whole wide world>>, which is a macro I can write a definition for like…

"foo bar"
Code Snippet 2: whole-wide-world

And then I should be able to get the variable.

(message teraum)
foo bar

What if I do another block named the same, <<whole-wide-world>>

"argle bargle"

What’s the result this time?

(message teraum)
foo bar

Not exactly what I expected, let’s try…

(setq teraum <<whole-wide-world>>)

Nope, so it looks like once you’ve used a name, you can’t reuse it. That’s fine, now I know.

Editorial and License Information

My name is emsenn and I wrote this essay for the benefit of the commons. To the extent possible under law, I have waived all copyright and related or neighboring rights to it. If you're viewing it on a remote server, you're encouraged to download your own copy. Essays like this are made possible with financial support from readers like you. Thank you. To read more of my work and to learn more about me, visit