Zettelkasten

Playing the Zettelkasten RPG Through Arbitrary Constraints

Today, learn about how to game your Zettelkasten like a roguelike RPG – in a guest post by Allen Wilson (University profile; Twitter) aka @pseudoevagrius on the forum. The metaphor alone is cool, but the 3800+ words strong post doesn’t end there and goes on to give practical advice on how to work under self-imposed constraints to make use of “short runs”.


I was recently pinged by a mention of me from @Will with a quote about making the zettelkasten “poetic not mimetic,” and I wanted to elaborate a little bit more about what I mean by that.

I think this distinction adds to the conversation about whether or not the zettelkasten produces writing itself or is a writing partner. My method falls in the latter. But the true answer falls to user needs and user experience, I expect.

The zettelkasten is my conversation partner in the process of constructing a draft. I have elsewhere in the forum described the pitfall I personally stumbled upon in my zettelkasten process when I tried to force my zettelkasten to directly spit out academic articles simply from an assembly of notes. My reasoning was that if it can’t do this then what is the point of working with a zettelkasten in the first place?

This process led me to believe that perfecting a particular draft entailed perfecting that area of the zettelkasten first, leading me into a cycle of infinitely tinkering in my zettelkasten without every producing a draft. This practice was contrary to a lot of the good, practical advice in the zettelkasten.de blog, book, and forum; and I refer to it as my “zettelkasten narcissism”

Narcissus stares at his own reflection in the water, his beautiful imitation, and drowns.

In an ideal version of this system you would read and research, collect notes, systemize them in the zettelkasten, and assemble these systematized notes into an ordered outline (structure note), copy and paste them in order into a draft, print, and then a little editing here and there. Bing Bang Boom. You’ve got yourself a pizza. But drafting is a messy process with real world constraints and often different contextual purposes that differ than those represented in the zettelkasten (at least at the time of drafting. Over time your zettelkasten could develop to represent these constraints by learning from these drafts you write, but this thinking can lead back to the zettelkasten narcissism).

Often in the midst of drafting I would discover new problems that need to be researched and re-incorporated. New problems to include or to avoid. In the midst of these, the zettelkasten better served me not as a representation (mimesis) of the draft in progress but as a creative partner to think through these problems. It also conveniently provided me a place to put things as I developed them.

Trying to make the draft mimic the zettelkasten (at least in the way that I write) would extend my drafting process far past the deadline of my project and ultimately made drafting a frustrating endeavor in which minor changes required extensive collaborations or adjustments in the zettelkasten to a point where I never felt like I was making progress on either the draft or the zettelkasten.

I describe these roadblocks in order to give context to the utility I have found in negotiating the difference between drafting in the zettelkasten and drafting with the zettelkasten. Within this distinction lies the difference between a mimetic zettelkasten and “poetic”/poietic zettelkasten.

Playing the Zettelkasten RPG

Screenshot from Nethack, a popular roguelike licensed under the Nethack GPL

Role playing games (RPGs) provide a useful metaphor for understanding the relationship between drafting and zettelkasten (I’ve been playing a lot of Elden Ring, surprised?). In an RPG you have a system that stores all the stats of your characters. The stats communicate your level and attributes and determine what you can do in the game. Usually the game is broken up into a cycle of “runs” where you:

  1. go out and do stuff
  2. you encounter the limits of your abilities
  3. you die
  4. you resurrect and regroup, retaining the experience of the previous run (both out of game in the form of memories and in game in the form of retained stats)
  5. you try again or try something else until you are at an appropriate level to take on the challenge again.

In this RPG setup there’s a difference between the stat base of your character and the action of those stats in a run or a lifecycle. When you die on a run your stats don’t disappear. They don’t return to zero. You get to retry and the retrying process of die-rebirth-try-again is actually a part of how you improve the stats in the RPG system, but the goal of the game is not about your stats. You don’t win the game when you reach a certain level or stat attribute (at least not typically). Your stats just help you reach your goals in the game. There are, then, two memories in this system: your memory of running and dying and the game’s memory of your stats up to the point of dying. Your RPG stats do not typically rise and fall with each run. They only increase with the successes of a successful run.

Zettelkasten gives a similar system where the stats are stored in the zettelkasten (in the form of notes) and the runs are the drafts where we employ things gathered and learned in the zettelkasten for a specific run, a project. This project may end or this project might fail. A draft may end. You might need to start a new draft. These are all a function of succeeding-dying-trying-again in the drafting process.

In this drafting process you will employ things that you develop in your zettelkasten; but you may (and probably will) discover new things, whether they be insights that can be incorporated back into the zettelkasten or framing problems that you had not considered yet, such as categorical issues. You COULD stop there and re-process/redevelop your zettelkasten with each new insight or problem. Yes, you could do this forever. But why not focus on the run you’re on. It’s going to end one way or another, either through a successful draft or failed one. At that point, regroup, re-evaluate, rework with your zettelkasten in preparation for the next run.

The actual implementation of this, of course, can be a lot messier. At various stages in the middle of drafting, the zettelkasten might be updated or the draft might be updated from the zettelkasten. This metaphor just serves to help express one way of negotiating the difference between the two: the two processes or the two memories.

How do you level up? How do you define “progress” in the RPG that is your zettelkasten. That is up to you, but I suggest arbitrary constraints as a tool for articulating this dimension of your process.

Arbitrary Constraints

You can enact this metaphor in your zettelkasten by conceiving of arbitrary constraints for yourself. Arbitrary constraints are rules that you decide for yourself to limit what a given zettel/note does. The constraints could involve the length of the note, the placement of the note, the titling of the note, the content of the note, etc. To clarify, these constraints are not “goals.” They are limitations. “I go here but no further. I write no longer than this.”

The psychology behind this implementation of constraint is related to the idea of using timeboxes. Using the constraint of, say, a three minute time box is different than having a goal to write for 30 minutes. The three minute time box is a limitation. I can only write for three minutes, but this limitation has the psychological effect of making the process more easy to start and more digestible, often leading you to meet your goal of 30 minutes (psychologists, is the Zeignarik effect still a thing?). You require the limitations (just 3 min. at least 3 min.), but this limitation helps you strive toward your goal. It depends on your own needs psychological needs what you need your writing partner to facilitate for you and your own goals in using this at all costs and disciplines for writing. These arbitrary constraints can make a game of the process suited to your own play-style.

Arbitrary constraints help you visualize this progress in the “stats” of the zettelkasten. The benefits include:

  1. helping you define the purpose of a note (so you’re not redefining the wheel every time)
  2. breaking down the ambiguous processes of synthesis to smaller actionable steps
  3. limitations that give way to creativity (exploit limitations!)
  4. psychological motivation of progress and forward momentum
  5. unexpected benefits of randomness
  6. creating a game to be played, learned, and exploited. After all, play is, in some sense, arriving at a genuine admiration of the absurd
  7. Constraints can help you work with (and not against) your own cathexes by designating contexts for different behaviors

What do I mean by #7? In my case, a constraint can limit the amount of choices that I have so I do not get paralyzed by indecision. For instance, as an example from drafting, there’s a lot of agency that we have in a digital word processor that we don’t have on a notebook page. In a notebook you can’t go into the middle of a sentence you’ve written and change up the words or take out a word and add a new word, fix the spelling, etc. You can write over words, sure; but you can’t change them. And eventually you’ll run out of space anyway. The notebook keeps you to a relatively strict linearity. The word process, however, is an infinite canvas and a time machine to boot with almost infinite possibilities (maybe infinite? Man I’m really not a mathematician, huh). At any point you can stop, go back, refine, rework, restart, duplicate… go read a forum post while you decide what to do next….

For this reason, a lot of people give the advice that you should not edit while you write. I think this is well-meaning but ultimately superficial. It doesn’t address the point that you do have the option to do that. You have to actively choose not to do it. So an insight we can derive from this comparison is that the reduction of choice (at least for me as a writer) can be beneficial. While these constraints are inherent to certain material processes, they are arbitrary in digital processes. We have to choose them. And our choice is what matters. They don’t have to be necessary (because in many ways they are not).

Another example of an arbitrary constraint for drafting. I constrain myself to limit an outline to a particular page number. I typically can get too invested in an outline and want to place every particular point exactly in the right place, leading to twenty-page outlines that are overwrought and well past the range of the project for which I am writing. By limiting my outline size I make the outline process a game of negotiating text between the outline and the draft. If I’ve reached, say, 4 pages of outline but am only half-way through the argument then I need to either simplify some points or start moving some of that text to the draft to make room for the rest of the argument. In this way the outline becomes a tool for working out the draft rather than only a representation of the draft that I tirelessly refine without ever writing the draft. I still want to perfect that outline because that is my comfort zone. When I’m working on the outline I’m not actually doing the hard work of “writing.” I’m just moving things around and taking notes, but by constraining the outline document I trick myself into drafting. The outline leaks into the draft. This is how I turn my outline cathexes into a tool for actually writing the draft. If anything the draft is an accident for the sake of the outline…. (Practically I have three docs that I move between: the mega dump outline file [a pile of things pseudo-organized that I’ve collected until it reached critical mass], the constrained outline [4 pages max], and the actual draft).

Arbitrary rules of constraint can give the zettelkasten a system of its own with its own rules that produce notes according to these rules. It becomes poietic (ποίησις). It does not just represent what I know (mimetic or μίμησις). And given these rules, it often causes me to go in unexpected directions. Often at the problem and series level of my constrained process (discussed below) I find a productive challenge in naming and understanding the manifestation of the problem only in terms of a constrained selection of three closely linked notes, rather than overdetermining it by larger and more familiar concepts elsewhere in the zettelkasten. Sure, at a later stage of synthesis these problems may then be incorporated into those other larger concepts, but I’m often surprised at what I find by sticking with the particular notes themselves and understanding them on their own terms rather than too quickly jumping to solve them with a more comfortable model. New concepts often emerge from this more disciplined practice.

As a note, I think these arbitrary constraints become more important later on in the process of building my zettelkasten. The basic procedures outlined on the site and discussed in these forums should serve for multiple years before you reach a critical mass.

But to solve my communication issues with my writing partner (the zettelkasten), what I landed upon was a system of arbitrary constraints that helped me think through certain synthetic problems towards an outline and a draft but in a way that did not confine these notes to only serving that particular outline/draft. There could be both an imposed structure on zettelkasten as well as an open anarchic possibility to further future developments, future outlines and drafts.

Pythagorean Secrets: Please Don’t Read this Part (most of this is completely arbitrary and just suited to my own speed [and length] of writing/thinking.)

It’s true @zetteldistraction. I’m betraying my Pythagorean secrets. But hopefully the initiated will protect these secrets and keep them from getting out. They are too dangerous to be read by anybody else and may cause harm.

My own sense of arbitrary constraints come from my own needs as a historian in which different pieces of evidence can be articulated for very different arguments, whether the argument concerns material history or politics or theology or ritual or whatever. I don’t’ want to decide only one purpose for a piece of evidence so I’ve designed my system to be flexible and allow for multiple references of the same notes.

I have also designed my constraints to resonate with my own understandings of logic and semiotics. In it I have devised that base zettel are collected in various stages of synthesis in which they are refined on the way to becoming part of an outline for a particular conceptual argument. These layers involve some redundancies which allow me to use notes for various arguments without limiting them to this one project outline.

A base note is constrained to about three sentences. It has the function of either

a) representing a belief I or another person has b) designating a relationship between two things in the world or c) affirming or countering another note that I have.

Three of the above kinds of notes can be synthesized into a problematic (a problem note) where each note repeats, multiplies, or separates (creating binaries) from the other notes.

What I do is I collect three related notes and create with them a new note that I call a “problem note”. I designate this visually in the YAML (header yes I use meta-data, don’t get distracted), I link the notes the three notes to the problem note, and I give a π symbol in front of the title of the note while still preserving the zettel id for search (the zettel id is also preserved in the yaml header to allow for title fluctuations, but don’t get distracted). This π visually indicates to me the status of the note letting me know what to do with it next these notes might have other branches of related notes that could be collected as related problems.

Creating a problem is the first part of synthesis and I have different rules for defining what kind of problem it is, articulating it as something different than just a list of facts. This way I start to negotiate the relationship between the linked notes.

In the next step I create a series note. Three problem notes can become a series note which incorporates these three problems into a series that names them and/or regulates them. In this step I take the synthesis process into a further layer. I make a new note that links to the three linked problems, and I put a Σ in front of the title. In the YAML header I mark the problem notes linked and I also link the series not in the headers of each of those problem notes so I can see the ladder of synthesis as I traverse local note links. This is why it is important for me to label these notes accordingly but preserve the base zettel. I am creating a linear ladder through these ideas but multiple ladders are possible. Again syntheses can be related to other syntheses.

The next step is a fragment that consists of two series. One series is typically framed as correcting or elaborating upon the other. I repeat the process described in the other steps, putting a φ symbol in the title. The fragment note is where I start to get to a thicker building block for a draft in my writing process. Here is where broader concepts and bibliographies start to percolate in concert with the zettelkasten. At this point I combine all the text from the lower levels (as I have combined and synthesized them at each level) and write an overview of the sources that are generating these syntheses. From here I ask, are these sufficient? What is missing?

Beyond the fragment is a concept a note marked by a Δ and consisting of three fragment notes. The concept is one of the highest level of notes in my taxonomy.

At each level I combine text from previous levels, but the procedure is not purely combinatory (copy and paste). At each level I am asking new questions about the relationships between the emerging sets as I have organized them.

The concept note usually occupies a third of an outline (Ω) which consists of three concepts forming the three parts of a body of a typical academic argument.

Usually a concept should be linked to a thesis (θ) or hypothesis (ψ) as well as an outline note and an outline note is linked to the concepts and the thesis. The redundancies strengthen the connections for traveling through this process nonlinearly. I don’t see the redundancies in my zettelkasten as a hindrance primarily because global search is not my primary way of working with my zettelkasten. Instead I work through local connections of notes. This means that notes with redundant links are more likely to show up in my wanderings, which is something I exploit so that important notes show up more often, when and where I might need them.

When one level of a problem, series, or fragment has been processed into a higher order of synthesis I might tag this as done or label it as “DONE_” in the title visually to tell me not to retrace my steps redundantly. Again this is just marking out a process of synthesis in a matter of an argument but at each point there could be offshoots.

In a perfect world I would develop each strand of synthesis from the bottom up and then begin to draft once all those stages are complete, but usually given an onrush of insight or the pressure of a deadline the drafting process starts somewhere in the middle and other parts of these ladders are worked out either independently or in in tandem with the drafting process. This back-and-forth becomes a conversation in which the zettelkasten helps me progress my thinking on the draft through iterative development independent of the draft.

I developed these stages by noting the depth and length required for synthesizing an argument for a dissertation chapter given my own reading and note taking strategies. I actually have a lot more rules for how to structure and define each part of the note and I can include those later but the reason I give an example of my process is not to recommend it (because I’ve designed it very specifically for my own uses) but to give an example of what I mean by arbitrary constraints. I’m actually not recommending you employ this specific method, unless you are finishing a dissertation on origins of the Western metaphor of “pure blood” from the first to third centuries.

What I do recommend is you finding ways to assign particular arbitrary constraints to your own process an order. These can be personally attenuated and even a bit random.


Sascha’s Comment: My first association with this great metaphor is a segmented speed run. Some players try to play through a game as fast as possible and compete on that time. There are some variations like “naked runs” when you aren’t even allowed to wear any armor. The segmented run allows the player to divide the run into segments and improve the time of each segment independently instead of starting the run all over once you fail. So, each segment run is a hit or miss. But sometimes you run just to experiment and test a new theory. Local failures in one segment are fine because they are part of a bigger strategy. Each run is a note, each segment is a structure note, the run is your ZK.

Christian’s Comment: As a casual player of roguelike RPGs, I really dig the metaphor presented here! Dive in, try to achieve something useful in your current so the next run has a higher likelihood to succeed. Sacrifice the present run for the success of a future run. You don’t overcome the hard challenges in your early runs. You just improve the likelihood of “making it” in the next run. That’s a powerful metaphor for life in general :) There’s no winning in your Zettelkasten, but there’s lots of smaller wins and milestones to celebrate!