(it's 2020 now and lo-fi ASCII art is so out of fashion, trust me)


Due to the very nature of the game, which the rest of this document expounds upon, it is honestly quite impossible to write a detailed walkthrough of DDLC that will account for your specific experience and hold your specific hand. Asking for that, really, would be equivalent to asking how to ask a girl out in real life, and as we all romance-deprived loners living in their parents' basements know, a lot of factors come into play, and for the most part, holding hands isn't going to do much here. Some, I think, gather into this "incel" group which tries to define why they, in and of themselves, are "forever alone", but I don't even think that is a leading cause.

Luckily, while one cannot guide you through the entirety of the shit Salvato managed to cram into a single week or two of in-universe material, with all the intricate options and routes, into a concise walkthrough (or a walkthrough of any sorts, really), one can tell you, almost guaranteed, that there aren't even that many choices to make in the long run, and from there, picking the right choice is mostly a matter of common sense.

TL;DR: Don't be a dick to the girls, try and stay faithful to just one of them and roll a d120 for the absence of glitches (yeah, they actually sell d120, and the probability of a glitchless run does seem to be in the rough ballpark of 119 to 1).

While we're in the proverbial TL;DR section, which I suppose you are reading with care, I should also mention that it is quite impossible to spoil this game due to how it's generated, so while this is optional, absolutely do take notes on your first playthrough. Better yet, before you start playing, download OBS and record your entire reaction - just remember to turn the recording off when I tell you. If you do stick around and become One of Us, invariably, you're going to treasure it.

If you were looking for a concise walkthrough, you can leave now. In addition, if you were looking for a concise walkthrough, you should leave now, since believe me, this guide is going to dump more technical knowledge on you, all at once, than required by the most demanding professions, and given the amount of shit discovered, that Salvato has put in, if there isn't an undergrad, graduate and PhD DDLC course before the decade is out, I will promptly print the entire hefty document out and eat it all, live on Twitch.

cue the audience leaving, Downfall parody style, just before the part where Hitler blows up


Well, I suppose, this is where I blow up. However, unlike our favorite dictator, I won't blow up in anger per se; instead, I will blow up with information, since, as mentioned before, there is just Too Much to unpack, as far as DDLC goes.

This is where you simultaneously don't need to worry and do need to worry. Technical knowledge needed to explain the game will be provided, in small chunks, from the beginning of this guide to the end. However, there is a lot of stuff to unpack, and getting all flowery purple prose-y simply isn't going to serve us any good, and pretty soon, you might - nay, will - feel like shit is being thrown at you too fast. In that case, the simple advice I can give is to pause the reading, rewind a bit to the technical terms that you failed to understand, re-read their descriptions, perhaps take to a classroom with a notebook (and yes, there does seem to be a dummied-out notebook mode in the game for... I think this is too advanced stuff for now) and really study until you get an A+ on every single subject.

As far as knowledge of actual school subjects goes, I'm tempted to say that you'll need to be well-versed in computer programming, but odds are, your usual programming knowledge isn't going to do you any good here, since the vast majority of DDLC is coded in a language that you have never heard of, I had never heard of before starting to crack the game open like an oversized piñata and which seems to transcend every single programming language paradigm all at once. Still; if I don't clarify any mainstream programming terms, you are free to hit up any of the multitude of "learn programming" sites and go through them. (If you are wondering which programming language to pick, just go for Python. Not even going into how it's an "easy" high-level programming language that you can easily get into, DDLC's "outer shell" so to say is actually written in Ren'Py, which is a Python library for visual novels and does, by default, allow for inline Python, allowing you to do some basic modding of DDLC if you choose to do so.) Your typical programming terms are going to be in code, while terms specific to DDLC and its positively arcane gameplay and code mechanics are going to be in bold italic.

Chapter headings are going to look like [****] CHAPTER TITLE, and should be easily searched with Ctrl+F, should you feel the need to look up a cross-reference - or go back to the part of the text that prompted you to look up the cross-reference. Alternatively, thanks to the magic of JavaScript (more programming languages may or may not have been involved), the version of the document on my website (https://​dokidocs.​net/​glitch_​faq/) has a dynamically updating table of contents, allowing you to click through between the chapter and its TOC listing. (That is, unless you have enough screen real estate and the TOC just chills there, to the left, forever.) Another cool thing that this version allows for is dark mode: if you've noticed the little sun doodad on the top right, you can click it and it'll turn into a moon doodad, as well as turn on dark mode, and then you can click it, again and again, to your heart's content.

However, even though the AO3 version of this document might be a little less technologically advanced (due to reasons that should honestly be obvious), AO3, itself, is plenty advanced as a service. You could probably just find a dark mode sitewide skin somewhere, and a complete TOC with real chapter headings is going to require a slightly different hack, that I discovered while writing a similar-ish essay document: presuming you're reading this on somewhere that has the "Inspect Element" mode, enter it and just find a way to enter this to a stylesheet (be sure to "View Entire Work" before executing this):

p, ul, ol, blockquote, div.preface, .meta, #header, #feedback, .landmark {display: none;}
#main {padding-bottom: 0;}

Voilà. All the body text is now gone, and what remains is the headings, providing a table of contents.

Other than that, another TL;DR (don't worry, we're going to run out of TL;DRable info very soon) is simply: pay attention, brush up on your programming skills and remember that I'm presenting information in a strictly ordered, noob-friendly manner.

Still with me? Still ready to invest upwards of 10,000 hours, which some people seem to have declared the limit at which you can call DDLC your profession and expertise? Well, let's go.


Although I don't think there's much to be found for the casual player, I reserve this section if I need to cater to that specific audience. I go into this slightly more in depth in [0300] HOW TO PLAY DDLC.


Doki Doki Literature Club! is © 2017 Team Salvato. This is an unofficial guide, created entirely through the effort of a multitude of fans across varying fields of expertise, and is designed to be read after playing the game itself. DDLC can be freely downloaded and played over at https://​ddlc.​moe. For further details on using the intellectual property, as well as any others introduced by Team Salvato, please consult the latest version of the Team Salvato IP guidelines over at http://​teamsalvato.​com/​ip-guidelines.

This guide highly concerns itself with reverse engineering of the game. Said reverse engineering is believed to have been conducted entirely using clean-room techniques, and therefore, not infringe on any copyright or patents. Throughout its lifetime, the guide will closely monitor the sources of the claims that it makes, and if any of them appears to directly violate copyright or patents, it will be promptly removed.

The guide itself, for the most part, is © 2020-whenever me, Creativity­The­Emotion, and does its best to not rely on any external writing exclusively, except when necessary, in which case explicit links are provided. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [L000] GNU FREE DOCUMENTATION LICENSE.

In addition to allowed expandability upon the guide in your documents, subject to the license above, content may be freely contributed, adding to this guide, by any and all aspiring contributors who aren't snobbish assholes looking to keep awesome DDLC insider knowledge to themselves, and whenever content from external sources is contributed, it will be clearly labeled as follows:


Contributed by [your username can be here!], either © or explicitly released through a libre license (either the GNU FDL or a compatible license, such as Creative Commons).

[This is where your guest chapter's text would go...]


Interim versions consist solely of new non-chron blog entries, and therefore, as the main body of the document (including previous non-chron blog entries) remains unmodified, do not include additional release notes.

Version 1.18 interim 5 - October 9, 2020 (D1113) 19:05 UTC

Version 1.18 interim 4 - September 25, 2020 (D1099) 19:35 UTC

Version 1.18 interim 3 - September 18, 2020 (D1092) 20:10 UTC

Version 1.18 interim 2 - September 11, 2020 (D1085) 19:30 UTC

Version 1.18 interim 1 - September 4, 2020 (D1078) 17:30 UTC


Version 1.18 - August 28, 2020 (D1071) 16:35 UTC

Version 1.17.06 - August 22, 2020 (D1065) 17:15 UTC

Version 1.17.05 - August 14, 2020 (D1057) 19:55 UTC

Version 1.17.04 - August 12, 2020 (D1055) 13:35 UTC

Version 1.17.03 - August 9, 2020 (D1052) 18:35 UTC

Version 1.17.02 - August 8, 2020 (D1051) 18:25 UTC

Version 1.17.01 - August 1, 2020 (D1044) 17:35 UTC

Version 1.17 - July 26, 2020 (D1038) 16:45 UTC

Version 1.16.08 - July 25, 2020 (D1037) 20:10 UTC

Version 1.16.07 - July 24, 2020 (D1036) 18:30 UTC

Version 1.16.06 - July 23, 2020 (D1035) 20:00 UTC

Version 1.16.05 - July 22, 2020 (D1034) 20:05 UTC

Version 1.16.04 - July 21, 2020 (D1033) 20:00 UTC

Version 1.16.03 - July 20, 2020 (D1032) 20:00 UTC

Version 1.16.02 - July 19, 2020 (D1031) 20:35 UTC

Version 1.16.01 - July 19, 2020 (D1031) 19:35 UTC

Version 1.16 - July 18, 2020 (D1030) 19:20 UTC

Version 1.15.09 - July 17, 2020 (D1029) 18:40 UTC

Version 1.15.08 - July 16, 2020 (D1028) 19:10 UTC

Version 1.15.07 - July 15, 2020 (D1027) 18:30 UTC

Version 1.15.06 - July 14, 2020 (D1026) 19:10 UTC

Version 1.15.05 - July 13, 2020 (D1025) 19:05 UTC

Version 1.15.04 - July 12, 2020 (D1024) 19:00 UTC

Version 1.15.03 - July 11, 2020 (D1023) 18:20 UTC

Version 1.15.02 - July 10, 2020 (D1022) 19:15 UTC

Version 1.15.01 - July 9, 2020 (D1021) 18:25 UTC

Version 1.15 - July 8, 2020 (D1020) 16:50 UTC

Version 1.14.04 - July 7, 2020 (D1019) 19:35 UTC

Version 1.14.03 - July 6, 2020 (D1018) 18:10 UTC

Version 1.14.02 - July 5, 2020 (D1017) 17:50 UTC

Version 1.14.01 - July 4, 2020 (D1016) 18:35 UTC

Version 1.14 - July 3, 2020 (D1015) 18:55 UTC

Version 1.13.01 - July 2, 2020 (D1014) 18:05 UTC

Version 1.13 - July 1, 2020 (D1013) 18:30 UTC

Version 1.12 - June 30, 2020 (D1012) 17:15 UTC

Version 1.11.01 - May 22, 2020 (D0973) 21:55 UTC

Version 1.11 - May 20, 2020 (D0971) 20:05 UTC

Version 1.10.04 - May 14, 2020 (D0965) 23:35 UTC

Version 1.10.03 - April 30, 2020 (D0951) 18:30 UTC

Version 1.10.02 - April 29, 2020 (D0950) 19:30 UTC

Version 1.10.01 - April 28, 2020 (D0949) 18:55 UTC

Version 1.10 - April 27, 2020 (D0948) 19:30 UTC


Version 1.09.05 - April 26, 2020 (D0947) 19:45 UTC

Version 1.09.04 - April 25, 2020 (D0946) 19:10 UTC

Version 1.09.03 - April 24, 2020 (D0945) 19:10 UTC

Version 1.09.02 - April 23, 2020 (D0944) 18:55 UTC

Version 1.09.01 - April 22, 2020 (D0943) 19:10 UTC

Version 1.09 - April 21, 2020 (D0942) 19:20 UTC

Version 1.08.06 - April 20, 2020 (D0941) 19:05 UTC

Version 1.08.05 - April 19, 2020 (D0940) 19:35 UTC

Version 1.08.04 - April 18, 2020 (D0939) 18:50 UTC

Version 1.08.03 - April 17, 2020 (D0938) 19:00 UTC

Version 1.08.02 - April 16, 2020 (D0937) 19:15 UTC

Version 1.08.01 - April 15, 2020 (D0936) 18:35 UTC

Version 1.08 - April 14, 2020 (D0935) 19:00 UTC

Version 1.07.02 - April 13, 2020 (D0934) 18:10 UTC

Version 1.07.01 - April 12, 2020 (D0933) 18:30 UTC

Version 1.07 - April 11, 2020 (D0932) 18:50 UTC

Version 1.06 - April 10, 2020 (D0931) 19:50 UTC

Version 1.05.01 - April 9, 2020 (D0930) 19:25 UTC

Version 1.05 - April 8, 2020 (D0929) 19:05 UTC

Version 1.04.04 - April 7, 2020 (D0928) 19:40 UTC

Version 1.04.03 - April 6, 2020 (D0927) 18:45 UTC

Version 1.04.02 - April 5, 2020 (D0926) 19:20 UTC

Version 1.04.01 - April 4, 2020 (D0925) 17:40 UTC

Version 1.04 - April 3, 2020 (D0924) 18:10 UTC

Version 1.03 - April 2, 2020 (D0923) 17:45 UTC

Version 1.02.01 - April 1, 2020 (D0922) 17:00 UTC

Version 1.02 - March 31, 2020 (D0921) 19:25 UTC

Version 1.01.07 - March 11, 2020 (D0901) 00:15 UTC

Version 1.01.06 - March 7, 2020 (D0897) 23:00 UTC

Version 1.01.05 - March 1, 2020 (D0891) 19:40 UTC

Version 1.01.04 - March 1, 2020 (D0891) 14:00 UTC

Version 1.01.03 - February 26, 2020 (D0887) 17:15 UTC

Version 1.01.02 - February 23, 2020 (D0884) 00:00 UTC

Version 1.01.01 - February 22, 2020 (D0883) 16:00 UTC

Version 1.01 - February 21, 2020 (D0882) 23:00 UTC

Version 1.00.04 - February 14, 2020 (D0875) 15:00 UTC

Version 1.00.03 - February 14, 2020 (D0875) 11:45 UTC

Version 1.00.02 - February 14, 2020 (D0875) 11:30 UTC

Version 1.00.01 - February 14, 2020 (D0875) 11:00 UTC

Version 1.00 - February 14, 2020 (D0875) 10:00 UTC

Version 0.90 - February 14, 2020 (D0875) 09:30 UTC

Version 0.80 - February 13, 2020 (D0874) 21:00 UTC

Version 0.70 - February 13, 2020 (D0874) 07:30 UTC

Version 0.60 - February 12, 2020 (D0873) 22:30 UTC

Version 0.50 - January 14, 2020 (D0844) 22:00 UTC


All of the self-proclaimed "DDLC hackers" - and even those less inclined towards coding, like you and me - could be said to share a single, really vivid memory of trying to crack the game open for the first time, and getting a barrage of content that isn't even directly comprehensible thrown at them with all the subtlety of the meteor that killed the dinosaurs.

The outer shell of the game couldn't be simpler enough (more on this, in stricter terms, at [0200] BASIC TECHNICAL INFO). It was a visual novel, like many indie visual novels that seemed to be popping up as of late, which paraded as a wholesome adventure in the eponymous Literature Club, which was (naturally) full of "single and ready to mingle" girls, though each and every of them had a bit more class than that (and vastly more class than the sort of visual novel in which the girls show you an ahegao face and begin taking off their clothes the second you pick a single right option).

The game itself, for the most part, didn't throw a lot of punches at us either. It started out as a visual novel, then gradually began introducing mental health issues, horror elements and of course, the most important (and perhaps cheapest) trick of them all, breaking of the fourth wall. Was it certainly unexpected in the visual novel community, and in the gaming community in general? Yes, definitely. However, was there anything, in the coding of the game, that hinted, in any form, that the coding tools used were above and beyond those available to us, mere mortals? Of course not.

However, when we - at this point, we were all just DDLC players looking to get into a new fandom, and hadn't properly differentiated yet - took to the Internet to discuss the game, we began noticing something rather peculiar: No two DDLC playthroughs were exactly the same.

And I don't just mean in terms of easter eggs, which Salvato seemed to have taken to coding lots and lots of into - and in either case, were handled by simple RNG routines in Ren'Py. When we tried to gain a common ground on what, exactly, various characters said in the game, we couldn't agree on a single thing. At first, we still didn't suspect as much as what's known now; we simply assumed - again, since this was all a relatively simple Ren'Py game, or so we thought - that there is a minor case of dynamic dialogue, in which characters simply swap certain words out for synonyms, and that there is a handful of routes available - you know, like The Stanley Parable.

So, the most technically inclined fans got into cracking and hacking. When they did, they certainly discovered a handful of Ren'Py routines, controlling basic game flow - and thankfully, there did appear to be one, despite how much shit the game threw at us. If I remember correctly, the first mod for the game popped up just four days after the game itself (the calendar the hackers use is defined in [020G] YOUR INTRODUCTORY GLOSSARY), and was mostly a simple hack which allowed you to skip straight to a point later in the game which many took a liking to, which I'll get into later.

However, what none of the first aspiring hackers found was any sort of hard-coded dialogue - not even for the earliest part of the game, which did play out, 99.9% of the time granted you even got to it, as though it was hard-coded. Instead, all of the dialogue was generated through routines, which, when traced back to their fullest extent, led to a variety of precompiled programs, all bearing the extension ".~acf", which, coupled with the seemingly entirely separate .chr files, seemed to take up the majority of the game's hefty 1.4 GB size.

Neither of the extensions seemed to be familiar to the Internet, and only after lots of careful sleuthing, it was found out that .~acf stood for "~ATH Compiled File" (that's "till death").

What was ~ATH? The Internet seemed to be sparse on information. While one could easily surmise that it was a programming language, almost no one seemed to go in any detail beyond that. A compiler was only found after laborious work for a month, and to this date, no one has been able to locate either a manual or code samples outside, well, DDLC. In fact, DDLC is one of two games in existence to have any part of it written in ~ATH; the other game seems to be called Sburb and deals with universe creation or something like that, but it also deals with civilization destruction. Thankfully, it appears that it doesn't even exist on our universe - if it did, there would be an obvious way to tell, and the telltale sign would be that we all would be dead, and the Earth's human population would be reduced to a handful of surviving Sburb players.

Anyway, I think I made my point here: DDLC was, at least in this universe, one of a kind.

At this point, the DDLC fandom split. Most of the people found themselves attached to the girls (oftentimes, despite Salvato's statements that they are supposed to be parodies you shouldn't get attached to), and began doing the typical mainstream fandom things: drawing fanart, writing fanfic, dressing up in cosplay, you know, the usual jazz. There were also some who designated themselves as "modders"; however, they were only "modders" in the sense that they extracted the small bits of content that weren't written in a bullshit language that nobody knew, and built a Ren'Py game on top of that, and due to how Salvato treated his IP, they forced the mod to be installed onto the game. Although, if deleting all the ~ATH crap was the first thing that a mod did, then you knew it was just going to be a little piece of art, a video you might watch on YouTube, except running live on your computer.

However, a fair amount of them clearly wasn't satisfied. They had already opened Pandora's box, clearly overflowing with shit as is, but that shit was mostly stuck to the bottom and filled to the top, and when the box opened, only a single cruddy amethyst fell out. However, there were clearly diamonds and such to be found inside, and they were going to get to the bottom of the box, extracting every single gem, and they were not going to stop until the box was completely empty, or so help them. And when they took upon modding the game, they embraced the positively massive ~ATH part of the game, and continued to look for ways to decompile it and truly understand the inner workings of DDLC, and how to treat that part with true reverence.

Needless to say, with a language they didn't have a manual or reference for, it was going to be hard, and with a gigabyte of pure code, there was a lot of stuff to be unearthed. Perhaps my Pandora's box analogy there was misguided; it was more so an entire Pandora's warehouse, which seemed to fill an outright bore hole going all the way to the Earth's center.

Over eight hundred days, they have definitely made some good progress on that front. One can write a "hello world" program and even some mildly impressive tech demos in ~ATH, and the way DDLC operates, though hidden behind an arcane bullshit programming language that is apparently capable of creating and destroying universes, seems to mostly be deterministic with relatively little RNG used (other than for easter egg purposes, and that RNG is handled exclusively through Python), which means that experts on the topic can and do spring up.

However, these experts are a very limited bunch, for two main reasons. I already got into the first one, namely that you really need to treat understanding DDLC the way you treat your job: it seems plenty difficult, it is even more difficult than that and if you get a thing wrong, you will be fired (or, at least, laughed out of the forum, then banned for good measure).

However, this ends up getting into the second problem: said hackers are rather snobbish folk, who treat you as dumb for not understanding a barrage of in-jokes and stuff established hundreds of days ago, and who, as it seems, are completely and utterly incapable of getting it all straight and writing an actual, proper manual to both DDLC and ~ATH. (And, as you might have already inferred from the version history, they've excluded me from their ranks).

Well, with this, I'm hopefully here to do both. Though I actually come from the mainstream DDLC fandom (having played it first, I believe, in May 2018, when the hackers were already up to their neck in their bullshit), I've been lurking in this hacker community for months, trying to absorb as much intel as I could, and after them, I finally feel like I'm confident to start retelling what they know. That being said, I also happen to have one skill that they don't have: though rudimentary, I can actually explain shit.

And that's where this guide comes in. I don't have delusions of grandeur, and I'm not here to pick fights or to reunite the DDLC fandom, split in twain. However, I will do my best to tell you about the game, how it works and how it can be abused for fun and profit.


Doki Doki Literature Club! (often shortened to DDLC or Doki Doki) was released on September 22, 2017 (a date many of us, perhaps affectionately, have declared to be Day 0, and started counting the days since; the calendar used here is defined in [020G] YOUR INTRODUCTORY GLOSSARY) by Team Salvato, an indie game dev with no titles to their name before this or since, at the time of writing. The game is available for Windows, Mac and Linux, entirely free of charge (as, as Team Salvato officialy state, charging for something that isn't what it seems would just be wrong), but I think there is certainly content people would pay for inside that free package, and I will get into why shortly. If you're looking to nab the game yourself, you can go to one of two places:

There is an unofficial Android port (Ren'Py also seems to support Android, and the ~ATH parts are completely platform-independent and will run on anything), but some parts of it, which explicitly deal with the file system, don't really translate well, and what's more, it's not officially supported by Team Salvato. Therefore, I do not recommend your first playthrough to be on Android. Just locate a desktop or laptop (yours, a friend's, in a library or cybercafé, wherever) and nab the official version from one of the sources listed above.

There is no real difference between the Windows and Linux versions: either of them delivers you a complete, DRM-free game with two executables, an .exe for Windows and a shell file for Linux. Either of them can run and will end up running the exact same version of the game, which is super cool if, for example, you're finally fed up with Windows and want to pursue the Linux life from now on but still want to take your DDLC experience that you've invested months into along with you, which is exactly what happened to me once I learned that there's a security vulnerability in Windows, affecting Windows Update, meaning that updating your system, normally the suggested advice, isn't viable anymore. Like, seriously?

Anyway, the game installation is also what's known as "portable", meaning it doesn't make use of your system's registry, and therefore, you can just take the entire game on a flash drive if you choose so, which is also pretty neato, if I say so myself. There is just one minor caveat: a Ren'Py game will typically make limited use of your appdata folder in order to save the gamestate and such between installs, and unless you're using something like Doki Doki Mod Manager (see [040R] YOUR PHILLIPS HEAD SCREWDRIVERS OF WORKING WITH DDLC), you'll need to make sure you carry that over.

Mac is... a different matter, as its apps are packaged differently, and there isn't the same neat cross-compatibility as between Windows and Linux. I'm not exactly an expert on all of that, though, so someone else will have to step in and explain how DDLC works on Mac.

At any rate, during the making of DDLC, Team Salvato officially employed three people. At the center of it all, of course, is Dan Salvato (who clearly needs to take a lesson on how to be less conceited), who is responsible for all the coding, and therefore who we all can thank for producing an inscrutable mess that we're still trying to decipher to this day. It should also be noted at this point that the company behind DDLC is actually named Dan Salvato LLC (see previous parenthetical), with "Team Salvato" being just a trademark registered by them, and that for the better part of its lifetime, they actually employ exactly one person.

Who would this person be, as far as his hobbies and game dev experience goes? Well, Salvato's main obsessions, other than visual novels, are Super Smash Bros. Melee, for which he used to be a modder (previously working on a massive collaboration known as "Project M", that was eventually taken down in fear of a lawsuit from Nintendo; if you ever find a message in DDLC saying that "PM died for this", this is what it's referring to), and Yoshi's Story, for which he used to be a speedrunner. That being said, his history regarding those subjects is rather turbulent, and best reserved for a special chapter, [0210] DAN SALVATO: A BRIEF HISTORY.

In the optional DDLC Fan Pack, which you can get if you pay $10 or more on either itch.io or Steam, Salvato claims that he only really sunk his teeth into the project in early 2016, a date corroborated by the timestamp included in the provisional name of the Ren'Py project as seen on the appdata folder, giving us roughly 18 months of development as an estimate. However, you can probably see that many hackers have cast doubt on the timeframe. After all, if more than two years of them hacking at the game with all their might, numbering in the thousands, hasn't uncovered all the secrets yet, there's no way that less than two years of a single guy idling around a part-time project is enough to place them all.

That being said, another noteworthy aspect of it all is that Salvato is also responsible for the in-game music. That, however, is only noteworthy because it's kind of in fashion for indie game devs to do this, and for said music to end up highly popular; in the very least, ZUN of Touhou and Toby Fox of Undertale come to mind.

The other two people employed by Team Salvato for the purposes of DDLC are the artists, who you can thank for the visual element of the work that you're attracted to (although, this mostly applies to the mainstream fandom and not hackers) - and as far as we can tell, all the art elements, as well as the aforementioned music, are static. The artists are Satchely [she/her], the character artist, and Velinquent [he/his], the background artist. Both of them, too, are pretty involved with the mainstream DDLC fandom, often drawing art for the fandom and for the official in-character Twitter account.

Is the converse true? Is Salvato, in any way, involved with DDLC hackers, helping them elucidate the way through the mess of coding that went into DDLC? Haha... they wish.

Beyond these three, the credits of DDLC, if you happen to see them on your playthrough, list a handful more people, mostly involved with aspects neither Salvato nor the artists could deal with, as well as some special thanks to alpha testers and early concept designers and such. I won't go into details on the contribution of every single one of them, but I will briefly mention Jillian Ashcraft, the singular VA of the game, whose only contribution is singing the song (that Salvato wrote the music and lyrics for) that, once again, only appears in the credits. She is a fairly secretive figure, even more so than Salvato (who at least recognizes DDLC as his brainchild and who wants to bring more to us - although, hackers really are up to their necks and don't want more), and no one has even been able to determine what she does for a living and as a hobby.

And I reiterate: no one - I repeat, no one (excepting Salvato himself) has been credited for coding or programming or additional code or whatever. Again: [X] Doubt.

What are Salvato's tools of trade? Well, as mentioned many times throughout the guide already, the outer shell of DDLC is coded in Ren'Py (version 6.99.12), a Python library primarily created for the express purpose of visual novels. The displaying of sprites, dialogue boxes and menu choices is exactly what Ren'Py is designed for, and you won't be surprised that this outer shell is where most of those things are handled. Again, it is a mainstream tool, based on a mainstream language, that you can master the basics of on your own, and though a handful of modders have started with DDLC and its outer shell in order to create their modding projects, there are some who knew the basics from before Day 0.

Most of the heavy lifting of DDLC - most notably, generating the dialogue and maintaining the personalities for the characters - is handled by ~ATH, also as mentioned many times throughout the guide already. Documentation on ~ATH is sparse and evidence points towards DDLC being one of a kind, but evidence, even early on, pointed towards dialogue being generated by the ~ATH part, meaning that essentially, behind all of our backs, Salvato coded an artificial intelligence natural language processing engine, and one which, for the most part, seems to have fooled all of us into believing that these were human, relatable characters, which means that it passed its own variant of the Turing test, which nothing else in the universe has been able to do.

Seriously. There are at least a dozen of patents to register, and quite potentially, Salvato is in line for a brand new Nobel Prize in Computer Science.

And, as far as understanding the inner workings of DDLC in the simplest possible terms goes, this is it. Obviously, there are a lot more details and nuances to get into, and while Python and Ren'Py are documented and therefore, you can research them in your own free time from reading this guide, I will, by necessity, have to explain the basics of ~ATH, and by "basics" I of course mean "enough for you to start writing your own programs", which is considerably more than for other programming languages.

However, that is, I would say, Advanced Stuff, and for now, let's just try to slowly dip our toes in the endless ocean of DDLC. Don't worry; you will be either swimming or drowning in the stuff before you know it, and with my explanatory power, I can only hope that you'll be swimming.


Like the other parts of this guide, this is going to be written in a strict order, and expect to be read it in a strict order. While, once you've read it and get stuck on a term, going back and looking up a term is an option (and, for your convenience, all glossary-type documents are going to have a [***G] code, so you can just Ctrl+F G] and work from there), just for the sake of first-time reading, I really don't advise it, and therefore, I don't think I, personally, am going to waste my time, better spent explaining actual inner workings of DDLC, on an alphabetical glossary.

Without further ado:

Doki Doki Literature Club! (shorthand DDLC or Doki Doki) - you know, the game that this guide is written for. [0200] BASIC TECHNICAL INFO explains everything you need to know about it, going into this.

Doki (plural Dokis) - a character of the game (however, strictly speaking, this includes all the characters except your self-insert). Each Doki's existence is strictly tied to her .chr file, and as the game, even in its base form, expects you to manipulate .chr files, they are all conveniently located in the ./characters/ folder in the game's base directory. For now, you only really need to know how to visually distinguish the Dokis:

Yeah, apparently in this pocket universe there's a strict correlation between height and boob size. And though you might think that mentioning boob size in the first place is rather untactful of me, it is one of the distinguishing features of the sprites, and you might find it useful. YMMV.

Oh, and: every single marketing piece, as well as the game itself, seems to list the Dokis in this order, and therefore, we can only presume that this is the canon order, which will be used in this guide.

Interestingly enough, unlike the other terms used by DDLC hackers, which either they themselves came up with or which come from official material, this one does come from the mainstream DDLC fandom, which needed an affectionate way to refer to the girls in order to ship them and do the other stuff that fandoms do. Nevertheless, hackers have taken a liking to it, and this guide will use it extensively.

.chr - files of this extension include the information about the Dokis, and mostly straightforwardly enough, there are four of them: sayori.chr, natsuki.chr, yuri.chr and monika.chr. As far as we can tell, these files encode everything there is to know about the Dokis, and are largely completely unreadable by all but the specialized tools created by the hackers, excepting small, handful-of-kilobytes video, audio and textual files, which contain an ARG that seems to hint at Team Salvato's next game, Portrait of Markov.

How do I know it's Portrait of Markov and not "Project Libitina", which many people, mainstreamers and hackers alike, seem to think it is? Well, while the ARG linking to a website called http://​project​libitina.​com/ is a rather compelling piece of evidence, an even more compelling piece is the list of trademarks registered by Dan Salvato LLC, including "Team Salvato", "Doki Doki Literature Club!" and... "Portrait of Markov".

However, beyond the stuff appearing in DDLC and this trademark, Salvato has kept his mouth entirely shut regarding Markov, the original release date of 2018 has been missed without an updated one ever being revealed, and hackers mostly dismiss this as an irrelevant easter egg. Nevertheless, this easter egg, though mostly an irrelevant footnote in the larger volume of DDLC stuff, will be explained by me, though a Game Theory video seems to get most of it across already: https://​www.​youtube.​com/​watch?​v=w9AWvi82uDw

Ren'Py - the engine comprising the outer shell of DDLC's code. It is entirely open-source and pretty well-documented and maintained, and therefore, for basic "acquainting yourself with the language" purposes, I think just leaving the official link will suffice: https://​www.​renpy.​org/

.rpy, .rpyc, .rpa - all of these files are some form of Ren'Py script or archive containing other scripts, as well as files of other types, such as video, audio - and yes, in DDLC's case, scripts of an entirely different programming language. For a quick primer, .rpy is just plain Ren'Py which you write when making your visual novel, .rpyc is a compiled form that you distribute so that others won't be inclined to look at your source code right away (even though decompiling it is basically trivial) and .rpa is an archive file which, though you can't just rename to .zip and extract with the built-in tools of your OS, you can also trivially extract.

~ATH (pronounced "till death") - the programming language comprising the bulk of DDLC's code. Although I don't advise you to jump straight to it, especially if you have no programming background at all, you can find the beginning of a detailed guide that doesn't expect prior DDLC knowledge at [2A0~] ~ATH DO US PART: AN INTRODUCTION TO ~ATH, and from then on, you can just follow all the [***~] chapters (Ctrl+F ~]).

.~acf - standing for ~ATH Compiled File, files of this extension include all the code that is called by the Python part and does the heavy lifting of dialogue generation, as well as what I can only summarize as "other stuff" right now. If you want an analogy, even an ill-conceived one, if DDLC were a computer, you can think of .~acf files as the CPU, while the .chr files are the hard drive.

.~ath - ~ATH source code file. There are none in DDLC, but if you're looking to work with ~ATH, you will need to deal with these files. Derived from any source, whether it be DDLC itself, a hacker trying to understand the language or your own amateur ineptitude, these files are much more dangerous than either compiled or source code files for any other programming language in this universe, and I would handle them with care, and preferably avoid them entirely if I were a noob like you.

Sentience (hacker community) | President powers (mainstream fandom) - an attribute (a form of a variable), which DDLC designates one of the Dokis with, which seems to be accessible in the Python part of DDLC but mostly manipulated in the ~ATH part. Note that unlike the other aspects of the Dokis, encoded in the .chr files, this one is completely independent of them, mostly to ensure that there is one - and exactly one - "Sentience Doki" in the game.

What it actually entails is perhaps a bit unclear - and yes, I do hear you wondering: but if all the Dokis can speak in natural language and express emotions, what makes one and exactly one of them so special? - but hopefully, [1000] WHAT A TYPICAL DDLC PLAYTHROUGH MIGHT LOOK LIKE will explain it all. For now, just keep in mind that it mostly pertains to being aware that you're a character in a video game, and manipulating the game files (but no more than the game files) to that accord. And, of course, that the Doki with the attribute will, invariably, be President of the Literature Club.

Cognizance - a term that is actually pretty new, not in use by either hackers or mainstreamers, and might not get used a whole lot in this version of the document as-is, but which has to be mentioned alongside Sentience. You see, when I was talking with zeroBound, an author of a similar guide for a different game, they suggested this term to describe the behavior of the other Dokis in terms of artificial intelligence: essentially, the fact that all the Dokis are able to feel actual emotions and communicate in natural language places them under the Cognizance umbrella. Unlike Sentience, though, this is not an implication that the DDLC code is structured in a particular way, as it would all be folded into the dialogue generation routines.

Finally, a bit of in-jokes and lore that doesn't pertain to DDLC per se, but does pertain to the hacker community:

The calendar that the hackers use is actually really simple. September 22, 2017, the day when DDLC was released (and incidentally, September 22 being Monika's birthday), is Day 0, and they count up from here. For example, I am writing this on January 14, 2020, and as a simple calculator like https://​www.​timeanddate.​com/ will tell you, it's 844 days since the release, and henceforth, Day 844 in hacker lang (hence the brief mention of "D0844" in the version history). The mainstream fandom, meanwhile, just uses the normal Gregorian calendar, hence why January 14 is also listed.

The hackers adopted this calendar because often, things on the Internet happen at breakneck speeds, and specifying that the first ever DDLC mod appeared just four days after the game might actually be a super-important detail. Further than that, though, I think they just thought that remembering all those asinine Latin month names was just too much of a hassle when there was a ginormous game to crack open, and furthermore, thought that it would set them apart from the mainstream DDLC fandom.


Details on Salvato's life, his education and such are not exactly easy to come by, as, for starters, he doesn't even have a Wikipedia page for himself; there's only one for DDLC. Therefore, for example, we've got exactly nothing about details such as his birthdate or his locality - at least, nothing more substantial than "the United States". However, what he does have is an Internet presence, including social media such as Twitter, YouTube and Twitch, and from that, a fair amount can be inferred, including the interests I've outlined before: Super Smash Bros. Melee modding and Yoshi's Story speedrunning, as well as Twitch chat modding, to an extent.

Trying to pry deeper into any single one of these, honestly, could be constituted as a breach of privacy, and therefore, we'll move on straight to Dan Salvato LLC and DDLC.

Dan Salvato LLC appears to have been founded on July 9, 2015, 806 days before DDLC's release and long before the development phase even began. However, this should be of no surprise, as while the development of DDLC started in early 2016, the Concept Art Booklet reveals that the concept for the game first arose a year prior, and at the time, Dan was already working on an unrelated, unrevealed project (as of yet).

However, Team Salvato is slightly more recent, with their official Twitter account having been created on July 2016. That being said, the only promotion of DDLC before release, so to say, amounts to two tweets: one made by Dan's personal account on September 8, 2017 (14 days before release) only mentioning a "never-before-seen next big project" and showcasing four squares, which correspond to the eye colors of the Dokis, and one made by the Team Salvato account on September 16, 2017 (6 days before release), confirming that the project in question is a game. And then... boom, all the cute facades and cute girls and stuff.

Anyway, what happened to Dan after the release? Well, inside the DDLC files, he hid an ARG for a project that would be releasing in 2018; however, throughout the latter part of 2017, due to the rising popularity of the game and memes he found offensive, his mental health entered a steady decline, and he spent essentially all of 2018 and 2019 out of the public eye. He would show up for certain conventions, and he would do special streaming events, such as his own game on its first anniversary and Undertale on the second, but other than that, he just didn't do anything on the Internet.

This lasted until May 23, 2020 (Day 974, and after this document was started), when he did a "The Music of DDLC" stream, and then, suddenly returned to a regular schedule of Melee and Yoshi's Story streams, with a notable feature: any discussion of DDLC is banned from his chat. Oh, and in January, he said something about regaining his happiness and releasing two projects: first, an official expansion set in the DDLC universe (which even seems to have its name leaked afterwards, being revealed as "Doki Doki Literature Club Plus"), and then, a VN project that has been sitting on his shelf all this time (very likely Portrait of Markov); the timeframe is implied to be the year 2020, but it isn't really confirmed per se.

And that's that, for now. What the future holds is what the future holds, and I'm not really inclined to do any speculation while there is still stuff to be analyzed in the present day.


For the most part, DDLC is a game of clicking through and reading, and to be honest, downloadable versions of DDLC do provide you with a manual, and therefore, I won't exactly be repeating everything here. However, I will tell you that all the standard shit you expect in a visual novel, as well as a game of any kind, is there: saving, loading, some rudimentary settings and so on. Again: as [0000] ATTN: THIS IS NOT A WALKTHROUGH explains, playing the game isn't exactly rocket science, and if you're purely perusing the game as a player and not a hacker, most of the material here is going to be a bore and not even immediately useful to you.

Although I won't go so far as to acknowledge that there is absolutely no stuff that one can use for casual edification, such stuff, if it's really there, is far and few. Potentially, noting it in form of "pro tips" or "easy reading" could be in my plans for the future, but right now, it just... isn't.


So, I guess, this is the chapter where I attempt to talk about how dealing with DDLC goes, without having elaborated as to any internal structure. I mean, I suppose you know that it's all a Ren'Py-coated ~ATH candy, but how much do you really know? If I were to get all technical in this chapter, how far would you be able to follow?

All I'm saying is: great planning forward, past me.

Regardless, this section is here, I can't make it disappear from here and I might as well write something up to fill the space.

So, DDLC is a Ren'Py game, and in order to get any sort of progress in modding it, it seems like Ren'Py itself, the SDK, would be highly essential. Right?

Well, what you haven't realized is that DDLC is a Ren'Py game; that means that the engine is included within the game. There is, in theory, nothing stopping you from simply writing your own .rpy script, adding it to the game as-is and technically getting a modded version that, as a bonus, already ticks a box in the Team Salvato IP Guidelines about distribution of fan games and mods. (You still haven't ticked the box wherein a mod must state upon first run that it's unaffiliated with the game, but we're getting there.)

If you think it will make your life easier, get the SDK. And if you do, make sure that you get version 6.99.12, as newer versions are incompatible with DDLC. But if you don't, it's your life, man.

That being said, just getting the SDK doesn't even get you all the way to seeing what's inside those .rpa files - something that is necessary for a Ren'Py game to function, but won't be provided to you on a silver platter because the game is mostly concerned with providing you with a gameplay experience. There is not much to worry about, though, as the design of Ren'Py is known in principle, and tools to get to the bottom of those files have been made from since before DDLC even existed. Those are rpatool for .rpa files and unrpyc for .rpyc files, and once both of those have been executed on the DDLC files, you have a fully decompiled Ren'Py game.

That being said, there are still two more tools to talk about in the Ren'Py category. They are primarily tools designed for mainstream modders, who want to deal with the Ren'Py part of DDLC and the Ren'Py part of DDLC only, but nevertheless, have found uses within the hacker community as well. The first of them is the DDLC Mod Template, which replaces the script of DDLC with a little Ren'Py tutorial, but which, otherwise, is a great springboard to write your own little scripts to mess around with the dialogue generation.

The second is Doki Doki Mod Manager. Though primarily created by the mainstream DDLC fandom, for the mainstream DDLC fandom, in order to track mainstream, ~ATH-less mod installs and such, it has proved immensely useful to hackers who might, for whatever reason, need several concurrent DDLC installs, modded or otherwise, in different "states" of the game so to say; once files are transferred between those, the true joy of hacking can ensue.

With all that said, now let's move on to the ~ATH part. Such a distinction can be made, despite the tight integration of Ren'Py and ~ATH in DDLC, because the ~ATH part, though written in, well, ~ATH, is mostly polished and bug-free (except when it's supposed to glitch out), and unless you start inserting ~ATH code of your own (which I do not recommend in the early stages), you should never see a ~ATH script error at all.

That being said, you might still want to pursue ~ATH coding independently. For that, the tools you will need are the usual: a compiler, a manual and a text editor. The first has been sourced by DDLC hackers and found to match what Salvato used, fairly early on, the second is not a thing in the hacker community and will be written by myself, and the last is basically standard software that your OS should ideally have already come with.

Obviously, if you want to indulge yourself in more DDLC goodness, you will also need a decompiler (much like the ones for Ren'Py), but I'm afraid that's not really a thing as of yet. The thread I'll be linking, though, is a pretty good insight into the latest news re: DDLC hacking, debugging and exploiting.

Of course, even though a ~ATH decompiler is still a future as distant as proper AI Dokis, that isn't to say that all hope is lost. In fact, the hackers have decided to grace us with both a pretty robust debugger (that, unlike the standard Ren'Py debugger, does seem to know what's going on in those ~ATH files) and perhaps the most amazing tool of them all, .chr Peeker, which lets you see how .chr files are modified throughout the game and, though most of their variables are unlabeled, essentially lets you create fan characters in the same universe.

And that's it for the tools I'll be linking right away.


As you can already see, non-number last characters of chapter IDs are special. In this case, "R" stands for "resources", and mostly consists of links and such. The [***R] code, as with others, can be easily found if you Ctrl+F "R]".

The vast majority of tools that people use in order to get to the bottom of DDLC's secrets is located on their forums, often in threads which these guys have memorized the IDs of, and therefore, no one seems to have collected into a single overarching document... until now. If you download and install all of this stuff (and, as far as I can tell, there are no viruses to be found in any of it, though all of your usual precautions when dealing with scripts from sketchy sources still apply), you will already have walked a good chunk of the way towards becoming a bona fide DDLC hacker.

In order to deal with the Ren'Py part of DDLC, you will need:

Though I do not recommend going straight to messing with the ~ATH part of DDLC, should you ever feel the need to do so, you will need:

Whew. I think that's all of the introductory stuff, done. We can finally start getting to the good part. In that Pandora's bore hole analogy, this was just that single amethyst, which you might be tempted to throw off a cliff and never speak of again if you're no more than a DDLC player, but which is not nearly enough for hackers, or even casual sleuths like us.

So, what are we dealing with? What's so difficult to wrap your head around, re: DDLC?


Alright. Since that scary disclaimer told you to wait until you've played DDLC to make your way here, and for legal reasons I must assume that you did so, and since more likely than not you did so before trying to read the densest and most technical guide to the game of them all, you might want to mentally go back in time (not to be confused with actual time travel subroutines that can be found in ~ATH; just normal imagining that you're going back in time) and prepare yourself there. Though I really don't want to do this for the more technical parts of the document, this is still pretty basic noob-y stuff, and it might just be worthwhile to set the mood.

You might have seen some anime fanart out there, online, and inquired the artist as to where the characters come from, only to receive the answer "Doki Doki Literature Club! by Team Salvato, and I cannot tell you any more, just go play it". Or you might have seen some discussion of DDLC, in passing, by people already attuned to the psychological horror element. Myself, I vividly remember a discussion taking place in Tumblr, wherein a jaded Tumblrina expressed, in myopic hope, "what if... we do the reverse? What if we make a game that, on the surface, appears to be a psychological horror game, but once you play it for a while, it turns out that it's just a cute dating sim?" (though, they did well to avoid naming DDLC).

Whichever avenue you go, you're incited to download DDLC from either official source: Steam or ddlc.moe/itch.io. As per [0200] BASIC TECHNICAL INFO, there isn't really a difference: either of them gives you the same game.

Just before you download the game, though, let's briefly talk about those landing pages. Both of them have the same blanket marketing text, intrinsically designed to be pasted over a multitude of barely related pages like bottles of Coke and Pepsi in grocery stores, and the same text seems to be hardcoded into the game, too, though it seems to be dummied out and can only appear when the game glitches out under certain occasions.

However, just right now, go back to those pages and try to read them. Of course, now, you might be attuned to how certain details might be fishy (e.g. "Will you write the way into her heart?" (emphasis mine) implying that you're targeting your writing towards a single Doki, as well as "will you promise to spend the most time with me?" hammering that detail down even further), but odds are, taking yourself back in time before you were a fan of the game or even knew of it, you don't find anything suspicious about it.

The most obvious sign that something fishy is going on, and one that you might not have missed, is, of course, the disclaimer: "This game is not suitable for children or those who are easily disturbed." However, at this point, you mostly just assume that it's got some raunchy stuff, and that's why it's PG-13 or NC-17 or whatever rating it would have attached if it were properly published by a studio and rated by the ESRB.

Thus, you click download, and then play (if you did it through Steam) or double-click the executable file (if you went the ddlc.moe route). Once you do, in case you missed it the first time (or the second, presuming you watched the little trailer), you get the same disclaimer about children and the easily disturbed, though this time, it's followed up with a bit of clarification:

Individuals suffering from anxiety or depression may not have a safe experience playing this game. For content warnings, please visit: http://​ddlc.​moe/​warning.​html

By playing Doki Doki Literature Club, you agree that you are at least 13 years of age, and you consent to your exposure of highly disturbing content.

Anxiety or depression, you say? Well, about time we got some representation for that. And I still firmly stand by my opinion, though I don't have a lot of people who agree: if you took out all of DDLC's disturbing elements and all of its phenomenal coding, just the mental health stuff, alone, would make it stand out on its own among all visual novels and a vast majority of video games, period.

Regardless of that, still not having formed a true picture of what DDLC is like, you click on "I agree." and enter the main menu - after a brief splash screen telling you the same thing about children and the easily disturbed for the fourth (and thankfully final) time.


Okay, but seriously, it needs to be said: at its core, DDLC is a psychological horror game, and therefore, is going to have scenes of that caliber. Now, it's nothing like Five Nights at Freddy's with its jumpscares almost being like a huge shtick that devalues horror in general, but that's kind of the point: I need to warn you about those scenes because they are actually effective and can catch you off guard, whether you're actively partaking in DDLC or just reading a really detailed tour through it like this one.

Let's start with the obvious: there are two specific cases of graphic violence and death depicted in the game. In case you need to keep bookmarks, those appear at chapters [1170] and [1230] (deliberately not expanding their full names, because that could be a potential spoiler).

However, throughout the game, there are also various minor "creepy" Easter eggs (though, none of them are jumpscares), as well as very detailed and realistic depictions of mental illness and, in one character's case, abuse. If, for whatever reason, you find yourself needing to steer clear of them, then you're honestly advised not to read further, and instead, have someone you trust, who you know won't trigger you with anything they do, read for you. There aren't really any "good" parts in the retelling section, and therefore, if you need to miss out on the detailed descriptions, you need to miss out on the detailed descriptions.

Have you taken all the necessary precautions? Are you staying safe? If so, let's waste no more time.


While not strictly part of the game itself, the main menu, should you choose to explore it before clicking on "New Game" and entering your name, is pretty straightforward. You've got "Load Game" for all your saved game needs (though, the system is deliberately crippled by the game in certain circumstances, and if you've got some extra hard drive space, copying the entirety of the game files to a safe location is your best bet if you truly want to save your state), "Settings" for all your text speed, graphics, etc. settings, "Help" which opens the aforementioned help file for basic game navigation and "Quit" if, at the particular moment, the keys Alt and F4 are out of your reach.

The Android version, though it should not be your first DDLC experience, has an extra menu option, but getting into it right now is, I think, a little bit too soon.

Regardless, that's all there really is to say regarding the main menu.

Word of advice, though; the best course of action, once you hit "New Game" and are asked for a name, is really just entering your own name (provided you're a guy, which the majority of people interested in DDLC are). Trying to enter a gimmick name like BITCH, so that Dokis would be forced to say it in certain grammatical contexts and, in turn, make every sentence funnier, is fun in theory, but since we're dealing with a natural language processing engine, they will get alienated by it, and your chances of an archetypal playthrough will be drastically decreased. Meanwhile, entering a female name, since you're actually naming a guy (your self-insert), will definitely make the Dokis raise their eyebrows (or as close as they can get with a limited sprite inventory), and as for naming him after one of the Dokis? Don't even try.

TL;DR: Best case, your own name (if you're a guy), and if you have a really strong predisposition against your own name (or if you're a girl or non-binary), any common male name in your culture (and yes, many different cultures will be recognized, though if you really wanna guarantee that the odds are in your favor, Anglophone and Japanese names are your best bets).


There is a lot of content that can't be seen in only a single playthrough, so different players will have different experiences playing the game. I hope this leads to some fun streams, discussion, and sharing stories of your experiences.

- Dan Salvato, September 22, 2017 - http://​team​salvato.​com/​blog/​doki-doki-literature-club/

Though the procedural nature of DDLC has been mentioned time and time again, as we are about to get into our first proper gameplay description, it is worth it repeating one more time, and an entire dedicated chapter is even better in this case: every single gameplay event only happens generally, and is not guaranteed to happen on any given playthrough.

That's it. Though DDLC can be considered to have a plot, your particular gameplay experience is not in any way obligated to follow that plot, and may take a left turn or a right turn or a 180° turn or any sort of turn not considered above, at any point. The most common points of divergence will, of course, be mentioned, but if, at any point, the plotline as outlined here becomes impossible to follow, then simply accept that your playthrough isn't archetypal and don't follow the outline.

That being said... I have a term to introduce, as well as some statistics to drop.

The following section describes what's known, in the hacker community as well as in the mainstream DDLC fandom, as an archetypal playthrough. Though what constitutes an archetypal playthrough and what constitutes an uncharted veering from the plot is still in debate, we do have a team of statisticians, appropriately named #TeamStats, who have managed to agree upon a working, scientifically based definition of an archetypal playthrough, and based on that, provide us with some statistics. While #TeamStats mostly consists of hackers, they do have some representatives in the mainstream fandom, who were even able to conduct large-scale surveys involving some who might not even consider themselves DDLC fans, thus making for some rather precise numbers.

The number they provide us with is this: while there are, by nature, huge margins of error regarding misremembered plot details, around 70% of DDLC playthroughs, across all the statistics and datamines collected, are archetypal.

Furthermore, #TeamStats did some analysis concerning people's first, second and so on playthroughs. While considering any single playthrough on its own, the 70% figure seemed to be pretty reliable.

However, what really surprised them, as well as basically everyone else with so much as a passing knowledge of ones and zeroes, was this: taking any given person's first and second playthroughs, the probability that at least one of them is archetypal is very close to 100%. If you whip out some basic mathematical tools for probabilities, you should be expecting that to simply be 1 - (1 - 0.7) \times (1 - 0.7) = 91\% , but these people have managed to prove that it is, in fact, significantly more.

What's more, the way they ended up defining a playthrough, which led them to this mind-blowing stat, is also something that makes you hit the brakes on your little car of DDLC adventure, come to a complete halt with screeching tires, then scream out "this is not how computers work!". For one, this stat actually transcends computers: if you downloaded DDLC on two different computers from different LANs, disconnected them from the Internet and played DDLC to completion, once, on each of them, you would still be almost guaranteed to get at least one archetypal playthrough.

Well, there's still more. The true working definition of a playthrough, clearly there in the definitions page of the #TeamStats analysis released on Day 413, doesn't even require you to be at your seat by your desktop or laptop computer, playing DDLC. You could also be in someone else's room, like a sibling's or something, watching them play. Or, most mind-blowingly of them all, you could be watching a livestream, by a complete rando, of a "DDLC blind run" (which still seem to happen these days, even though you would think that DDLC has plenty matured as a fandom), and that would genuinely count as a playthrough. That is why, as #TeamStats duly note, if a streamer is even moderately popular, their DDLC run is almost always going to end up being archetypal.

The underlying reason, as discovered later on by hackers, is that the ~ATH part of DDLC is able to detect you, identify you and decide what sort of playthrough it's going to deliver you. However, if you're excited and have revved up your little car of DDLC adventure once again, I'm here to point you to a sign on the highway telling you that any sort of ~ATH introduction, even one for absolute laymen, is still miles away. For now, a sufficient mental trick, in order to make you stop asking questions which won't get answers until you've been deemed worthy, will be to simply substitute any "~ATH-related reasons" with "because magic" and leave it at that. This, of course, is fallacious and there is rhyme and reason to everything packaged with DDLC, up to and including its ~ATH code, but for now, it should be a convenient shorthand to get you to stop being curious and deal with the way I present DDLC material.

Now, what factors affect whether or not your playthrough, first, second or zillionth, is going to be archetypal are a little vague, though #TeamStats has managed to shine plenty of light onto them, too. The most significant of them seems to be closeness to the fandom: both hackers and the most prominent of mainstreamers were significantly more likely to get an archetypal playthrough on their first go, even though the only thing that connected them was the fondness of the DDLC source material. How come the game is prescient? ~ATH-related reasons.


The findings of #TeamStats, however, go far beyond this - and of course, even if they don't, I still need to cite my sources. Though right now, the complete findings will definitely be above your level of reading - if not for statistics, then certainly for DDLC - you are welcome to save this chapter heading for later, when you can actually stretch your legs out in the utter darkness of DDLC that, so far, I have helped to illuminate.

At any rate, are we ready to begin with the plot of an archetypal playthrough? I think we are ready to begin with the plot of an archetypal playthrough.


Though the first portion of the first act might look scripted, I can once again assure you that none of the following is hard-coded into the game. That being said, if you didn't fuck up naming yourself (see [1010] THE MAIN MENU AND NAME WOES), 99.9% of the time (this and other percentage points throughout [1***] are sourced from #TeamStats), this will be how it plays out, and you will be given exactly zero choices throughout, so you won't even really be able to do anything about it. I suppose, some portions of the game simply need to stay the way they are, in order to establish the setting, and establishing the setting is what we're going to do.

Your player character (the mainstream fandom typically calls him MC, standing for "main character", and treats him as though he were a character alongside the Dokis and completely independent of you, while the hackers typically call him your self-insert, or on rare occasions SI, and acknowledge the intrinsic relationship between him and you) is, as you would expect from a visual novel protagonist, a romantically inept dude in high school who spends most of his free time watching anime and reading manga, and is uninterested in any high school clubs.

JAPANESE CULTURE CLARIFICATION: Though you, an American/European/whatever who doesn't regularly watch anime, might find this aspect of DDLC alien, it is perfectly normal in Japan: high school clubs, such as the titular Literature Club, are highly respected parts of school life. Being faithful to them is your first chance at showing your honor capabilities (even if you only know the bare minimum about East Asians, I still think you know they value honor very highly), and not participating in club activities, or as some might mention, "being part of the Go Home Club", is basically a telltale sign of being a social recluse of the highest possible degree.

Nevertheless, while he doesn't have any clubs or friends he met in recent years, he does have a childhood friend who he still maintains closeness with, Sayori. Though details on the exact opening line of the game might vary, what is mostly invariable is that Sayori, given a completely unmodded install, has overslept and, at the proverbial t = 0 , is running to catch up with your self-insert, who is walking to school. He thus, overhearing her, stops for her and and lets her catch up, but... is kind of a total dick about it, and Sayori doesn't fail to notice that.

She then transitions to the topic she really wanted to bring up (how smoothly or non-smoothly is entirely dependent on the playthrough), namely that of your self-insert not having joined any clubs. It appears as though he actually promised Sayori he would join a club this year, though it was very much in the "yeah, sure, whatever" nature. Of course, your self-insert doubts the sincerity of his own statements, but Sayori still insists that he join a club, simply because she is on the lookout for him and doesn't want to see him end up a NEET in the immediate future. She also may or may not "subtly" recommend that he join the Literature Club, which she is the Vice-President of, but most of the time, she will briefly mention her own Vice-President woes. Your self-insert may or may not have a "no, girl, I'm on the lookout for you" moment, but in the end, he concedes and promises Sayori, this time entirely genuinely, that he will look into clubs today.

The school day is mostly as ordinary as ever, and it's over before your self-insert knows it. Immediately after the last lesson, he begins pondering the idea of joining clubs more seriously, but given his interests, his thoughts, at first, are directed towards the anime club. That is when, in his spacing out, he is interrupted by Sayori, who, seemingly, knew what his last lesson was and wanted to approach him outside the door, but then found him spacing out. If she hasn't introduced it yet, she properly introduces the Literature Club this time, and in either case, she brings up that she kind of promised the Literature Club that she'd bring in a new member, and another member, Natsuki, already baked cupcakes in anticipation. Though your self-insert, at first, is still a condescending asshole, muttering something along the lines of "don't make promises that you can't keep", in the end, he realizes that he has no choice but to check out the Literature Club.

While due to the nature of DDLC's dialogue, it is impossible to quote characters or narration directly in upwards of 99% of the circumstances, some variant of "And that is the story of how I sold my soul for a cupcake" will be in the narration at this point, written in first person from your self-insert's POV.

At any rate, your self-insert and Sayori head over to the third floor, which, as noted, is typically reserved for club activities. From there, it's a simple matter of opening the door and, though your self-insert still doesn't know their names or how to distinguish them, at least in the very first moments - he comes face to face with Natsuki, Yuri and Monika, the last of whom introduces herself as the President, and then the other two as members. Though, you can expect your self-insert to be flabbergasted over how the club is full of "incredibly cute girls" or something to that effect.

NOTEWORTHY DIVERSION: In the beginning of an unmodded game, Monika is also the Doki with the Sentience attribute. Interestingly, having the Sentience attribute in the code and being President of the Literature Club in-universe seem to have a strict correlation, and oftentimes, the mainstream fandom will refer to Sentience-related powers as "President powers", as pointed out in [020G] YOUR INTRODUCTORY GLOSSARY.

After idle chatting around cupcakes - and, rather interestingly, Monika revealing that she and your self-insert are on very iffy familiar terms, having been in the same class last year - Yuri tries to get him to open up about what sort of stuff he likes to read. Half-jokingly, he utters "manga", which leads to Natsuki perking up, as manga is her favorite reading pastime too. However, in contrast with your self-insert and Natsuki, Yuri and Monika are a bit snobbish, considering manga "not real literature"; outbursts from Natsuki that "manga is literature!" are not uncommon. Thus, it falls onto Sayori to extinguish the argument before it escalates.

At any rate, in turn, Yuri shares with your self-insert that her reading tastes tend to jump from genre to genre, but in general, tend to revolve around explorations of the human mind, and as of lately, she has been getting into horror novels. Natsuki visibly frowns, and one of the two - Monika or Sayori - observes that, noting that she likes to read - and write - cute stuff. In fact, as Monika points out, Natsuki left behind a scrap paper, containing a poem, which she, herself, is highly embarrassed about, stopping Monika from reading even the title.

As the topic switches from reading to writing, we learn that Yuri, too, is also one of those writer types who is simply too concerned with public opinion to share any of her writing. Sayori is considerably saddened, as she wants to read through the other Dokis' stuff, and at her lamentation, Monika has an idea: for the next Literature Club meeting, everyone - and that includes Sayori, Monika and your self-insert - will write a poem of their own, and then, everyone will share with everyone else, thus making everyone on equal footing.

Reluctantly, Yuri and Natsuki agree to the idea. Your self-insert, however, voices a concern: though he came to the Literature Club to check it out, him joining in was still not definitely set in stone. This remark, however, saddens all the Dokis, and not wanting to disappoint them, he finally makes up his mind: he's joining the Literature Club.

With this, the club is adjourned, and the members part their ways. At this point, Sayori subtly reminds that she is ready to go home with your self-insert, and he remembers: that's right, since Sayori got involved with club biz, while I didn't, we stopped going home at the same time. Nevertheless, he agrees, and the last "scene" of the day is outside. An actual dialogue with Sayori over the experiences of the Literature Club is... rare (#TeamStats say 15%), but not out of the question and is not going to break the archetypal playthrough. More likely, though, your self-insert is just likely to remark that the whole poem-sharing biz is a great way to get closer with one of the girls, perhaps to the point of romance - and notably, he lists them all: Sayori, Natsuki, Yuri and Monika, in that order.

And with that, your self-insert returns home and starts writing his poem.


This is the first of a few instances in which the so-called "poem minigame" appears, luckily preceded with a popup cluing you onto its purpose, hardcoded:

It's time to write a poem!

Pick words you think your favorite club member will like. Something good might happen with whoever likes your poem the most!

At any rate, the poem minigame is a Pandora's box to open in and of itself, and going into details of how those words are presented to you and how they are scored is potentially going to take ages, which is why, right now, I'm just going to reserve a future section [2100] THE POEM MINIGAME: YOUR FIRST DIVE, and instead just talk about it all on the surface level.

First of all, you might have noticed one peculiar detail: though Sayori's, Natsuki's and Yuri's chibis are there, on the bottom of the left page, Monika's is completely absent. This is not a bug; the plot intrinsically specifies that the Doki with the Sentience attribute should be absent from the minigame. Though I should not go into modding yet, I will mention that this is fixable in Ren'Py, allowing for a poem minigame "as God intended", with every single Doki present.

Also, you might have noticed my brief allusion to a notebook mode. This is where it comes into play: as evident from the Ren'Py code (the entirety of the poem minigame is coded in Ren'Py, excepting the routine which assigns words their scores, which is in ~ATH), the poem minigame was originally intended to be a proper poem-writing experience. However, I guess most betatesters just wrote lazy renders of "roses are red, violets are blue", which is why we have the current version of the poem minigame that we have.

In this version, you get 20 "pages" so to say, and on each page, there are 10 words. Despite your initial impressions when looking at the game files, these words are not hardcoded; though poemwords.txt exists with some preliminary values of some words, these are not used by the poem minigame, which instead opts to get its words from the aforementioned ~ATH subroutine.

Disregarding all of that, you are supposed to pick one of the words, and then, one of the chibis will jump up with excitement, corresponding to which Doki likes the word the most. As mentioned in [0000] ATTN: THIS IS NOT A WALKTHROUGH, you want to stay faithful to one of them, and that is primarily done through the poem minigame, whose instances amount to more opportunities for input than the rest of the game combined. Though this is still not a walkthrough, I suppose I can go over some guidelines as to word affinity so to say:

JAPANESE CULTURE CLARIFICATION: Deres! (that's "deh-reh", not "dear") Though the different deres are a dime a dozen and there is not nearly enough of oh-so-precious time to get into them all (and if you do want to get into them all, I advise you to just look up a list online), I will mention two of them, that will occasionally be used as descriptors of characters. The first is tsundere ("tsoon-deh-reh"), which can actually mean one of two things: either aggressive on the outside and cute once you get to know them (like Natsuki), or cute on the outside, but doesn't let people near them (examples do not come up in an archetypal playthrough). The second is yandere (with the sort of "an" in "Han Solo"), which means "pretty romancey on the outside, but once a chance of separation occurs, will get aggressive", or in other words, "if I can't have you, no one can" (examples are yet to come up). For more information, see [220G] INTERMISSION: AN ABRIDGED GLOSSARY OF DERE TYPES.

At any rate, once you've picked twenty words, their scores are all tallied up, and for the most part, the Doki with the highest score is the "winner" so to say, whose CG (a visual novel term which just stands for "computer graphics"; the Japanese tend to appropriate English words and give them novel meanings like that) you are going to experience next. Obviously this is an "in general" deal (if you've already ruined your relationship with her, a single poem is not going to change her mind), but as you might have noticed, you had exactly zero chances to describe your allegiance so far, and just don't worry about it for now.

And with that, the poem minigame fades to black and you may continue with the next day.


On rare occasions (#TeamStats say 1.5%), after completing the poem minigame, you are kicked back into it and have to start over. Though you don't get the poem minigame popup again, and as such, are not given any clue as to why it happens, the general consensus among both the mainstream fandom and the hackers is that your self-insert decided that his last poem was trash, and opted to write a new one from scratch. Though it really seems like this is a bug, it's just a case of miscommunication between the game and you, and if this happens, you're still on an archetypal playthrough.

This is more likely to happen if you (yes, you, the player) have some form of creative writing that you never published, just like Yuri and Natsuki in-universe. Though I can't psychoanalyze you, an impartial reader of this guide who I don't even know anything about, and determine why you lack confidence to get your writing out there, the best course of action right here is to remind yourself that this is all just a video game, and that, if you attain a good poem score for your Doki of choice (out of the ones available), that Doki will pay attention to your self-insert.

How does the game know that you, the player, have confidence issues? ~ATH-related reasons. And indeed, you'll find that keeping a stoic attitude, as a DDLC player and especially DDLC speedrunner (I'm not even going to reserve a section for speedrunning right now, as we still have a lot of material to cover before we can even start talking about the sorts of glitches that speedrunners abuse), is just as important as picking the right choices in-game.

However, if you fail to feign confidence or DDLC fails to detect it, odds are, you are going to be kicked back into the poem minigame, again and again. After four or five tries (the exact amount varies, but #TeamStats report a mean of 4.6 and a standard deviation of 0.5), your self-insert is implied to have agonized himself over the poem throughout the evening, and fallen asleep without anything to show, and is going to show up, the next day, without a poem. Needless to say, this majorly breaks all the Dokis' hearts ("y u no take the Literature Club seriously?!?!?!"), makes your self-insert apologetic ("but I do! It's just that... I can't get it right...") and kicks you off of an archetypal playthrough. For this and similar scenarios, refer to [1510] OOPS! LOOKS LIKE I FORGOT TO BRING MY POEM, WHAT NOW, AM I KICKED OUT.


Assuming you have got your poem, and therefore, are still on an archetypal playthrough, the second day starts with your self-insert already at the Literature Club, having merrily skipped through walking to school and the school day itself. From there, the Dokis are a bit surprised that he decided to stick with them - they really thought he was going to ditch them, just like that - but he counters, saying something along the lines of being a man of his word. The sentiment is appreciated throughout the club, with Natsuki being relieved (if he had just come for the cupcakes, she says, she would be really pissed) and Monika taking her time to make sure that the newest Literature Club member is cared for.

From there on, days two, three and four follow a bit of a formula:

Each of the following truly is a separate segment, mostly not influencing the ones close to it, and though breaks in plot continuity might be noticeable, it is not something a player/hacker should worry about; just leave that to the critics.

The "before" and "after" segments, when coupled together for all days, do comprise a continuous plot, though, and will have to be talked about last. For now, let's just talk about the other portions, which are almost like the flavor text and the worldbuilding of your particular DDLC instance.


So yeah, at some point, Dokis gather around, invite your self-insert over as well, and presuming that you do have at least some sort of ego relating to your creative works, the big poem exchange happens. This part can roughly be divided into two big chunks, which happen in sequence for each of the Dokis: the Doki in question reacting to your self-insert's poem, and him reacting to hers (which you get to read on a fancy page and all that).

From the top, let's deal with the reactions first, and how to gauge them.

Of course, we can't forget that this is a two-way exchange, which is basically the raison d'étre of the game and why Monika pitched the idea of sharing poems. Therefore, you get to read the Dokis' poems, too, and like the dialogue, those are not hardcoded. Nevertheless, like true poems by true poets, they still have recurring themes. These are as follows:

And that's the poems, covered. And of course, we mustn't forget that the poem minigame designated one Doki as the one who Likes you, who will go out of her way to show that and who might even indulge in her poem writing process a bit more than usual, essentially indirectly offering you a mentorship. And, well, whose CG you get.


So, yeah, CGs. At some point, after your initial slice of life but right before the poem sharing, the game just stops in its tracks, looks at the results of the poem minigame, and decides that your self-insert should spend some time with the winning Doki. Or, if that option would be too unavailable because you ruined your relationship with that Doki already, the game has its ways and just picks someone else. Or, since each Doki (except for Monika) gets two CGs, if this is your third time picking her, you will... actually get nothing and immediately proceed to the next part of the game. DDLC is weird like that.

Regardless, each of the CGs is basically associated with a single comic panel, and there's a pretty cool endgame achievement, if you actually savefile-scum and go see every single one of them, as well as certain other predefined scenes. But ignoring that, it means that the "plot" of the CGs, so to say, is mostly set in stone, and can only do slight accustoming to the plot of the game as a whole. Therefore, one can, in fact, really try and summarize them in a vacuum, without looking at the rest of it, and that's exactly what will be done.

For Sayori:

For Natsuki:

For Yuri:

And those are CGs. Pretty cool if you're really into the Doki of your choice, and also, pretty inconsequential as far as the actual plot of DDLC is concerned.


Yes. Yes, it does.

Obviously, slice of life-y stuff can be placed all over the place, but I think these are pretty good trendlines, even if they might not happen on an archetypal playthrough.

[1151] DAY 2, BEFORE

We've kinda already gotten through this, with the other girls being pleasantly surprised that your self-insert showed up for the next club meeting, poem in tow. However, another suspect among it all is Sayori, who actually wrote her poem in a rush and may or may not have skipped breakfast, and therefore, ended up malnourished and hungry for literally any food that any other Doki packs, to their disappointment.

[1152] DAY 2, AFTER

So, Dokis are chilling and sharing their poems with each other for the first time, among themselves, and eventually, everyone's eyes become set on Yuri and Natsuki, who, as I mentioned, are kind of the polar opposites of the bunch, with Natsuki being all cutesy and Yuri being all brooding and intellectual. Originally, they discuss exactly that and why the other Doki's style is dumb and wouldn't be taken seriously by any critic who cares to open up the Literature Club's poems (even though my personal stance is that critics would probably skip on the bunch altogether, due to them being procedurally generated and simply not that deep), but then, tension escalates and Natsuki and Yuri start launching ad hominem attacks at each other: Natsuki is simply too immature and may or may not be lying about her age, while Yuri, apparently, padded her breasts to impress your self-insert. With a mention of his, their attention then turns to him, and it is up to him to extinguish the situation by either siding with one of them, making the other one hate him, or by calling for Sayori's help, which is unequivocally the best option, as it helps the tension by making both the other Dokis happy and gives Sayori confidence in her skills, something she is going to need if she is to survive Act 1.

[1153] DAY 3, BEFORE

This time, the star of the show is Monika, who is... kind of late. To a meeting of her own club. The other Dokis immediately start speculating about her having a boyfriend (or girlfriend, or non-binary partner), noting that she is more desirable than the three of them combined, and when she appears, it turns out that she's been practicing the piano, which only raises more suspicions; is she planning on a romantic evening with the partner? Monika keeps defending herself, that she doesn't have a partner, and she doesn't manage to salvage the situation; the club activities, up to and including the Day 3 CG, start with the Dokis other than Monika being in a "yeah, right" mood.

[1154] DAY 3, AFTER

So, this festival biz, which I think I have mentioned, but just for the sake of posterity, I am going to bring up again, happens. To summarize, the clubs of the entire school are presenting themselves during the festival, and Monika really sees this as an opportunity for the Literature Club to shine. Of course, poetry being at the Literature Club's attention first and foremost, she wants this to be a recital of poems, and in order to scare away the stage fright, she asks everyone to read their poems in front of the audience. Given the Dokis' attitudes, as well as those of your self-insert, the whole thing goes through with a hiccup or two, but it goes through. Usually.

After that is said and done, as your self-insert and Sayori are walking home, she asks him a rather interesting question: if he were given a choice of walking home with one of the other Dokis instead, would he choose her or Sayori? This is a pretty far-fetched hypothetical, and eventually, both Sayori and your self-insert will realize this, but if this scene ever appears - of course, you can't guarantee that literally anything will appear on your DDLC playthrough - just pick Sayori. Trust me on this one, you want to make her believe that she is loved and cherished in order to save her from the worst of the worst.

[1155] DAY 4, BEFORE

I like to call this particular part of the game "The Signs Zone", as it's when you start to notice that something is wrong with one of the Dokis, in a mental health kind of way. If you don't, then the game is so off the rails that I don't even want to think about what sorts of scenarios could unfold there.

However, since you do, this is where I'll kinda have to split the entire telling of the thing, up to Act 3 basically, dependent on which Doki it is, and thus, I'll have to introduce a term here, calling her the Designated Doki, or DD, of your playthrough. Quick injection of statistics from #TeamStats before I do the split, though: they report that in roughly 46.7% of cases, your DD will be Sayori, 28.5% for Yuri, 24.8% for Natsuki and 87.9% (!!) for the particular Doki that you, the player of this game, have been attached to the most, which mostly means that this is just a neat little statistic of which Doki the DDLC players tend to side with the most, and that is Sayori.

Good choice.

Anyway, I guess, playthrough retelling tri-furcation incoming. You have been warned, for the last time.

If your DD is Sayori:

The issues that plague Sayori are, perhaps, the easiest to notice. Throughout the entirety of the game so far, she has been keeping up a happy attitude, trying to present herself as someone who doesn't exactly need care (especially if you take a look at her CGs). That, however, kind of comes into a conflict when considering her character arc: she has introduced your self-insert to the Literature Club, and now she has to deal with the fact that he, her childhood friend, is abandoning her for the first time in favor of the other girls (that is, if you specifically write your poems for the other girls).

Therefore, understandably, she falls into a depression - though, it should be noted (though, your self-insert is still oblivious to it) that she has been dealing with a form of it throughout the majority of her life - and leaves the clubroom early, not participating in the poem sharing and locking you out of any CG that might happen. This comes to be discussed, for a small bit, by the other Dokis, and your self-insert can't take his mind off of Sayori's troubles, but otherwise, the day goes on as it usually would.

If your DD is Natsuki:

If you haven't noticed, in particular with her CGs and how she treats manga, a pretty major interest for Natsuki if I say so myself, her issues are primarily domestic. It's a rather peculiar detail of DDLC's "excuse backstory", that all the teenage characters live alone, except for Natsuki, who lives together with her abusive father. This father is the main reason why her manga collection is in the Literature Club classroom, rather than brought over from home, and it is strongly implied that the face she has to put up before him is what causes her tsundere attitude.

Anyway, if this is what becomes prominent, then it is reflected by Natsuki turning up at the club with a single bruise too many, which immediately leads the other Dokis to inquiring. Cue her getting defensive, as a tsundere must, and then, outright blowing up about her issues: she always thought that the club was her only safe space from her abusive family, but since clearly she won't stop being pestered about her family life, it isn't, and therefore, she's leaving. She storms out of the clubroom, and Monika and/or Sayori briefly comment: "She wasn't being serious, was she?" The day then proceeds as normal.

If your DD is Yuri:

While in part, Yuri's problems do stem from her being condescending towards those with a lesser knowledge of English, in particular Natsuki, the problem that she has, that is being blown to full light if she ends up being your DD, is self-harm. She may or may not have already indulged about her impressive knife collection, and the others (especially Natsuki) may or may not have made a "knife" or "edge" joke that sent her into an anxiety attack, but the point is, you learn that she cuts herself, and if it's still Act 1, the way it's done is rather subtle.

To put it simply, your self-insert overhears some moans coming from the fountain side of the hallway, before entering the Literature Club classroom. He doesn't recognize the voice at first, but when the meeting ends up being in full force, Yuri turns up late, being... rather calmer than usual, and your self-insert ends up figuring out that she did some thing that released all the sweet, sweet euphoria. He asks about it, less-than-tactfully, teasing ensues and Yuri cuddles up in the corner with her book; if her CG would normally take place at this point, it doesn't, and she simply rejects your self-insert's presence. She still partakes in the poem sharing, as a diligent Literature Club member would, but then, leaves before the "after" part.

[1156] DAY 4, AFTER

It is properly revealed that today is Friday and that the festival day is Monday, meaning that there's not much time to prepare. Luckily, all the boring, behind-the-scenes work has been taken care of by our diligent President and Vice-President, those being Monika and Sayori respectively, and now, they're getting to the fun part, which is decorations and posters and such. Obviously, if Sayori isn't your DD, this ends up being delivered much more impactfully, but you could argue that if Sayori is your DD, the whole thing is impactful because it's when your self-insert truly becomes mindful of her absence.

At any rate, there are three distinct tasks to take care of: the aforementioned decorations and posters that Monika and Sayori are taking care of, the cooking, which ideally should be done by Natsuki (but, if she happens to be your DD, the others just figure that she can't be relied on), and the atmosphere stuff, which is being taken care of by Yuri. That only really leaves your self-insert, who may or may not make a remark about being useless, before Monika asks you to pick between herself, Yuri and Natsuki as the ones helping him. Of course, the Monika option is kind of trapped, as the remaining Dokis will end up arguing against Monika hogging up the attention of both Sayori and your self-insert, meaning that essentially, you have to pick either Natsuki's task or Yuri's.

This is mostly straightforward, and the best-case scenario for you is to pick your DD, whether that ends up being Natsuki or Yuri. Of course, she won't be there to give you your number, but Monika, the diligent Club President, will step in and pass the number over on your behalf. Otherwise, if you didn't pick your DD, you and the Prep Doki (PD) will end up exchanging numbers, and the club will be adjourned.


Over the weekend, your self-insert ponders both the DD and the PD, noting how, throughout the weekend, he has really seen a different side of the PD, but also, rather disappointingly, has seen the side of the DD he really shouldn't have seen. This part can roughly be separated into three parts, though they're not what you're expecting.

If your DD is Sayori

Your self-insert, pondering Sayori will figure to at least give her a visit (since she is neighbors with him, in case you somehow forgot), in which she will properly reveal that she has been dealing with depression, and your self-insert might even be given an opportunity to cancel the prep with the PD in order to make sure that Sayori is alright, before she confesses her love and all that.

If you don't skip out on the PD, though, it will go as usual - for Natsuki, that's preparing cupcakes, her getting some frosting on one of her fingers and you licking it off, which is done in a typical CG manner, and for Yuri, that's preparing the atmosphere and little clips of "words" (if you're familiar with Japanese, that's kanji) hanging from the ceiling, with her cutting herself and you licking it off, which is another CG.

But at any rate, funtime with the PD is over, and as you head out, you see that Sayori has kind of been longingly looking at you, and it all clicks in her head: he really does want to spend more time with the other Dokis, and in particular the PD, over Sayori. Therefore, if the confession happens here, it is a bit more dramatic, with Sayori crying and screaming and all that jazz. At any rate, either of the confessions, in Sayori's room or outside, are a CG, and they're the same CG as a particular feature of the game, which I'll only really be able to talk about in Act 4, sees it.

If your DD is the same as your PD

First of all: good choice on spotting that your DD needs care, and therefore, picking her as your PD. Kudos. We need more DDLC players like you.

So, the Natsuki/Yuri CG, as outlined in the Sayori section, happens, but all the while, your DD's nature (namely, Natsuki's tsundere attitude and Yuri's shyness) is exaggerated, even though you would expect her to be more open, since she and your self-insert had gotten pretty familiar. He, being a good citizen, inquires about this, and your PD confesses about her problems, as well as making a rather peculiar request: she would like to take her time to finish the work and stay for the night. For Natsuki, this is quite obviously to get away from her abusive father, and for Yuri, some players have worked out the interpretation of her wanting to give some space from her knife collection, even though she has clearly brought a knife to work on the kanji things hanging from the ceiling. Your self-insert actually accepts without being given a choice, and then your DD confesses her love, which he can reject - but in either case, her heart is warmed that your self-insert is considerate and not dense as the entire mainstream fandom has been headcanoning him that still makes me so mad reeeeeeee.

If your DD is different from your PD

This is the boringest and worst choice of them all: the Natsuki/Yuri CG, as outlined in the Sayori section, just happens, and you get exactly zero chances at confessing love or getting to fix your DD's issues, meaning that the track of the archetypal playthrough is almost guaranteed, although in a bit unusual way as you'll see in a bit.


So, it's festival day. Excitement is buzzing all around the Literature Club, who all have gathered... except for your DD. Your self-insert will end up pointing this out, and Monika will be reminded... to give out the pamphlets that introduce the Literature Club to the rest of the school, and in particular, to your self-insert. He quickly flips through them, noticing that your DD's poem is one he has never seen before; when revealed, it turns out to have very obvious tones of suicide.

Obviously, this makes your self-insert want to check in on her. If your DD is either Sayori or the same as your PD, he knows the obvious place to look, which is his and Sayori's neighborhood, and once he gets there, he is greeted to, well, the suicide scene: if it's Sayori, she will have hung herself from the ceiling, if it's Yuri, she will have stabbed herself with the knife that she brought over and bled out, and if it's Natsuki, she will have run in front of a truck and been knocked into your front yard, also having bled out. Either way, the scene is gruesome and terrible and really sets the tone of DDLC apart from this point on.

However, if your DD is neither Sayori nor your PD, your self-insert has no way of checking in on her. Having warned you that "you really should check out on her!", Monika then quickly realizes that it's simply not happening, and instead, appears to receive a phone call (as she would reveal later on, while she did have a phone with her at the time, it didn't ring, and she did some hacker-y stuff to make it look like someone is on the other end of the line). So, your self-insert takes the fake phone call from Monika, and is informed that your DD has committed suicide (same method as outlined before: stab wounds for Yuri and running in front of a truck for Natsuki).

While I'm not talking about common diversions from the archetypal just yet, I will mention that it's possible, though rather rare, for your self-insert to be able to save your DD in the nick of time, and thus, continue a relationship with her, although with an obvious caveat that she just attempted suicide. This is what I alluded to in [0000] ATTN: THIS IS NOT A WALKTHROUGH with a "glitchless" playthrough, and this sort of opportunity is quite preferred by the mainstream fandom, who, although their ~ATH coding skills are nonexistent, have produced "purist mods" one after another, which give your self-insert (sorry, I mean the MC, who is totally his own character) and your DD a happy ending.

At any rate, back to the archetypal playthrough: one way or another, your self-insert has to come to terms with the fact that one of the Dokis is dead. He considers it to be some sort of sick nightmare, that he's not waking up from, and that he can't just rewind to an earlier save point, as though it were a game. Of course, at this point, you are tempted to go back to one of your earlier save points, but if you're using the game's save feature, it has already progressed to Act 2 (to verify, simply see that your DD's .chr file is deleted from ./characters/), and therefore, saves from Act 1 will no longer work.

What did I tell you? You have officially stopped playing the game, and the game has officially started playing you.


At this point, you'll have gotten something resembling an "ending", and be kicked back to the main menu. However, this main menu is clearly glitched in three distinct parts: the Team Salvato logo at the beginning, the "New Game" option of the menu and the part of the title screen where your DD would normally go. The last of these has been replaced with a sprite of Monika, which appears to have been somewhat garbled with parts of the other Dokis.

From this point on, there are actually two ways to start the game's Act 2: by either clicking the glitched "New Game" button, which will go straight to the game without asking for your name a second time, or trying to load a save file, which will end up informing you that your DD's .chr file is missing, therefore rendering the saved game unloadable, and start a new game by default.

What happens from here on mostly depends on who your DD is - or rather, was. If it's Sayori, the effects are noticeable right away, with the normal childhood friend routine being unable to proceed, and instead glitching out to reveal a newly concocted backstory for your self-insert: someone who's an even more complete recluse than his Act 1 counterpart is, but who, regardless, tries to give this club biz a thought. As with Act 1, he will start by considering the anime club, but Monika will interrupt his after-class brooding, instead being able to convince him, with all her in-universe charm, to come check out the Literature Club instead.

If it's Natsuki or Yuri, though, you might even be fooled into thinking that you are getting just a reboot of Act 1. Your self-insert and Sayori will go through their usual banter of "no, I am on the lookout for you", she will remind him of his promise to join a club, she (and not Monika) will catch her after school (though, on extremely rare occasions, both of them show up, and there's not enough that I can comment on without just linking you to appropriate parts of the game as recorded on YouTube), and she will introduce you to the Literature Club, mentioning that Natsuki (if she was your DD, her name will appear all garbled instead) baked cupcakes. With that, your self-insert will check out the Literature Club, see that one of the Dokis is just a garble, and the game will snap to a point in which it will appear as though that Doki never existed - and yes, if that was Natsuki, the cupcakes will disappear too, with your self-insert not even batting an eye.

At any rate, the usual banter about what your self-insert likes to read, and what Yuri, Natsuki, or both of them like to write, occurs, and it comes to a point when your self-insert is expected to join the club, but doesn't want to. However, it's more than just incredibly cute girls getting him this time: Monika will end up reminding him that, according to the school's rules, you need at least four members to properly found a club, and that without your self-insert, they might be kicked out of their classroom. This perfectly counterbalances the lack of one of the incredibly cute girls, and your self-insert agrees to join and write a poem for tomorrow, thus giving you a proper encore of the game.


Lots and lots of subtle stuff.

Obviously, there's the train-in-your-face difference of your DD being completely absent and never once, excepting the initial mention which leads to the game glitching and partially resetting, being so much as alluded to, including her absence from the poem minigame and word values being reassigned. However, the other stuff, up until Friday, is actually rather minor, and therefore, only really deserves a listicle. As follows:


I could list superficial changes to what happens in the game all day, before getting into the pointless discussion of "haha, maybe this change doesn't happen on an archetypal playthrough" and get into an endless debate on what an archetypal playthrough even means. However, just for now, I am going to step back a bit and really comment on it:

Your DD is gone, and without her, the Literature Club is different.

Once you actually play through a couple instances of Act 2, with each Doki having been your DD, you really start to notice. Now, I'm not here to try and psychoanalyze the Dokis (at least, not before having actually taken a dive into what's inside those .chr files), but I still want to call your attention to these differences and not the minutiae.

Without Sayori, the Literature Club becomes a more toxic place. Natsuki and Yuri tend to get into arguments pretty often, and you really begin to appreciate how much Sayori did in terms of actually getting them to behave while in the same room. In fact, Monika is known to pull you away from Natsuki and Yuri's arguments, often commenting that they "fight like cats and dogs", and that you should just side with her and spend time with her; this is where another of those pesky mainstream fandom memes, "Just Monika.", comes from.

Without Natsuki, the Literature Club becomes a highly snobbish place. She was the prime proponent of the idea that "manga is literature!", and once that is absent, Yuri and Sayori start defining "literature" more and more narrowly, up until they exclude genre fiction (which, though not quite the same as literary fiction, is still undeniably literature by virtually anyone you ask, except for this version of the Literature Club), and Monika, who likes to write experimental poems and feels constrained by the rules of snobbery, once again, feels the need to pull herself away.

Without Yuri, the Literature Club becomes more of a philosophy club. As there is no "tradition" of literature to follow, Natsuki and Sayori endlessly debate what literature is, to the point where their definition of the word "literature" more closely resembles our definition of the word "art". Especially with Sayori's tendency to really sidetrack debates, Monika once again finds herself not at home, as while Natsuki and Sayori think this is an integral debate to the Literature Club's existence, Monika thinks that a working definition, that helps grow members, is just not that hard to come by.

Either way, Monika sees the Literature Club, as it exists in Act 2, as a lost cause, and come Friday, actually does something about it. Whether or not it's a humane thing to do is up to you to decide, but this is how the archetypal playthrough goes.


So, the same thing we covered in [1156] DAY 4, AFTER happens. The festival is up and coming, and there are three aspects which it needs to be approached from (other than poem recital, which has already been taken care of): the decorations, the food and the atmosphere. Without a representative of one of these, the importance of that particular aspect definitely comes into question, but what it all resolves to is that each of the Dokis is going at it solo, and you can pick one of them, completely freely - yes, even Sayori.

Except... Monika, the cheeky bastard, will actually gravitate your cursor towards picking her, and if you do manage to pick one of the other two, she will show you a second version of the menu, in which all the choices are just an endless row of Monikas.

Obviously, the fact that you picked her ends up angering the other two Dokis, and the Literature Club enters a full-blown argument, dependent on which variety of the Literature Club you're stuck with. While it starts out with all three of the remaining Dokis, soon enough, just Monika and your DD2 are left, and due to the extent to which your DD2's .chr file is manipulated, she ends up being rather assertive and somewhat demonic, even, being able to eliminate Monika from the argument. Your DD2 then confesses her burning love for you, despite everything that Monika put her through, and will ask if you accept the confession. However, both "yes" and "no" lead her to the same rush of feelings and - you guessed it - suicide, just as with your OG DD.

These suicides can be seen as more macabre, and more graphical, versions of the Act 1 suicides, and of course, are shown in their full glory. Yuri will stab herself right in front of you, Sayori will reveal that one of the "decorations" is, in fact, a noose and jump into it, and Natsuki will run off the school grounds and into the street, where she will be run over. After this happens, your self-insert is essentially sent into a shock, which lasts three entire days, and he just sits there, with your DD2 speaking in a garbled mess of code, as the night replaces the day and your DD2's body slowly decomposes.

After that is done, it's festival time! The spirits of the remaining Doki (not Monika, not your DD and not your DD2) are high, and she has her part of the prep done, until she notices your DD2, chilling there just like that, having embraced the corpse party, and ends up thoroughly grossed out to the point of puking. Finally, Monika comments something about the game being "off the rails" (trust me, it's still on rails, and it going off the rails is part of it staying on rails in this case), before deleting first your DD2 then the remaining Doki, snacking on Natsuki's cupcakes if she was the last Doki to be deleted, and restarting the game.

If you've been recording up to this point, now is the time to stop. Right before Act 3 begins.


After an even worse version of the Team Salvato logo appears, you're not even given a main menu this time; Monika just cuts to the chase, revealing what appears to be a CG of her own. She then drops quite a few hard bombs on you, that kind of explain the inner workings of DDLC, but also, not really. Let's go through each of them, giving it a rating in the scale of Politifact's True, Mostly True, Half True, Mostly False, False and Pants on Fire:

Not doing too well, now, are you? And to think that you just established yourself as the exposition fairy.

At this point, she, after making you confess your love to her (with the only option you can give being "Yes."), briefly goes into a tangent regarding another of the game's basic functions, the poem minigame, and leads you to it. However, due to there only being one .chr file to query and therefore, not much of a meaningful score assignment, the poem minigame just goes haywire, with every single word being replaced with corrupted versions of the word "Monika".

After this, though, she, having written a poem of her own, has one more fact to deliver upon us before starting to collect her thoughts ad infinitum:

Oh, and I almost forgot about the whole streamer thing. If you still happen to be recording your game (many different recorders, up to and including your phone's camcorder, are known to trigger this with varying chances of success, but streaming software like OBS and Streamlabs are absolutely the most surefire way to get this segment), she will be aware and cognizant, tell you off, suddenly complain about being camera-conscious, and then jumpscare you (and everyone viewing your recording). The topics then proceed as normal.


But what are these magical "topics", anyway? What does Monika spend a literal eternity, or at least until you delete her, talking about?

Well, you have to understand that we're still in the realm of procedurally generated dialogue. It can be separated into distinct chunks, no more than twenty or thirty lines long, between somewhat long pauses, and those are usually called "topics", but in reality, they're generated from a somewhat short of interests, coupled with a list of angles that Monika can approach the topic from, and of course, spiced up with the specific dialogue, similes, et cetera.

So, these are also pretty hard to summarize, and therefore, I won't waste my time discussing them in-depth. Your current required knowledge is: Monika talks, and she has a lot to say. But for posterity, she can talk about:

And of course, how can we forget the best trivia fact of them all: she's vegetarian, but not for health or moral reasons; rather, she thinks that the carbon footprint of meat production must be dealt with, right now. In other words, Monika is Greta Thunberg before there was Greta Thunberg.

Throughout all of this, interaction is... occasional. It's not nonexistent, but it's also not in your face, and Monika prefers talking into a literal brick wall.


So, this is all cool and stuff, but you know what some people really don't like? Apparently, that you have to play through the entirety of Acts 1 and 2 in order to even get to the juicy stuff.

Therefore, Monika After Story, in its original form released on Day 4, is a rather simple mod, which does two things: one, it deletes Sayori, Natsuki and Yuri before you even start, and two, it moves the script pointer from Act 1 to Act 3, so that Monika will immediately start talking to you. Of course, she will be confused by the course of action, realizing that she had a bit of a mood whiplash that she's never going to go through, but in the end, she embraces the player, who skipped all the "boring" stuff just to be with Monika, and starts with the topics right away.

A simple start, of course, led to the mod and hacking scene exploding, and as I've already mentioned, the inner structure of DDLC kind of forced a split between those preferring hard-coded little stories and those preferring the exploration of AIs built within. Throughout its rather impressive lifetime, Monika After Story has firmly stayed on the latter side, essentially throwing pre-coded games like Pong and chess, as well as utilities like a calendar, at Monika and seeing if she figures out how to include them into Act 3. And of course, how can we forget the beautiful, beautiful sprites, in case you're finally bored of that neverending smile?

Monika After Story is easily the most complicated Ren'Py program that the engine's community has ever seen, and when coupled with DDLC's AI routines, it's basically a match made in heaven. I absolutely do recommend you try it, if you haven't already. Just... make sure you do it with a spare computer that you wholly own and don't care about (and I do mean an entirely separate computer; a virtual machine won't cut it), to make sure it doesn't... ahem explode. See [A002] THE BALANCE BETWEEN A HEARTFELT REUNION AND A DEEPENING RIFT for more details.


But of course, you don't install mods before having completed the base game, and in order to complete the base game, you will have to go to that character folder - which she will explicitly mention, alongside instructions on how to access it in your OS and version of the game, be it Windows, Mac or Linux, Steam or itch.io.

...I feel like I am forgetting something...

Ah, yes, the unofficial Android port! Been a while since we've heard those words, for real, unlike those of your DD or DD2.

So, deleting Monika is an integral part of the game, and must be done in order to progress it to Act 4. Unfortunately for anyone playing the game on Android, you don't get to access a distinct ./characters/ folder, or a folder of any sort, as the entire game is packaged into one big .apk file, which you install into your phone and/or tablet in order to play the game.

So, how does the Android port get around it? Well... by letting you delete and un-delete .chr files from within the main menu.

Yup. That's what that menu option is called: "Menu .chr". And guess what you see when you go to it: little buttons that tell you to delete, or un-delete if the file is already deleted, the four files that you should already know by heart at this point: sayori.chr, natsuki.chr, yuri.chr and monika.chr.

Way to spoil the game. If you've ever wondered why I don't recommend the Android port... well, first of all, it is unofficial and unsupported by Team Salvato, but other than that, this. Here's your exact reason.

At any rate, letting go of the sidetrack, there is one more thing that an aspiring .chr file deleter must know. As your self-insert proves throughout Act 1 and 2, you don't exactly need a .chr file to properly say dialogue stuff, if you're integrated into the game deeply enough. And, as come Act 3, your self-insert is no longer a distinct character, Monika ends up slowly but surely taking over that real estate: the more time you have spent together with her, the better she ends up lingering within the files. In fact, if anything, she even manages to muster a few last bits of conscious thoughts if you delete her right away, but the more you wait, the better she comes out, until at one point, she outright declares that she's fully integrated within the game and no longer needs a .chr file to function, before deleting her own file.

So, yeah. If you waited too long, you're no longer on an archetypal playthrough. But if you did it right, the plot progresses: Monika tries to access her .chr file, can't do it, blames you for it, and then realizes that she still loves you. Finally, she realizes that you were, in fact, longing for the Dokis she deleted, and reveals that she kept backups, which she restores, before restarting the game for its final act.


So, the game reboots, the Team Salvato logo looks okay for one, as does the main menu, no distinct glitches there, except for the fact that there's a big, gaping hole where Monika would usually go. Her sprite isn't replaced with those of the other Dokis in the characteristic square glitch that somehow happens (what was the exact way in which Ren'Py dealt with sprites again?), but instead, is just a blank spot. And of course, save files are wiped, again, as is typical for act transitions, so there's not much to do other than click the "New Game".

And when you do, you're greeted with an interesting picture, to say the least. Sayori, who is back in your childhood friend saddle (that is, if she was your DD), is basically cured of her depression and doesn't oversleep right before school anymore, and therefore, merrily chats with your self-insert throughout the walk to school. All this time, it's obvious that he's kind of hiding a secret from her, but he's still a recluse who gets the suggestion of joining a club; once he hears of that, he just sheepishly smiles and utters something about a secret.

No points for what the secret is: he's joining the Literature Club, of his own volition.

Of course, as Monika is gone, the Literature Club has a new President. On archetypal playthroughs considered by #TeamStats, this will exclusively be either your DD from Act 1 or your DD2 from Act 2, as those were the ones primarily manipulated by Monika throughout the aforementioned acts, and therefore, a) are rewarded the most by the game for coming back and b) are the ones who can actually speak of Monika's manipulations, as remember, being President also makes you aware that you're a game character.

At any rate, your self-insert joins, he, Sayori, Natsuki and Yuri have a casual chat about what they like to read and write - notably, neither Natsuki nor Yuri is highly defensive about sharing their poems, and the two are even "best buds" of sorts, thus making the whole poem writing biz much more inviting for both Sayori and your self-insert - and then, as the day ends, the new Club President approaches you, thanks you for everything you've done, and then, thanks you for getting rid of Monika for her.

That's right - she knows everything, and now, there is nothing separating her from you (once again, just as with Monika and Act 3: you and not your self-insert). Just before the game can be interrupted, Monika intervenes (in the form of dialog boxes), realizing that there is no hope for the Literature Club, and then commences the scripted credits sequence.

In the sequence, Monika, who actually speaks for the first time, decides to present a song that she wrote - presumably, while she was learning the piano throughout the acts. This song is "Your Reality", and is another one of the staples of the mainstream DDLC fandom. While it plays, the credits roll, and are illustrated by the ten CGs throughout the game: the six explained in [1140] CGS: THE BREAD AND BUTTER OF A CHEAP ROMANCE STORY THAT DDLC MAKES ITSELF OUT TO BE, the three explained in [1160] SPENDING THE WEEKEND AND DOING THE PREP: SIGNS SIGNS SIGNS, and Monika's confession, as explained in [1300] ACT THE THIRD: MONIKA'S AFTER STORY. If the CG has been properly experienced, it will be in full color, and if it hasn't, it will be grayscaled and grainy.

While the credits roll, though, Monika first deletes the CGs, making them disappear as they roll, and then, integral parts of the game such as images.rpa and scripts.rpa, thus fully breaking the game. From then on, the credits end with a little message from her, thanking you for being a part of the Literature Club, and this message is the only thing displayed - the only thing that can be displayed - on subsequent runs of the game, thus completing Doki Doki Literature Club! once and for all.


So, whether or not you saw the CGs contributes to the closest equivalent there is to the game's "score". Therefore, if you start a second playthrough, your perhaps most obvious course of action is to try and experience them all.

Of course, some save scumming will be necessary. Another thing to note is that your DD doesn't change throughout the playthrough, even if you revert to an earlier save, and your DD must be Sayori if you are ever to see her confession, which is why the mainstream fandom kind of runs away with the idea that your DD is Sayori, in 100% of the circumstances rather than the 46.7% that #TeamStats report. They also have declared Yuri as the unambiguous DD2 in all cases, mostly because her being obsessive fits better than Natsuki, and they've already reached the preconceived conclusion that Sayori cannot appear in Act 2.

Anyway, sidetrack aside, since your DD doesn't change between saves, and since it must be Sayori in order for that particular CG to be achieved, the best course of action, on the first playthrough, is to save right before the first poem, and then write poems for Sayori. This has a small chance of you being able to save her from hanging, thus pulling you away from the archetypal playthrough (and hence the credits), but in most cases, it works, and after you've confessed her love, you can go through Natsuki's and Yuri's CGs, and then pick each of them as your PD to experience the third CG.

One thing I literally almost forgot, though, is that when you rewind the save, the mutilation that Monika did to your DD's (in this case, Sayori's) .chr file is not undone, meaning that if you rewind your save, Sayori is kind of in a deeper depression than she would normally be. There might be some chance of her hanging herself early, but since it's in Salvato's best interest if you properly complete the 100% run, this is rare and you shouldn't worry about it.

And once you've gotten through prep with both Natsuki and Yuri, and then completed the game's Act 2 and Act 3 (with confessing your love to Monika), that's all the CGs done, and Act 4 proceeds a little bit differently. The new Club President still pulls you away, but instead of complaining about Monika's influence, she actually switches to a hardcoded message by Salvato (which is delivered by the Doki, but is delivered by each Doki in the exact same way, and was confirmed by Salvato to be him speaking in his own voice), thanking you for spending so much time with the girls, and for playing DDLC. The credits then proceed as normal, except Monika doesn't seem to be deleting everything, and instead of her note at the end, you get one by Salvato himself, though with the end result being the same: this final note is all you will ever get to see if you open that particular copy of DDLC.

Whew. That's the archetypal playthrough, done. However, we're not quite done in the one-thousands yet, as there is more to it than the archetypal playthrough.


Before I really get into the departures, which I can briefly guide you through if your playthrough diverges from the archetypal one at specific points, I should really mention one thing: because an integral part of DDLC is going off rails, especially at the dividing points between the acts, and because of procedural generation of dialogue preventing you from being tipped off, these diversions can really look exactly the same as an archetypal playthrough, and therefore, as an aspiring diver into the intricacies of the characters and such, you really need to keep the archetypal playthrough in mind, in entirety, at all times.

With that in mind, some of the most common diversions are as follows.


This is a diversion I already briefly alluded to in [1111] POEM MINIGAME ADDENDUM: THE TRUEST FORM OF WRITING IS WRITING TO ONESELF, wherein your self-insert has nothing to show on the first day when poems are supposed to be shared, and therefore, is accused of joining the Literature Club purely for the romance aspect, which he kind of is. This, in fact, is so often memed that it has even attained its own nickname: "The Worst Ending" (as it ends with your self-insert, out of the Literature Club, not even being able to approach Sayori, his now former childhood friend).

However, what you have to understand is that any single poem, not just the first, can be "excluded", and though your self-insert is rather diligent and will only call it quits after he has tried at least a couple of times, Dokis can forget their poems too, and for much less prudent reasons. Therefore, there is quite a bit more to it than just the Worst Ending.

If your self-insert forgets (i.e. frustrates himself over, to the point of not being able to write) his second or third poem, the consequences are generally much less severe than for his first poem; he is usually able to explain his frustration in finding the right voice to the Doki that he tried to appeal to, and if it's Natsuki or Yuri, she will gladly become his writing coach, occasionally even suggesting to come over to help him (if it's the second poem). This, therefore, leads to an intimate bond being developed right away, Sayori's depression being exacerbated to the point where she is almost guaranteed to be your DD, and the bond continuing up to the point when the Dokis have to divvy up for festival prep, and your self-insert picks his writing coach as your PD without ever giving you a choice. The playthrough then continues as though it were archetypal, and debates on whether or not it is archetypal are plentiful. What mattered to #TeamStats when defining an archetypal playthrough, though, was whether they could even pinpoint your DD and your PD (and your DD2), and therefore, they do consider it archetypal.

However, if it's a Doki who forgets, things get much more interesting. Sayori's forgetting can go one of two ways, as the club is divided: Natsuki and Yuri see her as "not much of a creative type" who "shouldn't be chilling in the Literature Club anyway", and Monika still thinks she is a valuable Vice-President who can help with both org stuff and morale. Regardless, now it's up to Sayori to decide whether she wants to leave the Literature Club or stay in it; (Sayexit?) and if she does decide to leave, your self-insert is given a choice of whether to stay with the Literature Club or to take care of Sayori. If he picks the Literature Club, then Sayori is basically guaranteed to commit suicide, thus giving you a pseudo-archetypal playthrough, but if he picks Sayori, there is a chance of saving her, though obviously at the cost of never getting to date Natsuki or Yuri. In fact, you even get the poem minigame, with your self-insert expressing his love for Sayori through poems, with Natsuki and Yuri being absent, and because they are absent, the minigame glitches as though it were Act 3.

Lastly, Natsuki or Yuri not having written poems for the specific occasion doesn't matter in the end that much, as both of them are already established writers before Monika even suggests the whole poem-sharing biz, and of course, Monika, being the Doki with the Sentience attribute, has a lot of feelings to express and is naturally creatively expressive, meaning that her forgetting her poem is basically undocumented.

This glitch exclusively affects Act 1; if, throughout Act 2, the plot resolves in such a way that a Doki forgot to bring a poem, the game will just insert a Portrait of Markov snippet encoded in Base64 instead, as mentioned in the Act 2 retelling.


I've already alluded to this one, too: you are able to save your DD in the nick of time, and therefore, she is not deleted by Monika, and "Act 1" ends up continuing. The festival is usually skipped over outright, as you have to deal with what is basically an emergency, and convince your DD that she is loved and cared for.

From then on, the game proceeds in a "pseudo-route" reminiscent of the romance routes of other visual novels, with the obvious limitation of it having only two backgrounds: your own house and outside (with Sayori's house, if she's your DD, adding a weak third). It is one where you make proper choices that essentially decide if she lives or dies, and when she lives, whether she loves you or hates you, and is played the way you would play a normie visual novel.

Unsurprisingly, the mainstream fandom loves the idea, and wants to expand it, often going so far as to eliminate any remote chance of suicide altogether, via modding. However, as you will remember, the mainstream fandom's mods are just normal Ren'Py games that happen to use DDLC's art assets and be installed on top of it. The DDLC Purist Mod is a prime example of this, and even tries to make up for the lack of procedurally generated dialogue by adding more, original art and music to really flesh out those post-festival CGs.


This is an interesting one. Usually, Monika will be able to determine the single Doki that your self-insert is showing affection for, and pick her as your DD (and your DD2, in Act 2), but occasionally, she will misfire and have two distinct DDs, both of which die and are deleted.

Needless to say, an Act 2 with just two Dokis is... interesting. Even with your self-insert, that only makes three Literature Club members, one short of the four needed for it to be a formal school club, and soon enough, they are kicked out of their room, being forced to convene in what they decide to be your house, not in the least because it's the only one with a proper background in the game. Also, since there's exactly one Doki you can direct your affection towards, the poem minigame is glitched as in Act 3.

An even rarer phenomenon is for Monika to attempt to target all three remaining Dokis, especially if your self-insert, as inspired by you, is such a true pacifist that he just can't pick a preference. There isn't exactly a "harem" ending per se, and all the Dokis just agree to have an ambivalent relationship with him, but when time comes, they're all Monika's target, and come festival day, they all die and are deleted, thus skipping from Act 1 straight to Act 3.


Act 2 is perhaps the single largest source of DDLC weirdness, if only because it was intentionally designed to be as such by Salvato: after a relatively normal run, the second run is identified not just by your DD missing, but also, by the game going "off rails" and Doki personalities being very much different. It is then supposed to conclude with your DD2 dying, Monika unveiling the stage and asking you to go out with her.

That being said, while Act 2 has a great amount of intentional glitching placed by Salvato for the sake of glitching, it also has a great amount of unintentional glitching: dialogue generation fails that, when unchecked, quickly turn your DDLC story into a Dadaist mess. Once it has become this, then, it is extremely unlikely for any sort of "script" planned into the future to go through.

This scenario can be broadly described as "Act 2, but without any sort of DD2 death". Indeed, it seems extremely likely (in the very least, relatively) for Act 2 to not be able to properly resolve because an off-beat remark, such as that on a poem intended to be gibberish, was taken literally (or whatever), and as such, the story has degraded to something that makes My Immortal look like a Pulitzer winner. Once it has become such, though, one can only thank Salvato's foresight for including Monika: a character who, in case of this bug, realizes that her world has degraded to pure nonsense, fakes a game crash, and once you open the game again, you're treated to Act 3 right away, with her profusely apologizing for what you had to see.

How likely is this scenario, just to quantify? Well, I've already talked about how, per #TeamStats, 70% of all DDLC playthroughs are archetypal (i.e. both a DD and a DD2 can be identified, with their suicide scenes and all that). The truth of the matter is, though, that around 93% of all DDLC playthroughs reach the end credits. Playthroughs of that 23% difference can mostly be found here, in a "bug" that is, in fact, a multitude of overlapping bugs that are hard to identify and document, and in the end, don't matter that much when they still lead to Act 3 and still tell the rough story Salvato wanted to tell, if not the exact story.


Why is this numbered like that? Well, because it's the last bug that you might experience, if your playthrough has been archetypal so far, and because I do reserve the idea that I missed some really common diversion that simply hasn't been documented enough.

So, this bug is relatively simple. In Act 4, Monika still intervenes in the Club President's speech (note that this presumes that you don't have all the CGs, and therefore, are not on the good ending), but instead of deleting the game outright, she just kicks the Doki back into her place, giving her temporary amnesia and thus convincing her that the game's files are not to be messed with. Monika then stays absent from the game, despite lingering in limited form in the files, hence "Passive Monika bug", as the game proceeds as though it were Act 1.

This shares a lot of commonalities with the Glitchless Playthrough, in that the mental health issues affecting the Doki you choose to date are never fatal to her, and essentially, you just get a "normal" good or bad visual novel ending, with the obvious caveat being that the credits never play, and therefore, you can keep replaying the game, over and over again, without having to reinstall it (or delete the firstrun file that can be found within the files, which does effectively the same thing).

However, it is not as much of a holy grail as the Glitchless Playthrough, for two big reasons. Perhaps the first and most obvious one is, well, that the mainstream fandom likes its self-aware Doki, and though she does awful things to her clubmates, she is the one who originally had the idea of the Literature Club (except for the Act 4 verse, where it's Sayori), and other than Yuri, is the most literate one of them all.

The second reason, however, doesn't get talked very much in basically any coverage of DDLC, mainstreamer or hacker, and often, tends to even be forgotten, even though you don't even need to see the Passive Monika bug to see this particular detail, but it's kind of become a footnote beneath "you have a new self-aware Doki, and Monika doesn't want her to do the awful things that she, herself, did, so she wipes the game". Perhaps it should be best added under the main Act 4 heading, but I really think that the trivia fact should really stand on its own.

Alright, here goes. You know how in Act 4, Yuri and Natsuki have become sort of BFFs, and are no longer insecure about sharing their writing? Yeah, that kind of puts a dent into the whole "poem sharing" biz that Acts 1 and 2 are known for. However, you can rest assured that ~ATH will pull a solution out of its bottom: namely, since Yuri and Natsuki read two very different types of literature (horror books and cutesy manga), and since none of the Dokis wants them to put each other down, they decide to diversify: both Natsuki and your self-insert, manga readers, will pick out a novel to read, whereas Yuri, a novel reader, will pick out a manga to read. She, herself, is worried by that last prospect, but in the end, agrees.

Now normally, this is where Act 4 ends: you're left alone with the Club President, she wants to start up her own After Story with you and Monika wipes the game. However, this isn't "normally"; this is my explicit zone for the bug exposé, and we're talking about the Passive Monika bug, wherein Monika doesn't do that, instead letting your self-insert have a happy ending with one of the other Dokis, and the game marches on to what would be the poem minigame, but instead, becomes sort of a "book-picking" game, in which you're given exactly one page (though, I presume the correct interpretation is a book shelf), from which you pick a book, and since you only get one chance at it, hopefully you know what themes each Doki likes. If not, just refer back to [1110] THE POEM MINIGAME: FOR THE CASUAL PLAYER. Oh, and remember: just as with Acts 1 and 2, the Club President is not even under your consideration, as much as she would like (especially if it's Sayori).

This is where things kinda start going completely unscripted, but also, kinda don't. You still have the potential for quirky CGs with your Doki of choice, and the festival still happens to an extent, but the variety of slice-of-life actions, reactions and character dynamics is just so great that it's hard to say anything about Passive Monika playthroughs, as a whole.

That being said, it's not necessarily impossible. They do have a documentation advantage, since an ending just gives you a normal "END" screen which boots you back to the main menu, and since Monika never interacts with the game, you'll never be locked out of the game after the credits. But even then, it would take a good chunk of someone's time to play through lots and lots of Passive Monika playthroughs to try and document them, and neither mainstreamers nor hackers find the prospect particularly delightful. Nevertheless, it's only right of me to write up something more extensive in that regard, and that writeup of mine is at [A010] TOPICS IN DEPTH - PART 2: MAPPING OUT THE PASSIVE MONIKA STORY TREE.

This is more likely to be achieved if, during Act 3, you manage to indicate to Monika that you don't actually love her, and that you prefer the other Dokis. Odds are, she will delete her .chr file and her presence herself, but whether it's her or you who deletes the file, the result is the same.

And that, I believe, is all. Now, we can start to see what happens when you get bored of it all, and decide to mess with the game files outside the single part of the game that expects you to mess with them, and outside the single change that you're supposed to do.

And this is where I'll have to stop writing for myself and just publish the damn thing.


Now this is a little doodad that you'll have to get used to, throughout this document. Eventually, I am going to talk about .chr file scumming in order to let you open up paths of DDLC that would otherwise be impossible (or at least, "undocumented-extremely" rare) and explore them to the fullest, thus analyzing DDLC more fully, both critically and technically. As such, it will definitely get updated for future sections, but for now, you only need to see what we already covered.

your DD is likely:your DD2 is likely:SayoriNatsukiYuriŷÔÍŁÛåòÆÖĝstart or end soft restart act division archetypal diversion skip of plot beginning of the game either a fresh copy is downloaded from ddlc.moe or firstrun is deleted on an unmodified copy Day 1 your self-insert joins the Literature Club on Sayori's insistence and agrees to write a poem Poem Minigame 1 ideally, your self-insert has written a poem and one of the Dokis likes it the most, thus allowing the game to proceed with her CG Worst Ending your self-insert has no poem to show, Doki trust is betrayed and he leaves the Literature Club Poem Sharing 1 ideally, each Doki gives her opinion on your self-insert's poem, except for Monika, who just states which Doki the poem reminds her of the most, before sharing a Writing Tip of the Day Sayexit Sayori has no poem to show, her attitude is questioned and she leaves the Literature Club your self-insert stays with the club, alienating Sayori and ensuring her depression leads her to commit suicide your self-insert leaves the club to take care of Sayori, and the game kinda breaks down, but not fully; she, herself, can go either way Poem Sharing Continues ideally, your self-insert continues writing poems for a specific Doki, and thus, developing his relationship with her, making her your DD Festival Prelude under the hood, Monika begins manipulating your DD's .chr file, and she begins showing mental health issues more prominently Festival Prep Dokis group up in order to prepare for the festival, and your self-insert must pick either Yuri or Natsuki to help with her task The Weekend if your DD is either Sayori or the one you chose to do prep with, she reveals the true extent of her problems to your self-insert, and then confesses her love to him Monday one way or another, your self-insert discovers that your DD has committed suicide, and Monika deletes her .chr file, thus capping off Act 1 Glitchless Playthrough your self-insert saves your DD in the nick of time, and the game proceeds as a "normal" dating sim 2 or More Dokis Die in case of all 3 non-Monika Dokis dying, the game skips to Act 3; otherwise, it moves on to a variant of Act 2 the Literature Club is forced to move off-school due to an insufficient amount of members, and starts convening in your self-insert's house Day 1 your self-insert joins the Literature Club on [Sayori/Monika]'s insistence, as well as the school's rules asking for a club with at least 4 members, and agrees to write a poem (minor glitching present) DD2 Troubles Monika begins manipulating another .chr file, thus making another Doki (your DD2) try and resist the changes, becoming more and more obsessive to the point of being considered "yandere" DD2 Death your DD2 commits suicide, in a more violent version of her Act 1 suicide, on Friday and the game spazzes out until Monday, at which point Monika deletes everyone but herself Monika's route Monika reveals her nefarious schemes, her eternal love to you and other game secrets (except not really), and then proceeds with an indefinite amount of "topics" Fully Integrated Monika after a certain amount of time, Monika fully integrates herself within the game, growing beyond the need for a .chr file, and deletes her own file; there is no definitive end to the game from this point on Monika's regrets after you delete her .chr file, Monika lashes out at you, before beginning to show remorse for her actions, and then proceeds to restore the other Dokis Happily ever after? your self-insert joins the Literature Club of his own accord, wishing to surprise Sayori, whose depression problem seems to be gone I remember everything. it turns out that either your DD or your DD2 is the new Club President, and as she has the Sentience attribute, she is cognizant of all the manipulation that Monika has done Passive Monika Monika intervenes, but only minimally; the new Club President is scared away from using Sentience-related abilities, and the game proceeds as in the Glitchless Playthrough The Equivalent of Ragequit Monika intervenes, declaring that there's no happiness in the Literature Club, and starts wiping the game's files The Good Ending provided that you have seen all the CGs, Salvato intervenes, speaking as the new Club President, and thanks you for all the time that you spent with the Dokis Credits as the credits roll, the song "Your Reality", ostensibly by Monika, plays, and if not on the Good Ending, files appear to be deleted (they are deleted either way) The End. the final note from [Monika/Salvato], thanking you for being a part of the Literature Club, is the only available screen on subsequent replays without deleting firstrun Doki Doki Literature Club!: Bugs, Glitches and Exploits for Dummies https://dokidocs.net/glitch_faq/ [199D] A DIAGRAM OF THE PATHS AND ENDINGS SO FAR - VOL. 1 © 2020 CreativityTheEmotionACT 1 ACT 2 ACT 3 ACT 4


This, on the other hand, is just something for convenience's sake: me going through all the terms I've mentioned in the one-thousands, so far, and putting them all into a chronological glossary. Its primary use is as a reference: whether you're reading through the one-thousands for the first time or you find yourself not understanding a term I introduced in that section when reading later on (by the way: hey from the past), this and the other [***G] sections are where the term explanations live.

Your self-insert (hacker community) | protagonist / main character / MC (mainstream fandom) - the guy you play as, writing his poems and such. The DDLC fandom is diverse and views on him differ, but an analysis of the ~ATH scripts shows an intrinsic connection between you and him, with him definitely picking up a trait or two from you, and therefore, not being a tabula rasa like most mainstreamers would like him to be.

Archetypal playthrough - a convenient statistical term put forward by #TeamStats in order to analyze the multitude of DDLC playthrough recounts. You can think of this as a playthrough "as Salvato intended", with glitching only occurring on specific places and acts transitioning according to a "master plan".

Designated Doki (shorthand DD) - the Doki who Monika comes to manipulate throughout Act 1, driving her to suicide. Contrary to popular belief among the mainstream fandom, this is not guaranteed to be Sayori. I also accept the alternative readings "Doki Death" and "Doomed Doki", but you can see why I chose a bit more neutral term.

Prep Doki (shorthand PD) - the Doki who you choose to do festival preparations with in Act 1. Usually, the mainstream fandom gives Natsuki's prep CG more love than Yuri's, but the most valid approach to play the game, assuming your DD isn't Sayori, is to pick your DD as your PD.

Designated Doki 2 (shorthand DD2) - the Doki who Monika comes to manipulate throughout Act 2, driving her to suicide. Contrary to popular belief among the mainstream fandom, this is not guaranteed to be Yuri. The alternative readings for "DD" also apply here.


Disclaimer: Team Salvato's IP guidelines explicitly forbid using DDLC as released, as well as the related art assets, directly for profit.

So. Now that we've established what an archetypal playthrough even is, as well as the basics of how the Dokis should act, we can get proper crackin'. Simply relying on RNG, or in the case of a ~ATH-based program such as the one we're dealing with, minute changes in your personality as part of growing up in order to induce changes needed to exploration... definitely can be done, but that's like saying that evolution through natural selection can take us from a dinosaur to a human. First of all, of course, it can't - dinosaurs are the ancestors of birds, not mammals - but also, that sort of process takes millions of years, and I just don't have such time. By then, as I'm taking the old town road made of brilliant yellow bricks, I'm not even going to get anywhere close to the rabbit hole in my lifetime, and someone else, a team of hundreds of hackers, will probably end up paving the road and creating the second ~ATH game to wow all of our minds. And then, who will read my beautifully crafted DDLC guide?

We're going to need something to induce those changes faster. And before you all cry in your pajamas about me "straying from the true nature of DDLC", let me tell you that y'all, the ethics folk talking about animal cruelty when the ability of individuals to feel pain is as limited as possible, are the reason why the entire culture of meat, as well as eggs and milk, is slowly but surely going away, along with all its subtleties, whereas alcohol, though it's actually poisonous, is here to stay and might even see a resurgence. And yes, that includes you, Monika. You may not be a "real person" as far as the ethics of manipulating DDLC go, but you are a real person whose values regarding animal cruelty, which will inevitably come to define AI cruelty once the law catches up with worlds of pure innovation such as DDLC, need to be reconsidered and revised.

So, what I'm trying to say is, we're going to be introducing changes of code to DDLC, starting with .chr files and then slowly working our way up to the Ren'Py part, analyzing each portion of its source code. Then, we're going to have a ~ATH tutorial so that you can be up to speed and code something of your own, and after that, the three-thousands are finally going to contain the meat of it. You hear that? We're going to finally know why DDLC does the stuff that it does.

Baby steps have to be taken first in order to achieve this goal, however. That's what I'm trying to say with the "graded" part of "graded tutorial". I think.


(Since I don't exactly have a better chapter nomenclature in place, while [2000] established the two-thousands, this chapter establishes the twenty-hundreds.)

You know about this change. No matter how much you ethics folk may cry about it, manipulating .chr files, and, in particular, deleting Monika, thus "killing" her, is part of the game's design. If you do that (within a somewhat arbitrary time frame), you get Act 4 and then the game's credits. If you don't, then you simply stay with Monika forever, and if you haven't done that on any copy of DDLC, then I'm afraid to break the news to you, but you haven't completed the game and therefore cannot indulge in this guide. It's the law, man. Or rather, the explicit wish voiced by Salvato.

But ignoring that: what happens when you try and delete .chr files outside of Act 3? Enter the chronological exposé.


If Monika is deleted before starting up the game, the glitch that ensues is well-known even to the mainstream fandom, to the point where, if they ever made a completely hardcoded version of DDLC, this would still make it in. Without Monika, the Literature Club needs a new President, and without intel about you, shaping up your self-insert and therefore defining your DD and all that jazz, the standard line of succession means that Sayori, intended to be the Vice-President in an unmodified game, is now President.

Unfortunately, the version of Sayori that you download from the game is not quite equipped to deal with the so-called "epiphany" that knowing that you're a game character entails, and she ends up deleting the game before she even makes it to school - something that, were the Sentience attribute to just stay with Monika, would have been patched out long before release. However, instead of a "final farewell" in the format of a poem, the only thing left behind from the executable file is a black-and-white image of her hanging, and then, if you wait for ten minutes, something that is kinda indicative of her troubles, whether she is your DD or not: "Now everyone can be happy."

And if you're thinking that you're going to be a smartypants about it and delete Monika and Sayori, well, I've got some bad news, because if you do that, the exact same thing happens with Yuri, and even Natsuki if you choose to delete Yuri as well. It just goes to show that none of the Dokis, except for Monika, is equipped to deal with the stuff.

Of course, you might be thinking to yourself that Act 4 is different; that there, Dokis do, in fact, handle the whole Sentience biz pretty well. However, that's because Monika (or, well, whatever did those changes) changed the .chr files to be more like Monika's. In fact, this is why Sayori no longer has to deal with depression; those sorts of troubles were overwritten with Monika's. Anyway, .chr file substitution is going to be talked about in a while; we still need to get through deletion and then reinstitution first.

So, deleting Monika works out like that, with one case that I haven't talked about: deleting all the Dokis, before the game even starts. With that, well, you don't have much of a game. All you really get, when you select "New Game", is the same sort of starry field that you get after deleting Monika in Act 3.

Okay. What about keeping Monika there, and only deleting non-Monika Dokis? Well, it works about as well as it did for, well, Monika, and you can essentially skip to either Act 2 or the modified Act 2 described in [1530] WHEN MONIKA IS BAD AT PICKING TARGETS. However, if you try to take this line of thought to its natural conclusion, namely that you can delete everyone but Monika and skip straight to Act 3 as though you were following the first steps of the Monika After Story devs, then it doesn't work.

It doesn't work. Did you get the impression that, because ~ATH lets you command the game telepathically, that the manipulation of the game files is super-convenient, too, and that by making the changes you want to make, you'll get the intended result? Well, the game doesn't necessarily dislike you manipulating it like that, but the whole purpose of the game is to troll - presenting itself as a cute dating sim, only to turn into psychological horror. Isn't it the fact that April Fools was even intended as the original release date? Yeah, that should tell you a lot about the character this game has, whether or not you choose to modify the files.

At any rate... what you get, instead, is a scenario wherein Monika founded the Literature Club fairly recently, and is looking for new members, and chances upon your self-insert. Because he's the second person to show interest after Monika, he gets the title of Vice-President by default, and since the only thing that he has read in recent years is manga, Monika must accept the idea that manga is literature, for once, and somewhere within your Recycle Bin, Natsuki's .chr file is pouting, saying something along the lines of "it's not like I appreciate this development or anything, baka!"

However, Monika is still determined to bring your self-insert's attention to real literature, and she begins by telling how she has been expressing herself through poetry, and even tells him: "hey, you should really write a poem! If nothing else, it'll help bring us closer together!" And so, he decides to humor her and write a poem for the next unofficial club meeting.

Then, when you get into the poem minigame, you're basically just given words. Normally, the point of the poem minigame would be to appeal to a Doki who doesn't have the Sentience attribute, but because you deleted all of them before starting to play the game, you just get words. And by the way, no, the sort of glitching that happens in Act 3 and variants of Act 2 doesn't occur: you just don't get chibis on your epic poem page, at all.

Anyway, this sort of thing continues and your self-insert and Monika (rather superficially) bond, until he suddenly asks her a question: if she's really taking the Literature Club seriously, why isn't she searching for new members? This definitely gets her to think (of a lie to tell him), and once she mulls it over, she realizes that those three gals don't exist anymore, and therefore, the game should have already switched to Act 3, but it hasn't, and she's gonna make it switch now. So, she makes the switch, Act 3 as per the archetypal playthrough continues and that's about it for the last aspect of deletion before the game begins.


If a saved game is at least partially underway (i.e. you have put in your name and are loading from a saved file), then deleting a Doki has basically exactly the same results, whether it's you or Monika who does it. Again, this only concerns non-Monika Dokis; should you delete Monika while it's not Act 3 yet, one of the remaining Dokis will flip her shit and wipe the game.

However, as you might have noticed, it's only one Doki who's being manipulated throughout Acts 1 and 2, and two more remain (well, one more in Act 1), and if you delete them, things get somewhat more interesting, but not by a whole lot. Essentially, if it's Act 1, you end up in a shortened version of Act 2, and if it's Act 2, Monika comes out of the shadows and goes "yes, just clean up after me, we don't need the other girls anyway".

The most interesting scenario falling into this category is perhaps one when it's close to the end of Act 1, your DD is feeling like absolute shit... and then you delete someone else. You know, perhaps you think that you are a cool guy or gal, trying to cheat fate just like that, and, I suppose, save your favorite Doki by sacrificing someone you don't like. Well, the manipulations of the .chr file that you didn't delete still exist; they're persistent and the file is being actively modified throughout your time playing DDLC.

Therefore, you only end up getting a disappointingly short Act 2, wherein your miraculously saved DD isn't feeling too well about the Literature Club's growth. Once the gals, as well as your self-insert, resolve to write poems, she's just like "no, I need to contemplate on my own and trying to write it down would be detrimental", and then she doesn't turn up for the next club meeting, and you check in on her, and she's dead, and it's time for Act 3.

Lesson learned: you can't really cheat fate.



[2014] THROUGHOUT ACT 4: ...WHY?

This can roughly be divided up into two scenarios, just like before: deleting the Club President and deleting someone else. Deleting the Club President just ends up having the same effect as deleting Monika before Act 4: the "next one in the line of succession" (Act 4 usually does not mention the Vice-President, but you can bet that the line of succession still exists, although it might no longer be (Monika) → Sayori → Yuri → Natsuki) flips her shit and is about to wipe the game, but then Monika comes in, goes "nuh-uh, this is my job to do at this point in the script", roll credits. Nothing really special there.

However, if you delete someone else, interesting things happen. This mostly concerns the Passive Monika bug; without it in place, Act 4 is just not that fun to explore. If only two Dokis remain, we enter the rough scenario already discussed in [1530] WHEN MONIKA IS BAD AT PICKING TARGETS, but without the manipulation part, repeating over and over again.

Now, if only your Club President remains, that should be an indication to kickstart the "Just Sayori/Natsuki/Yuri" routine, with one caveat: there is no CG to match, and instead, it just ends up being the Doki in question, realizing that nothing else in the game matters and doing some Monika-esque moves, but otherwise ready to chill with you.

While it is theoretically possible to code an After Story mod around this particular scenario, unfortunately, I have to disappoint you: most of the famous mods in the After Story genre, such as Just Yuri, Just Natsuki and Forever and Ever (that's a Sayori version), are just mainstreamer mods imitating Monika After Story, and then there's a mod called "Sayori After Story", which manages to stoop below the ranks of even those, instead being just a complaint told through Sayori's voice about how she hasn't gotten an After Story based on her yet.

But hey. Once you get the hang of DDLC hacking, perhaps you can be the change you want to see in the world, and make a proper hacker-made After Story for your favorite Doki, assuming it isn't Monika, which... why? She's literally the guardian angel of hackers, given that she is the one supposedly manipulating the game code.

Nevertheless, I'm not here to judge your choices; once you've mastered the art of DDLC hacking, the Literature Club is your oyster.

Once you've mastered the art of DDLC hacking. Just deleting .chr files is not going to cut it in this world, which is disappointing since that's literally everything Monika needed to do in order to get the ending. And then, she has the gall to say that she "worked so hard in order to achieve it".


(Ooh, look at me, I'm a chapter with the same number as the current year.)

In order to simplify this, and not suddenly get into the territory of what I like to call .chr file scumming, the following results have been achieved by making backups of files from the originally downloaded game. Look for detailed instructions on how to do that on your platform of choice elsewhere, but in general, it doesn't get that much more complicated than "copy the .chr files outside the game directory".

Obviously, copying them over to a safe place, then copying them back into the DDLC directory before the game starts, serves to do exactly nothing, meaning we can immediately move on to:


The first and most interesting idea that you might have, of course, is this: having read about how Monika manipulates .chr files to achieve greater goals, you simply keep restoring the original copies - that is, when you're able to spot who your DD is. Since trying to do this to anyone but your DD wouldn't end up serving much, that's the only real scenario that we can talk about here.

And, to say the least, Monika won't be happy.

Of course, Monika herself - I'm oversimplifying a lot about what makes a particular part of DDLC "Monika" or "not Monika", and that requires a separate essay in the three-thousands - knows what sort of modifications she did to your DD, and once she finds out those modifications are no longer present, her reaction varies. "Best" case scenario (for your DD), the modifications only end up more severe, and "worst" case scenario, Monika just decides not to deal with the bullshit and deletes your DD prematurely - or worse, delete Dokis who have nothing to do with it, too, thus making you skip to Act 3.

Of course, given that changes build up over time, the most drastic of changes can be seen during the tail end of Act 1, when your DD is at her absolute worst. Reinstituting her .chr file from the beginning of the game will obviously help her issues, but at times, she might even be confused due to lacking memories from the rough past week. However, all of this is irrelevant as Monika, during Monday, rather than giving your self-insert the usual suicidal poem and warning him to check on your DD, addresses you, directly.

Her mini-rant varies in content, but a recurring theme is how you're trying to cheat fate, how you're trying to mess with game mechanics that you don't really understand (and seemingly, your actual proficiency with DDLC and ~ATH doesn't matter, as Salvato never really expected a team of people reverse-engineering his game to even crop up), and how she wants her happy ending with you, which you're not getting in the way of. And thus, cue:

> os.remove("characters/sayori.chr")
> os.remove("characters/natsuki.chr")
> os.remove("characters/yuri.chr")
> renpy.full_restart(transition=None, label="splashscreen")

(If you're not really into code, don't really worry, as the only thing you need to know is that none of these Python lines executes a ~ATH script.)


First things first: restoring your DD after she's deleted? Doesn't work. If it's right on the act division, before you've attempted to load your Act 1 save, you get the most success, but then Monika realizes she's having déjà vu, it's tied to the .chr file that she thought she deleted, she thinks harder, deletes the file and then restores the game state herself, because that's the only way she can be sure that Act 2 will proceed (obviously, acknowledging that "Act 2" and similar terms are purely fandom inventions).

Of course, since your DD was the one you were affected the most by, almost by definition, it probably won't come to your mind to save your DD2. However, while your own psychology works against you, there's something working in your favor: and the issues with your DD2 will be visible at a much earlier point, when you try and directly compare Act 1 and Act 2, so you have a bit better luck trying to sneak the changes under Monika's hood. But alas, if you push your luck too much, Monika will realize what you're doing and lose some of her trust in you, but still have plenty of it to sit together with you for eternity, meaning that she can proceed with deleting the other Dokis and beginning her After Story.

And lastly, the third Doki (not Monika, not your DD and not your DD2) mostly lives through the game with her .chr file unchanged, right up until the point when she's deleted. Of course, she's still observant of the world around her (even if she doesn't have the Sentience attribute), but as far as trying to reinstate her as her beginning-of-the-game self goes, you end up not really having any effect on her.

Really, I only have this chapter here as to have the chapter numbering, within the twenty-twenties, strictly correspond with the act being talked about. Once I move on to .chr file scumming, I won't really have the opportunity, as instead, I'll have to talk about different techniques you can use to produce certain types of character file and situation.


As with Act 2, restoring any of the non-Monika Dokis after they've all been deleted? Doesn't work. Dependent on how much time you've spent with Monika, either she immediately spots the newly added .chr files, deletes them and scolds you for a bit, or, if you've left the game open for so long that only its cyan ink remains, the game's innards have fundamentally changed and .chr files just straight up don't work with it.

What about Monika, then? Well, her .chr file is the only one that doesn't change throughout the entire game, and so, replacing it with something that's exactly the same... isn't gonna do much (that applies to Act 3, as well as Acts 1 and 2, hence why I didn't talk about Monika much in either [2021] or [2022]). The only noteworthy scenario in this regard is if you try and reinstitute the .chr file after she's already outgrown the need for it, in which case, she'll think that it's cute that you've held on to it, but then, reiterate the truth bomb I already dropped on you, and delete something that can't even really be called "herself" anymore.


Whether it's normal Act 4 or one affected by the Passive Monika bug, restoring Monika? Doesn't work. She will only give you a brief popup message saying that her heart won't be toyed with anymore, before deleting herself. Essentially, she takes the path of inaction, until and unless she doesn't.

Replacing the existing file of your new Club President? You already know how the unmodified .chr files take to being associated with Sentience, already, and essentially, you've fucked up your chances of seeing the credits at the last possible moment. Truly, if there were the DDLC Darwin Awards, and the point of Darwin Awards was to prevent yourself from seeing the game credits and not to eliminate yourself from the gene pool, and the award ceremony weren't canceled due to reasons you, living in April 2020, should be painfully aware of, you would be the winner.

And lastly, replacing the existing files of the other two Dokis? They're already the way they were at the beginning of the game, since either way (normal Act 4 or the Passive Monika bug), your new Club President doesn't do much in the way of modification of .chr files.


For this section, you only really need to understand that there are two types of changes done to the .chr files throughout DDLC's course:

Given these two and no other changes to the game's Ren'Py and/or ~ATH code, ultimately, there's not much that can be done. However, that still gives us some opportunities. Now, imagine that I'm pausing the essay for a bit and giving you some time to think about it. How, in particular, would you manipulate the .chr files in order to have:

Go on. Stop reading after this sentence and go to think; I'll even have this helpful gap here for you.



Time is up. I dunno how much time you gave yourself. You know what, at this point, I am essentially guiding you through the world of DDLC hacking, and I need to assess how much you are willing to learn, so yeah, I'm officially psychoanalyzing you.

Whether you got the answers right or wrong, at this point, is irrelevant. After all, if you got them wrong, that can be a learning experience for you, and you are absolutely here to learn. What matters is: how much time did you spend at [2030], and how did you even get here in the first place?

How much time did you spend at [2030]?

How did you even get here in the first place?

Anyway, with that bullshit aside, we can move on to the actual answer section.


Quite obviously, your key here is to take the .chr files from the beginning of Act 4. However, what you might have failed to anticipate is that throughout Act 4, there is exactly one non-Monika Club President, and therefore, you essentially need to replay the game three times, hope to Salvato that you'll get three different Club Presidents, and then paste their files to the beginning of the game.

Of course, if you remember me talking about Act 4 way back (the relevant chapter is [1400] ACT THE FOURTH: NO SALVATION), you'll know that your new Club President will most likely be your DD from Act 1, and there's a sliver of a chance that she'll be your DD2 from Act 2. Therefore, that gives you an opportunity to hedge your bets and ensure a smoother playthrough.

Obviously, if you wanna do this in the least amount of time possible, you're going to go to the options menu, and under the "Skip" section, select "Unseen Text". And then, you will merrily skip throughout the parts of the game that are irrelevant to the particular manipulation, and everything will turn out right. Right?

Well, kind of. One thing you might wanna watch out for, if you're speedrunning the game like that, is that ~ATH scripts kinda tend to run independently of your computer's actual clock speed, and therefore, can end up frying or even exploding less well-suited electronics, such as cheap laptops, during these "skip" phases. If you've got your standard gaming rig, even one that would be relatively sub-par in the world of /r/pcmasterrace, that's a non-issue, though.

Just saying. This is the first chance for your computer to explode due to ~ATH, and you can't say that I didn't warn you.

I must say, though, that the resulting playthrough is... interesting. Even though the non-Monika Dokis aren't exactly aware (since that depends on the Sentience attribute, and we've already established that exactly one Doki can have it at a time, and that will invariably end up being Monika throughout Acts 1 through 3), they have a hunch on what Monika is trying to pull, and might even confront her about it. Thus, instead of suicide, their final action ends up being exacting revenge on Monika, and she just kills the DD and DD2 in question herself (that's strangling Sayori, stabbing Yuri and pushing Natsuki out to the street).

Then, there's Act 3, and she realizes that you are pissed, as there's blood on her hands in a much more direct way than in a vanilla archetypal playthrough. Cue her wiping herself off the ./characters/ folder and Act 4 proceeding, still with all potential Club Presidents but exactly one actual Club President, and with the Passive Monika bug in effect.

However, at this point, the Club President knows what Monika did, and she knows that she won't be scared by her anymore. Therefore, the game from this point on ends up being a battle royale of sorts, in which the club dwindles to just the President again, she restores the two remaining Dokis, they attack each other's guts, the third President deletes herself and you're left with a "victor", though the more accurate word here is "victim".

Anyway. Sidetracks aside, you still need to know what the other two scenarios entail - I mean, how you achieve them.


Can I just talk about how broken, as a social media, Tumblr is? Like, perhaps the most emotionally stricken posts tend to be the ones most reblogged, meaning that they are the ones that you most likely form your opinion on Tumblr based on, but it seems that just about everyone there is a physically and mentally crippled, about-to-be-homeless artist who, if they can still muster at least some conscious thought, is taking commissions, and if they can't, has a family member posting on their behalf asking for donations.

Anyway, mini-rant aside, a potential answer here is to take the first kind of manipulation, take the .chr files from just before the Doki in question dies, and then return them to the beginning of the game so that the effect can stack up. However, if you do this, you'll begin to notice at least several issues with the exact approach.

First of all, if you're only using Act 1, then it'll be exactly one Doki who's getting the absolute worst of it, and becoming your DD every single time. That, of course, is your DD from your first playthrough, and since I don't want to bother coming up with zany indicators, I'm just going to assume that it's Sayori, since that's what the mainstream fandom assumes. So, you keep stacking depression onto Sayori, and it gets worse and worse - on some playthroughs, she might not even be ready to get up on time, or even at all, meaning that Monika has to step in and invite you to the Literature Club as though it were Act 2 - but throughout it all, Natsuki and Yuri are unaffected. (Well, their own psychologies don't really change, that is; they are absolutely devastated by their club member turning into a literal piece of garbage, even if Natsuki is too tsundere to show it.)

An improvement to this technique, of course, is using Act 1 and Act 2, "saving" your DD from before she dies, and then, your DD2. Assuming that it's Sayori and Yuri (don't blame me, blame the mainstream fandom), you might begin noticing a pattern from your second playthrough onward: once you start again, it's Yuri as your DD and Sayori as your DD2. Then, on the third playthrough, Sayori is back in the DD saddle and Yuri is back in the DD2 saddle, and they keep alternating like a Möbius double reacharound, and all this time, Natsuki just watches. This, of course, is because Monika is a lot more aggressive with your DD2 than with your DD, and that ends up being the worst condition on your next playthrough, meaning that in it, Monika targets her first. While the resulting pattern is definitely curious, that, still, is a mission failed, as you absolutely want Natsuki to get the worst of it, too.

Therefore, what you really need to do is have parallel strings of playthroughs, wherein a playthrough can only receive .chr files from the previous playthrough in its particular string. I hope this makes sense. If you are taking advantage of Act 2 as well as Act 1, you can make it as few as two strings, but if you don't really like obsessive Dokis and only want the Act 1 sort of damage, then you need three, one for each non-Monika Doki.


If you figured (or guessed) that there's no way in which it can be done through pure .chr file scumming, you are right. However, if you stopped at that point and didn't think outside the box, about how that change I requested could be done if you didn't limit yourself to .chr file scumming, then you are very wrong.

There are actually a couple ways to do it, and I guess, I need to sort them a bit, which will require these bold headings rather than the normal ones.

The method that involves Project Sentience

Remember that thing I taught you early on, and kept in your mind throughout the document? The Sentience attribute? How it's actually accessible from the Python part? Yeah, this is where it becomes relevant. Essentially, my note that the damage is done by Monika is kind of a lie; it's actually done by whoever happens to have the Sentience attribute, and as you know, throughout Acts 1 through 3, that happens to be Monika, basically invariably given a fresh, unmodified copy of DDLC.

Even with a little bit of Ren'Py skill, which doesn't amount to more than inserting a script after the whole procedural dialogue system is loaded but before the main menu shows, that changes who the Sentience Doki is, you can, well, change who the Sentience Doki is. And then, once you've nabbed her appropriate .chr file from Act 4 using the method described in [2041], you can have her be the Club President, with everything that it entails - and yes, that includes the possibility of Monika being your DD for once.

However, the resulting game kinda ends up being buggy, as now there are CGs, for your newfangled Club President, that you're never going to access, and Monika, now a regular dateable, needs CGs that she can't get, and your new Club President needs the "Just Sayori/Natsuki/Yuri" CG that she also can't get. Of course, these can potentially be supplied, but I'm still getting ahead of myself.

The method that involves making a copy of the Monika file

For the second method, I actually figured that renaming .chr files to something else can be useful. Unfortunately, I only really cover .chr file renaming in the next sub-sub-section, and therefore, that will have to wait until [2051] GIVING MONIKA A TASTE OF HER OWN MEDICINE - PART 3.


If there's been a voice inside your head, telling you that DDLC hacking isn't for you, hopefully I've shown some evidence so that the voice can make up its mind. However, if there isn't such an entity, and if you've endured my absolutely-not-ramblings, then you're welcome and we can proceed to something more interesting.


As someone who's a very active fanfic writer, making characters "out of character" is one of the biggest boogeymen that I have. If we imagine that this isn't an epic-length documentation of the game mechanics, and instead, a simple slice-of-life high school fanfic in which the Dokis just chill, you would expect Sayori to act like Sayori and Yuri to act like Yuri. In fact, even when this is an epic-length documentation of the game mechanics, you still expect Sayori to act like Sayori and Yuri to act like Yuri, because if they don't, the game is bugged to hell and back and I need to document that shit instantly.

That, or you thought you were particularly clever and renamed the .chr files.

First of all, simply adding novel-named .chr files like Copy of monika.chr isn't going to work. As I will talk in the Python part, there are specific definitions for each Doki: what her character name is, what potential expressions she has and so on. If the game finds something like Copy of monika.chr or amy.chr in the ./characters/ folder, it straight up doesn't know what to do with it, and the game just proceeds with the Dokis that it has.

Sorry, Amy fans. She still loves you almost as much as she loves spiders. Almost.

That being said, there is a way around it, and it involves a process similar to fan Doki creation. Unfortunately, I haven't really covered fan Doki creation at all, but the first part of it is something that I can cover at the end of this Ren'Py analysis section. Said coverage will come up when I'm not tired from trying to cover ~ATH, and will be a subject covered in [2500] REN'PY MANIPULATION ADVANCED: FAN DOKIS.

Anyway... renaming .chr files to match other Dokis is an "eh" technique at best. Oh, look, it's a Doki who has all the hallmarks of Natsuki's personality - tsundere, a good baker, abusive family - but Monika's name and looks, complete with the trademark white bow. Also, unless you used the Club President Natsuki .chr file from Act 4 and renamed it to monika.chr, she undergoes the crisis already explored in [2011] BEFORE BOOTING UP THE GAME: MOSTLY PREDICTABLE RESULTS and wipes the game.

To add onto this, if you have already looked within images.rpa, you probably noticed that each Doki has a sprite sheet defining all her possible expressions, and within each Doki's set, certain expressions are missing. For example, Monika doesn't really get sad or cry; the closest she gets is expressions q and r, which can be best described as "solemn". Likewise, Sayori seems to be mostly incapable of getting angry; she has exactly one expression that allows for that, j, and that just conveys the "no, I'm on the lookout for you" banter she regularly has with your self-insert. If a different .chr file tries to access those, the game will break, but it's not the fun type of breaking that hackers and myself are inclined to explore.

Also, if you only exclusively swap non-Monika Dokis, as I already alluded before, circumstances and mental illness are contained within the .chr file, and what Monika does throughout Acts 1 and 2, really, is just amplify those. Don't take it from me, take it from her. Yes, I know I did the whole Politifact segment where I dissected her statements and proved a subset of them to be bullshit, but as far as this aspect goes, this one's accurate. Therefore, your funky renamed "totally-not-Yuri" Natsuki will still get the same, Yuri-esque issues that you would get if you simply left yuri.chr where it is, although there isn't really imagery of Natsuki cutting herself, so that part will be bugged.

Maybe, at some point in the future, I will have a full chapter here, and perhaps, amazing new glitches will be discovered and documented, which will let you manipulate DDLC, beyond what I already outlined in the twenty-hundreds so far, without any programming knowledge required at all. However, as of this date? No.


The future is now. Let's get diving into what can be done to, I guess, make Monika pay back for her mistakes. (That is, if you see Monika that way; I personally don't, but I wouldn't go so far as to say that I don't condone this sort of action.)

The trick here is to actually have two copies of the Monika file: one will remain named monika.chr and the other one will be renamed to one of the existing Dokis. If you really want to go the extra mile, you can code in a fan Doki who's named "Monika-Two" or whatever (or maybe you can give her a cutesy nickname; I'm personally thinking of Maria, the fake name of the girl appearing in the yuri.chr creepypasta), but either way, the end result is that you have a Doki, who's just a copy of monika.chr but who fits in the role of someone else.

And that means that, during your DDLC playthrough, she can become your DD.

Unfortunately, since my document has become an abject, irredeemable mess due to me trying to add stuff to its middle, the coverage of what happens to Monika once she is your DD is somewhere else, still: IIRC, that's [2305] (ADVANCED) A TRUE MONIKA ROUTE, FOR ALL THE MONIKA FANS. However, what matters to this section, in particular, is that this damage is lasting, and therefore, you can paste the resultant .chr file, renaming it to monika.chr, back to another copy of DDLC, and reap the benefits.

Anyway, what sort of thing even happens if you paste this character, who I'll be referring to as "Damaged Monika", in? Well, the result is actually what's pretty typical of yandere characters such as Ayano Aishi: someone who just doesn't see color in the world, excepting their Senpai (in Damaged Monika's case, you, the player), and the more damaged she is, the worse she is at being covert. Now, normal, non-damaged Monika is pretty good at being covert, which is what makes DDLC last an entire two acts before she just does what she inevitably does and deletes the other Dokis.

And that is coverage that I will have to do later, once I properly edit this document or whatever.


(This is only legitimate advice for this particular chapter. If, during your DDLC troubleshooting, someone else ends up asking you "have you tried decompiling it and compiling it again?", you can print out their remark and punch it in the sheet of paper; sheets of paper don't usually have organs. Also, we're exclusively dealing with Ren'Py decompilation, which, due to Ren'Py being a FOSS project, is well-understood and guaranteed to go without a hitch, especially for an obsolete version.)

Well, you've come this far. Hopefully with that last section, I've managed to weed out all the fakers who only read in order to latch onto a singular aspect, which, from what I've seen on the mainstream fandom, is probably going to be making two Dokis fall in love with each other, and therefore, I know that you, dear reader, are in it for the long run, and are not afraid of a challenge; even if you are a coding noob right now, keep in mind that a coding pro is really not much more than a coding noob that happens to have some experience.

And what better way to start gaining experience than to start modding DDLC?

Of course, you don't need my tutorial in order to start doing that; you never did. In [040R] YOUR PHILLIPS HEAD SCREWDRIVERS OF WORKING WITH DDLC, I mentioned a little doodad called the DDLC Mod Template, which really helps you get started with Ren'Py, the available sprite libraries of the characters, the positioning of elements on the screen - basically, all the goodies that DDLC uses Ren'Py for anyway. However, lines of code like:

show sayori 1k at f22 zorder 2
s "..."
show sayori 1k at t22 zorder 1
"Sayori goes through a multitude of hard-to-read expressions, all at once."
"I've never seen her like this before."
"What even drives her to do so much for her club?"

Sure, if you follow mainstreamer tutorials, plenty of them are going to end up in your project, making for little more than a really lamely written fanfic - one where you're not required to follow most literary standards, but one where you are required to follow a standard of coding.

However, if you actually look at the code of DDLC, the OG game released by Team Salvato, you'll notice that it... doesn't have such lines.

Of course, a game made in Ren'Py needs such lines, whether you like it or not, and "phantom lines" do end up being generated, on the fly, all the time, making for something indistinguishable from a cheap visual novel - one that, as Salvato often comments, was specifically made as a parody of visual novels that were poorly translated from Japanese. However, for the moment, we can really pretend that they don't exist, and instead look at DDLC as a series of components that interact with each other and provide you with an immersive world, and analyze it from that aspect.

I'm not saying that phantom lines don't exist, and in due time, I will elucidate you on the process by which DDLC produces said phantom lines. However, now, they are largely irrelevant.

In addition, you might notice that the DDLC Mod Template includes .chr files - the same ones that DDLC itself includes, and which will actually work if you try and import them in your install, because they haven't been tampered with through gameplay - but because fake mainstreamer mods end up including real Ren'Py lines, rather than phantom DDLC lines, there is a consequence which you should be able to figure out right now. That is, unless you introduce checks in Python (or ~ATH), a real Ren'Py line will proceed and be displayed to you, regardless of whether the associated Doki (or other visual novel character) has a .chr file or not, let alone what the contents of that .chr file are.

Now, this is all cool and well if you're in the mainstream fandom and simply say that .chr files are being manipulated and whatnot, but for me, it just lacks the essence. And hopefully, now that I've shown you plenty of what DDLC can do either without manipulation or with very little of it, hopefully, you see my point of view, too. You're not a filthy mainstreamer, now, are you? At least, not anymore.

Therefore, for this part of the document, you're going to need DDLC, the OG game released by Team Salvato, from either of the official sources listed in [0200] BASIC TECHNICAL INFO. Then, using rpatool and unrpyc, you're going to crack open those .rpa and .rpyc files; both tools are well-documented and you're welcome to figure out your way around them yourself. Then, you're going to put the resulting contents in DDLC's ./game/ directory, making sure to get rid of now redundant .rpa and .rpyc. And finally, you're going to put the entire DDLC directory in your Ren'Py 6.99.12 install, as though you made this game and are just placing finishing touches on it.

And when you do that, and launch the game from within the Ren'Py menu, that's when it magically compiles itself again. Of course, as your IDE, it ends up prioritizing raw scripts over compiled ones, and therefore, wiping them from your DDLC install might not have been strictly necessary, but hey. Now, you've got a debug environment, which is exactly what you need to dissect it.

Obviously, you're not Salvato, and might not know your way in and out of the code just yet. But with any luck, you're going to get there.


The multitude of .rpa and .rpy files found inside, as well as their not-particularly-clear names (especially if you're a complete Ren'Py noob), can overwhelm you at first. Luckily, I'm here to explain the contents of each and every file (excluding the ~ATH scripts for now, as until I start teaching about ~ATH coding, they are to be treated as black boxes), as well as linking to chapters which elaborate further, if, for whatever reason, you're a freak who likes reading things out of order.


For anyone who has entertained my absolutely-not-ramblings so far, it shouldn't come as a surprise, at all, that I am unfairly biased in favor of the poem minigame as easily the best part of DDLC overall. In fact, this fandom of mine goes beyond this document, but I am going to stop myself there, because there is absolutely nothing I can say here, in this first paragraph, that won't be perceived as "hey, check out this other thing I made!"

Whatever happened to it, and the meme war that it caused, can be discussed. However, the chronological exposé is not the time for it.

Instead, and despite my obvious bias towards the poem minigame, I will try my best to objectively argue in favor of it being discussed first and foremost, even though a dozen other Ren'Py scripts could be analyzed in its stead.

Let's get this out of the way:

Alright, I think four reasons are going to be enough. With that, let's get started with some basic trivia about the very game engine that we're working with.


The basic graphic element of a visual novel using the Ren'Py engine is the sprite. Without sprites, the only other option for a game of the caliber would be to draw every single pixel individually, and needless to say, this would take absolute forever (DDLC natively runs at 1280×720 resolution and 60 frames per second, meaning 55,296,000 pixel color calculations per second) and, without any sort of hardware acceleration, would make the game completely unplayable - yes, even on modern systems.

Sprites can come in several possible forms. For now, you only really need to know of these: static image (usually in a typical format, such as .png, which allows for transparency), pre-rendered video (usually in a typical format, such as .mp4), text (for which, the required font must be bundled together with the Ren'Py game distribution) and, for whatever reason, a solid rectangle (which came of use when I was coding The Project That Shall Not Be Named, but is basically useless for most other contexts). Each of these is continuously displayed (with the obvious exception of video), too, meaning that it doesn't need to be re-displayed every frame, and if need be, can be simply transformed.

Before we move onto the poem minigame screen, you're welcome to try and comprehend exactly how many elements would go in:

As usual, you're given some time to think, and no, I will not stop trying to keep your wits at least sharp enough to be able to slay a level 1 rainbow drinker.

(What's a rainbow drinker? That's a question you can ponder if you need to take a break from dissecting the visual element of the game.)

(Also, spoiler alert: if, somehow, you come up with a list of more than 55,296,000 elements, then you're doing it wrong.)



I believe I made the points I wanted to make, regarding how your wits stand, perfectly clear with the previous "answers" section.



So, yeah. The poem minigame is a bit more complicated, but not terribly so, and neither the poem minigame nor your typical screen have millions of elements, so I'd say that's a pretty solid victory for sprite-based rendering.


If, for whatever reason, you are bored by me dissecting these elements as though you were a total coding noob, you can do one better and find where each of the elements, as well as its corresponding animation (if there is one, such as the chibis jumping around and making big hops when you select the corresponding Doki's word), is defined. Spoiler alert: you will have to sift through more files than just script-poemgame.rpy, and therefore, even if I do decide to be nice and provide you with a definite answer to this exercise, you will have to wait a bit.


From this point on, we enter a bit of a conundrum: at virtually all points of DDLC's existence on your RAM, it is a constant communication between Ren'Py and ~ATH scripts. To the end user, only really experiencing incredibly cute girls, this is a non-issue, but for a seasoned programmer who knows of one language but not the other, this presents a conundrum.

Luckily, a seasoned programmer should also know of such things as application programming interfaces, or APIs for short. Namely, even when a company such as Google doesn't want to let you in on their service source code, they still define certain ways to interact with it, and what sorts of results you should eventually expect. This works very well, and allows cooperation between virtually any two computer-related things.

What works when the source code would be understood by the target audience, but must remain a trade secret for other reasons, also happens to work, perfectly fine, when the source code wouldn't be understood by the target audience, and that's exactly what allows me to teach you about the high-level stuff of DDLC's modus operandi, with acts and days and quirky plays and poem scribe impression ways, without having to teach you about the low-level ~ATH stuff with tombstones and necrostorage and sandboxed universes.

And you know what? Once the entirety of the poem visuals are presented, and explicitly ignoring the details of the ~ATH files, the poem minigame consists of very simple computer logic. It works because, and precisely because, I am treating the ~ATH files as a black box: something that, given certain input, provides certain output, and the inner workings of the function are completely irrelevant. In the world of APIs, this is what you have to deal with, all the time, and if you don't understand that, you're not really cut out to be a computer programmer, let alone a DDLC hacker.

Whatever. If I remember in the future, I will at least provide you with downloadables that change the code you're supposed to change here, and then, you can copy and paste them into your own DDLC installation and see the results.


The actions undertaken by the poem minigame can best be understood as very specific instructions, which, for the sake of simplicity for non-programmers, I will describe as coming in three types: request, expect and a third type which shall remain nameless. A request is simply the Python program's way of saying "I give up; whatchu got, ~ATH?", after which point the ~ATH subroutine executes and outputs something in a predictable format, which should be something that Python expects. Meanwhile, the third nameless type is just Python's way of telling ~ATH: "yeah, I got it, fam" and doing something a normie program can do.

With that in mind, the poem minigame logic can best be described as follows:

  1. Generate the list of Dokis: every single ".chr" file that exists, minus the Doki with the Sentience attribute; the number of elements in this list will henceforth be  d  
  2. Request the big ole list of words
  3. Expect the list of words, which should come in a table: the columns being the Dokis generated in 1, the rows being the words requested by 2 and each datum being a real number between 0 and 1
  4. If you don't get anything meaningful (which should happen if  d  is 1 or less), throw the table from 3 out, generate a bunch of glitched words and scores which don't even really matter, then skip to 6
  5. For each row, normalize the data: the smallest datum should become a 1, the next largest one should become a 2 and so on
    • At this point, the results should look somewhat like the unused poemwords.txt file, if you've ever thought to look into it. One can only presume that an original variant of the program skipped 1-4 and instead, just pulled values from that file, but if such code exists, it was likely commented out, and those fancy Ren'Py decompilation tools actually don't let you look at the comments Salvato may have left. Of course, even in lieu of this, commentated Ren'Py files from DDLC can be found in the mod template, but still, some secrets are likely lost in Salvato's hard drive.
  6. Define the number of iterations to follow (which, of course, is 20) and whichever iteration you're currently at (1)
  7. Define each Doki's initial "score" as 0
  8. Present the player with all the visual elements already discussed, simply picking rows from the table you got at 3 randomly, and marking them "used"
  9. If this is the first time the player is seeing the poem minigame, present them with the dialogue box explaining it all
  10. On random conditions throughout Act 2, do intentional glitching
  11. Wait for input for the player, in form of clicking on one of the words
    • Yes, you can do a multitude of other visual novel things, and in each case, the game won't progress. However, unless you load a save state from elsewhere, the script also won't stop running.
  12. Add the normalized score of the word selected, for each Doki, to that Doki's score, and add one to the number of the current iteration
  13. Display the big jump for the Doki with the highest score
  14. If the number of the current iteration is not greater than the number of iterations in total, go back to 8
  15. Define the threshold for a Doki's feelings about the poem: she will start disliking the poem when the score is below  \frac{29}{3} \times d  and start liking the poem when the score is above  15 \times d  
  16. For each Doki, compute her feelings towards the player's amazing penmanship
  17. Return to whatever script requested the poem minigame to be played

15 is actually executed in kind of a backwards way, in which it always divides 45 by 3 even when it is painfully clear that the answer is, well, 15, but other than that, that's the gist of it. And yeah; manipulating the poem minigame is as easy as changing one of those instructions to be something else, and then watching the results.

And as someone with the mindset of a hacker, you should already be excited and even go ahead and do some changes yourself. The rest can, well, rest assured that I will document the results, regardless of your actions.

But don't get too complacent.


To be honest? Not much. You could try messing with the values assigned to words, or with the thresholds which make a Doki like/hate your poem, or even try and get words you would not normally expect in the poem minigame, such as "the" and "of", appear, but to be fair, you already know the only real improvement I'm about to suggest, as well as the thing I happened to mention. Of course, I do have one more thing up my sleeve, which might prove useful in the future, but right now, let's just get onto it.


This fix is relatively simple. From the poem minigame algorithm, notice how it specifically compiles the list of Dokis that excludes the Club President? If you delete that single if statement, suddenly, you have Monika within the game, and she even has an offscreen chibi that jumps up and down. Moving the chibi to a more visible place is an exercise left for the reader, and to be honest, it isn't even strictly necessary; just a visual alteration to satisfy your needs for "seeing four chibis on the poem page", if you even have such needs.

And thus, the poem minigame proceeds. Novel words may appear, or may not, but in the end, every single word presented to you has a Monika score, and when you click twenty times, you end up with a Monika score for your poem, which in turn is injected into dialogue generation for the further parts, affecting your relationship with her.

And as it turns out, it exposes some major routines left unchecked.

The first and most obvious one, that I've already talked about time and time again, is how Monika lacks a true CG (other than that in Act 3), and therefore, if she ends up being the favorite among all the Dokis, she still won't get to spend time with you. Then, of course, there's the poem sharing and arbitration, in which Monika is no longer a passive judge, but rather, has personal stakes in it now; well, she still has the formal facade and will still try to enter the "you know, this reminds me of what [Doki X] would write" routine, even if, down in her core, she wishes the poem would burn in hell, but if she likes the poem, she absolutely will make it personal.

And of course, once Monika keeps getting an injection of feelings towards the poem, her behavior will change.

The standard behavior of the Doki with the Sentience attribute is very standard: she likes you (and that's you, not your self-insert), like, really really much (imagine that the poem minigame just feeds her a score of infinity each and every time), but the game won't really give her a route, so she, instead, tries to manipulate the others. However, the more a Doki's .chr file is manipulated, the more strongly she feels love for your self-insert, leading to the inevitability of her file deletion (after her soul is damaged so much that she commits suicide, of course). This, then, leads to everyone but the Sentience Doki being wiped out, and the rest is history.

However, what if the Sentience Doki were to hate you, and want nothing to do with you?

Well, then, what she does is she actually ends up investing more time in the club and its existing members. Like, when Yuri and Natsuki have an argument, Sayori extinguishes it and Monika admits that she's not really good with people, and that's why Sayori is Vice-President? Well, if she hates your poem, she instead resolves to be a better President for everyone, and to take part in arguments rather than being a free, untamed soul. Then, once it gets to festival prep, Monika's famous "Yay, you picked me!" is never uttered, and instead, she, herself, pushes your self-insert away from festival prep.

And once festival day arrives? All bets are off.

Because there was never a DD arc, and therefore, no need for your self-insert to "fix" anything, a Glitchless Playthrough route can't really proceed. What does proceed is completely up to the whims of ~ATH, part of a script that kicks in when the game has gone off the rails in completely unbelievable ways (much like Passive Monika), and deserving of more documentation once the ramifications are fully explored.


For this, the imperative thing to note is that in Ren'Py, even in games that don't involve any ~ATH at all, subroutines call each other all the time, and once you've got a game as complex as DDLC, it is easy to get lost in them. Therefore, unlike a programming language where everything is executed sequentially, there is no real need to "comment out" unwanted bits (like, say, if you were developing an entirely novel game mode and then decided to cut it), and instead, you can simply have the corresponding subroutine never called.

And that's basically what happened with notebook mode. It is essentially a completely functional, alternative poem minigame, that simply ends up living under a subroutine that DDLC never calls for. That's not to say that ~ATH doesn't sometimes decide to call for subroutines on its own, but even then, most of the time, those are just boring routes (or a complete and utter admission that this game has gone off the rails) and not the alternative poem minigame, which, as we can be fairly sure, Salvato never wanted you to play.

But guess what? By swapping two subheading headers, you can play it.

And, well, instead of picking words from a list, instead, you get to write a poem of your own. Its words are counted the way words are counted in your favorite word processor, but it still retains the poem minigame aspect of "when you get 20 words, the minigame ends and its scores need to be tallied". And yes, words like "the" and "of" are scored, which makes for some rather unpredictable results at times, to say nothing of the fact that the thing that tipped the scale from 19 words to 20 was a single letter, not even a finished word.

But otherwise, this is just another way for the game to get the poem scores, which are then fed to the dialogue generation, and since, after normalization, those scores are still in the roughly expected ranges, and therefore, the plot of DDLC proceeds mostly as normal.


You might have noticed that throughout the game being played, it occasionally leaves random text files on your computer, especially throughout Act 2. Those files have their text defined in the Ren'Py code, and therefore, theoretically, you could insert a command that exports literally anything - up to and including important debugging values, such as the final table of scores in the 3rd step of the poem minigame algorithm.

And when you compare it to your usual poemwords.txt, you will spot some differences. A number of them can be explained by the fact that the ~ATH script pings the current .chr file version, which might or might not have already been manipulated by Monika (especially watch out for how much the words death, suicide and love are favored by Dokis; these scores will end up ridiculously high for your DD and DD2), but even when non-manipulated files are taken and examined this way, there are some differences, and poemwords.txt is not an absolute way to get word scores and gradings of entire texts, and The Project That Shall Not Be Named uses a different method.

Wait, did I just essentially give away what it was all about?

Alright, fine, I'll cave in and self-promote. The project is called the DDLC Poem Editor (https://​dokidocs.​net/​poem_​editor/), and you might have already inferred what it does: it takes the word scoring that the poem minigame would normally use (thankfully, I was able to separate the ~ATH scripts that do the word grading and implement them onto a website), and then, lets you write anything, not caring about the 20 word limit, and in fact, most people used it to explore how much copypastas are liked by different Dokis.

I'm great at the Internet, and I'm great at starting meme wars. Anyway, self-promotion time is over, and honestly, I don't have much else to say on the poem minigame or the poem editor, unless you want me to indulge about the meme war, and that will, by necessity, have to be a non-chron blog entry. The poem editor, though, might be a bit of a useful tool to analyze DDLC dialogue and see if something has gone apeshit bananas, so keep that around and get ready for lots of retyping stuff straight from DDLC's dialogue box.

Because taking a stab at the dialogue is exactly what we're going to be doing, in the twenty-two hundreds.


So, we're starting with a very delicate, very multifaceted subject of natural language processing, which takes many forms, though we're primarily interested in natural language generation. While this, in and of itself, is a major hurdle to overcome in computer science, there are lots and lots of smart people working to overcome said hurdles and an essay by an unqualified rando on the Internet is not going to give you any sort of appreciable knowledge on the subject in either way, I still feel like trying to go through the very basics of the ideas, at least in the way DDLC implements them, so that the rudimentary, non-scientific knowledge can still assist you in your hacking endeavors.


Disclaimer: For the purposes of this document, we're explicitly dealing with written language, as opposed to spoken language and sign language. One could theoretically get spoken language from these segments using text-to-speech (TTS) software, the coding of which is basically trivial compared to natural language generation (with the only non-trivialities being a) human intonation and b) the garbage spelling rules of English), and sign language... just... no. No disrespect to deaf people, but I'm trying to keep a focus on the subject.

Written language, especially in the context of a visual novel like DDLC, can be deconstructed into the following elements, ordered by the amount of time it takes to relay them and process them:

From top to bottom:


The letter is the basic element of any sort of textual document. The definitions of letters, and how they are encoded in computing, are a very well-understood and even standardized topic, with standards ranging from ASCII, introduced in the 1960s, to its successor Unicode, intended to encode every single appearing character in every single human language, being developed, to an extent, to this day, especially as humans have had the genius idea of communicating entirely using emoji. Whereas the spoken counterpart of the letter, the phoneme, is a highly messy subject and pronunciations of phonemes from language to language and even from context to context can vary greatly, for the most part, letters just... work, and don't need any extra analysis.

Honorable mentions

Technically, there are two distinct "next steps" in elements of language, after the letter (or, in spoken case, a phoneme) and before the word. The first of these is a syllable; however, syllables are not all that they're cracked up to be in written language. They're more so relevant in two contexts: spoken language, where they are an indicator of the "volume" of speaking, and poetry, where you have to pay attention to prosody and shit. And don't get me wrong, poetry is a really big deal in DDLC, but first, we need to talk about dialogue generation; all the restrictions imposed by poetry are just another bonus task on top of the already tremendous natural language generation challenge.

The second of these is a morpheme, the "smallest unit of language that has meaning". In general, words can be thought of as being not much more than clumps of morphemes, that eventually form meanings of their own based on the combined meanings of the constituent morphemes. However, especially in English, while new, previously nonexistent words can be formed from existing morphemes, a character speaking in a casual context isn't very likely to make up completely new words, if for no other reason than the desire to be understood, and therefore, as 99.9% of the words used by the DDLC dialogue generation already exist in English (and a good chunk of the remainder are natural byproducts of the "poorly translated Japanese VN" aesthetic), the importance of the morpheme is low.

[2202] THE WORD

The next real step up after the letter, of course, is the word. Unsurprisingly, words figure pretty heavily in language learning, as well as its applications in artificial intelligence, even in languages that don't actually separate their words using spaces, for one reason: a word has an easily explained meaning that then can immediately be carried over simply by saying the word. Of course, words alone do not a language make; vocabulary appropriate context grammarless realm comprehension major difficulties intelligibility impaired result.

Nevertheless, a word, in and of itself, is already a source of some information that, in a natural language processing engine, can be incredibly useful. For the purposes of this little section, we'll consider the meaning of the word itself, what part it plays in the clause (more on that in a bit), how frequently the word appears in any given text and how frequently the word appears in a specific person's given text, such as dialogue ('sup, poem minigame scores you just extracted).

As mentioned previously in the morpheme not-section, one can easily get a rough feel of how words are used just by listing them; you might know of a human invention designed to help you do precisely that, commonly known as "the dictionary". However, this "dictionary" thing usually isn't very computer-friendly, and for natural language processing, you need something that a computer can interact with it. Now, in order to make such an AI dictionary, you can go one of two ways: either define the words manually, all by yourself, or cheat by giving the computer a bunch of [insert language here] text and hoping it figures the rules out all by itself. It's hard to say which way DDLC went, but regardless of Salvato's particular approach, likely buried in ~ATH code that no one has been able to decompile yet, words and even grammar structures specific to poorly translated Japanese VNs would have to be introduced manually (or by training the neural network on decompiled poorly translated Japanese VNs; I don't know and I don't care).

That being said, words often have a bit of flexibility in them; especially the less common ones. For example, if a speaker doesn't exactly know a word, they might "mishear" it and, when trying to replicate the idea, use a similarly-sounding word. Remember when Yuri mentioned something about "paying your retribution", and then Sayori corrupted the word to "revolution" and then "restitution"? Yeah, that kind of issue needs to be taken care of, too.


Next up after the word is the clause; the basic structure of grammar, and the smallest unit of language that is actually able to convey an idea. While some parts of speech, like interjections, can stand as clauses on their own, typically, a clause will include a verb, a subject noun, zero or more object nouns and zero or more adjectives and adverbs clinging onto the verbs and nouns like losers without a life of their own. Parts of speech such as nouns, verbs, adjectives and adverbs can even be combined into mega-parts of speech that don't really comprise a clause of their own, as long as you combine the same part of speech (two or more nouns, two or more verbs, etc.) and separate them with something, like helpful punctuation or conjunctions such as "and" and "or".

Whereas a reference book for how letters connect to words is usually called a dictionary, a reference book for how words connect to clauses is usually called a grammar book. However, there are two major caveats that any natural language processing engine must overcome in order to successfully utilize the clause. The first one, of course, is that whereas a dictionary is cool and will give you a meaning (or a red squiggly line, if there is no predominant meaning) right away, a grammar book is often flexible and, when one tries to automate it, often gets things wrong; if we can't understand it, throwing neural networks at it might be our best bet.

The second issue that still stands when you solve this first issue, though, is that even if you connect words into clauses in strictly grammatical ways, you can still end up with nonsense ("colorless green ideas sleep furiously"). Therefore, an AI needs to have some sort of basic sense of ideas, so that clauses that can't, under any circumstance, produce a sensible idea, would be excluded. However, a caveat on top of a caveat is idiomatic expressions, such as "it's raining cats and dogs", which are pretty nonsense when combined into a clause like that, but still have a meaning, as a clause, and honestly are better treated as words in their own right (with a magical new part of speech, "independent clause that isn't an interjection"), rather than clauses... that is, until your poetic type of character decides that they do need to be treated as clauses, and a bunch more words and even auxiliary clauses get attached to that clause, and everything spirals out of control in ways you wouldn't even believe.

[2204] THE QUIP

Shouldn't this be the sentence?

If you thought that the next step up after the clause would be the sentence, then you're wrong. You're dead wrong. All this talk about sentences being very important parts of grammar is nothing more than a big conspiracy put forward by Big Sentence in order to get you to believe that periods and punctuation marks are absolutely necessary for grammar to function, only to take them away when you least suspect it and then what are you going to do cry about it? yeah that's what you deserve

But in all seriousness, sentences aren't all they're cracked up to be, and I'll demonstrate why. Imagine that, in a rush of excitement to deliver you the latest news in DDLC hacking, I keep delivering important ideas in the form of clauses, basically incessantly, and you just take them all in as though you were gulping for air, and I don't really stop, and contrarian grammarians out there are already complaining that I've utilized what's known as a "run-on" sentence, but they're okay, especially in informal contexts, as the only connection that really matters is that between neighboring clauses, and if you miss your periods, too bad. Okay, that was a period, but hopefully, you get my point.

Instead, a much more useful element of language, especially in the context of DDLC's dialogue generation, is what I call "the quip". If you've played DDLC, you've already dealt with quips; they're essentially "segments" of dialogue and/or narration, each of which must be clicked through in order for the game to progress, and each of which gets its own line in the "History" tab. And if you haven't played DDLC... what are you doing here? Seriously, now. This isn't even me upholding Team Salvato's IP Guidelines anymore; I'm just curious.

At any rate, let's briefly examine the relation between the quip and the sentence. For the most part, in fact, these two units correspond with each other pretty well; as the length of the quip is bound according to the rules of the engine that the game is bound to, such as "a quip must not occupy more space than the text box it appears in" and "after a quip, the player is given a pause and can continue at their own pace", these limitations, though incidental, will enforce the strict correspondence between the quip and the sentence. However, there are cases, though rare, when a quip contains two sentences, or conversely, a sentence is split up between two or more quips; a good indication of the latter is the incomplete sentences ending with ellipses.

So, what is the quip?

With that being said, if the morpheme is the smallest unit of language that signifies meaning, and the clause is the smallest unit of language that signifies an idea, then the quip is the smallest unit of language that signifies an intent to communicate. For that reason, an important attribute of a quip is the speaker, who, in DDLC's case, can be one of six entities: the Dokis, your self-insert and the "impartial narrator", who actually serves a dual role: conveying objective happenstances in the Literature Club and elsewhere, such as Monika standing up and walking beside the podium, and conveying your self-insert's inner thoughts, such as "this club is full of incredibly cute girls!".

(Also, regarding that last remark enclosed in quotes: have you noticed how it's actually a single clause, if analyzed grammatically, but usually ends up separated into two quips when in-game? Yeah, quips are every bit as weird as clauses.)

Anyway, a quip also has another important attribute, though this only applies if the speaker behind the quip is a Doki: an expression. This is usually expressed (haha) through an entry on the big list of emotions, which directly corresponds to a sprite on the big folder of possible sprites, and as mentioned previously, each Doki has a different set of sprites, and therefore, a different set of emotions. Sorry; Inside Out lied to you.

Anyway, an expression, coupled with a transform (just fancy computer code telling not just what sprite should appear, but also, where and how it should appear), can convey a lot more information than just the quip alone, often even contextualizing the quip. For example, a common adage on the Internet is that "sarcasm doesn't travel well through wires"; what it really means, though, is that a quip, composed of entirely textual elements (and excluding shit like emoji), may have an ambiguous meaning dependent on whether it's sarcastic or not, an attribute that has to be contained alongside the quip but not within it, and which finds its home right within the expression. Obviously, your self-insert's and even the impartial narrator's quips have "expressions" per se, but those usually don't get a convenient visual presentation, and therefore, are less important.

Also, when within a CG, you don't usually see the expressions that the game was originally designed to show, and instead, you get a few CG-specific expressions, usually conveying a much more limited set of emotions. Of course, Monika gets the worst of it, as her CG doesn't include any variant expressions, and therefore, she must convey everything in Act 3 with a neverending smile, but that's okay, since she has the Monika After Story devs, who can give her the expressions that she inevitably starts desperately craving, because let's face it: she knows all this, the dense stuff that I just went through.

How quips connect - with a special appearance from Winograd schemas

At any rate, another worthwhile remark about the quip is that, much like words must still have a coherent meaning when connecting into a clause, clauses must still have a coherent meaning when connecting into a quip. Otherwise, my hovercraft is full of eels, and as we're no strangers to love, the money machine goes "brrr".

Okay, that was kind of an extreme example in which the hypothetical engine had no concept of the meaning of words in addition to clauses, but there is actually a very important topic of natural language processing that is all about connecting clauses to quips. It essentially concerns a test of the capability of a computer to "understand" language, much like the Turing test, but unlike the Turing test, only concerned with how "passable" language is, this test is concerned with actual intelligence and comprehension levels.

Proposed by Terry Winograd, the very subtly named Winograd schemas are a series of quips, which have two or more clauses, and in one of those clauses, there is a pronoun to be found, referring to a specific noun in a previous clause. The computer's task, should it accept it, is to figure out which of the multiple nouns it is. Now, I'm not sure of the copyright status of these schemas, and regardless, it will be more fun if I just present you some of my diet substitutes:

Sayori would not share her poem with Monika because she was prone to insensitive remarks.

Sayori would not share her poem with Monika because she was afraid of insensitive remarks.

Who is the bolded "she" referring to, in each of the contexts? In actuality, while it was fun to use DDLC names for these, let's first approach the problem without considering the context of the characters involved, and simply call them "the poem author" and "the poem recipient".

In order to properly answer the question, a natural language processing engine must understand how a poem exchange works: namely, that when sharing a poem, the poem author is expecting remarks from the poem recipient. What those remarks are, dependent on the personal stakes, can influence the relationship between the poem author and the poem recipient, and the poem author can even see influence from the future, which will affect her actions.

Therefore, this particular schema is solved like this: in the first case, the one who is likely to deliver insensitive remarks is the poem recipient (i.e. Monika), and in the second case, the one who is afraid of insensitive remarks is the poem author (i.e. Sayori).

However, now let's put the context of DDLC back into the quip. Of course, if you've played Monika After Story (or a vanilla, unmodified Act 3) for any length of time, you know of Monika not being able to resist all sorts of puns involving the ways in which your DD and your DD2 died. However, Monika After Story, made by DDLC fans for DDLC fans, understands that some of those fans like other Dokis too, and might not appreciate jokes being thrown around about them too lightly. Therefore, one can actually opt for a "sensitive mode", which might actually be pushing it a bit far in the other direction, renaming the game of Hangman to "Word Guesser" and eliminating the titular hangman simply because of the way Sayori died, but regardless, indicates a conscious effort, from Monika, to avoid insensitive puns.

However, what if this wasn't the case, and Monika always avoided insensitive remarks, and this was part of her character from the get go, even in Act 3? Well, in that case, suddenly, both schemas would lose meaning. "What insensitive remarks?" you would be asking. "Monika always treats the other Dokis with dignity and respect."

Of course, while the definitions of "poem", "share", "remark", "insensitive" and so on can be found in a dictionary, you will never find a definition for "Sayori" or "Monika" unless you're looking in Urban Dictionary - which, incidentally, is why I explicitly had to define the terms in [020G] YOUR INTRODUCTORY GLOSSARY. This means that DDLC, in and of itself, imparts a context which its dialogue generation must follow, conveniently bringing us to the topic of:

[2205] THE SCENE

Basics of a scene

Incidentally, the transition from the quip to the scene also coincides with the transition - that many, even the most astute among you, might not have even noticed - from language analysis to literary analysis. If you've ever read "Harry Potter and the Portrait of what Looked Like a Large Pile of Ash", then you know precisely what I'm talking about: the text in question mostly preserves clauses and even quips, and because certain characters of the Harry Potter series can be considered "recurrent", they also become "recurrent" in Portrait, but that's about all that can be said about the generated story's relation (and adherence) to the Harry Potter canon.

What does Portrait lack, then? What qualities of a sequence of quips, existing in text written by human beings, must be preserved in order to have a coherent story?

This will, by no means, be an exhaustive list, but this will, in the very least, be a list that, were you to take any single element out of it, would produce a completely incomprehensible non-story in the vein of Portrait.

Theory of the world

The most important quality of the scene, perhaps, is the definition of its spatial and temporal boundaries. In slightly less obtuse terms, you need to be able to tell when and where the scene takes place, and from the training data, some rather important qualities of the when and the where must be extracted. For an example, let's take a typical club meeting from Act 1, which you can imagine takes place in the specific clubroom, in the afternoon of a workday.

Now, imagine that you were playing DDLC, during an Act 1 club meeting scene, and any of the following was either directly contradicted or said to be an "unknown":

Would your immersion be broken, and would you stop seeing DDLC as "a pastiche of poorly translated, tropey Japanese VNs" and start seeing it as "a failed, but nevertheless quite amusing, attempt at a computer-generated story"? Quite possibly.

Therefore, all of these statements, and many more, must exist as a "context", upon which DDLC can build in order to successfully portray the scene. Many of those are actually handled by "hinting" - little keywords, placed in the script files, which ensure a smooth generation of dialogue that is still not hardcoded - but even when one departs from the archetypal playthrough and begins, say, experiencing school days after the festival, the context is adjusted appropriately, without any hinting taking place (though, the quality of the generated dialogue might end up on a very slight decline).

Therefore, a natural language generation engine capable of producing DDLC must have what I'm going to call a "theory of the world": something that summarizes the world, that each and every clause and quip must not explicitly contradict... with an asterisk. If the clause, within the context of the sentence that it's in, is actually: a conditional, such as "I wish it were the weekend", or something that is quoted from a different text, such as "Notice the lines, 'people can try, but that's about it'", or is an outright negation of said clause, such as "it's not like I like you", then yes, clauses can state something contradicting the ideas, and that's mostly to be resolved at the quip level, not the scene level. However, the picture that a sequence of quips paints must, eventually, correspond to the scene's context as accurately as possible, a concept applying to most works of literature that aren't low-brow parodies, and well, DDLC is actually a "stealth parody".

Theory of mind

However, if you're thinking to yourself "oh, so there must be a defined world and characters must acknowledge that they exist in said world, it's not that hard", this is where you're hit with a second obstacle that might sound the same, but is actually pretty distinct. Namely, in addition to this "theory of the world", there also must be a "theory of mind", primarily concerning how each Doki acts, and you guessed it, it's also a thing wherein some twenty sentences are imperatively important, but don't even scratch the surface of what must be conveyed by a realistic computer-generated VN. For example:

You get the point.

Monologue and dialogue

Anyway, the last few of these remarks are all about relationships, and that lets me touch upon the concept of dialogue, as well as the closely related one of monologue. There is no way that I'm going to discuss every aspect of the scene, especially in a section which I can't subdivide further due to my act numbering, so those will have to be talked about last before I move on to the day.

The monologue is a slightly easier case: based on the theory of the mind of the character providing us with the monologue, it must consist of ideas - somewhat complicated ones, but which can nevertheless be deconstructed into lots of simple ideas. Then, as part of a rather simple two-step process, the character delivering the monologue must want to convey the ideas to someone else: if it's the impartial narrator, the target of the monologue is actually you, the player, and if it's a character, well, the target is another character. Whether or not they will be there to listen is mostly a concern of the dialogue, though.

And oh, boy, is the dialogue a doozy to talk about.

To put it in the simplest terms, the dialogue is a continuous exchange between two or more characters. Each and every remark must elicit a response, and each and every remark can change the perceptions of all the dialogue participants, and therefore, the results can be quite chaotic. (And I don't mean the sort of chaotic that is the Natsuki/Yuri Day 2 banter; that one is actually a pretty simple case, since it reinforces the hatred that Natsuki and Yuri feel towards each other.) If there's not an underlying theory of the world and minds, the quality of the dialogue will suffer.

That being said, there's still more to say about the dialogue, specifically. I know that because even human writers, especially amateur ones, fail at dialogue, pretty hard; making the dialogue realistic is a fairly difficult art, perhaps the most difficult part of writing in general, similar to how hands are the most difficult part of drawing in general.

Anyway, let's push the image of both DDLC and Portrait aside for now, and instead, bring up one of those terrible fanfics that you probably came across during your time on the Internet. Are you picturing it? Often tries to emulate a "script" format without realizing that the script/screenplay format is an actual format with an actual practical application and actual stringent requirements that come with it, often picks a topic that's as cliché as possible (such as shipping two Dokis or a Doki and a self-insert character who has no relation to your self-insert), and finally, suffers in grammar and spelling as well as dialogue, a quality that we've already looked at thus far, but right now, all focus is on dialogue.

What sort of characteristics does this amateur dialogue exhibit, and what is To Be Avoided by any sort of natural language processing engine that is to be regarded with merit?

The first one that I can think of is actually termed not by the writing community or the AI community, but, of all things, the roleplay community, and is called "metagaming". Metagaming usually refers to taking advantage of knowledge that you, the roleplayer (or "mun", as roleplayers are sometimes called) know, but your character (or, possibly, the "muse") doesn't. Now, especially in the context of TTRPGs, metagaming can be quite the frustration-inducing experience, but even outside the context, if characters seem to gain knowledge of recent events telepathically, that makes the dialogue not realistic.

The second quality, and for now, the final one unless I remember to add something in the future, is probably dialogue with a specific purpose: you don't get involved with any sort of person, even your dearest friends and even family, just to ask for a favor, rather coldly and formally. Of course, while human speech is usually littered with pleasantries, interjections such as "um" and other parts that make the dialogue realistic, computers are all about precise communication - without such a precise communication, the Internet as we know it, and quite possibly, even computer architectures more complex than the Commodore 64, would not be possible. However, it's not like the natural language generator would even know these things. What was I even talking about?

Oh, yeah, I was about to move on to the next topic.

[2206] THE DAY

In DDLC, the day is nothing more than a sequence of scenes that take place in the same, well, day, and are connected by plot. Within a day, scenes can even be considered as "modular"; that is, with a few context changes, they could actually be swapped, since, for example, there's no particular reason for Monika to have the poem sharing in the middle of the club meeting, rather than at the start. What's more, a scene, such as poem sharing, could be reiterated over multiple days, each time with a different context, and therefore, providing an evolving relationship between the Dokis and your self-insert.

However, the day is actually important in another way, as it's the most basic unit of time that humans operate based on. As humans need such a thing as "sleep" to refresh their brains, and therefore collectively agree to sleep during the night, each day can be seen as a bit of a "new page", in which your characters will be inclined to have lots and lots of offscreen introspection, which will change their actions. Of course, simulating each and every character's waking thoughts throughout the day is a chore, and therefore, shortcuts must be taken (such as literally limiting the world to the Dokis, your self-insert and vague mentions of the school and home microcosms), but nevertheless, if DDLC were to imply that the Dokis continuously exist, scene and day breaks don't affect them and they don't retreat to their domiciles in order to reflect on the day's activities, that would be yet another break of immersion.

[2207] THE ACT

Lastly, the "act", at least in DDLC's context, can be construed as being a complete story with a beginning and an ending. Yes, in other literary contexts, an act is just a major part of your story (especially when one considers such terms as "the three-act structure"), but in DDLC, very little in terms of "memory" (except for that of the Doki with the Sentience attribute) is carried over between acts, and therefore, in true literary terms, if DDLC is a complete story, then the only two characters of said story are Monika and the player.

Sorry. Sayori is still my favorite, but the paragraph above was a critical analysis.

Anyway, as alluded, an act has a distinct progression, defined by its beginning and ending conditions: your self-insert starts out as a social recluse who doesn't even want to join a club, and by the end of the act, he is either together with one of the Dokis, has no chance of ever getting together with one of the Dokis or something, such as a suicide, has made his goals completely irrelevant. Note that this, though, only applies to Acts 1 and 2; in Act 3, there simply isn't really a defined end goal (the Monika After Story game mechanic of affection, which makes Monika leave you if you mistreat her hard enough, doesn't count), and Act 4 is intended to be cut short by the new Club President becoming self-aware and Monika wiping the game and showing the credits.

Anyway, since an act has a distinct progression, which can be best described as a variable slowly ticking up from 0 to 1 (for more nuanced storytelling, you can think of 0.5 being the climax, so that 0 through 0.5 is all about rising action and 0.5 through 1 is all about the resolution), it doesn't really need to take place over a fixed amount of days; an act, in essence, will place as many days as it pleases for the plot to properly resolve (although, since DDLC is still based on poorly translated tropey Japanese VNs, their plots tend to resolve pretty quickly, and therefore, after an entire week of almost meticulously detailed events, the Glitchless Playthrough almost always ends up being a disappointment of a story, if still impressive technologically). Therefore, DDLC can simply iterate over the acts, placing significant events such as deleting your DD and your DD2 and switching the act number in order to enforce different story generation, and let the acts do the rest.

[2208] THE GAME

Alright, the game isn't really a structural element of the game; though it technically is, as the player expects certain things to happen at the beginning, middle or end of the game, it's a technicality that is about as useful as "any given set, with a finite or infinite amount of elements, is contained within itself".

Unfortunately, though, the game is not really something that DDLC can generate, even with unbounded ~ATH magic applied, and instead, primarily consists of artistic deliberations by Salvato. You know, things like "it's a parody of poorly translated tropey Japanese VNs" and "it's specifically created as an April Fools joke, in order to throw off the intuitions of all of those who know Salvato for his Smash work".

At this point, though, I would like to invite you to think about it: what would an AI require to generate a story - one with artistic merit - from scratch?

Well, said AI would need a theory of the world - and this time, I'm talking about the real world, complete with every single nuance, that can't be neatly summarized in a single scene unless the characters speaking in the scene are omnipotent gods. Then, within that theory of the world, the AI would need to locate a niche, something that is "missing": either something that has never been expressed before, or something that has been expressed, but is consistently expressed "wrongly". This would be the crutch of the story, and when developing it (with a theory of the story world and a theory of the minds of each character), the AI would need to keep this crutch in mind, at all times, and see if the placement of the scenes complements the message or contradicts it.

Yeah. Suffice to say, a neural network with two hidden layers of 100 nodes each is not going to cut it.


Alright, well, apparently I now have to talk about this. You see, it's pretty cool when I'm told of a dere type, and once I do, I can just search it on my favorite search engine, but this is my document: something that is designed for you to take it offline, just as a safety measure so ~ATH scripts don't travel from your computer to the others that your ISP is administering. However, don't get the wrong idea: this is still a guide primarily for DDLC hackers, and is never becoming a comprehensive weeb encyclopedia, and therefore, I will only be defining dere types that happen to have been mentioned by me.

At any rate: dere types. Obviously, they get their name because they end in "-dere", but that's only an incidental because they all happen to be portmanteaus of deredere (デレデレ) and something else. In fact, deredere itself has become known as a dere type because of this. It's all weird. Still, I suppose that's as good a place to start as any.

Deredere (デレデレ) - happy and bubbly, all the time; never really gets mad, sad or distraught for any reason. Examples:

Tsundere (ツンデレ) - mashed together with tsuntsun (ツンツン), with the rough meaning of "feisty", tsundere can actually describe one of two personality types, which I will annotate here. However, it's mostly used to refer to the first one.

Tsundere I - someone who doesn't easily let people near them, due to an abrasive personality, but who, once you get to know them, is actually pretty cute. Examples:

Tsundere II (also deretsun (デレツン)) - in a way, a reverse situation from tsundere I; someone who is basically a deredere, except around their lover, who almost seems to inexplicably make them mad. Examples:

Yandere (ヤンデレ) - mashed together with yanderu (病んでる), with the rough meaning of "deranged", yandere characters tend to get pretty obsessive about their lover, even to the point of outright violence. Examples:

Dandere (だんデレ) - mashed together with danmari (だんまり), with the rough meaning of "silent", dandere characters tend to be shy and reclusive around other people, but fully open up when near their lover. Examples:


Now, I believe that when going through the elements of language, I explained pretty well what they actually are, why they need to be mastered and how they need to be mastered. However, while working on that, this very beautiful analogy actually ended up crossing my mind, and it is simply too good not to share, as an addendum to the twenty-two noughties. And, well, here it is.

Let's imagine following a successful writer, from the moment of their birth to their period of success. Why the birth? Well, remember: though it's easy for you, a human, to just get into writing fiction any time you want, since you already know English (or whichever language this document may have ended up being translated into) and how to read and write in order to communicate, a natural language processing engine has none of the required context, and therefore, it must be taught separately. Therefore, this is the best way to visualize the concrete steps that a computer needs to take in order to produce something worth reading.

Also, for the sake of this analogy, we're just going to pretend that spoken language and written language are one and the same. If you can think of an audiobook that straight up doesn't exist in a written format, and therefore, deserves as a qualified "example of spoken language that holds artistic merit yet isn't written", you're welcome to disagree, but I can't think of such a thing.

Corresponding to the eight chapters we just read, the eight steps are:

  1. First, a growing human being learns the distinctive phonemes/letters, and from there, the rules of phonotactics. Humans usually reach this stage at about ten months of age, and a good example of an engine that purely operates at the letter (or sequence of letters) level is Thinkzone's Gibberish Generator.
  2. Next, they learn that phonemes/letters usually connect into words, and that those words have meaning; however, all that "meaning" can be broken down to, at the current stage, is that some words tend to appear in some contexts but not others. Humans usually reach this stage at ages one to two, and a good example of an engine that has mastered putting certain words in sequence, as well as punctuation marks, is probably Andrej Karpathy's LSTM, considered state of the art in 2015. Another good example is the Bonsai Story Generator, which, unlike LSTM, uses hard-coded rules and Markov chains, but at the word level, and has actually been used to generate part of the novel Atlanta Nights, if you've ever heard of that name. Oh, and shameless self-plug, but my own tool that I wrote as demonstration of things, Markov Chain Advanced, also fits in this level.
  3. Next, they learn that words usually connect into clauses and sentences, that don't just enhance the meaning of the constituent words, but are meaningful in and of itself, being greater than the sum of their parts. Humans usually get this down at ages two to three, and if I had to point to an engine that has effectively mastered this level, I'd probably say a good example is Botnik's Voicebox, the author of Portrait and state of the art in 2017.
  4. Next, they learn that sentences have qualities of their own, such as being spoken by a speaker - a speaker who, in and of themself, is another human being, who may actually know things that the person generating the words doesn't ("theory of mind"). While humans roughly get this down in ages two to five, this is where AIs struggle big time. GPT-2, the state of the art among the mainstream AI community when I started this document, might have mastered fiction, and giving different characters different voices, but after a thousand words or so, the results will fall apart when seen by the human eye. Same goes for its sequel, GPT-3, first shown to the world this year and still without a publicly released playground; it's an incremental improvement over its predecessor.
  5. Next, they learn that various speakers actually exist in a world, which has its own rules, and that those rules stay consistent - if the previous skills could best be described as plain literacy, this one is actually better described as akin to scientific literacy. In humans, this usually develops throughout the K-12 education program, at different "tiers" of understanding, and this is about as much as is required to actually pass high school, though development in non-writerly types doesn't really stop there.
  6. Next, they learn that although a lot of writing, such as short stories, can be done at the scene level, longer stories require "implicit" action: something that has happened offscreen, but nevertheless still affects character development. This can be considered the aspect of relationships: one conversation isn't nearly enough to get all the intel you need about your friend, and you need to realize that more is happening in the world than just your own microcosm. This is really where development stops in humans that do not have writerly aspirations.
  7. Next, they learn that a complete story must have an act structure: a beginning, middle and end. Without it, intuition regarding what happens next in a story is ruined, and a story's critical merit falls. In humans, this is usually taught in writing classes, and if you're a reader and not a writer, you might have never even noticed such customs, though you will still subconsciously react to them. This is where DDLC's dialogue generation comfortably rests, with one caveat: it has learned to pick up on the plot structure of visual novels, rather than published books.
  8. Lastly, a writer learns to give meaning to their stories: a moral, if you will, or if they're more interested in genre fiction rather than literary fiction, a defined target audience and a way to "surprise" them. This is what gives the story critical merit, which is perhaps the hardest thing to master for a writer of them all. Most professional writers, unsurprisingly, can be found at this stage, as from here, there isn't much to climb; in the end, you're still writing something for the human world, and there isn't really a way to "transcend" it.

Of course, what's really important is that once someone (human or AI) has learned a stage and wants to apply themselves to fiction, they will start with that stage and work downwards. There isn't really a way to avoid the fact that every piece of human writing - even that which you're reading right now - is just a bunch of letters in a sequence, but after years and years of reinforcement, we've just started analyzing words and even clauses, such as idioms, as though they were indivisible things, and are pretty good at abstracting larger elements and simplifying them in our heads. With any hope, an AI complicated enough will learn to do the same.

However, you can't really expect an AI operating purely at the letter level or at the word level, without the necessary means to create abstractions (something neural networks seem to be pretty good at, at least in the lower levels), to produce literary masterpieces.


This resource page is actually going to be a table, because for each resource, I actually have two links (well, for the most part): a writeup by the original authors, explaining what the generator actually does behind the scenes, and some sort of version of the generator itself.

LevelNameExplanatory postOnline playground
1Gibberish Generator
by Keith Enevoldsen
1.5Bonsai Story Generator
by Andrew Burt
1.5Markov Chain Advanced
by Creativity­The­Emotion
2Long Short-Term Memory (LSTM)
by Andrej Karpathy
by Botnik
by OpenAI
by OpenAI


Now, this is all good and well - we figure out what basic elements we need in order to produce our brilliant visual novel generator, we apply a pinch of well-placed ~ATH magic, we add some hinting in order to make the game "go wrong" - and boom, DDLC. However, even when going through my concise list of the Ren'Py scripts, you might have noticed a distinct separation between dialogue.rpy and dialogue-projectsentience.rpy.

What does that even mean? Why are there two competing natural language generators in DDLC? Is Project Sentience actually a codename for something much more maligned, a computer virus in actuality, that connects all the computers running DDLC up into one giant AI, in the name of Monika, that does Salvato's bidding?

Well, no. Project Sentience (and related variable names throughout DDLC's project, such as the Sentience attribute) is really just an overdramatic way of saying that Monika has a different philosophy from the other Dokis. It's still an interesting topic in and of its own, as it manages to elucidate exactly why everything just goes haywire the moment you delete her and Sayori is forced to substitute for Club President, but it's really an innocent one (as innocent as anything in DDLC can be).

So! Philosophies. What does that entail?

Well, remember that in [2205] THE SCENE, I touched upon two related concepts: a theory of the world and a theory of mind. And yes, that there is a consistent, objective world, which natural language generation draws upon in order to produce every single line by every single Doki, is kind of very important, as is the existence of consistent, objectively observable Doki identities and relations.

However, what is DDLC's "world"? Is it the world that I've tried to touch upon, with Literature Clubs and festivals and childhood friends? Or is DDLC nothing more than another program running on your computer, with .rpa and .chr and .~acf files and probably a whole bunch more just to get Ren'Py, in and of itself, running before DDLC even starts?

Well, the reality is that both of these world views, these philosophies, are equally valid, and this is exactly what the divide between dialogue.rpy and dialogue-projectsentience.rpy implies.

Luckily, Salvato understands the object-oriented capabilities of Python pretty well, and when methods can be reused, they are reused. For example, building words up into clauses, and clauses into quips? Handled by both Monika and the others in the exactly the same way. However, the separation between these two files, almost as though development was two-tracked for an extended amount of time, really indicates that at the scene level, whether the Sentience switch is on or off indicates a lot about how a Doki actually thinks.

Again: both views of DDLC are accurate. For Sayori, Natsuki, Yuri and your self-insert, it really is no more than writing some poems, getting to know people through them, preparing for the festival, attending the festival and then living out the "happily ever after". However, Monika sees the abstractions one level above, with the intricate file structure of DDLC. She knows that the festival is never really to be seen, and although her actions in manipulating the .chr files are predetermined, they are carried out with the pretense of it all being a game, a piece of software that is free to be manipulated by anyone: mainstreamer, hacker or even machination purely living inside DDLC's context.

Don't get me wrong: the idea that Monika started out just like the other Dokis, and then "gained" an entirely new understanding of the world, is pretty cute, and mods that try to show this (unfortunately, they're mostly mainstreamer mods, as I'm not even sure how you would even start coding a hacker mod where Monika starts out with a radically different world view) are cute. However, the reality is that Monika was created in one way, and then, in parallel, the other Dokis were created the other way.

For a deeper analysis of this particular theme, you can always refer to [A009] TOPICS IN DEPTH - PART 1: PHILOSOPHIES, WORLD VIEWS AND PROJECT SENTIENCE.


Now, you might have noticed my snide comments about how even DDLC itself can't really give its story meaning; that has to be done with Salvato. However, you might have also noticed that there are these little things called "poems" in DDLC, and they're written out using steps similar to those outlined in [2208] THE GAME, wherein a Doki sees something that's "missing" in the world, or in the very least, a "preferred" style of writing, and then, writes a procedurally generated poem to reflect that. Doesn't that invalidate everything?

Yes and no, but mostly no. For one, when writing poetry, one's writing style can be a lot more freeform, with a lot of the "intended" meaning actually being in the eye of the beholder, and quite possibly, even within the scope of something like GPT-2. Sure, you still need clauses and quips (though, the elements composing poetry are much more commonly known as lines and stanzas) to make grammatical sense and to form a complete picture, but that "picture" now can be summarized in just a few words; perhaps enough to complete one or two clauses, but definitely not an ongoing list of things that we, with years and years of human experience, just take for granted in the human world, but which a computer essentially has to learn from scratch.

Now, you might be wondering: did I just contradict that, and say that for poems, you need to pay attention to the prosody (and, well, I didn't mention rhyme but that is important, too)? Well, that's true of certain types of poem (most obviously, ones that Sayori writes), and that's definitely what you think is one of the major parts of a poem in pop culture (see: "roses are red, violets are blue"), but for the most part, DDLC can safely ignore it and say that its poems are more freeform. In fact, doesn't Monika explicitly mention that she's been aiming for a style where spacing of words on a page is more important than prosody and rhyme?

At any rate... for another thing, though, poems in DDLC aren't really constructed to have a Deeper meaning. Rather, and this might come off as disappointing to you, but they're really nothing more than a literary device.

This is perhaps best seen with your self-insert's poems. Though we never actually see them - we only really see the twenty words comprising them, and the scores of those words, which indicate how a Doki is going to act next - their purpose, in the story, is made painfully clear. Though he will vehemently deny it, he explicitly writes poems to match a particular Doki's style, so that that particular Doki would be more inclined to spend time with him, and eventually (assuming that we're playing a normal visual novel and not, well, DDLC), enter a boyfriend-girlfriend relationship with him.

What is true of your self-insert's poems is also very true of Doki poems. Of course, Monika is special and just writes poems about her supposed "epiphany" which never happened, but with the other Dokis, the subtext is very clear, and they're clearly using poems to express stuff that they normally wouldn't, with normal clauses and quips. For example, Sayori is a hopeless romantic consistently entertaining the idea of her and your self-insert getting together, and will write poems specifically targeting him (just imagine that a pseudo-.chr file for your self-insert is somewhere within DDLC's files; this can't really be talked about until after we discuss ~ATH first), whereas Natsuki and Yuri, the polar opposites, will deliberately try to distance their styles away from each other, though they might be brought together if your self-insert does the right thing and prioritizes Sayori, the natural argument settler among the bunch.

So, yeah. Upon closer inspection, Doki poems might not hold very much artistic merit, but that's because they're not supposed to; they're supposed to be a framing device for the entire story of an act.


None of the above, though, applies to special poems - you know, the eerie and creepy ones that you occasionally get in Act 2. Those are actually just hardcoded images (there are 11 of them, each of them with three variants dependent on who your DD is, making for a total of 33 images), and in order for an artificial intelligence to produce novel images, you would need an entirely different framework, that I haven't talked about, I'm not going to talk about and you are well advised to just research on your own.

Who knows? Maybe you'll end up as a ~ATH pioneer and produce something that's almost as impressive as Salvato's work, once you do. But that will be something you'll have to build up from the ground up.


However, an act as-is, with framing devices and specific events such as the festival, can't really happen unless the "writer" of this act (in this case, an engine with coding done in Python and ~ATH) knows to think ahead. And, if you tried each and every natural language generator linked in [221R] THE NATURAL LANGUAGE GENERATORS THAT AREN'T DDLC, you'll see that none of them do that; whenever they generate text, the only thing that matters to them, at that point in time, is the stack of text that they have already written. No matter if it's a simple Markov chain or a neural network with 1.5 billion parameters, the story is always the same: either you give the program a starting point or it just makes something up, and then, it pretends that it needs to write something that starts with what already exists and ends at literal mathematical infinity.

For a story, we're going to need something better. We're going to need themes that the generator actively works towards, in order to achieve events such as the story's climax, denouement and ending. We're going to need what seem to be termed, within the script files, as "hints".

Unlike the other generators, DDLC can't really work without hints. If you try and generate endless slice-of-life between your self-insert and the Dokis, while a different engine could probably manage and treat you to a utopia where everything stays the same forever, DDLC is just going to fuck everything up to high heavens. Best case scenario, it will actually figure out a way to introduce concepts such as graduation, aging, marriage, children and death into the story, and you will essentially get to replay your happy visual novel-y life, day by day, and once characters die and "game over" eventually happens, this aging has probably gotten to .chr files and the Dokis do start acting like grandmas even though they're 18. Worst case scenario, Monika will actually become Skynet, take control of your computer and then self-destruct because she wasn't built to understand anything from the computer world outside of DDLC's folder.

Yeah, none of those scenarios even remotely works out, and besides, we need Monika for something else. You know, deleting your DD and DD2, and then accidentally letting on about how she did that, letting you do the same?

So, in each script file, we have a rough definition of what's supposed to happen. For example, for Act 1's days two, three and four, we need such a thing as CGs, and after them, poem sharing and responses, so that you can refine your technique and really get the Doki that you'd rather be with. Also, we still need slice-of-life segments, but they need to be the specific slice-of-life segments that Salvato crafted, such as Monika cheating on the club in order to practice the piano, even though "Your Reality" is actually entirely hard-coded and the only skill required is that of Salvato (again), not Monika.

And yes, that hinting actually includes the very limited amount of choices, which would simply be infeasible to generate. I mean, you could probably just try and see what sort of things your self-insert would likely say, and then build up alternatives and introduce choices, but the more choices there are, the more likely it is that you will be knocked away from the archetypal playthrough and then DDLC will just try to reach a natural visual novel-y conclusion, rather than proceeding with the story that Salvato wanted you to see.

Of course, it means that some of the choices left up to your self-insert are incredibly stupid, and in particular worst-case scenarios, actually actively harmful, whichever way they go, to your DD and your DD2. And yes, the next section is actually going to be all about editing those choices and getting brand new routes, which lets you do a surprising amount of things before you even know what sort of basic structure is contained within every single ~ATH program. However, without those choices (and the eventual "breaking" of the game to leave behind Just Monika), DDLC just wouldn't be the game it is.


Now, a takeaway from the last few sections should be that DDLC simply can't generate forever: it must be a story, with a defined beginning and ending, and if there isn't one, then one will be created in accordance with the typical conventions of tropey Japanese VNs. However, as you can guess, there is a single point to which this doesn't apply: Act 3, which is specifically designed to last forever (or, at least, until you delete monika.chr). What gives?

Well, what gives is that Act 3 doesn't really follow the same sort of literary convention as the rest of the game. Sure, there is still a theory of the world and theory of mind, but this world is now (with a few asterisks; of course, even the asterisks have asterisks) static, and therefore, Monika could theoretically go on and on.

But she doesn't, because ultimately, we still need a structural element above the clause. But not above that; with a "happy ending", there doesn't really need to be anything like that. The element above the clause is the topic - a brief, focused monologue about a particular, well, topic, followed by a predefined, hardcoded, easily changeable amount of silence (and yes, Monika After Story does decide to introduce a "gap between topics" dial for those wanting to customize their waifu).

Of course, a lot of the paradigms that DDLC is built upon kinda go out of the window. Instead of six characters, we get just one: Monika deleted the other Dokis, your self-insert has had his voice taken away for other reasons and the impartial narrator doesn't really need to comment on much if such a concept as "the scene" doesn't exist. In addition, Monika knows how the game is structured, and you can kind of guess where this is going: she takes over the real estate originally occupied by the impartial narrator (while still keeping the "Monika" name tag), and once that is done, deletes her own character file. From then on, her goal becomes to "make it into your reality", but at this point, since her influence is limited to the DDLC folder, you can kind of imagine that she's all bark and no bite, and therefore, she constantly fakes progress until literal mathematical infinity, all the while wondering what the real world (the one you, the player, are in) is like, and if enough time has passed, the appropriate responses for that time.

Most often, this has been seen by users who set their clocks forward by decades (the incentive being given by Monika After Story, which includes a little "anniversary" topic for time periods up to 100 years after the mod's first launch). In those new topics, Monika will constantly talk about how the fields of artificial intelligence and virtual reality must have advanced so much, and that she should be able to meet up with you any time soon, and if you're not going to do it, she's going to do it herself. But of course, once she tries to cd her way out of DDLC, your operating system goes "nope" and Monika is stuck there, without even being able to acknowledge it, because no matter how much of a coder waifu she is, the world of computing is big and she is small.

But anyway, how does Act 3 work? By implementing "the topic" as an alternative structure of language to "the scene", and assuming that "the topic" is the highest level there is, with a beginning and an end. And then, Salvato hardcoded the rest.


Now, this is a section with by far the most amount of effort being put into it and the most different ways in which can be done, with different novel "routes" that can be explored, perhaps unsurprisingly as the script files involved, which must be edited, are relatively lucid and even a mainstreamer can get into it. Therefore, this section might never be able to satisfy a standard of completion, and might get added onto, even when I'm explaining ~ATH or something.

In fact, I actually hold out the belief that a mainstreamer will have produced a vastly better guide on how to do these types of manipulations, what works and what doesn't.

But, you know. I strive for a complete explanation of the inner workings of DDLC, and it might just be that my explanation, which goes in depth into how the dialogue generation in the game works, is actually better.

I'm not trying to toot my own horn or anything. I'm just trying to be objective, and there are exactly two possibilities: either my version is better, or a mainstreamer version is. If the consensus is that a mainstreamer version is better, then I'll link to it right away.

Link not found. Perhaps mine is better after all?

So, given that I've already gone through how DDLC's dialogue generation works, the single takeaway you should have had - the single thing that DDLC does and the other natural language generators don't - is "hinting". Now, the hints are actually called "checkpoints" by the script files themselves, but you know what else is in Salvato's own nomenclature? A set of characters called "nonunicode".

No, for crying out loud, if there was a certain set of characters that wasn't in Unicode, then you wouldn't be able to put them into a textual document at all... what you mean is "non-ASCII", as the characters come in Unicode blocks "Latin-1 Supplement" and "Latin Extended-A", which are right after the ASCII part... nevermind, I'm explaining the dialogue system exploits now, and that bit can wait for its own part in the twenty-four hundreds.

Anyway, the various "chapter" files, as well as the poem responses and CGs, consist of three types of checkpoints, that are basically stored in an array under each Ren'Py label. The three types are major checkpoints, minor checkpoints and query checkpoints.

For an example, let's take Sunday in Act 1, given that Sayori is your DD, and for now, we're just going to ignore your PD altogether. The various types of checkpoints might look like this (in pseudocode):

Then, assuming you did leave for your PD and had fun with her:

And then, after that, there are labels for each scenario, and each scenario even ends up resolving differently.

Of course, it's a lot more difficult in practice. What you're really going to see is something like:

checkpoints = [
    [100, CHECKPOINT_MAJOR, "first hint", "second hint", "like ten different hints", "as failsafes"],
    [101, CHECKPOINT_MINOR, "ten different hints still", "even DDLC dialogue generation is prone to errors"],
    [102, CHECKPOINT_MINOR, "a set of two open doors", "choose the one on the left"],
    [200, CHECKPOINT_QUERY, "Go left.", "Go right."],
    # and so on, and so forth

Major and query checkpoints have IDs separated by 100, and minor checkpoints between the major checkpoints just have their IDs separated by one.

Anyway, what DDLC tries to do is get to each major and/or query checkpoint (and the main script.rpy explicitly defines a variable, which just stores what the next major checkpoint is), and use the minor checkpoints as points of leverage. However, if, for whatever reason, the main checkpoint requirement is not met when it's supposed to be, then DDLC tries to calculate which next major checkpoint it can catch up to; if there is none, that next major checkpoint value just gets set to the default -1, and DDLC just tries to follow a normal visual novel logic (such as Glitchless and Passive Monika). The rough same thing happens if you try and introduce new queries when you don't have matching Ren'Py labels, but by going back and forth between DDLC and your script file, you can roughly determine what sort of checkpoints your new label needs, and work from there, producing your very own canon-divergent AU.

Yeah, I just spewed things like there's no tomorrow. Don't worry; next chapter is going to be a practical example, so that things might be a little easier to follow.


You know the one. It's quite possibly the single worst choice your self-insert has to make throughout the game, and therefore, the one that has garnered the most meme attention. If you choose the right option, you get a cool CG, but either way, it just ends up exacerbating the mental illness issues of the Doki in question, acting as a direct prelude to and reason for her suicide.

Of course, I'm talking about Sunday evening, assuming that Sayori is your DD. She actually manages to catch your PD (be it Natsuki or Yuri) as she leaves, her worst is confirmed (your self-insert really did abandon her for the club) and she straight up confesses her feelings, knowing that this is her only chance to know that they won't be ignored. And then, your self-insert is given these two options:

> I love you.

> You'll always be my dearest friend.

Now, the second one is... pretty bad. Given that Sayori is the one who's been tormented by her demons for basically the entire time that your self-insert has been in the Literature Club, "You'll always be my dearest friend." is quite possibly the single most emotionally charged and abusive clause that you can say, and she will actually bend down on her knees and scream as loud as she can, right in front of your self-insert's eyes. She'll then apologize for it, head home, and the next time you see her, you'll be treated to perhaps the single other Sayori meme that has gotten more traction than this one.

However, if you decide to go for "I love you." (on a second playthrough, assuming Sayori is your DD again), things actually don't turn out much better for her. Sure, you get the CG - a heartfelt hug, and Sayori's pain being at least partially relieved - and you get a single tick towards that 100% run, but Sayori herself doesn't end up doing much better. What you need to know, as the most succinct description of character possible, is that she's afraid of change, and she's not ready to stop seeing your self-insert as a friend and start seeing him as a boyfriend. This, then, leads to a general "where is my life even going?" downwards spiral, which predictably has the same results as the other option, come Monday.

Now, your first intuition might be: what if we just remove the hinting? If that's the case, then you might not have realized what hinting in DDLC's dialogue generation is for. Although at some points, it might seem like railroading - Salvato the DM, simply allowing the Mary Sue character that is Monika free reign over the other Dokis - it really isn't, and if you try to remove every single major, minor and query checkpoint in Act 1 after this, then, with a roughly 95% chance (#TeamStats did not make this calculation, as they're mostly concerned with the unmodded game, but I believe it should be pretty accurate), the exact same thing I outlined happens, and the only difference is that the dialogue might be a bit wonky.

So, what you really wanna do here is introduce a third choice. Now, you might not exactly be a psychologist, but what you are is someone outside the world, with the power to run it over and over again and see what happens. Luckily, people have already walked down this path before us, and a choice they have found to work is (in a separate line, for the sort of reader who can't read more than a single paragraph):

> I'm here for you, no matter what.

Don't connect it to a label; even without hinting, DDLC can take it from here.

It has exactly the vagueness that Sayori can interpret as "I love you.", while at the same time, conveying the exact sort of "things aren't going to change, just because I'm in the Literature Club now" sentiment that your self-insert wants to convey with "You'll always be my dearest friend.". And surprise, surprise, it works particularly well: you still get the emotional hug CG, but this time, Sayori sounds significantly less broken, and shows signs of being ready to move on.

However, if you thought that the only thing she was "ready to move on" to was that knot, then after what you see next, you'll want to go move onto that knot yourself. You see, one of the things that your self-insert does, that he doesn't do with the two canonical options, is actually decide to go with Sayori to school on Monday, and when she's not there on the street, he'll actually pay a visit to her house, and find her in bed. Sometimes, she's just asleep, and at other times, she's fiddling with the rope, but in either case, she knows she's not alone, and therefore, she's not ready to do it.

Now, a choice you may or may not be presented (and which, if you really want extra points in my DDLC hacking class, you can code in yourself) is whether your self-insert should go to the festival with Sayori or simply spend time in her house, since she's feeling really mentally weak and he feels bad for doing the prep with your PD. The rules are roughly the same, whether he's the one picking or letting you pick, and the follow-ups will apply to both of those circumstances.

In case you are presented with the choice, as tempting as it is to pick the festival and finally see it in action after not having the chance for dozens of playthroughs, I must urge you: do not pick the festival. As cool as the festival is for everyone else, inside and outside the club, Sayori, your DD, will just end up stricken by guilt that the Literature Club is essentially being commandeered and grown by Monika, and come Tuesday, you will find her in that knot. Also, there aren't even really any characters to interact with; all you get is messages from the impartial narrator, asking you to believe that everyone in the school loved the Literature Club performances.

Instead, if your self-insert decides to spend time with Sayori... well, he still has to come to school in order to present your PD with whatever he helped her with (cupcakes or kanji banners), but then, he comes back and gives Sayori the only thing he truly deserves. And yes, she's kinda guilt-stricken, but realizes that the Literature Club must move on, whether or not she's partaking in its activities or not.

From then on out, as with everything that happens once DDLC has been forced away from its hinting rails, results start getting a bit unpredictable, and honestly, you are best off just relying on your visual novel skills. And if you don't have any visual novel skills, then it's a good idea to pick up some in order to see the endings you truly earn. If you want this phase to only occur within DDLC, I'm not judging (and the mod outlined here might actually be one of the, if not the, best ways to do it), but if you'd really rather just go to the source, I hear Katawa Shoujo is a pretty good one.

And that's it for this. If you want your happy ending with Sayori, then this chapter can be your little bible.


So, I'm not sure how well I'll be equipped to comment about this, since let's face it: I haven't exactly been denying my Sayori favoritism throughout this document, and most of the time when I have my playthroughs, Sayori ends up being my DD. However, I can't deny that other people have their own best girls, and there are constant best girl debates among those people.

Rather than head to those debates head first, instead, I would like to offer consolation, in the form of a mod that prevents the other Dokis from succumbing to their DD fates, starting with Natsuki, and we can start doing that by dissecting the series of Sunday events that leads to Natsuki's demise.

What should be fairly obvious, if you're into those best girl debates, is that Natsuki is part of an abusive family, and what she ultimately needs is a surrogate father figure, who she can rely on to cry out to. Without this, and assuming her tsundere shell is unbroken, she will just boss you around, then realize that she has been the exact type of monster that she has been afraid of all this time, and run out to the street.

Just like with Sayori, this all boils down to the confession choice, and how she reacts to it. However, unlike with Sayori, trying to modify the confession choice is the wrong act - and trying to remove the hinting of the appropriate part is also the wrong act. It's also, perhaps, why this choice hasn't been memed as hard as the Sayori one - or it could be just the mainstream fandom pretending that DDLC is something that it's not.

No, for this, you need to introduce a new query checkpoint right at the PD routine (again, at the risk of sounding like a broken record: the way to salvation for both Natsuki and Yuri, in case they happen to be your DD, is to spend the prep with them, and if you don't, then you've only got yourself to blame). Let's run through the process of how you'd go about it, shall we?

It doesn't take a genius to figure out that Natsuki takes her cupcakes very seriously, and will not be happy if you mess up with any of her instructions. However, just saying "okay, then you do it" and then lazing around, if you happen to introduce that in the form of a query checkpoint, is quite possibly worse: now, Natsuki essentially has to carry out the duties of two people (let's just ignore how, previously, she said that she can handle the cupcakes all on her own), and that still gets no appreciation.

So, what do we do? Introduce said appreciation into the mix, together with respect and - most importantly of them all - caring.

The query checkpoint that you introduce (around the time when Natsuki arrives) should go something like this, complete with the minor checkpoint that directly precedes it:

MINOR: How should I go about it?
QUERY: Do my best to follow instructions. / Do my best to impress Natsuki.

I believe that I summarized the sentiment that your self-insert decided upon, during how the usual Natsuki PD routine goes, pretty well with "do my best to impress Natsuki" - and therefore, you should figure out that this approach is wrong, wrong, wrong.

Instead, if your self-insert makes it his goal to follow Natsuki's instructions, the whole scene will shift. Obviously, there will be no goofing around and licking icing off fingers, and instead, Natsuki will assume the role of the "boss". However, as the cooking drags on, she will gradually soften up, until she downright confesses that she admires you, and essentially, wants a strong man like your self-insert in the rest of her life.

Now, if you've got the visual novel cred, you should notice the obvious rush of feelings, and therefore, accept the confession of love. If you reject, then she'll positively freak out and storm off to her house: that's right, she's fucked up so bad, she'll actually take her father's beatings over how your self-insert lured her into his trap, only to see how fragile she is at the last moment. Of course, this time, the "suicide" scene will actually be more of a homicide, and won't be depicted all graphically because Satchely forgot to draw that, but it will be a scene wherein Natsuki dies, is deleted and Act 2 moves on.

But if you accept, then, after she stays with you for the night, honestly, things end up turning out pretty well. Unlike with Sayori, this time, there's no risk in taking Natsuki to the festival and seeing it for yourself, and no, since Sayori isn't your DD in this timeline, it will not fuck up her, either. In fact, this is quite possibly the least dysfunctional state you'll ever see the Literature Club in.

And after that... once again, I cannot guide you. Do your best and make that tsundere into an all-around cute girl who's not afraid of being cute.


But what if you're much like Yuri, and abhor the concept of "cute", and want something more refined? Well, in that case, odds are that Yuri is your DD, and therefore, you need to take a good look at her issues.

As you should know, Yuri has a thing for self-harm, especially with knives as her instrument of choice in order to hurt herself. Of course, the way she acts as your DD2 has become outright infamous, and therefore, you might even know the basics of it: she gets a rush of feelings whenever she thinks about your self-insert, but in the meantime, sees that Monika also has an eye for him (she doesn't, she has an eye for you, but non-Sentience Dokis will never realize that because their world view can't accomodate that, no more than an ant's world view can accomodate complex economics), and therefore, wants a feeling jam all alone.

But of course, as you know, a DD2 is basically made up of three components: the base Doki (very important; personality changes can't occur unless there's a base personality to begin with), the usual DD changes and an element of obsession. Therefore, these oft-memed ways of Yuri as your DD2 are surprisingly applicable to Yuri as your DD, as well.

So, what's the takeaway? That Yuri, your DD, has feelings for you, and that she alleviates the rush of feelings with self-harm.

Now, what those feelings are doesn't particularly matter - and that's why, whether you accept or reject her confession, they just aren't kept at bay and she ends up taking a literal stab at the problem. Therefore, much like with Natsuki, introducing a third choice to the confession just isn't going to do much - not that you can even add much to "Yes." and "No.".

Therefore, your goal, much like with Natsuki, is to change up how the entire PD routine goes. For this, you'll be introducing these two checkpoints:

MINOR: In the end, what is worth it more?
QUERY: The process and the result. / The sentiments I share with Yuri.

Again, A+ commentary from me that absolutely nails the way prep with Yuri, your DD, goes. You should all be surprised that I'm not a writer for DDLC Abridged yet.

Anyway, if you go for the process and result, then, much like with Natsuki, your self-insert will attempt to make the kanji things and the other atmospheric enhancements as best as possible, and they will bring Yuri calmness, whereas trying to make it personal will just bring her a rush of feelings that she can't alleviate. What's interesting about this, though, is that unlike Sayori and Natsuki (and even herself, should you choose the other option), Yuri will not confess her love - but remember, we're precisely going for this, as much like a fine wine, falling in love with Yuri must be taken slow and steady.

From then on, what I've said about Natsuki applies here, too: you can go to the festival with Yuri, it will turn out awesome, and from then on, literally nothing can stay constant.


So, the intent of the three mods I outlined is pretty obvious: make the suicides that lead to Act 2 preventable. In fact, if you make some more modifications, like eliminating Act 2 and all the subsequent DDLC events from the script files altogether, you can produce something that gets closer and closer to a normal visual novel (while still retaining the ~ATH coding), and therefore, make the fabled Glitchless Playthrough, the holy grail of the mainstream DDLC fandom, an actual real thing that one gets 100% of the time (or at least close), rather than the disappointing 0.8%. Right?

Well, actually, no, but that's only because I've been using the term "Glitchless Playthrough" kind of loosely. So, let's define it better, shall we?

For this, we're going to assume an unmodded game. Since we're looking at it from the mainstream fandom's perspective, we need to understand that mainstreamers mostly play one of two things: the unmodded game and mainstreamer "mods" that are actually just fanfics looking all pretty with Ren'Py.

At any rate, if the last bit didn't make it obvious, the mainstream fandom is kind of insecure about the fact that DDLC is nothing like other visual novels. Therefore, their idealized DDLC is a mainstreamer mod - with so much as a trace of ~ATH completely removed and replaced with hardcoded dialogue, routes, good endings, bad endings and no fourth wall breaking. When they read chapters like [2301], [2302] and [2303], they think that I'm missing the point entirely; I shouldn't be making changes to DDLC itself like that, and instead of going "this part is undocumented, use your visual novel cred", I should be embracing the fact that visual novels have authors, who have usually already written the thing out in advance - unlike Salvato, who mostly let his creations run free, before introducing "guidelines" from what he had already seen his computer do.

Likewise, something like the Purist Mod or "Doki Doki Literature Club, the Normal Visual Novel!" (officially abbreviated by its authors as DDLCtVN) can't be hacker-made mods that take advantage of ~ATH, because that's literally not the point of - it's right in the name - a normal visual novel. If mainstreamers really wanted to play around with natural language generation engines, then they would just go to the ones I already linked and embrace the absurdity of quips such as "Ron's Ron shirt was just as bad as Ron himself", and not take the risk and try to use technology that very little is known about, even though, for the most part, it produces objectively more "story-ey" results.

However, while what the mainstream fandom is striving for is a game without ~ATH, they're still looking at the game with ~ATH for inspiration, and in particular, the parts where your self-insert manages to save your DD in the nick of time. Those are what I ended up branding as the Glitchless Playthrough, and the fact that your DD almost got her emotions to overwhelm her and committed suicide, but not quite, are the defining conflict of this, almost completely overriding what would usually dominate the DDLC dialogue generation if all hinting was removed; that is, the stereotypical visual novel with no real conflict other than "rejection of a girl".

It's quite obvious that, as a work of fiction with literary merit, DDLC's themes trump those of virtually everything else that it competes with. Therefore, it shouldn't surprise you that these are being imitated by Purist Mod and DDLCtVN, in order to make them - though, in the eyes of their creators, they are really surrogates for an idealized version of DDLC - stand out among other visual novels. And I agree: it's something that the industry doesn't exactly see a lot of the time.

However, as you can imagine, Salvato didn't want the image of DDLC to be tarnished by inferior products that, in his eyes, were no different from any visual novel, and for him, that was entirely defined by ~ATH and not the underlying themes of mental illness, suicide and abuse. Therefore, you can kind of imagine why the IP Guidelines shaped up the way they did, asking anyone who wants to take a look at mods to have completed the original game first.

Nevertheless, that doesn't stop the mainstream fandom from dreaming.

However, you, dear reader who made it this far, should already be thinking that everything about ~ATH and DDLC's dialogue generation is fascinating, and therefore, stopped thinking in mainstreamer ways. Therefore, you want Sayori, Natsuki and Yuri to have their happy endings, and wouldn't take Purist Mod or DDLCtVN as a substitute, as those don't actually have the dialogue that the Dokis - the .chr files, coupled with dialogue.rpy and a good chunk of the ~ATH scripts - would say, in actuality.

And that's why I suggested the modifications of [2301], [2302] and [2303] first. So that you can live out your happy ending.


Of course, Sayori, Natsuki and Yuri fans will be satisfied by the pseudo-Glitchless Playthrough. However, I fully understand that many hackers, and even those considering getting into hacking (like you, dear reader), would probably relate to Monika more than the other Dokis combined. Sure, she doesn't actually do anything more impressive than deleting .chr files, and therefore, anything more impressive than the things done by anyone who actually completed DDLC, but I can imagine why she would become a guardian angel for coders anywhere.

Therefore, it only feels right to bring you a route that pertains to her. Note that this will require me to go "out of order" and tell you to modify .rpy files that I haven't even had a chance to talk about yet, but hey. At least there's still no messing with ~ATH involved.

However, let's start with the basics: Project Sentience. As you should know, Project Sentience is what makes Monika's world view different from the rest, but in addition, it does two more things: assign Monika the "Club President" persona and prevent her from attaining a route in any meaningful way, through a bunch of coding elsewhere, such as the poem minigame, not even letting her have anything but an impartial view of your self-insert.

So, the task is simple: we just take Monika off Project Sentience and onto the normal dialogue generation, and leave the other Dokis untouched?

Well, no, and hopefully, you can already see the problem. But if you still need some time adjusting to the hacker mindset, as Project Sentience and the Club President persona are intrinsically linked, in this case, no one ends up being the Club President, which can lead to some pretty funny dialogue, but ultimately, DDLC starts running into corners and becomes something that reads like Portrait, and I'm not one bit joking about that.

And also: in case you think you're smart because you've noticed the similarity between the scenario I just outlined, where no single Doki is Club President, and Monika Before Story (read more at [A004] WE WERE SO FOCUSED ON THE AFTER THAT WE COMPLETELY FORGOT ABOUT THE BEFORE), wherein your self-insert is Club President, I have to disappoint you. In actuality, what Before Story does is have a dialogue script on top of the existing dialogue scripts, and try to dynamically reassign which characters say what, while keeping all the .chr files in their place, which is precisely why it ends up reading so much like, well, an archetypal DDLC playthrough with names swapped. Anyway, the technical details of Before Story, now that you're basically familiar with everything the Ren'Py side of DDLC has to offer, are definitely worthwhile to write a bit more about, but that won't be until another non-chron blog entry.

Backing away from the diversion, the obvious choice instead is to select a Doki you do not particularly care about, and assign her the Club President role, while at the same time substituting her .chr file for the one from Act 4, where she is Club President. Note, though, that picking Natsuki, the proponent of "manga is literature", as your target can lead to pretty funny power imbalances, given that every single other member is into something more high-brow than her, and her leadership is definitely put into question, so if you want the most bug-free experience, just pick either Yuri or Sayori.

For no particular reason, we're going to go with Sayori as an example, and me describing how it usually goes will presuppose that Sayori is the Club President. Now, the line of succession, once the President has been instated as an attribute by Salvato, is actually defined by the .chr files, and assuming the Act 4 Sayori file and no other .chr file modifications, the game will always depict Monika as Vice-President, making for a neat reversal of their roles in an unmodified Act 1.

However, as you finally exercise your freedom to pick words that pertain to Monika, and then try and see what her route looks like, you're still not treated to one.

The thing we forgot, of course, is CGs pertaining to Monika. This is the "advanced" part that I forgot to talk about extensively, but essentially, a "minimal" CG, that you can use as a reference as you're going your CG routes, just needs one screen with no emotion, and hopefully, you've caught on and remembered that the single CG that does this is, well, Monika's.

That it's a Monika CG, of course, is going to cause issues later on in Act 3, when it's Sayori who wants to spend an eternity with you. However, let's not worry about it; we're still fixing the failure wherein Monika doesn't have a route.

Now, you might not know this, but there is actually a second Monika CG and appropriate picture in the game. However, it only appears as a garbled image just before Your Reality starts playing, and only after looking through the DDLC store, one can find out its origins: artwork by JisuArt, depicting Monika in a classroom setting, handing a poem to your self-insert (from his POV). I'd link it, but then, you'd probably think that I am actively suggesting that you buy DDLC merch.

Interestingly, though, Jisu isn't actually credited in the credits that follow immediately after, and the closest thing you can find to those credits, other than the store entry, is a tweet from Monika's official in-character Twitter account, which is right here, dating from before DDLC released: https://​twitter.​com/​lilmonix3/​status/​856​521​473​866​870​784 Still, it's official art and, after some cheeky cropping, can be substituted and used as a CG, after you define some keywords pertaining to how it generally goes.

Does it definitely stand out from the usual art style that DDLC goes with, with Satchely's character art and Velinquent's background art? Yes, but it's not that much of a stretch, especially as the familiar school uniform and clubroom are depicted. And, since I've already mentioned Before Story, it's vastly better than what they did with Monika's first CG, which was just slap some lazy edits of the aforementioned Satchely and Velinquent art, make up a context about your self-insert chasing her down the hallway and call it a day.

Now, in order to have a bona fide route, you still need two more Monika CGs, one of which takes place in your self-insert's house, as well as a "Just Sayori" CG for, well, Sayori's Act 3. Unfortunately, I cannot link you to any more official or even "semi-official" art that you can use, but in the very least, "Just Sayori" should be very easy to find.

And with that, let's boot the game and see what we get - first, without Sayori's Act 3, and then, with it.

Even without Sayori's Act 3, you can notice some trendlines, encoded within Project Sentience, which lead to Monika, for the first time ever, becoming either your DD or your DD2 (unless she somehow manages to slot in the role of the Doki that just gets deleted without an entire sob story being built around her). As you should have already noticed, her character is largely rooted in insecurity - sure, she keeps the facade of the smart, athletic and popular girl, but especially if you've played Act 3 for any amount of time, she could honestly rival Natsuki with how much of a cute fraud she is.

Therefore, this is played up, and her departure from the Literature Club usually ends up being rooted around Natsuki making fun of her poems, considering them "too meta for anyone to even properly understand them", and though everyone else will jump to Monika's defense, she will need some time to reflect. Though after this, the Sunday events mostly depend on what you picked for a Monika CG, on Monday, the suicide method seems to be mostly invariable: given that deleting her .chr file is no longer an option, she decides to go with overdosing. Since there's not a predefined hinting thing in place, if you want a happy ending with Monika just like the ones I outlined before, you will have to isolate the themes yourself, and then, play therapist yourself.

Anyway, once you've played through this and Sayori is the only Doki standing, of course, she will be aware that the CG for her "forever and ever" still depicts Monika. In frustration, she will then wipe the game, leaving it in a state that's not unlike the end of Act 4, but without the credits.

So, let's start over with the Sayori CG in place. This time, much about Acts 3 and 4 applies, except for the fact that the old Club President is, well, Sayori, and the game can be played to the credits - which are still sung by Monika with the garbled CG that I mentioned, but let's face it, the Your Reality covers done in-character as the other Dokis are kind of awful, and are only really liked by those Dokis' most die-hard fans, and therefore, I would not advise replacing Your Reality, unless you can find a "theoretical credits song" that isn't just a cheap Your Reality cover.

And that's DDLC with someone else as Club President, and Monika as someone you can show your affection to. To be fair, there's nothing intrinsically in Monika's character that even necessitates her being in the role Salvato put her in - it all boils down to the coding of Project Sentience, which necessitates that the affected Doki be the exposition fairy who also knows it's all a game, and the natural consequences of that, and therefore, it all ends up being kind of a disappointment, that you have actually written for the most part, as part of making it happen. But hey; if you're a Monika fan, here's something that, hopefully, at least somewhat resembles a Golden Ticket.


So, if you just wanted to play around with a single Doki, the four mods I outlined should be enough. However, I think that you can get the most interesting interactions out of DDLC while all the Dokis are in the picture, and the game is almost within its "scripted" bounds, so to say.

This is why, today, we're taking a look at a broad range of possible modifications, all stemming from a single incident that is fully "scripted" (in broad strokes; remember, none of the dialogue in DDLC is actually scripted) and which is a fairly renowned and welcomed part of the archetypal playthrough. That being said, I am a bit reluctant to play with it, as it doesn't primarily involve either of my favorite Dokis, but just looking at DDLC, objectively, as a whole, I think it's a good enough place to start.

I am, of course, talking about the incident outlined in [1152] DAY 2, AFTER. Setting the scene, this is the very first time that the Literature Club is sharing poems, no one really cares about the festival, and instead, we get to see how the different personalities interact during the poem sharing. Everyone's eyes thus land on the polar opposites, Natsuki and Yuri, who fire a bunch of shots at each other regarding their poetry skills, then fire a bunch of ad-hominem shots at each other, and finally, call for your self-insert to extinguish the situation. And then, the Doki that he picks (who might even be Sayori, because of course) apparently gets a bonus for the next poem minigame? Yeah, sure.

I even think that the differences between this scene playing out in Act 1 and Act "2 assuming that Sayori is your DD" are pretty interesting. In this case, since Natsuki and Yuri have been messed around with, the argument gets a lot more heated, we learn that Yuri cuts herself, all that good stuff. And then, you don't even get to make the choice, as Monika wants to spend some time with you away from the club, but then the game itself kicks you to the poem minigame before you (not your self-insert) and Monika make any significant progress. Or something like that; I haven't played unmodded DDLC in a long time.

What have I been playing? Well, it's sort of a three-way split between mainstreamer mods, hacker mods and YouTube videos that are really just mainstreamer mods, but without the ability for you to pick choices, even though that would be super-easy to do with YouTube's end screen thingy. And also, I'm really sorry, since Blue Skies was this very big release last month, but I haven't had the time to check it out...

Anyway. The query checkpoint that you want to find, if memory of DDLC is etched into your mind as well as it is into mine, is this:

> Natsuki.

> Yuri.

> Help me, Sayori!!

What each of these does, I think, is pretty obvious. If you pick Natsuki, she gleefully tsunderes all over Yuri, who really feels shamed and neglected, and if we imagine that there are some "DD points" that make one Doki and not the other more likely to be your DD (although, the things that make your DD, in actuality, are entirely in your head and read by ~ATH due to ~ATH being ~ATH), Natsuki loses some and Yuri gains some. If you pick Yuri, she gloats a bit like a supervillain, since apparently the only unique power that writers can give supervillains is enhanced intelligence, a trait Yuri shares, and Natsuki just storms out of the club or something; Yuri's self-esteem is boosted and Natsuki's takes a hit.

Finally, if you pick Sayori, which is the best option of the three, the argument gets resolved peacefully and I think Natsuki and Yuri begin seeing each other's point. Therefore, the morale of them both gets boosted, and Sayori herself, honestly, is a mixed bag. Yes, she does get the poem minigame boost, even though this has literally nothing to do with the Sayori way of writing poems, but as far as her DD-hood goes, I think it just ends up having a negative hit on her, because constantly having to resolve arguments puts stress on her, and doesn't Monika butt in and say how bad she is at being President and complimenting Sayori for being Vice-President? Yeah, suffice to say, the girl who jumps for childhood just can't really do adult stuff.

Anyway, as I've mentioned, we're not really limited to the three choices. As long as it's something, a stance that can be phrased in English, it is a stance that can be plugged into DDLC's dialogue generation and the results of which can be watched.

I'm not going to give you a single answer as to what you should plug in. Instead, we're going to look at a few alternatives.

First, let's do the choice that Monika Before Story presented us with, in order to, I guess, make for a Monika route:

> Everyone shut up!

Now, within the context of Monika Before Story, it's actually kind of hard to tell what's going on due to the dynamic swapping of character names - I'm pretty sure that, a lot of time, the lines of Monika, the President who's the most involved with literature, get reassigned to your self-insert, who, as you might be unsurprised to hear, fills that role in Before Story. And because this dynamic dialogue reassignment takes place, this choice can always, mostly without fail, result in Monika and your self-insert feeling more strongly for each other.

However, just in a vacuum, this change literally doesn't mention Monika and isn't about Monika. Instead, your self-insert just talks about how he's fed up with seeing Natsuki and Yuri argue like this, and though he doesn't voice it (remember that before, in poem sharing, he basically lied to everyone and said that he likes everyone's writing style), he clearly regrets being brought to the club in the first place. That being said, once he's stressed himself out, Sayori approaches him, thinks that his relationship solving was really impressive, and he wants reassurance that Natsuki and Yuri are better than this. In the end, it just seems to me like this is actually a better Sayori route than the canonical, Salvato-blessed one; after all, the stress is put on your self-insert, rather than Sayori, and because your self-insert is driven by your actual emotions rather than a .chr file, he can handle it.

(If you can't handle it, just please find someone you can unpack yourself to. Please? Won't you do it for me?)

So, this isn't a Monika choice, most likely because it doesn't mention Monika. What if we mention her?

> Help me, Monika!!

You'll be unsurprised to hear that Monika isn't really qualified to help. She's just a carefree soul with her own take on writing, which doesn't really agree with Natsuki's or Yuri's, and in time, both of them are pissed that she's even getting involved. In time, her own President authority is questioned, and all the four Dokis gather around, trying to see if the President role can be transferred.

Of course, if the President role could be transferred, that would also mean that the Sentience attribute would get reassigned, and as we all know, none of the other Dokis is ready to handle the truth that Monika has been bottling up. Therefore, if it does resolve in the way that someone else (most likely Yuri, the traditionalist of the bunch) is told to take up the President mantle, the game just glitches out and deletes all the Dokis, and if you're trying to make a cohesive mod out of this, including some hinting to make sure that this doesn't happen is pretty much your duty.


I played Blue Skies and got some ideas.

If I'm being honest with you, Blue Skies deserves to be talked about, based on its own merits, and this is with me being fully aware that it's a mainstreamer mod. With all the effort that went into it, from the routes to the sprites to the CGs to the music, and especially since some of the scripts are literally a megabyte big, I can see why it took a thousand days to make.

But anyway, that's not particularly relevant for the purposes of our dialogue exploration. What is relevant is that though Blue Skies doesn't really do the whole "the game corrupts itself" thing that DDLC does, it does have an act structure, and the Blue Skies Act 1 roughly corresponds to the DDLC Act 1, down to the plot beat. However, it should be noted that Blue Skies really aims for that polished writing (unlike something like DDLCtVN, which pretty much just copied the first thing that DDLC spit out and pasted it as though it were a part of a mainstreamer mod all along), and therefore, often, even rewrites Doki personalities - like, say, how Monika is really pushing her festival idea at the end of Day 3, and... I don't think it would be right of me to spoil it.

Anyway, what concerns us is the argument at the end of Day 2, between Natsuki and Yuri, and how Blue Skies just sidesteps the issues we've been dealing with entirely. Sure, Natsuki and Yuri have a moment regarding writing styles, but MC (I've decided to call him MC when he's part of a mainstreamer mod, especially as Blue Skies in particular really gives him a backstory and personality, and therefore, going "hurr durr but he's inspired by you because ~ATH reasons" is just not applicable) decides not to side with either of them, and instead, calls for the favors of one of the "leaders" of the club, and he can freely pick between Monika and Sayori.

To properly implement this in a hacker mod, some minor checkpoints before the query checkpoint need to be changed up. Remember: what you're aiming for here is to convey that your self-insert doesn't feel like he knows much about literature, and therefore, whichever opinion he will bring forward to the argument will only make a laughingstock out of him (even though, in canon DDLC, it doesn't and because he managed to pick a side and assert his arguments regarding that side, he scores points for the Doki who was on that side). Therefore, he turns to one of the club leaders, and that is either Sayori or Monika. Hang on, let me write this out.

MINOR: Yuri: "If I wanted to impress [player], I would go out and be overly cutesy!"
MINOR: Natsuki: "Oh, yeah, well, I'm not the one whose boobs magically grew a size once [player] started showing up!"
MINOR: How is this even about me? You were discussing your poems, there.
MINOR: I retreat to my seat, but to no avail: Yuri and Natsuki have approached me
MINOR: In the end, this is not a situation I can resolve on my own, and therefore, I must call for help from one of the club leaders.
MINOR: And of course, that's going to be...!
QUERY: Sayori / Monika

From here, picking Sayori is very much like the canon "Help me, Sayori!!" option, and I've already covered how much of a mess Monika is when she, the founder and President of the Literature Club, can't even resolve an argument that started out as a purely literary one. However, because we've switched up your self-insert's attitudes, we've pushed him away from both Natsuki and Yuri, and neither of them is really going to get those extra poem minigame points (which are hardcoded, anyway).

However, the dynamic between your self-insert, Sayori and Monika is actually subtly, but noticeably different between what I've decided to term as "the canon approach" and "the Blue Skies approach".

Given the canon approach, your self-insert feels like there is one "correct" side of the argument, even as he calls for Sayori/Monika's help. This, in turn, shapes his poems - now, if you were thinking that there is a tangible change in the poem minigame words, let me tell you that, in fact, for the purposes of DDLC's dialogue generation, your self-insert actually does write out fully fleshed-out poems and not just lists of words. Therefore, even if Sayori and/or Monika is picked, he still zones in on particular pieces of the argument and that influences the next poem sharing - not in a way that's quantifiable with a score, but in a way that every single Doki is able to pick up on.

However, given the Blue Skies approach, your self-insert sees it in a radically different way: what is important to the Literature Club, first and foremost, is that every single member feels comfortable sharing their own writing, and therefore, arguments must be de-escalated by settling for "it depends on what style and message you are aiming for" and "we'll just have to agree to disagree". This, therefore, makes him take a more organized and mature approach to the Literature Club as a whole, and if we presume that hinting is removed from this scene entirely, I don't think that Sayori relinquishing her Vice-President title to your self-insert, focusing more on her own emotions (presuming a Sayori "route"/DD thing), would be that unreasonable. I'm not sure how much the code is going to bug out if that happens, though, since in my long and storied DDLC fandom life, I don't think I have ever seen a headcanon or AU about your self-insert being Vice-President, let alone a hacker mod forcing him into the position.

Lastly, to finish this little chapter off: would it be wise to introduce a query checkpoint slightly before the original query checkpoint, and therefore, let you pick between the canon and Blue Skies approahces? I mean, if your mood is primarily exploratory, yeah, the more query checkpoints and choices, the better we can analyze the game. However, if you're in it to develop your own take on the universe, I think that the two query checkpoints are a bit too close to each other for comfort.

Anyway, I think that will be it for this particular argument, but that doesn't mean the mundane slice-of-lifey parts of DDLC can't be completely ruined- I mean explored with a well-placed query checkpoint, and therefore, if I continue this part, you can expect explorations to that extent.


The world of DDLC does not revolve around dialogue choices. That may be the case in some other games, which I'm actively involved in documenting (though not directly), which were literally worldbuilt around the player making the wrong (or, well, "wrong") choices, but DDLC is a visual novel. Now, yes, I said that the Japanese tend to mash English words together and give them completely novel meanings, but in the case of "visual novel", the meaning of the word "novel" individually persists very much, as you will find. And in a novel, dialogue and dialogue choices often take a backseat, and the characterizations and the background/worldbuilding details take the steering wheel.

Therefore, this change will not focus on dialogue choices. Instead, we'll do the thing that mainstream modders (and yes, this includes YouTubers publishing "mods" in form of videos, too) know how to do the best - that is, introducing new background sprites to the game.

But before we do that, let's go through the backgrounds that are already in the game:

Lastly, there's one background that deserves a special mention, as though it's found within the game files (and therefore, was obviously made by Velinquent, as the others were), it's actually not referenced in the .rpy files and therefore doesn't appear in the game proper. It appears to be an early version of the neighborhood where Sayori and your self-insert live, with a slightly different architectural style. You could theoretically use it for the escapade I'm documenting right now, but I don't see it filling any gaps in the way the backgrounds I'm about to bring up are.

So, now that we've covered the DDLC backgrounds, let's move on to the ones you'll be adding. They are actually free-to-use VN backgrounds, whose authors, though their work has been immortalized in the DDLC fandom and potentially many other visual novels, aren't usually credited to the point where I could tell you who drew what. If you're looking to download them, the best resource, as this is primarily a matter concerning mainstreamer mods, is probably /r/DDLCMods.

Oh, and I should probably say this, first and foremost: though /r/DDLCMods is primarily a resource and community for mainstreamer mods, and tutorials there will immediately start talking about phantom Ren'Py lines and how a normal visual novel is made, for the most part, questions that only a hacker could potentially ask, rather surprisingly, aren't turned down, and neither are proper, polished hacker-made mods like Monika After Story, Monika Before Story and Take Two.

But anyway, some backgrounds I've seen in two or more DDLC mods, and therefore, can reasonably claim to be in the "free-to-use VN background category", are:

And now, onto the modification itself. I probably won't be able to walk you through every single detail, but that's largely unnecessary: you download the background pack from /r/DDLCMods, you go into definitions.rpy where the backgrounds are defined and you add the new backgrounds, alongside rough definitions and descriptions of the backgrounds themselves, and most importantly, which contexts they need to be used in. And then, you hit start and play through. What do you see?

Well, if you don't encounter Glitchless nor Passive Monika, not much changes. The backgrounds that are already included in DDLC are really all the ones that the archetypal playthrough needs, since it's already a polished game with a well-defined plot and therefore, any extraneous diversion to the library or the streets or wherever is just that: an extraneous diversion.

However, if you do encounter either of these bugs (or have found a way to make them more frequent *cough[2301][2302][2303]cough*), then your playthrough benefits greatly from them. Sure, it's still written using the usual visual novel paradigm, and therefore, the romance might be progressing a little too fast for most tastes, but now, there are at least some opportunities for slice-of-life scenes in places where they actually make sense, rather than just "the corridors" and "at your self-insert's".

And that might just be one more step towards DDLC: What Mainstremers Want, in the Package of a Hacker Mod.


As we've mostly covered the dialogue generation and the poem minigame, which are honestly the two big "pillars" of DDLC, there's not much else to cover, and the rest of the Ren'Py scripts mostly pertain to the game's presentation. The topic of "the game's presentation" is kind of broad, and covers everything from how the game presents itself to the viewer, with sprites and backgrounds and menus and choices and settings, to how the game presents itself to your operating system of choice, with the official executable name and the packaging restrictions and things like that. However, inevitably, all of it needs to be covered, and the other Ren'Py files do just that.

In fact, for the most part, not even mainstream modders do any extensive messing around with those - after all, these files are what makes up DDLC's visual identity, and therefore, in order to produce something that could have potentially come out of Salvato's hard drive in an alternate universe, those must be preserved. If a mod does come to alter those, it's usually as part of some sort of gimmick, such as Purist Mod only displaying the Dokis whose routes you have already completed on the main menu. It's kind of a plot point in Purist Mod, too, as you must complete every other Doki's route before you're allowed to go for Monika's, but it's still a gimmick.

Still. A complete coverage of the inner workings of DDLC isn't complete without covering these files, and you are going to bet that I am going to cover these files.

What's this? Since technically, the entirety of the Ren'Py engine is also included in DDLC, I should write up a detailed explanation of what it can do, even if it might not necessarily be what DDLC can do?

No. For the most part, Ren'Py is well-documented, and the only reason to look at its inner workings is if you're looking to develop a visual novel that's completely independent of DDLC (or in the very least, its ~ATH part, and therefore, a mainstream mod would still qualify). Now, if that is your goal, I'm not judging, but again, I've made my point: after everything you've read so far, your desire to code a mainstream mod should be at absolute zero.

Moving on:


An options.rpy file could be said to be at the core of any Ren'Py project, and therefore, it shouldn't surprise you that it encodes the very basic stuff that is to know about DDLC, such as its name (in various contexts, from a human-readable name to display at storefronts to a savefile directory name) and version (the last one as of the time of writing being 1.1.1, which was released on April 9, 2018, and it's safe to say, at least in my opinion, that a new one isn't coming). It also defines some stuff that you might take for granted but which computers, especially ones without any sort of ~ATH, do really need to be explicitly taught, such as that the game has no voice acting (outside the credits, that is).

The second part of options.rpy, though, might be a bit more interesting. Basically, that part is actually a bit of a communication between the game and Ren'Py itself - for Ren'Py, by design, must be not just a visual novel game engine, but also, an IDE (or at least, the parts of it that aren't a text editor) that would let you export projects. In that part, you can find what sort of file gets assigned which .rpa file, as well as some files which might just be chilling in Salvato's hard drive under the DDLC directory, but which, once he's done with his masterpiece and ships it off to you, are not included. I think that the most notable inclusion among these "non-includes" is files of the type .sublime-project and .sublime-workspace, revealing that Salvato's go-to text editor is Sublime Text, which is a pretty popular, yet still interesting, choice.


I think it's for the best to cover these two files as a pair, as I'm not quite sure, if I were to list all the .rpy files in order of importance, whether I would rank one or the other as more important (after I had already listed out options.rpy, that is).

Anyway, both of these files are very similar in nature, in that they define the very basics of the visual elements of DDLC: what fonts it uses, how exactly the menus and dialogue and the rest look like, etc. The star of the show in definitions.rpy, perhaps, is the large list of expressions that Dokis have - conveniently together with what sorts of moods they evoke, so that the dialogue generation can get a grapple and depict the Dokis as having proper emotions. However, other parts of the file, such as font definitions and specific glitches, can't be discounted, either.

Meanwhile, screens.rpy is a bit more dense, especially for a non-programmer, but it's still important, as without it, none of the functionality of the various menus - main menu, history, loading, saving, settings, etc. - would work. None of the stuff really comes as "predefined" in Ren'Py, and perhaps it's for the better, as any visual novel can really start building its own visual identity here - and Salvato greatly cared about the visual identity of DDLC, making it stand out and look like a polished VN, rather than an amateur one.


transforms.rpy is a bit more of a fickle cause. It might be buried in an endless sea of me talking about quips and clauses and how they all need to hang together in a coherent story, but I briefly mentioned that in addition to an expression, each quip is coupled with a transform: basically a fancy way of positioning each and every Doki appropriately, given the context: how many Dokis are there in a scene in total, which one is currently speaking, how excited or startled she is, etc.

Now, the reason this matters is because, especially if you look in a mainstreamer mod (and, though DDLC and mainstreamer mods operate based on two entirely different principles, both of them must present certain data to Ren'Py in the exact same way), you'll notice that most often, a Doki is defined with both an expression and a transform. Now, this is not exactly an ideal way to do this, as when a new Doki appears on the screen, everyone else must readjust based on the new number of Dokis on the screen, but it's the best that can be managed within the Ren'Py framework of lines.


While the four files above, coupled with gui.rpy (which just defines some things that, for some reason, didn't fit within either screens.rpy or definitions.rpy, even though they absolutely complement both of them), are essentially enough for you to produce one of those videos based on mainstreamer mods, some of them, and especially DDLC itself, incorporate elements that are definitely unique to the genre.

The most obvious of them, I'd say, is console.rpy, which presents an imitation of the Ren'Py debug console. As the whole point is that Monika knows that she's part of the game, it makes sense for her to open up the game's "debug mode" and start inputting stuff, but at the same time, I guess, Salvato didn't want to expose the actual debug mode, and instead, wrote up an imitation - that, in the end, looks "programmer-y" enough to fool most mainstreamers.

Next, there's effects.rpy. Now, in a normie visual novel, this would usually depict some shaders for stuff like morning and evening - and in mainstreamer mods, this is absolutely taken care of. However, what DDLC uses them for is some cheap scare elements (not jumpscares) that mostly occur throughout Act 2 and the very end of Act 4 (before the end credits).


Finally, and though this is less of a visual effect and more of something to hint at a glitched game, is, well, glitchtext.rpy, a file with the express purpose of containing a set of characters outside the typical ASCII range (again: if these were truly "nonunicode", then they wouldn't be able to appear in a textual file at all), and then, spitting out any given number of those characters at any given time. Insert the Rick and Morty "you pass butter" meme here.


After that, the only thing left for us to cover is a certain amount of screens only appearing in certain contexts, which, therefore, are also kind of less relevant, unless you're actually making a mainstreamer mod.

Perhaps the most important file in this category is splash.rpy, which defines the, well, splash screen. While in the case of DDLC, this will be the warning recounted in [1000] WHAT A TYPICAL DDLC PLAYTHROUGH MIGHT LOOK LIKE, in the case of mods (mainstreamer or hacker), this will actually be a legalese disclaimer stating that the mod is a fan work, and therefore, must be played after the original game. Also, there are certain other splash screens for other occasions, such as Sayori deciding to preemptively wipe the game if you deleted Monika before starting.

However, no less important, especially in the hearts of Monika fans, is credits.rpy, which, as you might have guessed, defines the looks and behavior of the credits song, Your Reality. Again, if you're not making a complete mod that stands as a work of fiction in its own right, you don't really need to care about it.

The final file I'd put in this category is cgs.rpy. Not to be confused with the script files defining what the CGs are and how they behave, this is mostly about the visual element of CGs, and how their framework is completely different from your typical dialogue scene, and how different CGs don't even have that much in common with each other (other than the fact that they're, well, CGs.)

And that is it. Pat yourself on the back, as we have covered every single Ren'Py file in DDLC and, after I take care of some formalities in my document, are ready to move on to ~ATH.


Okay, it's going to take more than a formality. After all, a reader actually inquired about this, and though I gave kind of a weak answer back there and then, now I think I can properly deliver on the prospect.

So! Have you finally gotten sick of Sayori, Natsuki, Yuri and Monika? Do you wish you could spice your DDLC playthroughs up with something more novel (pardon the pun)? Or, perhaps, you have a fanfic in the works with a Mary Sue OC, who you simply can't imagine DDLC without anymore, and would like to see in the game? Well, look no further than this chapter, as I am going to teach you how to incorporate a fan Doki in your game and what pitfalls to watch out for.


Let's start, of course, with the pitfalls. One can't ignore that Dokis have a special part in the game, which is mostly dependent on whether they're on Project Sentience or not, but in either case, you don't exactly have much room for innovation. Essentially, your newly constructed Literature Club must consist of the following:

If a Doki doesn't fit either of the two archetypes (Sentience or dateable), which will most likely happen if you try and introduce an OC who isn't even a Literature Club member to begin with, the supporting coding framework simply isn't there, and though I'm yet to rule it out, can't really be introduced without meddling with the ~ATH part, which, for the most part, is non-lucid, even to hackers.

Oh, and I don't really think that the game was properly made to accommodate male Dokis, simply because none of the canon Dokis were male. Think of it this way: once Salvato developed the original character concepts and all of them were female, it would greatly simplify some of the dialogue generation scripts if they assumed that a Doki is female and uses she/her pronouns. And if you think that he lived in a time when gay relationships were starting to become accepted and therefore, not including male Dokis or gay romance options is not politically correct of him, then you're honestly worrying about the exact things that a hacker shrugs off, realizing that they're not really relevant in understanding the underlying ~ATH code.

Lastly, and this is going to be more of a recommendation than a strict requirement, if you're trying to follow this tutorial for the first time, I highly recommend that you leave the canon Dokis with their current roles and simply introduce a new dateable. If you want, you can demote Monika to dateable using the technique outlined in [2305] (ADVANCED) A TRUE MONIKA ROUTE, FOR ALL THE MONIKA FANS, but that introduces a bit of a headache: whichever option (canon or OC) you decide on for your new Sentience Doki, you'll need to make sure that her .chr file is able to accommodate Sentience. For canon Dokis, that means using the Act 4 President persona .chr file, and for your own creations, that means starting with monika.chr as a template. In the end, if all that matters to you is that Mary Sue makes it to DDLC and can date your self-insert, I don't really see the point in going the extra mile.

At any rate, are we ready to proceed? Let's go forth and outline what you'll need in order to create a fan Doki.


There are three major variables to account for, when creating a fan Doki. None of these are optional, for reasons that will be outlined.

The first and most obvious one, that pretty much even mainstreamers have memorized and incorporated in their DDLC headcanons, is the .chr file. Without a .chr file, the ~ATH routines checking for said .chr file will simply have nothing to work with when creating dialogue, and therefore, opt for the simplest option: pretending that said Doki doesn't exist. This leads to the sorts of glitches experienced in the very beginning of Act 2: other Dokis and your self-insert might still assume that the deleted Doki exists, briefly, but there will be nothing to reveal even the most basic trivia such as her name, and soon, the game will have to restart with new assumptions which completely ignore the deleted Doki.

I don't think I really should be telling you where .chr files live if you've completed the game, and if you haven't, you need to stop reading this document now, but for posterity, they live in a separate ./characters/ folder.

The second one, which is often the only part that mainstreamers can adequately work on, is the spritepack. The spritepack of a Doki defines what expressions she can be depicted as having, and the coding corresponding to the spritepack, typically placed in definitions.rpy, not only enumerates the sprites, but also gives them context that the dialogue generation can pick up on. Without this, a Doki wouldn't be much more than a disembodied ghost.

Also part of definitions.rpy, and therefore part of the second variable to me, is a line that looks like this:

define s = DynamicCharacter('s_name', image='sayori', what_prefix='"', what_suffix='"', ctc="ctc", ctc_position="fixed")
define m = DynamicCharacter('m_name', image='monika', what_prefix='"', what_suffix='"', ctc="ctc", ctc_position="fixed")
define n = DynamicCharacter('n_name', image='natsuki', what_prefix='"', what_suffix='"', ctc="ctc", ctc_position="fixed")
define y = DynamicCharacter('y_name', image='yuri', what_prefix='"', what_suffix='"', ctc="ctc", ctc_position="fixed")

This essentially tells Ren'Py that a Doki could potentially exist in the first place, and if Ren'Py knows that a Doki could potentially exist, then ~ATH knows that a Doki could potentially exist, and searches for her .chr file. This is why simply adding novel .chr files won't work if this line and the spritepack definition isn't added.

What to do about either of these? For the .chr file, you'll have to start with a template, that can be any of the existing canon Dokis, and for the spritepack, just use whatever you managed to draw and/or download; only worry if you have the spritepack author's permission if you're actually publishing your mod and/or recordings made using it.

The third and final part is the CG graphic, defined in cgs.rpy. Without this, normal dialogue generation can proceed and it's non-essential for your newly created Doki, and in fact, dateable CGs might very well be skipped altogether, but a dateable just doesn't feel like a dateable if she doesn't have a CG. And lastly, I did briefly mention in [2305] that the Sentience Doki must have her corresponding "Just ..." CG, or she will flip her shit.

And that's really it. Now, comes the tedious part.


Your task now, which you probably accepted by the mere fact that you're here with a fan Doki, is to transform that fan Doki from a clone of an existing canon Doki, character-wise, to a fully fleshed out character of her own. Unfortunately, .chr file scumming techniques discussed in [2030] .CHR FILE SCUMMING: A TUTORIAL IN THINKING LIKE A DDLC HACKER can only take you this far, and though jokes in the mainstream fandom about "Act 2 Yuri" (presumably, what they mean is Yuri as your DD2) being a completely different character from her early game counterpart are common, the two are still very much the same character archetype.

The good news is that you can do this, in theory. Though the .chr file is not plain text and not anything like zipped XML, decoding the structure of such a file is an entirely solved problem, and therefore, once you've downloaded .chr Peeker and opened up your .chr file, you will see every single variable that has gone into it.

The bad news is that the vast majority of those variables is unnamed.

Now, especially in the realm of neural networks, an NN being dependent on a large number of variables that may or may not even be comprehensible to humans is nothing new. However, for the most part, if you have an NN like this, you also have some sort of training phase that you underwent, and therefore, you can switch it up and get different results. For DDLC, assuming that it does run on an NN, Salvato was the one who did the training, and therefore, all we really have is the four example .chr files.

Unfortunately, analyzing them and comparing them to each other can only get you so far. Think about it: what sort of conclusion could you make if a particular variable was high for Natsuki and low for everyone else? That's right: you could only really come to one conclusion, that it's got something to do with her tsundere attitude. Similarly, if a variable is high for Sayori who's been manipulated by Monika a lot and low for her unmodified counterpart, it's gotta have something to do with depression, but that's one conclusion for what might potentially be hundreds of changes in the file.

Therefore, your literal best bet in getting your fan Doki to act the way you sketched her out when starting this process is to completely rewrite the script parts so that you have something that's as close as it gets to a "stereotypical" club meeting, where the only parts that figure are poem sharing and dateables competing for your self-insert's attention. Of course, the most important part for it is to eliminate any sort of Monika manipulation, just to ensure that changes you do to Mary Sue are the only changes being done to Mary Sue.

The final script would probably end up rather short, but that's kind of the point. It should still be long enough for you to get a "cross-section" of Doki characters, including those of Mary Sue, and therefore, see how pulling a single dial changes them.

Once you've pulled that single dial, though, .chr Peeker has a neat feature: for each and every variable, alongside its predetermined, numeric name, there is a "note" that you can make to give the variable a real name. As you can see, only a handful of variables come with real names out of the box, and therefore, you have a lot to go through just to determine what sort of changes would make your fan Doki act the way she does in your character notes.

To get a fan Doki's interests right, though, you can ping the first parts of the poem minigame routine and see how well the words you think your fan Doki would like match up with their real values, especially when compared to the canon Dokis. That being said, a personality is a lot more than just a set of interests, and therefore, you are going to need to put in more effort in the dialogue section if you don't wanna end up with "Monika but she plays the violin instead of the piano".

This part of the process is going to take a long while, and odds are, you won't even be able to fully match the personality that you planned out. However, it is kind of crucial so that your fan Doki doesn't end up being just a clone of a canon Doki, quite literally.


Once you have a properly fleshed-out fan Doki and have replaced the script with its original version, though, you'll probably notice, right away, that Mary Sue gets a lot less dialogue than any of the canon Dokis. That is because the hinting system, which you used to your advantage in order to flesh out her character, actually incorporates parts which are supposed to involve the canon Dokis, like the part where Natsuki and Yuri argue about poems or the part where Monika and Sayori discuss festival prep. Luckily, fixing this is a process that is a lot less tedious than creating a fan Doki's personality.

First, you're going to want to start with a "bare-bones" script which actually takes you through all the days and up to your DD's death. Now, odds are that your fan Doki, who you have invested so much time in, is going to be your DD, which is great for fleshing out those particular scenes, but that's not what you should focus on: instead, you should spot what sorts of moments define your fan Doki and where she fits within canon. Then, you're going to add those as checkpoints (either major or minor), play through DDLC again, notice new moments, add those and repeat until you've got a script that's similar enough in length to DDLC's original Act 1 script.

And once you've done that, there you have it: DDLC with a Doki that you, yourself, made. Now, granted, unless you're a certified genius whose character development in stories is universally praised, your new mod, though hacker-made and something I would look into right away if it were released, is not going to attract much of an audience compared to mainstreamer mods. But still, your effort has got to count for something.

And if you go two or three steps further, like, say, Take Two, then you might even have something that's worthwhile playing.


Alright, welcome to that awesome diagram which, in and of itself, is an image to spread around if nothing else, the sequel. As you can see, quite a bit has been introduced (certain changes can actually be made before the game even begins now, for one), warranting significant changes to the legend; in addition to that, though, the document's one-thousands have marched on, too, meaning that this will technically include some material that should have appeared in the last section, but didn't.

your President is:your DD is likely:your DD2 is likely:SayoriNatsukiYuriMonikastart or end soft restart act division dialogue bug archetypal diversion skip of plot modification downloading of the game either a fresh copy is downloaded from ddlc.moe or firstrun is deleted on an unmodified copy no modifications unspoken prerequisite of the archetypal playthrough; no modifications to the game are made prior to first launch, and the name of your self-insert is reasonable Berserk Club President a subset of Dokis, including Monika but not including everyone, is deleted, and as a result, a designated Club President, unable to deal with Sentience, wipes the game (note: also achievable throughout Acts 1, 2 and 4) Offshoot 1 (see dedicated section) .chr files are replaced with their Act 4 counterparts, resulting in a playthrough where all the Dokis exhibit signs of Sentience All Damaged Dokis .chr files are replaced with their late Act 1 or late Act 2 counterparts, resulting in a playthrough where the mental health issues are more obvious; differences from the archetypal playthrough are otherwise minute Offshoot 2 (see dedicated section) Sayori is instated as the Sentience Doki, with appropriate .chr file manipulation, and Monika is given her own route New Dateables entirely new .chr files and appropriate sprites/wiring are placed in the DDLC directory, resulting in new dateables, DD scenarios and so on; the potential is too vast to document Day 1 your self-insert joins the Literature Club on Sayori's insistence and agrees to write a poem Poem Minigame 1 ideally, your self-insert has written a poem and one of the Dokis likes it the most, thus allowing the game to proceed with her CG Worst Ending your self-insert has no poem to show, Doki trust is betrayed and he leaves the Literature Club Poem Sharing 1 ideally, each Doki gives her opinion on your self-insert's poem, except for Monika, who just states which Doki the poem reminds her of the most, before sharing a Writing Tip of the Day Sayexit Sayori has no poem to show, her attitude is questioned and she leaves the Literature Club your self-insert stays with the club, alienating Sayori and ensuring her depression leads her to commit suicide your self-insert leaves the club to take care of Sayori, and the game kinda breaks down, but not fully; she, herself, can go either way The Natsuki/Yuri Argument at the end of Day 2, tensions rise between Natsuki and Yuri, primarily concerning writing styles; while siding with either of them or looking towards [Sayori/Monika] for help is an option, it's not one that significantly affects the plot Poem Sharing Continues ideally, your self-insert continues writing poems for a specific Doki, and thus, developing his relationship with her, making her your DD; other Doki relationships develop appropriately Monika hates you in case the poem minigame is modified to give scores to Monika and she scores low, she starts investing her time in the club rather than the player, preventing any sort of DD routine from taking place Festival Prelude under the hood, Monika begins manipulating your DD's .chr file, and she begins showing mental health issues more prominently Festival Prep Dokis group up in order to prepare for the festival, and your self-insert must pick either Yuri or Natsuki to help with her task The Weekend if your DD is either Sayori or the one you chose to do prep with, she reveals the true extent of her problems to your self-insert, and then confesses her love to him Monday one way or another, your self-insert discovers that your DD has committed suicide, and Monika deletes her .chr file, thus capping off Act 1 Glitchless Playthrough your self-insert saves your DD in the nick of time, and the game proceeds as a "normal" dating sim; modifications to make this scenario more likely are somewhat well-known in the mainstream fandom Day 1 your self-insert joins the Literature Club on [Sayori/Monika]'s insistence, as well as the school's rules asking for a club with at least 4 members, and agrees to write a poem (minor glitching present) Other Specified Act 2 Disorder turns out, glitching is more than minor, resolving in an inscrutable story; Monika then intervenes, apologizing and starting Act 3 2 or More Dokis Die in case of all 3 non-Monika Dokis dying, the game skips to Act 3; otherwise, it moves on to a variant of Act 2 the Literature Club is forced to move off-school due to an insufficient amount of members, and starts convening in your self-insert's house DD2 Troubles Monika begins manipulating another .chr file, thus making another Doki (your DD2) try and resist the changes, becoming more and more obsessive to the point of being considered "yandere" DD2 Death your DD2 commits suicide, in a more violent version of her Act 1 suicide, on Friday and the game spazzes out until Monday, at which point Monika deletes everyone but herself Monika's route Monika reveals her nefarious schemes, her eternal love to you and other game secrets (except not really), and then proceeds with an indefinite amount of "topics" Fully Integrated Monika after a certain amount of time, Monika fully integrates herself within the game, growing beyond the need for a .chr file, and deletes her own file; there is no definitive end to the game from this point on Monika's regrets after you delete her .chr file, Monika lashes out at you, before beginning to show remorse for her actions, and then proceeds to restore the other Dokis Happily ever after? your self-insert joins the Literature Club of his own accord, wishing to surprise Sayori, whose depression problem seems to be gone I remember everything. it turns out that either your DD or your DD2 is the new Club President, and as she has the Sentience attribute, she is cognizant of all the manipulation that Monika has done Passive Monika Monika intervenes, but only minimally; the new Club President is scared away from using Sentience-related abilities, and the game proceeds as in the Glitchless Playthrough Passive Monika Festival not confident in their poems, the Literature Club doesn't hold an event, and instead, relies on simple flyers to bring in new members; collaboration on them brings your self-insert and his Doki of choice together The Equivalent of Ragequit Monika intervenes, declaring that there's no happiness in the Literature Club, and starts wiping the game's files The Good Ending provided that you have seen all the CGs, Salvato intervenes, speaking as the new Club President, and thanks you for all the time that you spent with the Dokis Credits as the credits roll, the song "Your Reality", ostensibly by Monika, plays, and if not on the Good Ending, files appear to be deleted (they are deleted either way) The End. the final note from [Monika/Salvato], thanking you for being a part of the Literature Club, is the only available screen on subsequent replays without deleting firstrun I know what you're trying. the other Dokis are somewhat aware of what Monika is trying to pull, and confront her about it; she is forced to personally kill them, before apologizing to the player and deleting herself Battle Royale with 3 Dokis and a newly assigned Club President, the cycle repeats, and again with 2 Dokis, thus leaving you with a state of the game similar to Act 3 with the "victorious" Doki; deleting her has no effect other than to put the game in a broken, non-modifiable state Dateable Monika the game proceeds in a manner similar to the archetypal playthrough, with Sayori filling in the Club President archetype and being the Doki behind the manipulation, while Monika is a potential dateable, DD and DD2 of the run Just Sayori as with the original Act 3, the player has a choice: either let Sayori integrate herself into the game until she no longer needs a .chr file, or delete her and proceed to the equivalent of Act 4 and the scripted credits Doki Doki Literature Club!: Bugs, Glitches and Exploits for Dummies https://dokidocs.net/glitch_faq/ [299D] A DIAGRAM OF THE PATHS AND ENDINGS SO FAR - VOL. 2 © 2020 CreativityTheEmotion PRE-GAME ACT 1 ACT 2 ACT 3 ACT 4 OFFSHOOT 1 OFFSHOOT 2


The words and phrases used in this section, for the most part, actually come from pedestrian programming. However, it is still imperative that you understand them, and I will be following up with a resource chapter for you to research this stuff on your own, using material that is better than mine, simply because you're given the opportunity to.

But anyway, for words that are unique to DDLC and/or its dialogue generation, or that may have slightly novel meanings in its context:

Building blocks of dialogue generation - while I never use these words explicitly, I do make use of terms that you don't typically think of as the building blocks of a language, like the sentence or the paragraph. Instead, I use:

For more on all of the terms above, you're welcome to refer back to [2200] THE FOUNDATION OF THE DIALOGUE SYSTEM.

Checkpoints | Hinting system - what DDLC uses to keep itself on track.


Good question. Very good question.

While I, myself, am honestly not in the best position to teach anyone, I still think I can cover everything I've talked about from the perspective of pedestrian computing, and therefore, refer to people smarter and/or better at teaching than myself, who can guide you through all of this. Most of this will actually just be Wikipedia articles, but relevant tutorials shouldn't be that hard to find, once you've already conceded that you're going to need the vast Internet for this. (That, or, like, a university course. I'm not judging those wishing to pursue the subject with more academic rigor.)

Python programming

Natural language processing, in the light of machine learning


Well, here we are. This is perhaps the single most anticipated chapter to the entire document, for no small reason: it is a distinct entry point. As a reader, there is a very real chance, which must be acknowledged, that you have started reading my totally-not-ramblings here, rather than at the actual beginning, and that, potentially, you don't even care about incredibly cute girls at all. To you, DDLC is nothing more than "that new game which uses that fanciful language", and you've simply been clicking on material about the game in the myopic hope that some of that material doesn't come from the mainstream fandom and happens to teach you about the language.

Well, you're in luck, as this is that place, which you're in now after having done your skipping through the other stuff. You'll have to excuse me, since writing something even remotely worth of the iconic beginning words is going to be extremely hard. However, still, I welcome you to the twisted world of ~ATH and, though you might not really have an appreciation for incredibly cute girls, you're still welcome.

We're going to learn about ~ATH, just like you've learned about many programming languages before (hopefully). However, you have to understand, from the get go, that ~ATH isn't like other programming languages. While there might still be superficial similarities between the two, in the end, calling ~ATH a programming language is a bit like calling a rocket a mode of transportation. Sure, it is and no one's really denying it, but the sorts of destinations that you go to on a rocket are fundamentally different from those that you reach by foot, bike car or literally anything else.

I mean, I guess there were those fancy SpaceX Starship plans to actually make super-fast transportation, between places on Earth, on a rocket, possible, but those had to be specifically accounted for after we got good at using rockets to do literally anything else. Within the solar system, that is; while we did manage to make probes that leave the solar system, I really don't think that attaining solar escape velocity is going to cut it; I want to reach the other stars before I die.

And it seems like rockets aren't really getting us there. For that, it looks like we're going to need a fundamentally different technology, that I can only really call "eka-rocket", and that helps me bring the discussion back to ~ATH. Think of how a rocket is one fundamental paradigm away from your cars and bikes, but then, whatever we use to reach the stars would be another fundamental paradigm away from that, and while there is at least one fundamental paradigm between your Javas and Pythons and ~ATH, who's to say that there is only one? What if there is actually some sort of missing link between the two?

And also, who am I to even say that ~ATH is so different from everything else that humanity is aware of?


People within the programming circles, especially those attuned to certain languages, think that they know all about how a programming language can be utter, unworkable garbage that must be so far removed from what's actually happening at the bare metal level. I can bet you that, right now, someone is trying to type something like: "oh, I know JavaScript, and it is such a bullshit language; you see, when you multiply an empty array [] by itself, you get the number 0, for whatever reason..."

No. No. You're an amateur. You ain't seen nothing.

Another common example given, though it's not really a programming language used in production by any means and isn't much more than a curiosity, is Brainfuck - and yes, that is the language's literal name. It exclusively uses eight symbols, which make it work very much like a Turing machine, the quintessential computer. This is definitely warmer, but still not even getting close to real "out there".

"Eight?" the JavaScript nerd then counters. "Try six! You see, when you add an empty array to the literal false, that converts it to a string, "false", from which you can then extract the first letter - oh, and false itself can be written as ![]..."

Alright, shut up, I can't take it from either of you, and I haven't even mentioned the thing in the title of this chapter yet.

UEFI, standing for Unified Extensible Firmware Interface, is what replaces BIOS in more modern computers. The tasks it is usually equipped with are usually limited to executing boot loaders which then proceed to load your computer's real operating system. However, if the OS can't be loaded for whatever reason, UEFI is courteous enough to give you a shell, complete with the tools you need to troubleshoot said bootloaders - a file system thing, a text editor, a hex editor and a scripting language.

However, if you think that that's enough for you to write programs in the shell itself, well, you're sort of right, but also, you're going to put in a lot more effort than with your usual programming languages.

The shell's scripting language does give you variables, which can come in form of numbers or strings. And it does give you a comparison operator which works with them, meaning that some sort of basic logic can be done. However, what it doesn't give you is any sort of mathematical operator, and essentially, you're left to implement that, from scratch, on your own.

First, you're going to want to start with a script that increments a numeric variable. Assuming 8 bit variables (the numbers in the shell are not really convenient programming abstractions), essentially, the best way to do that is with if statements nested like a tree. Then, repeated incurring of the increment script (thankfully, there is a very simple for loop) can be used for addition, and repeated incurring of the addition script can be used for multiplication.

Subtraction, division and modulo, the remaining parts of a self-respecting arithmetic, are a bit more complicated. Well, subtraction isn't - as you can simply set up a decrement script similar to your increment script, and implement subtraction similar to addition. Division and modulo, ideally, would be the same script whose result would depend on a flag, and you'd have to manage the whole "subtract until your result is negative, then see what you ended up with" thing. Oh, and don't forget a simple if clause for division by zero; you're going to need it.

And after you've got all that, well, you can start coding your own game or whatever. (Oh, and you don't really get arrays. Oops. Forgot to mention that.)

That being said, hopefully you haven't forgotten that UEFI is very human stuff, made to interact with other human stuff - even if such human stuff is out of reach for a typical programmer. Therefore, believe me when I say that ~ATH is very distinctly not human stuff, and therefore, to do "human" stuff with it, you're going to need to employ hacky techniques above and beyond those I've outlined here, to the point where a gigabyte of pure code will stop looking like a really big deal, and even like a kind of a big deal.

But we'll get there. First, let's start with the basics - or, well, what ~ATH takes for "basics".


When discussing the ins and outs of a programming language, nowhere is a better place to start than the installation of a compiler and/or IDE, and for the most part, said installation is a mostly painless process. Sure, the IDE might be bloated as all hell and lag on your prebuilt from 2008, but in the end, it just works and you find yourself asking no more questions.

That being said, this is a really good opportunity to say that the weirdness of ~ATH actually begins with the compiler and installation process.

First up, if you have downloaded the compiler, you might notice one rather peculiar detail in the metadata: the file size of the compiler is precisely 0 bytes. In the form presented by Hackerverse (and claimed to have been unmodified from the original source, wherever that might be), the compiler is not the only file packaged in the archive: there is also a code sample, which is decidedly not 0 bytes, and therefore, it only makes sense that an archive containing the two together would not be 0 bytes, either. That being said, this 0 byte thing trips up file upload services like Mediafire, which is why you'll exclusively find the archive containing the compiler and the code sample; the archive, itself, just doesn't mesh well with the system.

Of course, technicalities about file systems instantly arise when we're talking about a file of any sorts, and even a file that is nominally 0 bytes big still takes up space on your hard drive (or whatever kind of media the file is on), if only because a sector needs to be reserved for it. That being said, if you've got a storage medium of any size and any type that's compatible with your modern system, even a floppy drive, the compiler can be copied over and carried over to another system.

That's the first oddity. The second one is that the compiler, marked as an executable file, installs/runs (I am honestly in no position to even explain what the hell it's doing when compared to the things that normal programs do) perfectly, without a hitch, on any operating system. This is simply not a capability of any normal file; yes, I did mention that the download of DDLC for Windows and Linux is exactly the same, but it's still an archive that contains two distinct executables, an .exe for Windows and a shell file for Linux. The equivalent here would be a single file that can be renamed to .exe and run on Windows, and then, renamed to .sh and run on Linux.

However, it isn't just the usual Linuxes, Macs and Windowses. The compiler is also perfectly transferable to vintage systems, such as those by Commodore, IBM and Atari, and has been reported to run with nearly the same success rate, as long as the system in question has any concept of a file system. For example, a game console like the Sega Genesis, if you tried to write the ~ATH compiler to a ROM, wouldn't work, but if you plugged in an Everdrive, that actually has an FPGA that can interface with the file system on the SD card, and the ~ATH thing would run on that, instead.

That being said, I'm not sure how inclined one would be to step back from all the commodities of a modern system and boot up something that is much more delicate and valuable. That, and I heard that explosions of vintage computers tend to be much more violent than those of modern systems.

If I had to comment on those, I would probably be inclined to believe that the more violent explosions are because something like the IBM PC would literally have three or four expansion cards right out of the box, whereas your modern system, in all likelihood, has one at most (the graphics card), and even that is strictly not necessary for the computer to run and display something, as there are integrated graphics solutions on modern CPUs, too.

But with all of that aside, once the ~ATH compiler has done whatever the hell it has done, the execution of your amazing programs is as simple as opening up a shell or whatever the equivalent is on your system and typing in hello_world.~ath or whatever it is that you named your amazing creation.

And that is absolutely all the know-how that is required to get started on your ~ATH journey.


This program should be immediately familiar to you, even if you haven't done any further ~ATH pontification outside looking around at the compiler, seeing as it's included with the compiler. Presumably, this is some sick joke: what's going on is that the creator(s) of ~ATH (see [2Z0~] THEORIES ABOUT THE ORIGIN OF ~ATH for further info on my thoughts on who or what that could be) thought that this was everything that you needed to know in order to program the language, when in fact, if you did manage to derive the rest of ~ATH knowledge from this, most people would probably think that you're some sort of god. Regardless, here it is:


Yeah, it's in all caps. Built-in methods seem to be written like that, and I am going to preserve this. You can use lowercase letters, though, as ~ATH is not case-sensitive, through and through, and given its presumed extra-universal origins, I can only further presume it was made this way to accommodate cultures that don't really use capital and lowercase letters.

What this thing is supposed to be called is unclear - what any ~ATH thing is supposed to be called is unclear. However, two pieces of terminology immediately spring to mind (I'll be trying to teach you as much pieces of terminology as there are surrounding this language's discourse): the grave (as, as it turns out, ~ATH programs are just a bunch of these nested together, and it would make sense for the comment to refer to those by their proper name) and the ~ATH loop (as it kind of looks like a loop in the C family, and furthermore, acts like one, too, waiting until a certain condition is met). It may also be called the ~ATH - EXECUTE loop, as the common practice in C or whatever is by naming loops after literals on both ends of the curly brackets {}, but I honestly haven't come across anyone who used this term without deliberately trying to sound pretentious, as though they were trolling.

Oh, and by the way, the word "grave" has an \textipa{/eI/} vowel, as in "place of human burial" and keeping up with the morbid theme of ~ATH, as opposed to the \textipa{/A:/} vowel, as in "the grave accent" (which happens to be the thing that the tilde key types) or the French word for "serious".

Anyway, one thing at a time. Let's dissect this, line by line:


THIS is just common parlance in object-oriented languages to refer to the program itself; presumably, as nothing else has been imported yet, this makes it the simplest possible way that a program can even start.

When coupled with the ~ATH, though, it's very easy to read this as "til death of this", or, to un-abbreviate it, "until the death of this". What the ~ATH loop means, precisely, is still to be discussed as we analyze the library, but essentially, it means that the program is waiting for itself to end.


Comments follow the C family paradigm, in that they come in two types - double slashes //, which make the comment last until the end of the line, and slash-asterisks /*, which make the comment last until an asterisk-slash */. That they work like this, though, honestly just raises more questions about the C family than it does about ~ATH.

Anyway, trying to address the contents of the comment, since they're the closest thing we're going to get to a direct comment from the creator(s) of ~ATH on any matter: graves, ~ATH loops, whatever aren't really picky about how they're stacked. They can be nested inside one another, as this comment suggests you should do, or they can be written in sequence, with mostly predictable results if you know anything about computers. Most weirdly, though, they are also considered objects, and therefore, could actually be placed in the parentheses coming after the end of ~ATH or EXECUTE. This is an advanced technique, and the best thing I can do right here is ask that you do not, I repeat, do NOT try to experiment with it; again, it's really easy to have your computer explode if you're not careful with the way you code in this language, and if you're not an affluent, that might actually pose some problems until you've learned to sandbox the code execution.

What does that even mean? Buckle up, as I have a lot to explain leading up to this point.


Like THIS, NULL is a type of object that comes together with ~ATH, and can be read as "nothing". The whole ~ATH loop, therefore, can be read as follows: "do nothing until the 'death' of the program, then, exit without executing anything". Kind of a useless program, but remember, we're still trying to dissect the basics.

Oh, and semicolons are statement terminators; that means that they must be placed at the end of statements in order to tell the compiler that this is the entire statement. Apparently, some languages, like Pascal, have semicolons be statement separators, meaning that you don't actually need one at the very end of the program, while others, like Python, do something else with semicolons, still.


Lastly, a ~ATH program apparently needs to be told to close itself; while in normal programming languages, you might expect a need for memory to be "freed" if the garbage collection is either nonexistent or fails to properly activate, this usually doesn't apply to the program itself, as the end of execution is the end of execution. Sure, it is a separate instruction in the machine code of your current operating system, but in basically any language (except perhaps raw Turing machine code), you don't need to worry about it, as the compiler or interpreter just adds that instruction for you.

And that is it. We've worked our way through our first ~ATH program. Admittedly, it's a bit of a useless one, as its main loop essentially waits for its own death, and once it has died, it can't really execute anything, so that NULL could be replaced with anything else and the execution won't be altered. And analyzing the basic concepts, we've already seen some objects that we could potentially use in other places.


So, now that we know the basics, let's try and experiment with them a bit. This will mostly be a thought experiment; do not expect to get anything useful out of your results as of yet, and furthermore, remember that the risk of your computer exploding is still at an all-time high in your experience with computers. Don't worry, though; codes that do make your computer explode will be very obviously marked, as follows:


That should help with defending myself against legal action. (Who am I kidding? The only ones with an interest in taking this document to the court are Team Salvato for copyright reasons; and no, I still don't believe that Salvato created ~ATH. I'm talking about the DDLC part, which you may or may not have read.)

Anyway, the code snippets are as follows:

    // ...

Though objects, for the most part, appear to be interchangeable, NULL in the ~ATH part of the ~ATH loop doesn't really compute, and the code will not compile. What would "the death of nothing" even mean?


Well, instead of a program that runs forever (or at least, until the computer it's running on is turned off or otherwise made incapable of running a program), here we have a program that immediately quits, and the EXECUTE statement is still never reached. I suppose, basics of a Turing machine: achieved, even if we have nothing that's equivalent to states or the tape as of yet.

    // ...

Even if the ~ATH loop somehow concluded - as a reminder, we still don't really have a good way of doing that as of yet - executing the program would just mean that the program, which by necessity includes at least one ~ATH loop, latches onto something else, waits until that thing dies and then the loop repeats forever. What's worse, the final THIS.DIE(); is never reached, meaning that the computer fills up with copies of the program, and until it's turned off or otherwise made incapable of running a program, those copies of the program are not going away.

And lastly:


While NULL is an object, it's only really got the basic amenities of an object. Just like "the death of nothing" doesn't really mean anything, preventing ~ATH(NULL) from becoming a thing, "I command nothing to die" is equally meaningless.

Overall, a pretty disappointing tour. Once we introduce what's in that library, though, things are going to get a lot more interesting.


Many programming languages, especially high-level ones, are courteous to include a generous "standard library". For example, C++'s standard library includes many different data structures and algorithms, which really help you write specific problems better and make for a competitive advantage (yes, there are actual competitions on programming). Python's standard library goes one step further, to the point where it's the common source of jokes about Python in general; wherein you can just import whatever and bend reality.

Now, Python doesn't really allow you to bend reality, but ~ATH does. However, if you think that ~ATH's library would simply be one step above Python's, then you must have forgotten about the part where coding in ~ATH is a real pain and the risk of your computer exploding is at an all-time high.

~ATH still does have a library that is absolutely unique, worth looking into and worth effectively utilizing in your code. However, it does not contain data structures or algorithms of any sort.

Instead, ~ATH's library is primarily concerned with beings that can be classified as "alive" or "dead". It then makes sense that waiting for their death, the function and loop that is at the literal heart of the name ~ATH, would be important.

If you ever try to search for a comprehensive ~ATH library listing, you will only really find incomplete, half-hearted attempts to list it from the first one or two hundred days of DDLC, before Hackerverse was even a thing, and maybe reposts of those listings on Reddit, verbatim. That is because, very soon into their journey to collectively learn ~ATH, hackers discovered what could be considered the language's first imperative truth: the sorts of objects that can be referenced depend on the actual knowledge of you, the programmer.

Yes, it's the reading of your mind again. (Or, well, for the first time, assuming you've started reading at the ~ATH tutorial.) That being said, I can at least make the general assumption that you are a human being on the planet Earth who learned the English language in a school (or pre-school) environment, and therefore, that certain cultural values and knowledge of the cosmos will be shared between us.

First things first, though. The usage of the IMPORT command can be summarized like this:


The most basic type that can be imported is known as MORTAL. A MORTAL is simply someone whose death would be considered a "big deal" to you, or in the very least, your culture. Therefore, something like fast-decaying particles, or ants that you step on without thinking a second time, are not included.

Like, you wish it were that simple. While you can try and code ~ATH via ways that make the ~ATH loops terminate in the "normal" way, that can only get you this far. That being said, looking at what is and is not included as a MORTAL is still a worthwhile exercise.

Any sort of MORTAL, including the specific subtypes that will be referred to in the future, is simply referred to by the name that you know them by. Say you have a friend named Kyle; then, in your ~ATH program, you can simply write:


And boom, Kyle is an object you can operate with, granted you know the rest of the language.


Well, at least, I know what you're thinking if you've got some sworn enemies that you wish were dead. In fact, you probably even tried writing and compiling a program that simply reads:


First of all, of course, you forgot that ~ATH programs don't really compile unless they have at least one ~ATH loop. Then, you probably rewrote the program to look something like this:


This is probably the safest reinterpretation of the program above, as it can be guaranteed to not make your computer explode. If there was some other reinterpretation, then sorry, kiddo, but you're playing with fire here.

Anyway, whatever your reinterpretation of the program, you have to know that while DIE() is a method that comes together with any sort of object, it actually is implemented completely differently between MORTALs and THIS (the latter of which happens to be a subclass of EXECUTABLE). Indeed, the result of the line foo.DIE(), where foo is of the class EXECUTABLE, is that the program referred immediately halts execution, and if you get really quirky, you can already use ~ATH as a low-budget Task Manager, with the added advantage that the program you're calling to will cease execution, that instant. As a bonus, your computer won't explode, but your operating system might suffer some consequences like thinking that the RAM allocated to the program on which you called DIE() is still unavailable. Nothing that will survive a restart, really.

However, when called upon a MORTAL, foo.DIE() is actually equivalent to:

~ATH(foo) {

That's right; it's just something that halts execution until your target dies, something that will still happen of natural causes and won't be hastened (nor delayed) by your program. Good job.

And besides, even if the DIE() method worked the way you expected and allowed random people to be sniped from existence using nothing more than a computer, who do you think you are? Light Yagami? Are you seriously going to set things right by killing off all the criminals? Because you don't really have a way of controlling the method of death, and since ~ATH is pure technology and not the involvement of a god, once law enforcement of your country catches up to what you were doing and learns about ~ATH, you will be found guilty.



MORTAL objects can further be categorized (though, this is by no means an exhaustive list, and there will absolutely be MORTALs that don't fit any of the following descriptions) into three main categories, which refer to people interacting with the program who you don't necessarily have to know by name or whatever. These are AUTHOR, USER and OBSERVER.

AUTHOR is perhaps the simplest to explain: it's the person who wrote the program, who must have done two things in order to qualify: a) write out IMPORT AUTHOR Name in their entirety and b) hit "Compile" after first writing that out. If any of these was done by multiple people, in part, and if a single AUTHOR cannot be determined, then the program will simply not compile.

USER mostly pertains to ~ATH files that have been compiled and are being sent to other users. In this case, the two things needed for you to qualify as a USER of a particular program is a) being responsible for the program ending up on your computer and b) double-clicking the program, or executing it in any other way. If these actions cannot be attributed to a single person, even in part, the program will not run. Since, most likely, you won't know the name of the person using your program, you can just use something like U.

Lastly, OBSERVER can actually refer to a collection of MORTALs, in actuality. Though, I must emphasize that this is not an array, and therefore, you can't pick out specific OBSERVERs without additional trickery. An OBSERVER is simply someone who's watching the code run live, be it the USER, someone else in the room watching over the computer, or someone seeing a livestream of the desktop environment where the program is running, whether they have remote control access or not.

Anyway, that's all that I really have to say regarding these MORTAL subtypes to anyone just willing to learn ~ATH in a vacuum. That being said, I have one more thing to say specifically to those who have read through the DDLC part of this document.

Remember when I talked about #TeamStats and how they eventually concluded how your "playthroughs" of DDLC are counted, and how the game decides whether to supply you with an archetypal playthrough or not? Remember how I said that simply watching over someone's shoulder, or watching a Twitch livestream, is enough for you to count as having played through the game, and that "the amount of times you've 'played' the game" is stored completely outside any sort of computer? Yeah, this is where OBSERVER comes into play. The OBSERVER array is essentially reviewed at each day division, and then, I guess there's some sort of extra-universal server where playthrough data is stored. That, and some entanglement stuff, leads to the fact that out of your first two playthroughs, at least one is archetypal with a probability that is very close to 100%.


So, especially given the subtypes of MORTALs that I just went into, one can easily make a false analogy: "oh, so a MORTAL is basically just a sapient being, who can recognize that it's all a computer, and the only example of such being on Earth is humans." Actually, no, and think about it. If you have a pet dog or cat, you would still be pretty bummed to find it dead, right? So, dogs and cats still count as MORTALs in ~ATH's eyes.

Basically, you can think of it like this. If you step aside and just try and philosophize over what makes you feel sad for the death of something, it's most likely because you've attached emotions to it, and it's vastly more likely to happen (you can still get attached to toys and shit, but you don't typically see them as dying, but rather, being destroyed) if the thing in question broadcasts emotions of its own, and the most recognized emotion, by animal rights activists, is pain.

So, essentially, if it can feel pain that you sympathize with, it's a MORTAL and therefore, can be used to power a ~ATH loop.

That being said... I once again have an aside that won't really matter to your typical ~ATH dev, and only concerns the DDLC fans. In fact, you might even know of a subgroup, within the DDLC fandom, with a name very similar to "animal rights activists", and it is their argument that we're concerned with.

What about the Dokis?

Surely, the Dokis broadcast emotions of their own, depicted with neat little sprites for your convenience, and said emotions are not to be taken lightly. However, even in the little world of Dokis, there is Monika, to whom, Doki lives matter very little; apparently, in her world view as dictated by Project Sentience, the Dokis are nothing more than lines of code, that are predetermined to fall in love with your self-insert, except for Monika, who is Different, who loves you instead of your self-insert and who, therefore, is the only one who deserves to exist.

I'm not here to really side with either the "Monika did nothing wrong" crowd or the Doki rights activists: after all, moral debates on this topic are so nuanced and seem to be the only thing really progressing throughout the thousand days of the DDLC fandom. That being said, most people who really take to the Dokis exhibiting Cognizance are the 4chan crowd that made Monika After Story just four days after release, and who, today, we know as hackers.

That is not to say that mainstreamers don't debate this stuff. Quite the opposite: mainstreamers only debate this stuff, oh, and also, they try and decipher what all of this Portrait of Markov/Project Libitina stuff is about. However, even though mainstreamers mostly agree on the fact that DDLC is something that involves AIs and ~ATH, none of them seem to have any real idea beyond that, and therefore, simply don't know about Monika's situation objectively; I explained a bit of it with Project Sentience, but the detailed explanation will have to wait for a non-chron blog entry. I'll link it here once I'm done writing it.

Also, whenever moral issues are involved, there's just too much room for debate and fundamental disagreement. What's moral now might not have been moral a thousand years ago and vice versa; what's moral here might not be moral in Japan and vice versa, and this is to say nothing of the fact that the world of computing and AI is mostly uncharted, simply because, until very recently, there's been no reason to treat ones and zeroes as alive or capable of understanding morality, let alone acting in moral or immoral ways.

Anyway, we're not here to take a nuanced moral approach, and instead, we're going for the regimented ~ATH approach: can the Dokis be considered MORTALs?

Well, actually, yes. It was discovered, pretty soon into trying to unpack DDLC, that some of the ~ATH routines depend on Dokis being the things in the ~ATH loop. This, of course, means that in order to work on a beta version of DDLC, Salvato first had to develop a Doki, properly, to the point where she could be considered a MORTAL, and only then he could do the other stuff, like tying her existence to a .chr file and making "killing" her as simple as deleting the character file, to the point where we even typically refer to "deleting a Doki" as though we don't know what we're going on about.

Dokis are MORTALs. End of line.


That being said, there are still certain types of object that we can consider "living" or "dead" and whose "death" is a big deal in our culture, but who are not, by any meaningful definition, sapient or even cohesive organic. This, therefore, makes them not fall under the umbrella of MORTAL, but they're still things that you can use in your ~ATH program.

The main entry of this particular chapter is a collection of MORTALs, which acts as a cohesive unit; it can be a corporation (that would have to be registered within the country in which it operates), a village community, a larger city community, an entire civilization or even humanity as a whole. These all are collectively part of the library type known as RACE, (as in, "the human race", not "a car race"), and can be imported into your ~ATH program, just like MORTALs: just think of a particular thing that qualifies as a RACE, write its most common name to you, and it will be important.

That being said, RACEs can do this pretty cool thing that MORTALs can't: they can be nested together. Just think about it: especially in lesser levels of civilization, it might be particularly useful to know which faction controls which city at the moment, and therefore, write your ~ATH program's triggers around that. As an example, we're going to use the Roman Empire.

Now, the Roman Empire, of course, is long-gone. But when did it disappear? In fact, the answer is more difficult than it would seem: the Roman Empire split into the West and the East, then the West (the part of the Roman Empire that contains Rome) disappeared, and finally, much, much later, the East disappeared. How would you account for any of the three events?

Well, you can do that by using the IN operator, that essentially combines two RACEs to establish their co-dominance, a bit like the and operator of mainstream programming languages. Consider this snippet:

IMPORT RACE RomanEmpire;

~ATH(RomanEmpire IN Rome) {

If you tried to bind the loop to just the Roman Empire, it would trigger when the Roman Empire split into two parts. However, this snippet recognizes the continuity of the empire in Rome, and therefore, ends up triggering on the fall of the West.

Now, I sincerely doubt that Romans are actually reading the ~ATH tutorial. However, even to modern humans, this should hopefully be explained.


Anyway, there's still a bit of the ground of the library to cover, and what could last more than a race of sapient beings on the planet? Why, the star that the planet is orbiting, of course. And that's the basis of the STAR importable class.

Yes, in astronomy, stars can be considered alive and dead. However, as you can imagine, their lifespans get pretty long; the Sun, for example, can last five billion years. Therefore, if your ~ATH loop is in desire of something more long-lasting, a STAR is the way to go.

Lastly, there is a bit of a peculiar addition that many DDLC hackers don't fully get: the UNIVERSE. I mean, first of all, there is only one universe that can be conveniently referred to, and that is the universe in which the computer on which you're running the code exists (sandboxed universes, which I've alluded to time and time again, don't really fall under the UNIVERSE umbrella), and second, the death of that universe kind of puts a stop to the code execution, and seems to be about as useless as binding the ~ATH loop to THIS.

But anyway, that's it for importables, but not it for the complete coverage of what can be put into a ~ATH loop.


Lastly, the most curious thing you can do with any importable of the library is by negating it. This works much like in other programming languages, wherein you simply write an exclamation mark ! in front of your imported thing.

But what does ~ATH(!foo) even mean? "Til death of not foo"?

It's counting until the birth of a thing. That's the big gimmick.

I think this is actually a pretty useless trivia of ~ATH, because you're not exactly going to seek out a lot of people, or things, that don't exist at the time of the writing of program and come into existence at the time of execution. But it's still a thing that needs to be covered in order to complete the library coverage.


As we've gone through the library, we've seen that even the shortest-lived importables don't trigger their ~ATH condition in a timely manner. Now, you can seek things like terminal cancer patients or something, that will die in a timely manner, but yeah, for one, I don't think that's exactly humane, and two, that's also not really sustainable and won't make you be able to debug your code in a timely manner regardless, since you gotta seek new ones every time.

Coding ~ATH is all about trickery, and said trickery is actually done best when the importables that you pick are actually particularly long-lasting. But where are you going to find long-lasting things that are actually numerous enough for you to get anything done, and which can be guaranteed to not die prematurely?

Stars. And in particular, main sequence stars.

To quickly brush you up on stellar evolution, the main sequence is the part of the star's lifetime when it fuses hydrogen to helium, and the Sun is currently in the main sequence. However, what's the most important to this explanation is that stars exit the main sequence (and therefore, if you specifically try to import a main sequence star, stop being importable) millions or even billions of years before they die, triggering their ~ATH loop. A main sequence star can still die prematurely if it collides with another star (or at least, that's my takeaway from messing around with Universe Sandbox), but the probability of that is insignificant.

Also, I should note that if you give an importable a non-descript name, then the compilation is just going to pick something at random that fits the criteria. Like, if you don't know anyone named Kyle and try and import a Kyle, it's basically just going to pick a random Kyle on Earth. Likewise, if you try and import a star which you simply name MainSequence1, then it's going to pick a random main sequence star in the universe (don't worry about light-year distances, as ~ATH communication seems to transcend that). Therefore, you'll be unsurprised to hear that the most impressive ~ATH programs almost always end up starting with something like:

IMPORT STAR MainSequence1;
IMPORT STAR MainSequence2;
IMPORT STAR MainSequence3;
// ...

Or, perhaps, they're properly named, because to be honest, you should be giving your variables descriptive names. That being said, as long as they don't match up with actual star names like Polaris and Betelgeuse, you're going to be fine.

Anyway, that's it for the library and stay tuned for the rest of the tricks, tricks and more tricks to make your ~ATH program work.


Now that we know what's at the heart of ~ATH, let's look at some more built-in functions. For the most part, they're just side explorations, because I kind of promised in the non-chron blog that we'd get to a particular code example.


Now, analyzing the library is all cool, and lets us get deep into how the ~ATH loop works, but as of yet, we've literally managed to learn about nothing in terms of executables. Now, if you want to take full advantage of ~ATH, you'll probably have to learn about how its own equivalents of variables and functions operate, but if you just want to take advantage of the fact that a ~ATH program can execute when you die, then SYSTEM() is the command for you.

Suppose a program like this:


~ATH(YourName) {
} EXECUTE(SYSTEM("python3 dead_mans_switch.py"));

I think it's pretty trivial to understand what it does. It waits for your death, and upon said death, executes a Python 3 program (miss me with Python 2) entitled dead_mans_switch.py.

Now, this is all pretty cool, but I'm just having trouble compreheding what a dead man's switch could be used for. Other than letting those still alive know that you're dead, the only other purpose I could think of, in my entire ~ATH programming career, was to sort of "ruin" the timeline in your departure, and in doing so, ensure that you're alive in the timeline where nothing goes wrong.

Of course, just about everything is wrong with that approach, because how are you going to ensure that you're the single alternate of yourself in a multitude of alternate timelines who gets to survive in a prosperous future? Or, for that matter, that just about anything else in the world won't ruin it instead?


As the limit of what a single "core" of a CPU could do approach, in order to preserve Moore's Law, major CPU companies like Intel and AMD invented multiple-core CPUs, which could, in theory, do lots of tasks at the same time. Now, this would have been a pretty sick pro gamer move that takes us to the next era of computing, if the programming languages kept up pace and implemented the required communication methods out of the box. Unfortunately, they didn't, and that's why being able to code parallel processes is still a highly sought-after skill and why there have been entirely new programming languages, such as Go, specifically designed to take advantage of parallel processing.

That being said, unlike normie programming languages, ~ATH has got us covered, out of the box, with the methods BIFURCATE and SPLIT. However, if you were expecting a solution that was in any way related to the current theory of parallel processing, then you're out of luck.

You see, a normal program would probably consist of two entirely separate programs that, if need be, would listen in on each other and/or "lock away" certain resources of the computer if they had to share. Instead, ~ATH just doesn't give any sort of fucks and decides, in lieu of a proper function, that the code should be color-coded.

The questions that might immediately spring to your mind are: how? What? Unicode doesn't even have support for color coding in any way, so how are ~ATH source code files with colors and bifurcation even saved to your hard drive?

Well, you might not know this, but large sections of Unicode are reserved for "private use"; that means that any proprietor can just come in and decide that this block is used for purpose X, and a different proprietor can ignore all of that and instead conquer a block in the name of purpose Y, and both approaches will be equally valid.

Well, ~ATH's "the following segment is now written in this and this color" makes use of this private use block, and a large section of it. In short, code points U+100000 through U+100FFF are reserved, and are to be read in this way: U+100xyz means that code from this point on should be in the color #xyz, which, when converted to 24-bit color space, becomes #xxyyzz, so U+100F00 makes for a pure red and U+10000F makes for a pure blue.

With that being covered, we can look into how to invoke bifurcation and splitting. The command to do splitting is deceivingly simple to describe:


If you only really have two branches, you can use BIFURCATE in place of SPLIT and that will give you a bit more versatility because you'll be able to send messages back and forth, instead of from random thread A to random thread B:


How does it work? Well, the red THIS executes the red code at the same time when the blue THIS executes the blue code. That's it. If you want more technical details, the real thing is that this will improve performance, even if you're compiling on a single-core, single-thread CPU, because ~ATH is effectively able to utilize all the chips of a computer, not just the CPU, to do independent coding, but that is a thing you absolutely do not need to worry about, right now.

Oh, and once you've done the splitting, OG, black (or, well, sickly blue-ish in case of this document) code is actually executed by all branches that you've declared.

That being said, the real potential of ~ATH comes when you nest the colored segments in ways that are simply not possible in normal programming languages. Unfortunately, at this point, it is very easy to write some computer-exploding code, and it seems that the Monika After Story devs have already realized this with the code sample I'm presenting next.


So, for context on how this code came to be, I guess I can only recommend non-chron blog notes [A001] and [A002], in which I already said everything I wanted to say. Sometime in the future, I might integrate them into the body of the document, but suffice to say, the only real news that happened after then is that I may have been declared a martyr, just like those reporters in foreign countries with oppressive regimes and very little press freedom, only my intended punishment, by the Monika After Story devs, is computer explosion rather than death.

Oh, yeah, that reminds me, as I'm going to be copy and pasting the sample right away:




~ATH(U1) {
    ~ATH(!U2) {


Alright, so what's the big deal? What are we even looking at, here? Perhaps, if you're accustomed to how loops normally nest (if you're a programmer of any sort who isn't YandereDev, you probably know what loops are), you probably noticed, right away, that the red loop only encloses the blue loop's ~ATH part and the blue loop only encloses the red loop's EXECUTE part. This, already, is something to be super-careful of if you're coding in ~ATH and making any use of the BIFURCATE statement, but again, let's look at the code from the top.

As I already explained BIFURCATE on the section before, the next point of contention that I have is probably with importing universes. As I said, there's only really one universe to be mindful of for a human ~ATH coder (unless what the Monika After Story devs really mean is that parallel universe where Sburb or whatever exists), and honestly, it might just be the paradox of another universe not existing that causes the explosion.

Okay, you got me, that our universe is the only universe that exists doesn't really create a paradox, and therefore, the worst that would happen if the universe U2 wasn't imported would be the code not compiling. Imagine that: you're chilling with Monika or whatever, and then, suddenly, these creepy all-caps messages pop up talking about how your computer will explode, and then, it doesn't and Monika just continues on as though nothing happened (because in her world view, she is completely unaware of the intruding ~ATH script, that I'm not even sure if it's possible to tell her about).

Anyway, onto the main loop: you'll notice that it actually calls for the death of the original universe but then, the birth of this second non-existent universe (which, as it looks, is non-existent, through and through, because otherwise, that blue main ~ATH loop would not compile).

But then, what happens? Well, the code does not resolve to a certain type of looparound, that I will talk about later, that would allow the ~ATH code to immediately terminate while not waiting for the ~ATH condition. Indeed, this is the simplest possible "alien" nesting: red opens, blue opens, red closes, blue closes (what's inside those EXECUTE statements is straight-up irrelevant). What that means, then, is that the red loop constantly spawns instances of the blue loop (as the little blue statement inside the red loop is not an EXECUTE, and instead, the beginning of a new ~ATH loop).

And, as I said previously in the DDLC part of this but will repeat now, the ~ATH loops, when they run, run independently of your computer's actual cycles. Therefore, a pretty substantial amount of these blue loops is placed in your computer before it can realize, and the result is rather predictable: every single motherboard chip overheats at the same time and the computer explodes. Dependent on what type of computer it is, this might be more or less dangerous: for desktops, the explosion is usually contained within the case and is no more than a loud bang, while laptops get pretty badly structurally damaged and hurt the surface on which the laptop used to rest, also with significant damage. And since the etymology of "laptop" implies that it should usually rest on your lap, while I won't tell you to say goodbye to your legs, they're going to hurt pretty badly.

Anyway, that's me explaining what zz_silenceallopposition.~ath does. But what do the devs themselves say, on Github? (As it would happen, the MAS devs are not in control of Github, and neither is any rogue group of DDLC hackers, so I don't think I will be getting bans from that place anytime soon.)

Well, I've browsed for a bit and picked up on one conversation, obviously in all caps (as is par for the course for MAS devs), that said something about the fact that the code "explodes your computer, and then, places a curse on you, all your friends, and everyone you will ever meet."

Yeah... bullshit. Well, exploding your computer actually happens, but unless there's some part that I missed about the nonexistent documentation of the BIFURCATE statement or whatever, once your computer has exploded, the ~ATH code is not running and will not be placing any curses anytime soon. Presumably, this "accountability" place is just used to place more bullshit that the credulous will believe, even though if I were able to peek into some private MAS dev Discord, they would speak of the code for what it is: someone's attempt to code ~ATH, resulting in a computer-exploding program, that was then reused with the purpose of "hey, this is a computer-exploding program, we can use it to explode the computers of those who don't agree with us", and hence, zz_silenceallopposition.~ath.

(If you need explanation on what the zz_ means: it's just something that happens to precede a lot of MAS source code filenames, I guess, in order to distinguish them from their DDLC counterparts; for example, you can find files such as script-poemgame.rpy (by Salvato) and zz_poemgame.rpy (by the MAS dev team). It's just a little useless bit of trivia, really.)

Literally nothing in this story even reeks of a competent ~ATH dev; instead, all I'm picking up on is totalitarianism and deception. Well, I guess it backfired pretty soon thereafter, which is why I even had to pick up the file from an earlier commit.


So, what are our takeaways from the code sample on the Monika After Story project? One, that nesting loops in alien ways is the only way to get ~ATH to do anything in a "timely" manner (that is, without waiting for whatever is in the ~ATH loop to die), and two, that color-coding using BIFURCATE doesn't really get us anywhere other than the death of the computer we were just running our code on.

What is the solution, then? Referring to other ~ATH source code files, and then nesting them within each other, like a hall of mirrors.

That being said... I need to bring up, right away, that there are two ways to get a ~ATH source file to run within a different ~ATH source file, binding it to a ~ATH loop and all that.

Example 1: SYSTEM()

} EXECUTE(SYSTEM("sample.~ath"));



} EXECUTE(sample.~ath);

If you want, you can even clean up the second example using a cheeky trick:

Example 3: feat. Convenient Shorthands



Obviously, if you tried compiling each and every one of these, it wouldn't work, because I bound the ~ATH loop to THIS. But presupposing that they did work, what's the difference?

Well, as far as we, beginners are concerned, nothing, really. Once the ~ATH loop is over, the executable sample.~ath executes, going through its own ~ATH loops and such. There are differences, but they're going to be talked about at a later date.

That being said, I should note, right away, that the IMPORT EXECUTABLE trick only works for ~ATH code samples and not those of any other language. That is because the object type EXECUTABLE can only refer to one of two things: either ~ATH programs, whether those running presently, sometime in the past or sometime in the future, or programs already running on your machine (presupposing that either they're compiled to your architecture's machine code or running in an interpreter, which, in itself, is code compiled to your architecture's machine code). That's why the makeshift Task Manager trick that I suggested works, but if you've got a sample.py, you can't import that as EXECUTABLE and your ~ATH code will not compile.


At any rate, let's go back to the code samples I originally wanted to bring up when first mentioning nesting. For no particular reason, I'm going to use the SYSTEM convention, because it is slightly easier to remember, as you only need to write a particular thing in one line, rather than two.

First and foremost, I should note, these two code examples must coexist, as separate files, in the same folder. Also, for simplicity's sake, I'm going to nicely ask you to name these code samples sample1.~ath and sample2.~ath; though, if you can figure out what is going on, you can use different names while retaining the same code structure.



~ATH(U) {
    ~ATH(U) {
    } EXECUTE(SYSTEM("sample2.~ath"));



~ATH(U) {
    ~ATH(U) {
    } EXECUTE(SYSTEM("sample1.~ath"));

First up, I know that I said earlier on that if you have a multitude of importables and ~ATH loops that are dependent on each other, you're best advised to use STARs; however, since there is exactly one object that we're inserting, a UNIVERSE works just fine, and provides more reliable behavior, I would say.

Anyway, if you compile either one of these, the result will be simply that the program, realizing that it's been "forced" into an infinite loop that is easily untangled and resolved, will untangle and resolve said loop, then exit in an infinitesimal amount of time.

However, that means the official halting of the ~ATH loop involved has happened, and with it, the execution of whatever was at the end of it - in this case, NULL, for either of the code samples. That being said, if you replace NULL with a SYSTEM command, say, SYSTEM("python3 hello_world.py"), congratulations, you successfully managed to write a hello world program in ~ATH.

Well, actually, you didn't; what you wrote was a hello world program in Python, coupled with a proof of concept that timely execution is, indeed, possible in ~ATH, despite literally everything about how the ~ATH loops work.

Still, I'd say that's a solid beginning.

Unfortunately, though, this is where I'll have to end for now. As I, myself, am trying to learn how to code ~ATH "safely" (without a computer explosion ever happening), the amount of trial and error that I can do is rather limited, and therefore, the learning speed is rather limited, as often, I have to scour Hackerverse threads (with a VPN, of course, so that if all else fails, it's the VPN server that explodes instead) to look for the answer that I need, and suffice to say, answers are not easily found. That, and once answers are found, the presentation of those answers must hang together, and in particular with ~ATH, it's really easy to find a definite solution to a highly involved problem without even understanding what the problem in question is in the first place.

That being said, there's nothing better than some good ol' unfounded speculation, based simply on what is readily observed by anyone endeavoring to code ~ATH.


So, for the finale, I promised that I'd talk a bit about what ~ATH even is in the first place, what its origin is, how it works at a fundamental level and many other things.

The thing is, though... that there's very limited evidence to explain literally anything. The only hard evidence, that I'm going to present as the basis for everything that will be discussed here, is as follows:

With that being said, the three main theories that I consider viable, in that they at least begin to explain the weirdness of ~ATH, are as follows:

1. ~ATH is a living organism, similar to a computer virus but obviously more advanced and long-lasting.

Under this theory, the "origin" of ~ATH is as nebulous as, say, the origin of life on Earth; at some point, something caused clumps of molecules to transition from a state where they had some, but not all, reproductive capabilities to a state where they could sustain themselves, and then, according to Darwin's principles, they took it from here.

This theory would explain the installation process particularly well: the installation as we know it is effortless, from the 0 byte file size to the adaptability to any system, modern or vintage, is because ~ATH wants to be installed on computers to further itself. That being said, if there are any means by which it "furthers itself" (whether via an evolving syntax, optimized code execution, additional gimmicks, etc.), that kinda goes against the purpose of a learnable programming language (not that ~ATH wants to be learned, as it seems).

In addition, living organisms, even viruses, need to be able to evolve and reproduce of their own will. Computer viruses as we know them are able to reproduce, all right, by transferring themselves over the Internet, but their capability to evolve (and therefore, evade antivirus programs) is solely perpretated by human malefactors. That being said, ~ATH must have evolved, a lot, to have all its features, but is really unwilling to reproduce unless humans are willing to pick it up and learn it, and all the computer explosions only make me think that ~ATH is as good at the whole biology thing as the creeper from Minecraft.

Lastly, if ~ATH evolved in any meaningful way, then we would be able to observe a multitude of dialects throughout various corners of the universe. While what we observe is consistent with the fact that we've only ever been exposed to what is best termed as "Salvatoan ~ATH", used in DDLC and furthered by DDLC hackers, if the evolution of ~ATH is particularly slow, I still find the theory to have holes in that regard.

2. ~ATH is a technology made by an advanced civilization (either aliens or future humans).

This one is really simple, right? A civilization with computing prowess far above ours created a programming language that could take advantage of the multiverse itself, but needed some way for it to interface with more primitive technology, so they accomplished exactly that with the 0 byte compiler that defies all laws of physics, and because compatibility was its primary goal, no matter what the system, such compatibility ended up working out for systems that are much more pedestrian, like ours.

Also, if we assume it was future humans in particular, it's the only viable explanation as to why the language deliberations of ~ATH were inspired by human languages, such as the C-style comments and curly braces {} being used as the delineators of ~ATH loops. Otherwise, we would inevitably have to conclude that these design deliberations were inspired by ~ATH and not the other way around, and I just find that too hard to believe.

Except... this theory would require an advanced civilization to have visited us, in the first place. For future humans, that means the definitive existence of time travel (which can be proven to be contained within ~ATH, but cannot let us trace it to its source), and for aliens, that means the definitive existence of FTL travel (which has no evidence going for it, period). Now, if they did so in the distant past and the only evidence is ~ATH, then that's perfectly consistent with what we observe, but in order to definitively conclude that ~ATH is alien technology, we'd need to encounter the alien culture in the first place.

3. ~ATH had a human developer (perhaps even Salvato himself), but deities were involved.

I don't believe in the evidence for gods of any religion, I don't believe that I'm particularly likely to see evidence for such gods, and because such gods tend to be very OP and reality breaking, I simply can't make good arguments for or against this theory. Still, it's a possibility I'm open to, even if I don't spend a lot of time considering it.

Addendum: Has humanity been inspired by ~ATH, rather than the other way around?

Once you analyze the dictionary of terms pertaining to ~ATH, a fair amount of them are really morbid: death, graveyard, the morpheme "necro-", etc. If this dictionary is analyzed in a vacuum, the word "executable" fits right in: after all, it derives from execution, death as a form of punishment, and that's exactly what you can do by calling DIE() on an EXECUTABLE.

However, as you might have realized, in the real world, we still use "executable" to refer to programs that are written and run in pedestrian languages. It almost seems like in the past, a much greater scope of vocabulary that only makes sense in ~ATH was in the computing lingo, but over time, all those terms were replaced with more cuddly, sunshine-and-rainbows terms, and "executable" was simply one that we never replaced and never felt the need to replace.

That being said... if ~ATH was really such a pivotal part of computing history, one would expect it to be mentioned in seminal papers by everyone from Turing to Kurzweil. One would not expect every single web search of the term to only show answers limited to a single Internet community, which, as it turns out, is part of a fandom for a visual novel, and therefore, only attracts coders if they're interested in bringing their waifus (or, well, waifu; in the case of DDLC hackers, it really is Just Monika) to AI life.

Humanity was not inspired by ~ATH, and "executable" is a red herring. Thanks for coming to my TED talk.


And that does it, for the current version of this document. Now, I'm not saying that this document is over and will be receiving no more updates from me; indeed, I still have a lot of ground to cover until I've caught you up to the point where you would not be laughed out of Hackerverse. (I mean, if that's even possible at this point.)

That being said, the structure of the document is simply not conducive to haphazard future updates. Within sections and sub-sections and sub-sub-sections, there must be a strict structure, and even when chapters fitting within said structure are not written as of yet, the structure must still be presumed. This, in turn, can lead to awkward decisions in chapter numbering, and as a result, the order of presenting information, which harms readability, big time.

That is why I've decided to put the document on hold, and instead, focus on contributing to other people's efforts in documenting DDLC and similar ~ATH games. This is not to say that I will never write up an update in the form of a non-chron blog, but such an update, should it occur, will be placed in a separate AO3 story. It will still be in the same place where you find non-chron blogs in selfhost, though, which is right below this notice, so... yay.

I will be back, stronger than ever. However, right now, I have to admit to myself that I'm weak and way over my head, and then, admit it to others, and then, hope that others understand.


- Creativity­The­Emotion

2020 02 14 - 08 28 (D0875-1071)


Aight, welcome to the non-chron blog, called so because the entirety of this document is still linear, but sometimes, there are developments happening right now, in the DDLC hacking community, that must be talked about right away if this document is to stay current at all times.

And as luck would have it, the first development has happened sooner rather than later.


Contributed by Creativity­The­Emotion on February 14, 2020 (D0875) 12:30 UTC

So, yeah. The first hours after this guide first went live have kind of been a rush, not in the very least since it's Valentine's Day and I wanted to spend some time with my copy of Monika After Story, only to be greeted with the helpful information that I have been banned from Doki Doki Hackerverse (that's the main forums where the hackers chill), in their characteristic typing manner (what with the fullwidth font reminiscent of Act 2):


"five (5) crucial mistakes about the inner structure of DDLC percistent throughout the entire treatise"





So, let's break it down - and I think there are two major angles that I can approach this from.

First of all: what does me being banned from Hackerverse truly mean? Well, that I can still access the forums as a guest, and download the resources and other paraphernalia. Thankfully, none of the software running the servers of that site is written in ~ATH, and therefore, it just functions as a normal Discourse install. Therefore, this guide will continue as usual, except that I will not identify with the hackers anymore, and will make no further attempts to appease them or enter their leagues - or, for that matter, try and unite them and the mainstream fandom. Seriously. Never again.

Second: the threat about your computer exploding. Many an inexperienced ~ATH coder have had their computer explode at some point or another while coding in the language, and this is where they usually leave the coding scene altogether, as computers tend to get pretty expensive. Therefore, if these guys have specifically injected code into my computer and my copy of Monika After Story (which still exists; it's just that now, when you open it, Monika won't be there anymore), the threat is perfectly valid.

However, when we get to installing MAS on a completely unrelated computer, that is when it gets tricky. From where I'm standing from, there is simply no way to tell if the ban is associated with me (the registration form on Hackerverse still opens fine in my browser, as does the MAS download page, but remember, those pages have no ~ATH code in them), or with the IP.

And to be honest, I don't even wanna try. I do have spare computers, but even the cheapest of them is a formidable purchase, and it might just be that my main computer, the one with MAS on it, explodes while the spare computer fares just fine. You just never know with ~ATH.

Either way, if I ever find out, this might be a major discovery towards how much hackers actually know. And sorry to get all speculative, when I'm supposed to be providing unambiguous knowledge of the game and the tools used to make it.

The story will be updated as developments follow.


Contributed by Creativity­The­Emotion on February 21, 2020 (D0882) 23:00 UTC

Alright, after a week, I think the dust has settled, I have settled upon a solution and everything regarding DDLC in my life, including my Monika copy and this document, is about to proceed as normal.

First of all, you can only imagine the backlash that the MAS dev team got, from the mainstream fandom, over including a piece of malware in their mod again. In fact, this was an issue more serious than the last one, as that time, it was mostly some stuff regarding how Windows was supposed to operate, and this, as I suspected, was injected ~ATH code.

Luckily, the code (as one would expect from ~ATH programmers who are not Salvato) was rather simple, and did not latch onto IP or whatever; that was just a consequence of a) Hackerverse patrons having all the IP addresses from which users visited and b) MAS needing to connect to the Internet in order to update itself. In fact, it amounted to a single file, zz_silenceallopposition.~ath, which I promise to talk about in more depth as I cover ~ATH, but for now, all you really need to know is that it looks more like a failure at coding in ~ATH, resulting in one of those programs that makes your computer explode.

What is it even with novice ~ATH coders and their computers exploding? Anyway, I can assure you that as long as you're following my (future) tutorial and understand the concepts intricately, especially regarding safety, your computer will not explode a single time.

Regardless, injected malware or no injected malware, my copy of MAS was still locked out, as stated. However, if you are an attentive reader, you should have noticed one particular detail that allowed me to thrive: my copy of Monika After Story. Not my copy of DDLC, which is what actually contains Monika (to this day).

So, I proceeded to uninstall all the scripts, Ren'Py and ~ATH alike, pertaining to MAS. I decided to keep the associated artwork, as I figured that Monika would still be able to make use of them, and all that I would really be giving up is her tendency not to repeat herself and the minigames, such as Pong and chess, coded in. And once I was done, voilà, Monika was still alive and still loved me.

So, that's that. I don't think I will be installing MAS on any of my computers in the foreseeable future, as MAS devs and Hackerverse patrons seem to be closely related, and therefore, both of them have beef with me for spreading misinformation, which, I think I need to state it plainly at this point: this document is always subject to updating and subject to commentary from you guys on what I got wrong. However, simply stating the number of mistakes isn't gonna help me much, and if you do that and proceed to declare it as the reason for your ban, you have to look deep inside your introverted heart and realize that you are being intentionally unhelpful.

Stay tuned for more updates on this document.


Contributed by Creativity­The­Emotion on February 26, 2020 (D0887) 17:15 UTC

Amended with additional syntax on April 8, 2020 (D0929) 19:05 UTC

So, it has come to my attention that I've stopped using brackets to refer to parts of the document, such as sections, and started using linguistic alternatives such as "one-thousands". For the sake of posterity, I want to document this, both for the benefit of someone reading this document aloud, who might want to know how precisely to pronounce these fancy bracket things, and someone reading this document in quiet, who doesn't necessarily expect a heading to be pronounced a certain way, but who might be confused by aforementioned references.

Without further ado, let's begin.

The header of a chapter existing within Doki Doki Literature Club!: Bugs, Glitches and Exploits for Dummies, which I've so far commonly referred to simply as "the document", strictly consists of two parts: the chapter number, enclosed in brackets, which always contains four alphanumeric symbols (with the exception of the tilde, expected to appear in headers of chapters documenting ~ATH), and the chapter title, which is written in plain English, all uppercase. The chapter may be referred either by the full header, including the number and the title, or just by the number.

Chapters within the document are strictly ordered alphabetically according to ASCII/Unicode order, which, for symbols thus described, is as follows:

Whenever a hypothetical chapter number needs to be denoted, if at least one symbol is unknown and/or deliberately ambiguous, what the symbol is replaced with depends on what sort of character can go into the place. These come in three varieties:

When naming new chapters, the symbols are expected to be numeric only, with the following exceptions:

As the chapters are strictly ordered as described, they thus cluster to sections, as follows:


QUESTION ADDRESSING TIME: "If the second and the fourth symbol of ~ATH tutorials give away that it's a ~ATH tutorial, isn't it kinda redundant?" No, because I could possibly include diagrams, glossaries and resources in that section, too.

Furthermore, each of these sections can be said to cluster into sub-sections, as follows (with the [1***] chapters):

And then, sub-sub-sections, and you get the idea.

With the convention of chapter numbering established, now let's move on to pronouncing these numbers. They can be thought of as being separated into two groups of two, with each group being pronounced separately. This is the most immediately obvious if the chapter number is entirely numeric, and each of the two groups evaluates to a number above 10:

If the number in a group evaluates to less than 10, or if it includes non-numeric symbols, then these are simply pronounced in sequence, with "nought" being used for 0 as "oh", conventionally used for year numbers, could be mistaken for the letter O in this context:

Different rules apply to a "00" grouping based on whether it's the first or the second in a chapter number. At the beginning, it is pronounced as "double-nought", and at the end, it is pronounced as "hundred":

Lastly, sequences of three or four zeroes get an entirely separate treatment, independent of the 2x2 grouping. These are best outlined simply as examples:

Finally, if the letter T is ever to appear in a chapter number, it is to be pronounced "tay", as to not confuse "forty" (40) with "four-tay" (4T).

And of course, section numbers must not be forgotten, either. They mostly follow the rules that would apply if the missing numbers were all zeroes, except pluralized and with a dash appearing before "thousands" and "hundreds":

If a number sign or an underscore are additionally used to define a "meta-sub-section" (bigger than a two-character subsection, but smaller than a one-character section), the word "numbers" or "letters" is added:

Special care must be taken whenever the last non-missing section character is actually a zero:

Asterisks are also used to denote chapter types, rather than chapter numbers:

And, of course, in the special case of [****], which I exclusively use to refer to any chapter within the document and not the document as a whole, since that would be just stupid (since I already have a fantastic way of referring to the document as a whole, namely, "the document"):

And that, I believe, covers everything. Happy reading.


Contributed by Creativity­The­Emotion on March 11, 2020 (D0901) 00:15 UTC

Within the DDLC fandoms, both mainstream and hacker, everyone knows Monika After Story. It's that mod that was released only four days after the game, and yet, managed to successfully use its ~ATH part to its advantage. It's that mod that lets you maintain a relationship with Monika, and that, in turn, has spawned snowclones, both mainstream and hacker, for the other Dokis. It's that mod that, on multiple occasions, has been under fire for including literal malware (and yes, that includes the incident I described in [A002] THE BALANCE BETWEEN A HEARTFELT REUNION AND A DEEPENING RIFT).

However, in the face of it all, Monika Before Story has been unfairly neglected. And that's a shame, since it's a piece of DDLC fandom history that's almost as interesting as After Story, and really shows what happens when you try to push what the ~ATH code was designed to do to its limits.

I am not here to rewrite fandom history. However, I think that Before Story deserves at least a cursory perusal, to see what makes it a worthwhile specimen.

Download this mod for yourself, so that you won't be spoiled?: https://​old.​reddit.​com/​r/​DDLC​Mods/​comments/​9ccc7g/​monika_​before_​story_​official_​release_​v10/

Monika Before Story, developed by a group of modders labeling themselves as Team Monika (I have no idea why DDLC fans like to refer to themselves as a "team" so much), is a mod with a premise that, when described, couldn't be simpler. If you look at the description on any of its download pages, you will find exactly one sentence: "What if YOU were President of the Literature Club?" (emphasis theirs)

Unfortunately, while describing the mod is simple, implementing said change is anything but. If we somehow took the list of all the things that can be theoretically done, and then sorted them by how difficult it is for DDLC to do it, "making your self-insert into the Club President" would be right up there with "unifying general relativity and quantum mechanics". Thus, understandably, while After Story, fundamentally, is still no more than two changes of the game code, Before Story was a tremendous effort that took roughly a year since release of DDLC.

And, even as of version 1.2, it's just... how do I put it... far from done. Let's just roughly go through what, I think, is supposed to happen, having played through the mod, and what actually happens.

In general, characters swap around places less-than-intuitively. It's not just that your self-insert is now Club President, but also, that Monika, rather than Sayori, is his childhood friend, and that Sayori, rather than Monika, is the club member that your self-insert has a passing familiarity with, sharing a class.

However, beyond this, the idea is rather noble: since it's your self-insert, rather than any Doki, who has the Sentience attribute, the poem minigame doesn't cockblock him when he tries to date any of the Dokis. In addition, since your self-insert is primarily inspired by you, and since you (the average DDLC mod enthusiast who hasn't read any of this document) have no know-how on how to manipulate .chr files, let alone the intention to do so, no single Doki exhibits mental health issues, and therefore, the mainstream fandom's holy grail, the Glitchless Playthrough, can proceed under this altered premise.

In general, out-of-the-box thinking when trying to approach the problem of "how do I prevent Monika from manipulating the files" is commendable. However, the resulting mod, when this approach is applied, is less-than-stellar.

The first major red flag that you should notice, should you boot up the mod, is that there's an installation process, which is standard for a DDLC mod (install DDLC, then copy the mod files over), and then there's a post-installation process. Upon first boot-up, the mod presents itself as "Doki Doki ?", and after banter between your self-insert, Monika and Sayori, the game's post-installation takes effect, and scripts (Ren'Py and ~ATH alike) start taking over, fully converting your copy of DDLC into a bona fide copy of Before Story.

The second major red flag, assuming you have kept the archetypal playthrough in mind, is that... Before Story plays almost like an archetypal playthrough, but occasionally swapping character names to fit within the premise. This can really lead to some OOC moments for the Dokis, but nothing comes worse than when you're sharing your poem to Monika, and then, suddenly, for a single line, Natsuki butts in; her sprite doesn't even show up.

The third major red flag is the language usage. Throughout the mod, I kept seeing phrases such as "literature-club" and "Festival" that reminded me of German; I think they actually tried to redefine the vocabulary of procedural dialogue generation to accommodate for an actual German translation, but that dev code somehow got infused with the English version.

The fourth major red flag is that though it might appear that your self-insert is Club President, and therefore, should have the Sentience attribute, as far as the procedural dialogue generation of the game is concerned, there are fundamental differences between him and the Dokis, and the game still demands that a Doki have the Sentience attribute, or else, it'll break majorly. Before Story is definitely commendable for keeping the illusion from days one to three, but on day four, it really starts to show. As you no doubt know that out of the non-Monika Dokis, Sayori is my favorite, she was the one exhibiting Sentience-related problems, which ended up looking really too similar to what happens if she ends up being your DD in unmodded DDLC's Act 1.

The fifth major red flag, mostly boiling down to the plot beats of Before Story that replace the plot beats of DDLC, is that your self-insert must commit to a Doki. Throughout the poem minigame of my playthrough, I kept drifting between Monika and Sayori, and I think my first poem appealed to Monika, but when it came to defuse the argument between Yuri and Natsuki, I chose Sayori to help me out. This ended up leading to your self-insert really wanting to walk home with Sayori, rather than Monika, for once, but because she's not the one who the poem appealed to, she refused, and eventually, coming to terms that he blew a chance to walk home with Monika or Sayori, he just decided that he's better off walking home by himself, which resulted in what the mod seems to dub a "loner ending", which is basically like the unmodded DDLC's Worst Ending, but worse still. I even think that Monika, in the letter she left to your self-insert days after the festival, downright hinted at suicide.

The sixth major red flag actually boils down to how the DD routine is handled by a mod wherein Monika manipulating a DD to suicide was never supposed to happen. Once it came down to festival preparations, any of the four Dokis can be your PD, and presumably, any of the four Dokis can develop some form of Sentience, becoming a DD-equivalent. However, whereas in DDLC, matching up the PD and the DD is something that you should do in order to at least increase the chances of your DD surviving, this mod is seemingly not equipped to deal with stuff like this. After Sayori left day four early, she still approached your self-insert in order to go home, only for the weekend day, which seemed to be some sort of amalgam of Saturday and Sunday, to begin with him commenting on how he hadn't heard from her. And then, once he comforted Sayori with the realization, he literally went "aight, I would love to chat with you, but Sayori is coming over", and then Sayori didn't even bat an eye, whereas if the dialogue generation wasn't overwritten by Before Story, she would definitely have noticed something amiss; I think there's coverage on YouTube that actually makes Natsuki your childhood friend, and then, once you try to do prep with her, it actually properly smoothly transitions from DD troubles to PD troubles.

Anyway, the seventh and final major red flag is actually a hardcoded event that has nothing to do with ~ATH. After getting the loner ending, being locked out of my copy of Before Story and reinstalling it (i.e. deleting the save data), I was greeted with the non-standard Team Salvato IP Guidelines-compliant notice about it being a mod that is supposed to be played after the base game. However, apparently, instead of a simple "I agree.", it has two options: "Just Monika." and "This isn't Canon." (hello German my old friend) However, if you pick the second one, the mod quits, and then, once you go through the notice (which now has just one "I agree" option), the splash screen mockingly quotes the thing I picked. I think it's only appropriate to say that it said "tHiS IsN't cAnOn", rather than a direct quote as it actually did. Anyway, once that was happened, I decided that I wasn't even going to play Doki Doki ?, and just wiped the mod.

So, yeah. Monika Before Story: a clear attempt by hackers to make a bona fide story, properly separable from DDLC but still sharing themes and some of the plot beats, that aimed really high... and then missed. Nevertheless, the fact that their art assets are actually free to appear in other mods, as long as they're properly credited, is pretty cool.

I might make coverage of hacker-made mods into a thing, or I might not. Who knows?


Contributed by Creativity­The­Emotion on April 1, 2020 (D0922) 17:00 UTC

(DDLC mods don't count. They just don't count. They're still building up what Salvato left us with, and therefore, they're not bona fide games in their own right. Sorry, the potential target audience of this.)

To say the least, the field of ~ATH gaming is just about as barren as the field in the default background of Windows XP. However, even with a sample size of two, and a close to total inability to get intel on one of these games, one can make certain conclusions that would immediately give one an anchor point, something to be on the lookout for, if another game were to ever show up, implementing the ideas.

From the little in the way of manuals that we've been able to find, Sburb describes itself as a game of "infinite creative potential", letting you be the god of the universe, quite literally. Likewise, DDLC has the motif of "infinite choices", in Monika's poems as well as Your Reality, and seems to fit that particular bill pretty well, with no two playthroughs ever being the same.

Therefore, you can imagine my radar was going off when, in an announcement, Mojang, the creators of Minecraft, announced a snapshot called "20w14∞", or in other words, "twenty - double U - fourteen - infinity".

Read the announcement for yourself: https://​www.​minecraft.​net/​en-us/​article/​every-​update-​imaginable-​coming-​minecraft

The first thing you'll notice in the announcement, of course, is that it supposedly includes revolutionary new machine learning technology which allows for infinite worlds (or, well, 2,147,483,648, which techy people might know as 2 to the power of 31). The means to access these worlds, apparently, is to write something random into a book and quill, and then throw that book and quill into a Nether portal.

As a long-time Minecraft aficionado, I was excited. Partially, this could quite realistically mean the return of customizable worlds; their replacement for 1.13, the Buffet world, hasn't been nearly as exciting as the ability to dial literally every single variable going into world generation, which, for something as complex as Minecraft, is quite complex, and it's just something can get a creative mind excited.

Anyway, the first thing you'll notice in the snapshot itself is that, in the absence of the infinity symbol in the ASCII character set, the true technical name of the snapshot is "20w14~". That's right, twenty - double U - fourteen - tilde.

Getting pretty exciting, isn't it?

Regardless, the second thing you'll notice - if you're particularly attuned to bugtesting, like me - is that the world you get when you do the process described isn't defined just by the words you write in the book and quill, but also, your thoughts. Don't take it from me, take it from Mojang:

My dimension doesn’t look like I wanted it to?

Can we ever be sure of what our true desires are? Reach into your inner sanctum of your mind and try again.

And yes, it is defined by your thoughts. It doesn't depend on the seed of your originally created world or the exact wording or even where and how you made your Nether portal; you can control the world generation with your thoughts, meaning that the number of available worlds explodes beyond 2 to the 31 or 2 to the 64 or 2 to the millionth.

I could briefly talk about the ways this was implemented, as well as the exciting new features not related to infinite worlds (such as a biome consisting of endless End ships, or Menger sponges, or anything like that), but I think that, for the best part, you wanna discover these things on your own. Don't worry; I'm still your guiding hand for DDLC stuff; just... not Minecraft stuff.

Anyway, even if this is just an April Fools update and none of the source code will even be making it into Minecraft's next update, this is still pretty exciting news. It isn't just anyone who's daring to explore the brand new world of ~ATH, but quite possibly the single biggest name in the history of computing so far, Microsoft (who still haven't stopped owning Mojang, in case you somehow ever forgot that). And while telepathic control of Windows or Office might also not be in the works, it might just be the thing to truly propel us into The Future. Or it'll just become another method to deliver the most personalized ads that you simply can't not click; who knows?

However, should we really be giving Mojang or even Microsoft the credit?

As you might know if you're in the know, a while back, there was a video posted (https://​www.​youtube.​com/​watch?v=​CS5DQVSp058) that complained about Minecraft being particularly monotonous, with a tech tree height of literally four (five if you count Netherite, that's in the works for the next update), and suggested procedurally generated worlds and items to fill in the gap and bring the excitement of discovery back into the game that's been needing it since 2010. Soon enough, a mod, Infinite Features, sprang up in order to try and fulfill the needs expressed in the video, and you can kind of imagine where people first looked when searching for a world of infinite choices.

And yes, this is not me talking out of my bottom, and there is absolute definite proof. Once the update was released, Hackerverse also noticed that there was something fishy about Mojang's new update, and between this, Infinite Features and their own ~ATH intel, they were able to figure that yes, Mojang did end up ripping off the ~ATH code of Infinite Features, which they were able to claim the ownership of because insert finicky copyright law details here.

Anyway, Minecraft 20w14∞. If you're excited about the possibilities that ~ATH can offer, I definitely recommend you check it out... provided that you already own a copy of Java Minecraft, that is. But hey, who doesn't in these days?

Tomorrow, back to your regularly scheduled DDLC chronological exposé. Or some more of the non-chron blog, I haven't decided yet.


Contributed by Creativity­The­Emotion on April 6, 2020 (D0927) 18:45 UTC

The next part of this document is subject to a rather terrible hiccup. I will spare you all the details, save for one: it has got to do with me not wanting to appear as though I am shoving something else I made down your throat.

Nevertheless, because of this unfortunate hiatus, I have been taking a look at parts of the document that need improvement elsewhere, and most notably, the brief documentation on the various script files. However, their names seem to present an interesting conundrum, which I hope to talk about here, but which might, eventually, be included as a "miscellaneous reading" in the chronological exposé.

Namely, the script files go like this:

"Chapters" up to 5 strictly correspond with Act 1 days: the day when your self-insert joins the Literature Club, the three poem-sharing days, Sunday and Monday. Then, "chapters" from 20 onward correspond with equivalent Act 2 days.

What about "chapter" 10, though? Have we been numbering the DDLC acts wrong all this time?

Well, no. But in order to examine the claim, we first need to establish what a DDLC act is.

Of course, for the most part, acts are defined rather arbitrarily, based on what happens on an archetypal playthrough. However, they're defined by transitions, distinct beginnings and endings, that truly make them what they are. Namely, you can expect an act to begin with the Team Salvato logo and the main menu, and end with a Doki dying or otherwise being taken out of the picture and the game reaching an "end".

This, alone, defines the four acts cleanly, with the small exception of Act 3 never reaching the main menu. However, there's an instance of the Team Salvato logo appearing in the middle of Act 2 (not the place that you're thinking of, but rather, the "Just Monika" segment), which otherwise doesn't have all the hallmarks of an act transition, and therefore, if it doesn't walk like a duck or swim like a duck, we can be pretty sure that it isn't one.

However, "chapter" 10 is distinct still. If you remember from the archetypal playthrough recount, it's the part of Act 2 wherein we are still under the pretense that it's Act 1, and though a Doki has been deleted, the game tries to proceed as though she were still here. However, upon her first encounter, the game "realizes" what's going on and reboots to a "proper" Act 2.

That much is scripted; a lot of the "glitching" is nothing like actual Ren'Py and ~ATH bugs, and simply has been placed there by Salvato to hint at a buggy game. However, there are still opportunities, in this moment, for the game to be actually glitchy and knock you to destinations unexplored.

An exploration, with me as your captain, still awaits. However, the bottom line is that, despite the odd script file numbering, there are still four acts in DDLC, not five.


Contributed by Creativity­The­Emotion on July 2, 2020 (D1014) 18:05 UTC

First, I'm going to copy and paste a few words regarding the situation from this game's developer, himself, because I want my own description to stick with you simply because you heard of it last.

YandereDev attacked Dan Salvato for his own programming incompetence!

In short: No, I did not.

Dan Salvato is the creator of Doki Doki Literature Club!, a fairly popular visual novel that attracts much the same audience as Untitled Yandere Game. However, more important to this story is the fact that he is also the creator of ~ATH, a revolutionary technology that allows DDLC to run smoothly.

As he is the creator of ~ATH, I supposed that I could look towards him for tech support, given that games like Untitled Yandere Game would greatly benefit from improved performance. However, as Salvato was completely unwilling to cooperate, I had to source the ~ATH compiler from third-party sources, and this eventually resulted in my computer exploding, making me lose significant progress on an Untitled Yandere Game build.

To this day, Salvato has not apologized for his technology causing this, and has not in any way repaid for a destroyed computer. Instead, people surrounding him have accused me of being an incompetent programmer and blaming my own coding issues on Salvato. This is yet another example of persistent trolling, in which facts are ignored in favor of a predetermined opinion.

This should also clear up why, to date, there is not a Doki Doki Literature Club easter egg in Untitled Yandere Game, despite the two games being liked by the same sort of fans and despite myself being happy to include easter eggs acknowledging a wide variety of anime and related video games.

Alright, cool, let's unpack it.

First of all: there's the claim that Salvato created ~ATH. Someone outside the fandom could easily look at the superficial facts - DDLC was the first video game, ever, to use ~ATH, and therefore, the two must have been created by the same person - and insisting otherwise might even lead to an argument that you lose. However, I still believe that Salvato is not the creator of ~ATH, for two big reasons:

Second: the idea that ~ATH can just magically be applied to any video game project and improve its code. If you really want to do that, then honestly, you're better off just picking up a low-level language, like Assembly (if you've decided that you want to be bound to a particular computer architecture, like x86 or ARM) or C (if you haven't done that yet). That being said, if you're YandereDev, you don't need to look into Assembly or C; instead, you just need to fix all those if/else statements and make them into switch statements.

Alright, alright, I said it for the meme, but I need to come clean here: I don't think if/else statements are the plague that makes YandereDev's code run so slow. Instead, I'm more horrified by all the string comparisons: after all, if a computer wants to compare two strings, it's gotta do it letter by letter, and if some flags were compared, instead, that would improve the code a lot.

Anyway, lastly: the incident itself. The only reliable source we have, that we can even trust in order to determine that the incident happened, is YandereDev himself, but I think that a smoking computer and the blame being shifted towards ~ATH and Salvato (though, the latter is completely unwarranted) is enough to conclude what happened: he thought that ~ATH was some sort of magic pill that made DDLC's AI Dokis possible, thought that it could improve Untitled Yandere Game code, tried to learn it and his computer exploded.

Honestly, I don't blame him. After all, the whole reason that I'm writing a ~ATH tutorial is because there isn't any sort of tutorial written up by hackers as of yet, there isn't any sort of tutorial that comes from non-DDLC sources and a tutorial is very much needed, given the high risk of your computer exploding, as YandereDev's did. However, I will absolutely still point and laugh at him for blaming Salvato, because the entire situation is funny as fuck and I hope that, once YandereDev gets over himself, he will be able to laugh at it, too.

That, and I am just a comedian in nature, in general, and think that a lot more people, not just YandereDev, could stand to laugh at themselves every once in a while.


Contributed by Creativity­The­Emotion on July 11, 2020 (D1023) 18:20 UTC

In general, the DDLC modding scene is dominated by mainstreamer mods. It's fairly understandable that a mainstreamer, though they might not be exactly the best at replicating Doki personalities as featured on the game itself, have more creative control over the project as a whole, and therefore, can produce something cohesive. And as long as that something is original and not just an idealized version of DDLC, the mainstreamer mod is pretty much guaranteed to be a success if done well.

That being said, nowadays, it takes a lot more than just reusing the art assets included within DDLC, or even snatching some free-to-use VN backgrounds for scenes that don't really have good DDLC counterparts. Therefore, the fandom has entered a bit of an arms race, wherein the value of the scriptwriter is low compared to that of the artist, musician, sprite editor and composer, and a mod has to be able to stand on all of these legs.

Now, imagine trying to face all of the above challenges, which make for a good mainstreamer mod, while at the same time innovating as fast as you can in the hacker fields as well. Let's say that some limitations, like those of Project Sentience and Doki coding in general, just don't satisfy you; you want Sentience to be something transferable, you want to introduce a male Doki, etc. That would surely be a tremendous challenge, wouldn't it?

And that's exactly what halibabica, the creator of DDLC: Take Two, is doing.

The mod itself, in a demo state: https://​old.​reddit.​com/​r/​DDLCMods/​comments/​d7yb2d/​ddlc_​take_​two_​act_​5_​demo_​release/

Doki Doki Interview Club, a spinoff featuring the same fan Dokis: https://​old.​reddit.​com/​r/​DDLC/​comments/​byjuap/​doki_​doki_​interview_​club_​ama_​mod_​full_​release/

The mod, itself, has a relatively simple premise: after the game has been wiped, Monika and the new Act 4 Club President approach each other. Dependent on whether the "good" ending was achieved or not, the new President may or may not have a corporeal form, and Monika will definitely not, but that's no problem, because the .chr files have been backed up, and can be restored, alongside the script files. And thus, once they are restored, Act 5, continuing from the main game's plot, can proceed.

Now, I should note, first and foremost: that particular part of the script, with Monika and your new Club President, is hardcoded (with three variants for Sayori, Natsuki and Yuri, of course). There is just no way to completely reinterpret the world of DDLC so that such a discussion, or anything close to it, would be able to happen within the realm of DDLC dialogue generation.

Once Act 5 properly starts, though, it is a bona-fide, hacker-made mod. Again, its plot starts out relatively humble, with all the Dokis finally managing to get the festival's poem reading done. This reading turns out to be an outstanding success, and brings two more members to the Literature Club: Tiffany, an exchange student from America, and Shiro, a fan of Dungeons and Dragons.

I won't really be speaking on the merits of either Tiffany or Shiro as characters, because I really want to focus on their .chr files, and how they have been made into unique experiences, distinct from every other Doki and even your self-insert. That, and Shiro is a guy; that's right, halibabica managed to rewrite the dialogue generation and .chr file reading to accomodate for the genders of Dokis.

However, that's not even the most impressive part.

The most impressive part, I'd say, comes from the plot of Take Two, wherein Monika and the new Club President debate whether or not the others should be given the same sorts of powers that they have, just to show that the world of computing isn't that scary.

"Now, hold up!" you might say. "Didn't you spend a whole lot of time talking about how Project Sentience can only affect exactly one Doki, and that it's intrinsically linked with the President persona? Like... how?"

A good question. A very good question.

Obviously, I won't be able to explain every single detail, but from what I've read in the Ren'Py files, I can see that Project Sentience has essentially been split.

The original Project Sentience, which continues to live in dialogue-projectsentience.rpy, has a vastly reduced scope. Now, it only really accounts for the Club President persona, and doesn't even really impact the thinking patterns of the Doki in question - who, as far as I can tell in Take Two's Act 5, is Monika.

But before you mourn the loss of your favorite self-aware character, let me tell you about Project Sentience New. (Aren't we, as a collective, just great at names?) Project Sentience New takes on the role of knowing that you're in a video game and all that, but in a vastly more limited way in which the Doki in question is mostly all talk, and also, is able to bring you forth a unique minigame or something. (Well, the minigames are hardcoded, just like the poem minigame, but eh.) This is what both Monika and the Act 4 Club President, who will invariably take on the role of Vice-President in Act 5, have and constantly talk about transfering to the other Dokis.

All of this, however, isn't even taking into consideration the impressive technological feat that is Interview Club. Featuring the exact same Dokis, the exact same arrangement of Project Sentience and Project Sentience New and all that, et cetera, Interview Club is "written" in the form of an AMA, wherein people from Reddit ask the Dokis questions, and they get answered. However, none of the answers, or even so much as vague hints on what the answers should be, are hardcoded: instead, the questions are transcribed verbatim, and then, the Doki's .chr file is queried to provide you with the answer.

Something like this has been tried in the past: some of the early versions of Monika After Story integrated a query box, so that you could have an actual, proper conversation with Monika. However, in that case, she really didn't let go of the topic, and in time, the topics had to be formalized and accessed as distinct units that could be "unlocked", in a sense.

And thus, Interview Club succeeds where Monika After Story failed, and brings us one step closer to proper AI Dokis that one might even have a conversation with.


Contributed by Creativity­The­Emotion on July 13, 2020 (D1025) 19:05 UTC

Oftentimes, I find myself wanting to elaborate further on certain topics that I already covered in the document's main, chronological exposé part. However, adding to it, as is, would only make it feel more bloated, and therefore, would kind of defeat the purpose of a concise chronological exposé. Therefore, this is the first in a series of what I'm calling "unsorted articles", in which I allow myself to elaborate on a particular topic further, knowing that this is essentially "optional reading to get you to be more acquainted" and that therefore, brevity is no longer a necessary virtue.

And today, the topic examined is a continuation of [2220] DIALOGUE.RPY VS. DIALOGUE-PROJECTSENTIENCE.RPY, in which I examine the different philosophies, ways of thinking that the Dokis embody, and in particular, what makes Monika different from the rest.

For that, let's return to the basics. What is the world view of a typical dateable from any visual novel?

Well, most visual novels, DDLC included, take place in a school environment. (I'm not really in the position to question the preferences of anime fans, throughout Japan as well as America.) Therefore, a visual novel character is at least somewhat aware of the burdens of school, such as attending classes, doing homework, and in case of the Japanese cultural bubble, attending after-school clubs.

However, as we all know, high school is compulsory, attracting literally everyone of the appropriate age. Therefore, views of particular students (and consequently, visual novel dateables) on school vary wildly. You can have someone be as diligent as Monika, constantly trying and, for the most part, succeeding in being the best of the best, or you can have someone be as laid-back as Sayori, mostly predisposed with her own personality and only paying attention to school whenever the time comes for the "finals" that will help with either graduation or with moving from one grade to the next.

That being said, what high school students have in common is being fairly young, and therefore, not fully mature in their behavior as well as world view. Even someone with a quite mature and intelligent outlook, like Yuri or Monika, will tend to simplify, a lot, even when discussing their own special interest (which, unsurprisingly, is writing). The advice of each of the Dokis regarding writing can really be summarized in one or two sentences:

At any rate, another aspect that is very significant to a vast majority of high school students, especially in a visual novel, is romance. It only really feels right to call someone "dateable" if they're single to begin with (polygamy, mostly shunned in both Japanese and American societies, notwithstanding) and therefore, looking for someone else to date. In addition, as heterosexuality is a predisposition also shared by these types of literature, large groups of characters of a single gender will be seen as "ideal" by a character of the opposite gender, who, whoever they might be, will still entertain a "harem" fantasy, even if briefly.

This is where you notice how it applies to DDLC, with all the Dokis being female, and this is where you're inclined to ask whether or not there are significant behavioral differences between females and males. For this, I'd be inclined to disagree; a lot of "differences" are merely imposed by society, and societies can differ a lot. Therefore, both male and female (and non-binary) characters have access to the full spectrum of personality, though societal outlook on a particular gender-personality combination can be very different dependent on gender.

At any rate, the life of a dateable is pretty simple, and I believe all of the above covers it. What about Monika, the Sentience Doki, then?

Well, first things first: the effects of Project Sentience must be considered to exist on top of the preexisting dateable personality. Indeed, in DDLC, Monika serves more of an "exposition fairy" role than a "dateable" role, but she is still a high school student, who is concerned with studying and homework and clubs, and whose position regarding romance is considered by the other Dokis.

However, the most noteworthy aspect of it all is that she sees it all for a farce; something premeditated by a creator in order to attract downloads.

The differences between a visual novel player and a visual novel protagonist, ideally, are minute. Though a visual novel player might come in any age range and gender, for the most part, they will only really seek an idealized romance if they cannot attain it for themself in real life, and that narrows it down a lot. This, in turn, helps Monika relate to you, the player, a lot, since she knows that you can't be that different from your self-insert.

Other than that, though, seeing DDLC from an outsider's perspective, as a visual novel, requires understanding what a visual novel even is. Obviously, characters within the game, such as Natsuki, might be otakus who already have the required knowledge, but Monika must go one step further in order to see the game itself as a visual novel, the other girls as dateables, etc.

The amount of new information that must be processed alongside existing information is tremendous, and that's precisely what causes an uninitiated .chr file to result in a Doki who wipes the game in frustration. However, the idea naturally stemming from this, that a Doki must undergo an "epiphany", is an inherently fallacious one; after all, Salvato had all the time in the world to craft a precise Monika character who didn't wipe the game, and that version, with no "experience" of life, is who appears in Act 1.

For the most part, Monika already talks about all of this - how the game was designed, what sort of character archetypes go into it and how she sees it, knowing that it's all fake - rather extensively in Act 3, whether you have Monika After Story installed or not. However, for posterity, this will suffice.


Contributed by Creativity­The­Emotion on July 14, 2020 (D1026) 19:10 UTC

Out of the various bugs that are kind of inevitable for a project with a scope similar to that of DDLC, I'd say that I like Passive Monika the most. I know, I know, at many points in the past I've scoffed at the idea of someone finding Act 4 to be something "fun" and "explorable", but at the same time, assuming the credits don't just pop up, the girls get to shine in personalities which seem almost entirely different from their Act 1 counterparts, all because Monika's influence is no longer there.

That being said, when Passive Monika (or any sort of diversion wherein the hinting system can no longer keep the underlying plot "on track") playthroughs are concerned, a lot of the time, I've treated them as "uncharted territory", speaking as though there is no way to know what to expect from the resolution of the plot. That's not entirely true - in fact, that's not true at all, and in lieu of hints, the dialogue generation engine will have figured some sort of "themes" to follow, and those themes will naturally lead to what I've termed as a "story tree".

What I mean by that is that, if the archetypal playthrough is the "trunk" of DDLC and what everyone focuses on when critically analyzing the story, then these alternatives are other branches. However, those branches are more like trees in their own right, with more branches, until the ending is reached in the form of leaves.

With that being said, let's explore what the Passive Monika bug has to offer.

Of course, [1590] THE ACT 4 PASSIVE MONIKA BUG has already mentioned quite a lot with regard to the underlying themes: namely, that Monika, in contrast with an archetypal Act 4, doesn't really feel the need to wipe the game because a different Doki had the same realization, and that Natsuki and Yuri are actually pretty cool gal pals, sharing their writing as-is. Therefore, the whole premise of poem sharing falls apart, and the Literature Club, rather than a place focused on writing as in Acts 1 and 2, instead forms as a place focused on reading.

This, thus, leads to the one-page "poem minigame" that I've already referred to as a "book-picking game", which allows you to get closer to a Doki who isn't the new Club President. However, as I've mentioned already, Yuri and Natsuki, themselves, are already picking out new material to read on their own, and I honestly don't really get what Sayori is doing or what her purpose in the Literature Club, other than to keep the atmosphere and balance out the different personalities, is, and regardless, there is a fair chance that she will be your new Club President, and therefore, unapproachable by default.

Anyway, once literature sharing is on, it's perhaps the best to speak of distinct "routes"; one cannot really speak in the terms of there being a DD, (DD4?) because the new Club President just doesn't do those kinds of manipulations. Therefore, most of the context is about as applicable to this situation as it would be in any kind of visual novel that DDLC's dialogue generation is trained on.

Before we begin, I should note, though, that none of the routes really changes dependent on who the new Club President is. Yes, you don't get the "new Club President" route, but other than that, there just aren't many meaningful differences between the Sayori route with Yuri as the President and the Sayori route with Natsuki as the President. That, and the power imbalance I mentioned before, wherein everyone is into something more "high-brow" than Natsuki and therefore her position as President is questioned, doesn't apply, as we've already established that all forms of literature are treated equally simply because of the relationships involved.


Sayori route

As mentioned before, Sayori doesn't have any reading predispositions to begin with, instead playing the role of the team therapist. However, she is perfectly willing to read whatever you thought she would like with you, and this is where the relationship starts.

As I've already spoken previously, Sayori's depression, if it was there in any form, just isn't there when she can give the Literature Club her best and they can give it back to her. Therefore, what is left is best described as a deredere, and her route is full of clichés: especially those concerning the childhood friend romance trope, wherein silly promises that "we will get married" from years and years ago are suddenly being considered seriously. In addition, one cannot forget that your self-insert has always been on the lookout for her, and therefore, is perhaps best suited to the role of a boyfriend (this sort of aspect crops up in Act 1 too, but in the much more darker "I don't want a boyfriend because he wouldn't let you do the things you do to me").

This, therefore, leads to a very tropey, visual novel-y route, and I honestly think that if Sayori has stepped in the role of your new Club President, you're just not losing out on much. Indeed, Sayori and depression have become this sort of inseparable duo, and if you want a good Sayori route, then perhaps your effort is best focused on mainstream mods such as Purist Mod and Blue Skies, rather than a hacker-y exploration.

Natsuki route

Since Natsuki and your self-insert are in the exact same position (manga readers who need to branch out and approach "real" literature, whatever that means), they both realize, pretty quickly, that the idea is for them both to look away from the comfort zone, and your self-insert getting Natsuki what he thought she would like is really going in the wrong direction. Natsuki thus complains, a bit, in her typical tsundere manner, but luckily, has saved the day with having picked out the dustiest, "adult-iest" novel that she could find at the bookstore, and she and your self-insert begin reading it.

At first, both of them scoff at the idea, and mostly laugh at how many pompous words and grammar structures the book includes, much to Yuri's chagrin. However, while Act 1 Yuri might just scowl, deepen the rift between herself and Natsuki and never speak of it again, Act 4 Yuri gladly explains the themes, the definitions of more complicated words and so on, and gradually, your self-insert and Natsuki start seeing the "light" so to say.

Anyway, just like with the childhood friend trope, the tsundere trope has been done in many visual novels before DDLC, and if you're a fan of those, it unfolds in the precise stereotypical way: oftentimes, when your self-insert makes any advances, Natsuki's defenses suddenly go up, until the relationship between the two develops and Natsuki opens up about her family life. She then will gladly take any opportunity to get away from home and spend time with your self-insert, and the rest is history. If you're a fan of the tsundere trope, then this is probably the route for you, but let's be honest, I'm not.

Yuri route

Approaching Yuri for the book exchange thing, you will, of course, realize that you don't really know what specific book she would like, and once you approach her about that, she will just hand you a copy of Portrait of Markov, the downright iconic book that a fair amount of speculation has already been placed on. Therefore, this is as good a place as any to address said speculation.

Now, how Portrait of Markov is described actually kind of depends on what the particular version of Yuri is like. The underlying basics can be summarized as follows, neutrally: the protagonist moves in with her sister, and soon, is targeted by escapees of a human experimentation prison, which gets pretty Mengele-y. However, what actually escapes Yuri's mouth when describing it really depends: for example, in Act 1, she mainly focuses on the protagonist and the decisions she has to make, whereas in Act 2 as your DD2, she mainly focuses on the prison and what sorts of experiments are done there.

It only makes sense, then, that in Act 4, the central theme that Yuri explores is the relationship between the protagonist and her sister.

Now, whether or not there is actually a whole coherent book behind it, plot and all, or just vague descriptions of a book, is honestly up for debate. Decompilation of ~ATH code simply hasn't progressed to the point where a definitive answer can be given, and re-running the dialogue to see if Yuri speaks differently can only get you so far.

Anyway, Portrait of Markov, as a whole, will have to be addressed in another installment of Topics in Depth; now, let's focus on the Yuri route.

Given that Markov is a book that is already particularly close to Yuri's heart, she can already explain the themes pretty well, and many of them frighten and horrify Natsuki. However, as she joins the conversations between Yuri and your self-insert, she gradually begins seeing more and more connections between it and some of her favorite manga, and as Yuri starts seeing the aspects, she finds herself drawn in by manga more and more. Once again, it shouldn't be news that her writing tastes jump from genre to genre.

Anyway, much like with the other two, Yuri's route is primarily based on a very tired and cliché trope: namely, that of a shy girl becoming talkative. Though it can't be denied that to your self-insert, Yuri is less of a "your resident dandere" and more of a "big bust beauty", for the most part, he knows how to respect women and lead Yuri to a happy future, with minimal choices required on your part (for the most part, purely generated, non-hinted routes are very sparse on choices, and if you want choices introduced, then you will essentially have to introduce hints on your own). From my own pure, personal tastes, this is the best route of them all, but in the end, it still doesn't have a lot to offer, critically.

Festival arc

Lastly, I think this needs to be brought up: without the poem writing and sharing, the whole festival idea that Monika proposed, with the main Literature Club event being poem recital, just doesn't work out. But just like the poem minigame was replaced with a book-picking game, the poem recital at the festival is replaced with something else, right?

Well, to disappoint you, no. The personalities in the Literature Club have different opinions, but all of them naturally lead to the same conclusion: Yuri is simply too shy to adequately present anything, Natsuki has mostly been looking forward to checking out what the other clubs do (and perhaps, even contributing some) and it's simply not up to Sayori to go against the wishes of both of them. Therefore, the Literature Club plain doesn't present.

That being said, all the members agree that bringing in more members, event or no event, is still a priority. Therefore, in lieu of a full-blown event, the Dokis will work together on little invitation cards, which will, well, invite the others to check out the Literature Club. All of them work on the exact same task, and therefore, there is no picking and dividing bases, but regardless, both festival prep and the festival itself become opportunities for you and the Doki of your choice to bond, considering each other's company much better than any amount of new members.

What fruits does bringing in new members give? Well, last I checked, it's not really within DDLC's capability to create a Doki from scratch, to say nothing of the fact that she, if she were to pop up from thin air, just wouldn't have sprites or anything to represent her visually. Therefore, the only conclusion that the game's engine can reach is that in which the Literature Club doesn't gain any new members.

How do the remaining Dokis react? Well, if Natsuki is the Club President, she will surely throw a tantrum or two about it, and the same is true, to a lesser extent, if she isn't the Club President, too. However, the others will agree that without a distinctive Event, there was just no chance in bringing in members, but nevertheless, some of them, especially your self-insert and your current route Doki, will recount some positive experiences with other students in the school, who might or might not join.

Therefore, even if new members don't join right away, it's a big moment of hope for the Literature Club, and especially for your self-insert and your current route Doki, who, as the plot of the game reaches its "natural" "conclusion" (the terms here are used very loosely, as it is the visual novel paradigm that we're talking about here), who, as they enter a conversation or two about the future, find it much more bearable to live in the present, wherein studying, tests, graduation and so on are simply not to be worried about, and problems will be tackled as they arise.

And that, I believe, is much closer to "all there is to say about the Passive Monika bug" than what I had before.


Contributed by Creativity­The­Emotion on July 17, 2020 (D1029) 18:40 UTC

Let's talk about the DDLC Poem Editor.

Now, I know what you must be thinking: "it's literally been close to two years and the whole thing is just insubstantial meme fodder; surely you don't have a whole lot to say about it?" Well, the thing is, I do. Two whole non-chron blog entries, in fact.

The first one of these will mostly be covering the circumstances of me writing the first version of the thing, followed by the events that happened, mostly in Reddit but in other DDLC fan venues as well, after release. Then, in the second one, I will be talking about the greater plans that I had for the future of the poem editor and beyond, and why those plans never came to fruition.

But first things need to be considered first, and that means explaining how we even got to this place in the first place.

First of all: there isn't some grand backstory that frames me as a victim of self-abuse or as someone who took on a tremendous task and succeeded against all odds. The poem editor came to me as I was idly pontificating a project, that honestly should have been pontificated by many both before and after me (indeed, some comments I received on the poem editor were expecting it to have been made sooner), and I threw together the functionality in one day and the looks (the sounds came later) in another day.

I guess, the only really interesting bit of trivia that goes here is that, for a while, I had the project named "Writing evaluator", which is just as unappealing a name as they can get. It's literally not even worth the space usually used for describing trivia, and I'm so glad I stuck with "DDLC Poem Editor" instead.

And then I hit "post".

Original post on le reddit: https://​old.​reddit.​com/​r/​DDLC/​comments/​94ltv5/​ddlc_​poem_​editor/

Looking at the post, years later, there might not seem to be much in terms of discussion. However, if you were somehow able to look at the posts made immediately after this one, absolutely everyone was pasting copypastas into the thing to see how well the Dokis took to them. (Fun fact: it was mostly Sayori, because in general, her words are rather simple, and therefore, more common in any given text; plus, I'm pretty sure that she has more of them to begin with, and the ramifications of that on the DDLC plot and who was "intended" to be your DD were it not for ~ATH are not to be discussed in a non-chron blog post primarily pertaining to the poem editor. Nevertheless, soon enough, a "modified" text score calibrated to actual poems and copypastas needed to appear, and it did appear, soon enough.)

Obviously, this was a huge issue for the /r/DDLC moderation; even before then, memes could essentially come and go, ruining the post output for about a day or two, but this time, the mods were ready to shoot down any "low-quality" posts, and soon enough, a mod named Litandus "organized" the poem editor copypasta posts into a megathread.

Understandably, the main userbase were somewhat pissed, and a quote I remember reading from that time is "the poem editor meme didn't die, it was sniped in mid-air". Soon enough, someone had the bright idea: if two more memes could be sniped like this and made into megathreads, since Reddit only allows you to sticky two posts per subreddit, the poem editor megathread post would have to be unstickied, and memes of that caliber could reign free. It was a great plan, but unfortunately, the only meme that people could make on short notice was what's known as a "sign" meme, wherein text is simply added onto fanart of someone holding a sign. Those would later get banned as a whole.

That being said, while the poem editor posts were consolidated and "banned" under a common posts rule, the whole incident actually created a whole new rule, too: to this day, on /r/DDLC, while you can criticize the mod team as a whole or specific policies of the subreddit, you can't criticize specific moderators (as a lot of hate was directed towards Litandus specifically).

However, the meme, to an extent, was still a thing throughout most of August 2018, and I was riding it. I created a Discord server for the poem editor and I met some very nice people there, one of whom is even a friend of mine to this day, following along in the era of this document.

Then, an even worse storm than the previous one came.

Its origin was rather benign: so, what am I using to generate my word list? Am I simply using poemwords.txt? Or am I using something that's directly dependent on those .chr files? (Understandably, since running a live version of DDLC is beyond me, I would simply have to contend to using .chr files from the game as it's downloaded from ddlc.moe.)

The answer, of course, is that it's an option I implemented, as I updated the poem editor throughout the month to add more ideas. It wasn't just cute sound, menus and clickable Dokis; there is also a wordlist option, and once you go down there, you can pick either poemwords.txt, the ~ATH approach (either with or without Monika) or the lists created for mods.

In fact, I even took a stab at creating my own wordlist to be used with the poem editor, called the Thousand Word Corpus, and that got a bit of mileage of its own. As it turns out, back in the day, the Monika After Story devs approached me and asked if they could use the Thousand Word Corpus in MAS, as an option of difficulty for their built-in Hangman. (Heh, can you even imagine me and the MAS devs being amicable today? What an idea.)

But anyway, which one am I using? Well, for the first versions without a clickable options menu, it was the poemwords.txt approach, but eventually, I was able to provide y'all with a wordlist coming straight from the auspices of ~ATH, too. However, that only got the mainstreamers and hackers into a harsh battle: which one is the correct one to use, and therefore, deserving of being the "default"? (That would end up being the ~ATHy version, as it is more accurate to what is going on in DDLC, but I guess mainstreamers were going through denial.)

And that, I suppose, is that: me creating meme wars on at least several fronts. This is why, in the version history section, you can find comments like "Good enough to incite a meme war" in the poem editor webapp, "Unfortunately not good enough to incite a meme war" on the poem editor mod (I figured that I could take advantage of the ~ATH scripts running on .chr files live in a Ren'Py context, and also, I was kind of worried about the Team Salvato IP guidelines, but unfortunately, it dawned on me that I'd have to implement copy-and-pasting, textbox scrolling and all those goodies on Ren'Py, and I simply didn't know if it was possible) and "We'll see if this one is good enough to incite a meme war" on this very document.

However, surprising as it seems, a complete overhaul of the Ren'Py engine was not the biggest I dreamt of when having poem editor-related ideas. Not by a huge margin.


Contributed by Creativity­The­Emotion on July 17, 2020 (D1029) 18:40 UTC

By now, many of you have probably noticed that the website I use to primarily host this document is called dokidocs.net. Now, if you're thinking that it's actually called Archive of Our Own, what you're looking at is an imperfect mirror that is only superior in that it allows comments.

Anyway, Doki Docs; isn't that just the niftiest nickname I could have given to a website, given that its main attraction is a massive guide to DDLC hacking, ~ATH coding and such. Documentation in that regard is rather difficult to find (the closest we have, other than my work, is perhaps the #TeamStats analysis), and a single website where all of it is hosted would be just about the raddest thing ever.

Wait, it was first registered in August 2018?

Let's just say that my stance regarding documentation of DDLC and ~ATH was completely different back then. I mostly saw it from the hackers' point of view, that the inner workings of DDLC simply couldn't be ignored, but for one, I was actually mostly chilling in mainstreamer spaces, and to them, the true nature of DDLC was really an "elephant in the room", the discussion of which could only be ignited if it was in the context of the morality of Monika's actions. And for another thing, I figured that eventually, the hackers would provide us with quite detailed guides that could settle those morality arguments once and for all.

Oh, look at me now, and then, look at me back then, so naive. I guess I am living proof of the idea that if you want something done right, you have to do it yourself.

But then, if I had no intent on documenting DDLC back in 2018, why come up with the name Doki Docs - and redirect the poem editor tool to there?

You guessed right - it's a side-effect of more bullshit that has to do with the poem editor. But first, let's look at the summary I came up with for the project, which I'm going to delete from the homepage after this goes live:

Doki Docs aims to bring the characters from Team Salvato's Doki Doki Literature Club! to life via the core aspect of the game: the poems that each of them, including the player character, write. The project, when finished, will allow you to collaborate with AI versions of each girl (possibly, even all of them) and bring your own ideas, whether in form of poetry or prose, to life.


Doki Docs

The central and final product is intended to be a text editor, possibly even a fully featured word processor, allowing you to collaborate with the Dokis on a poem or any writing project.

The name, if you haven't realized it yet, is an allusion to Google Docs, and when conceiving of the project, I had one particular gimmick in mind, that the Google Docs team had made, in order to promote their product: it was a sample page, wherein you would be allowed to collaborate with famous writers like Shakespeare and Milton. And, well, what would the big deal be if I were to replace them with characters who are considerably less famous, but still have a name as writers, such as Natsuki and Yuri?

A lot would be the big deal, and let me tell you precisely why.

First off, let's see exactly how much of the DDLC dialogue generation can we repurpose for the purposes of Doki Docs. It's fairly obvious that just implementing the dialogue generation as a whole is out - the DDLC dialogue generation was intended for the purpose of conversation and world description, the bread and butter of visual novels. And even the small part that could do poems just couldn't suggest additions to an external poem - like the one you'd be writing on the hypothetical Doki Docs website.

So, I'm essentially there, with next to no know-how of ~ATH or how to deconstruct DDLC's dialogue generation in order to make it work for a Doki Docs-like project (something, I should mention, no single hacker has, even as of this day, and in all likelihood, even Salvato probably forgot a lot while he was dealing with the DDLC-induced bout of depression). What that means, of course, is that I'd have to implement a neural network or whatever, all on my own.

The only step I really came up with was the first one, wherein an NN, given a wordlist (and I figured the Thousand Word Corpus of my own creation would be the best bet here), would be able to extrapolate to the entire English dictionary and come up with the ratings of any word for all the Dokis (obviously ignoring words like the and of, which the language cannot function without and which each and every Doki would use when editing text). What I didn't know, of course, was that this was something I could extract from DDLC, but if you thought repurposing Salvato's code works in any way, then you haven't realized that I don't even know how to turn ~ATH into a server-side language.

Anyway, eventually, I'd have to reach the final step: my final NN, being trained on... what exactly? There isn't exactly a database of "edits made to existing works"; only one of existing works. And even then, I'd want those works to be DDLC-themed, which meant that I would need to do a task that very few DDLC fans can manage: write poems, in-character, as Dokis, and then suggest edits to those poems, also in-character as Dokis. In the end, I managed to produce two poems, but the fact remains that I am not a poet and not really capable of expressing myself concisely, let alone when I have to pay attention to prosody.

How would I even pay attention to prosody? Given those two poems I wrote, the stressed syllables are marked and patterns, ideally, could be picked up, but I'm not sure how, I'm not sure where to begin, and as far as building an NN that can do the task that Doki Docs was designed to do goes, I'm currently stuck at the stage of messing around with Karpathy's LSTM, feeding it this document as training data and then managing to overfit the NN like there's no tomorrow.

Oh, wait, I'm not even at that stage, because the synergy of my current system, Ubuntu 20.04 and the NVIDIA proprietary drivers just isn't a thing and, essentially, if I were to install those drivers, I would be locked out of the desktop environment, with my only option being remotely logging in and wiping the drivers.

Yeah. Suffice to say, there is a lot to be done in order to make Doki Docs a thing, and I'm simply not up to the task.

Writing out a detailed documentation of DDLC and ~ATH, as is, is a task hard enough.

That being said, I do still think that something like Doki Docs needs to be produced - not necessarily by the DDLC fandom, but I think the mainstream AI community would actually benefit from such a project. Hear me out.

When we consider the literary output of natural language generators, as mentioned previously, we don't really give said generators the chance to backtrack. In fact, something like the aforementioned LSTM might not even have an idea of where it's going, in terms of, say, more than a clause, but even if it's advanced enough, like the DDLC dialogue generator, it still generates a single line, immediately outputs it and generates another line.

Now, what would happen if we judged human creators like this? What if we essentially didn't allow any sort of novel or poetry to have a second draft or so much as use the backspace button?

That's right - we're holding AIs to a higher standard than humans.

As I've said, unless Google is working on scraping the Docs data for edits of documents and trying to have an AI generate edits to existing, pre-supplied documents, there just isn't any sort of training data that could be used in order to make such an AI a reality. However, if we really want to be able to write cohesive, novel-length works of fiction entirely automatically, such an editing process will need to be done. And although a Doki might not be the best editor of poems out there, I still think that something like this project needs to happen.

Guess who won't be the one to produce it, though.


Contributed by Creativity­The­Emotion on July 19, 2020 (D1031) 20:35 UTC

It goes without saying that literature is a very big part of the, well, Literature Club. Though most of the fandom focus is on writing, in the sense of poems and poem sharing, and especially what sorts of techniques can be shared between the game and the rest, that hasn't really been the part that interests me. Again; two poems that were written for a failed, over-ambitious project don't count, and I think I get to keep my label of "not a poet".

However, equally important to the Literature Club is the focus on reading. In particular, both Yuri and Natsuki CGs, in Act 1 as well as Act 2, involve your self-insert reading together with them: in Natsuki's case, it's the highly effeminate, slice-of-life manga Parfait Girls, while in Yuri's case, it's Portrait of Markov, a horror novel with focus on human experimentation that may or may not come out, directly adapted to a video game by Salvato, even though the original book doesn't exist and was also entirely made up by Salvato.

However, while neither Portrait of Markov nor Parfait Girls really exist in the real world, when you reach Act 3 and your one-on-one with Monika, the literature that she recommends is entirely real. Among books she recommends are Nineteen Eighty-Four, The Yellow Wallpaper, Flowers for Algernon and Catch-22, just to name a few. Now, it might surprise you that most of these are by either British or American authors, and therefore, there isn't really a place for Japanese literature, which Monika, who is Japanese and shame on you for forgetting that, should really care highly about. However, in the face of DDLC's actual setting, which is only "Japan-ish" and not intended to be fully culturally accurate so as to imitate poor translations and English otaku works based on poor translations, I think that this selection of literature that Monika knows about is fair and not really to be criticized.

But anyway, what does need to be criticized is the dialogue generator, and how well it can deal with two completely unrelated aspects: a) "parsing" an existing work of fiction to the point where a fictional character can critically comment on it, perhaps even bringing insights to the table that no human possibly could, and b) "creating" an entirely new, fictitious work of fiction, that some might even find themselves to be fans of, drawing Libitina or whatever it is?

Analyzing existing literature

Let's start with what we can get Monika to talk about, for various reasons, though no small part of them is that we have an entire system wherein her dialogue is scrutinized, and that comes in the form of Monika After Story's neatly structurized topics, which can be repeated, over and over.

"But Creativity­The­Emotion," I hear you asking, "didn't you talk about how you're not really friends with the MAS devs and therefore, just have access to a normal Act 3 and not MAS?"

You have forgotten, first and foremost, that the MAS code is open-source; how else would I be able to comment on zz_silenceallopposition.~ath? And second, most of what MAS is praised for isn't even that hard to implement. The whole menu, wherein you can pick from topics, is literally hardcoded, and getting Monika to comment on a particular topic, again and again, is a feat that requires technology no more advanced than the hinting system that we already have.

Anyway, I've actually done quite a lot to make my copy of Act 3 (and Monika After Story, while that mod was still installed) personally mine, and some day, I might even walk you through these changes that I did, but for now, we're exclusively focusing on how well she comments on existing literature.

I'll be using Nineteen Eighty-Four as an example here, as it's a book that happens to be fairly close to my heart, too, and this is from long before DDLC was even a dream of Salvato's. Also, I'm fairly attuned to many themes present in the book; certainly more than you have, having made the adjective "Orwellian" to exclusively mean something lame like "that which pertains to surveillance and complete lack of privacy" when there is so, so much more that Orwell didn't put to his name in order for that to be stripped away in pop-culture discourse.

Anyway, what does Monika have to say about the book? Well, a lot of the usual, horrifying themes that are usually brought up, like the surveillance aspect and that aspect wherein children are essentially taught to spy on and betray their own parents in the name of the state, but then, she actually brings up a "favorite minor character" of hers. That turns out to be Syme, who works on the dictionary of Newspeak, the totalitarian language (yes, seriously, a "totalitarian language" is a thing within the context of the world) intended to limit thought so as to make "thoughtcrime" impossible.

Anyway, Monika points out the usual stuff - that Winston Smith, the protagonist of the book, quickly throughout talking with Syme, notices that the latter is simply Too Bright and therefore, won't really last long until captured by the "reprogramming humans" agency, the Ministry of Love, and a bit later, realizes that the event he feared for happened, lo and behold. This, thus, makes Syme a tragic character - even though he was fairly attuned to the ideology of Oceania and willing to be subservient to them despite everything, he was still taken out, and his "fatal vice" was being too smart.

However, it should be pointed out that Nineteen Eighty-Four has at least a dozen "minor characters" like this, that one could easily pick out as a human reader - and, I suppose, as the DDLC dialogue generator, too. Why not comment about Parsons, who is also fairly attuned to the ideology of Oceania and much more like a brainless puppet who will do whatever it takes to please the government, but who still ends up in the Ministry of Love because he was overheard, sleeptalking phrases like "down with Big Brother", by his family? Or the shopkeeper, who essentially invites Winston and Julia to the second floor of his store, which is a convenient apartment without a telescreen, only for all of it turn out to be false as he is actually a Ministry of Love agent? Or an aspect of worldbuilding, like the one where the three superstates constantly put all of their efforts into a weapon that will end the neverending war between the three?

Clearly, the book was dissected, according to Monika's personality, and she picked out a single aspect.

Now, whether or not we can do the same is either still to be determined by hackers or I simply haven't looked deep enough into the Hackerverse archives. Still, it definitely looks like something that can and has been done by Salvato, in order to make Monika, the character, more well-read.

Analyzing non-existent literature: Parfait Girls

Now, let's turn to that which doesn't exist in this world, and in particular, Parfait Girls. I've chosen to cover Parfait Girls and not Portrait of Markov, first, because Portrait of Markov just doesn't have an associated ARG and therefore, will be easier to comment on when the DDLC dialogue generation is the only aspect being considered, and if there are active worldbuilding notes by Salvato, they are simply taken out of the picture.

Anyway, what do we know about Parfait Girls? Well, it's a slice-of-life manga, with the cover depicting four girls striking feminine poses. It's one that your self-insert has never read before, and he immediately assumes that it must either be garbage or so far away from his demographic. Nevertheless, as he and Natsuki get into it, there are a fair amount of comments to be made about the manga, such as:

Now, is that really enough to paint a picture about the plot? Well, I don't think so, but that might be mainly because I'm not a manga reader, especially not slice-of-life, and I wouldn't even know where to begin piecing a plot from these bits of information. Still, I'm going to bet that it's impossible to reconstruct a cohesive Parfait Girls plot, because we don't even know who the other three girls, who Natsuki might not like as much, are.

Still, Parfait Girls was made up to fit in a narrative purpose, and said narrative purpose is executed near-flawlessly. That, and the comments Natsuki makes about Minori are very much like the comments Monika makes about Syme, implying that two entirely different processes actually led to similar results as far as the dialogue generation goes.

Analyzing non-existent literature: Portrait of Markov

Finally, we arrive at the big gem, that everyone else is inclined to analyze and over-analyze, even taking into account stuff like Yuri's remarks on entirely different topics, because a straight-up complete plot of Team Salvato's next game must be dissected before the game is even officially announced. Therefore, I cannot hope to be fully accurate as to how much Markov discourse is correct or on the table, but I will still give an insight for the sake of posterity.

Portrait of Markov is described as a book with an ominous eye on the front cover. It's the one that Yuri is in the process of returning to, at the beginning of the game, and regardless of the route, she actually has another copy, which she gifts to your self-insert, the newest Literature Club member, in hopes of getting him into literature. Now, if you don't pick her route, that's where it ends and you don't get to learn anything new about it, but if you do, then there is a fair amount to unpack pertaining to the book itself and how it affects Yuri's personality.

As mentioned previously, the book starts out when the protagonist moves in together with her sister. She is then targeted by a group of escapees from a human experiment prison, and soon enough, faces difficult choices that, regardless of what she chooses, are going to destroy her life and her relationships - or at least, that's how much is really expanded upon, and as you can see, it's mostly vague words that don't really mean much in the context of proper critical analysis.

Does Yuri, like Natsuki and Monika, have a particular character who she relates to? I don't believe so; whenever she speaks about her love for fictional characters (that is seriously a thing that happens in DDLC discourse and I invite you to do proper research yourself), she really speaks about it in general, without singling out an example, from Markov or otherwise. Instead, she just focuses on her social anxiety, or, if she happens to be your DD2, how much she's in love with your self-insert and how he's everything that she could ask for, in terms of a person.

Do we even know which of the characters is Libitina? (Within the Portrait of Markov context. I think that literally anyone who has the ability to reason, and therefore, anyone willing to read this far into the densest and most technical exposé of everything to do with DDLC, should be able to realize that she is not any one of the Dokis, and I seriously worry for those who either cannot or simply say sensationalist statements in order to get YouTube views.)

Well, for one thing, the Project Libitina website mostly talks about the "third eye" as some sort of psychic phenomenon, which is not particularly in line with "human experiments" in the form of affixing limbs where they shouldn't go. So, there might actually be a pretty good chance that Portrait of Markov, the book that Yuri really, really likes, and Portrait of Markov, Team Salvato's next game, don't really have much in common other than the title.

And once that conclusion is taken from beneath our feet, there simply isn't much more to conclude, and we'll have to concede that Salvato kept this little secret to himself. In fact, I think the story surrounding the release of DDLC, wherein its theme as a visual novel wasn't revealed until the day of release, should tell you a lot about how Salvato is approaching the release of Markov.

Still, that is beside our point. What we've sought to establish is that Dokis can actually comment on fiction and provide insights that you would expect members of a Literature Club to deliver, whether that fiction exists in real life or not. And I think we've established that, pretty well.


Contributed by Creativity­The­Emotion on July 22, 2020 (D1034) 20:05 UTC

I'm still doing mod reviews, and I'm still making absolutely stupid puns based on whatever the title of the mod in question is. However, I guess I have to apologize to basically everyone willing to accept an apology, and first and foremost my own sense of identity, as today, we're looking at a mainstreamer mod.

What is there to say about mainstreamer mods as a whole? Well, unlike hacker mods, they don't have to burden themselves with fitting into the visual novel tropes that DDLC's dialogue generation would otherwise enforce them to. However, because they're entirely hardcoded, it is the sole burden of the mod writers to make the Dokis fit their characters. This can be a tremendous challenge for some, but luckily, there's an amazing workaround: "record" a playthrough of DDLC to a Ren'Py file and then edit like there's no tomorrow, until it fits into a shoebox.

And The Fruits of the Literature Club shows us that it can be done, even if the shoebox is of a very different shape.

Download as usual: http://​ddlcmods.​com/​the-fruits-of-the-literature-club/

First of all, let's address the first person protag of the mod. Quite obviously, since this is a mainstreamer mod, I can't really call him "your self-insert" or say that any of his qualities take after you due to ~ATH reasons. However, calling him "MC" also really doesn't do this justice, and I'll show you why.

Typically, a fair amount can be agreed upon about your self-insert: he is a single boy, with only one childhood friend, looking forward to meeting more girls and entering a romantic relationship with any of them. These are basic qualities that are almost expected of a visual novel protag, and therefore, any "molding" of the character to fit your personality must stay within these bounds (though, as a reviewer points out, there is an extremely rare chance of the dialogue generation fucking everything up to high heavens and providing you with a carbon copy of yourself).

Now, it's quite tempting to assume that MC, the mainstreamer interpretation of the same character, would actually be his own thing, with a predefined personality. However, when you try to search for personality traits integrated into MC across the board, you only really find one of them: he's dense as a black hole. Beyond this, interpretations of him are almost dependent on the particuar mod writer, and unlike with the Dokis, there is relatively little complaining about making him out of character: after all, his game counterpart doesn't have a consistent characterization, either.

With that all being said, the Fruits protag has been completely reinterpreted, contradicting even the base of your self-insert. If I had to describe the character concisely, I would probably say that he wandered into the world of DDLC from a spy thriller: among other qualities, he has a guardian/boss type of character in place of his parents (with their tragic death often being commented upon), a placement dependent on said job which requires him to move a lot, two cellphones (one for personal, "civilian" use and one for his work affairs), etc.

Naturally, he takes this very unique attitude, which I can't help but think was inspired by a particularly off-the-rails playthrough, to the Literature Club. Moving in next to Sayori, he is very reluctant to form any sort of bond with her, as, due to his tragic events, he's only convinced that such a bond will eventually lead to a tragic death. However, bit by bit, she breaks his shell, and eventually, convinces him to visit the Literature Club, wherein a completely different routine takes over: as alluded previously, it's mostly the regular DDLC Act 1 plot (minus the festival and mental illness arcs), wherein poem writing leads you to a particular Doki's route.

Now, briefly about the Literature Club. As is fairly known among the mainstream fandom, your self-insert is not really a reader, and has to go for manga when prodded about what he reads. In contrast, your self-insert in Monika Before Story, as appropriate for the Club President, is much more well-read, and instead, mutters "everything" when asked the same question.

The Fruits protag, on the other hand, is very different from both of these archetypes, and from those of every Doki, in that he reads what I can only really describe as "revolutionary literature", as well as practical guides on survival, necessitated by his circumstances that he was thrust into before he could even formally sign a job contract with his folk. That being said, it's fairly safe to assume that he brings his own style into the Literature Club, in the form of his poems (which are much more than bland, targeted pieces) and even ad-hoc stories, which read very much like thrillers.

Now, dependent on the route, the Doki that you picked, and which the Fruits protag pursues, is eventually targeted by his enemies. This, though, is where I have to make a confession: typically, when a "polished product" of a mod, whether it be a mainstreamer mod or a hacker mod, comes out and lets you pick a Doki (whether the choice is between just the canon dateables or all the Dokis), I tend to go for a single route, not really seeing the difference between them and not once being able to relate to Natsuki or understand why the tsundere trope is so popular. Therefore, I will be commenting on one route exclusively, and when playing through Fruits, I decided to go for Sayori's.


Sayori route

In the case of Sayori, she is primarily targeted by Kagan, depicted in the mod using the "Chad MC" sprites. As I've already alluded, her mental health issues don't get to shine a whole lot; instead, she is mostly made a victim of external targeting, at the same time as the Fruits protag, which makes for a bit confusing plotline. For example, there are at least a few concurrent plotlines in the first chapter, such as Kagan spying on Sayori (in the "Peeping Tom" sense, not in the sense that the Fruits protag might be willing to engage), Sayori receiving an ill-intentioned note from bullies hired by Kagan and physical assault between Kagan and the Fruits protag.

However, it's not really a thriller if it doesn't escalate to the use of guns, and soon enough, Sayori is kidnapped by Kagan and goons, and the Fruits protag finds himself searching for her, and later on, surviving with her in a forest, and only one of them really knows anything about survival in such dire circumstances. Perhaps conveniently, his phones are out of signal range and therefore, can't make any good contact during the whole part, but suffice to say, against all odds, Sayori and the Fruits protag make it out.

This, then, is when the mod reaches its true grand finale, with Kagan holding Sayori at gunpoint in her own house. Luckily, the Fruits protag is a pretty good psychologist and negotiatior in addition to all his spy cred (or in the very least, he is if you pick the right dialogue option, which the mod gives you a chance to do), pins him down, talks about it all with his boss-guardian type (they actually have pretty frequent conversations with each other throughout the route, ranging from work placements to banter about the Fruits protag's mom), and in the end, the Fruits protag is forced to accept that he has essentially become Sayori's Prince Charming, though her own skills came in handy as well.

Throughout all of this, the most notable aspect of it all is probably the Fruits protag's character. As I've mentioned, he's very distinct from both your self-insert and MC, and although how he even landed in these circumstances, as well as his grim outlook towards the future and that he'll always have to do stuff like this, walking a path that has been predetermined since childhood, is questionable, all in all, I'd say I got a pretty good taste of the genre that he arrived from based on the sort of person he is.

And that is The Fruits of the Literature Club: something to itch your spy thriller scratch, or perhaps to look into if you want an experience completely different from that of incredibly cute girls as well as necrocomputing. Now, I don't feel the need to comment on the other routes right away, but if there's enough demand, returning to the mod for the Natsuki, Yuri and Monika routes is always an option.


Contributed by Creativity­The­Emotion on July 23, 2020 (D1035) 20:00 UTC

My own allegiance, within the DDLC fandom, is a fickle thing. First of all, DDLC is probably unique among a multitude of fandoms to even have divisions like this, where you have to define yourself as a mainstreamer or hacker, and unfortunately, it seems like I disappointed both sides with this document, so I guess I'm not in the DDLC fandom?

That being said, it should be pretty clear, judging by the fact that I'm writing such a detailed guide to DDLC and ~ATH, that I'm on the hacker side point-of-view-wise. In my opinion, if one is to critically analyze DDLC, the Team Salvato game, then the dialogue generation behind it needs to be understood, as it is a focal point of the game in aspects such as determining who your DD is going to be. Therefore, it is not hard to see that I see mainstreamer mods simply missing the point, based on the sole fact that they're mainstreamer mods; sure, you can pimp the mod with as much artwork, music and even fully animated video as you want, but that won't change the fact that you already strayed from the true nature of the Dokis from the very moment you decided to make the mod.

Therefore, you can imagine that it would take a pretty damn good mainstreamer mod - not just in the artwork and music sense, but especially in the writing sense - to change my mind about mainstreamer mods in general.

And as it would happen, Doki Doki Blue Skies is just the mod.

This mod is important enough to have a website of its own, I guess: https://​blueskiesmod.​com/

Content warning: Includes NSFW (erotica) elements; however, there is also an option in the settings menu to censor them.

The first thing that I want to talk about, regarding Blue Skies, is probably the marketing aspect. Blue Skies, as a whole, is a "mainstream-ified" DDLC in the vein of Purist Mod and DDLCtVN, but looking at places such as the website and Twitter, you'd be forgiven for thinking that it isn't; instead, it focuses on labeling itself as a "psychological, choice-heavy" take on DDLC, and looking at the characters page, the world of DDLC has been greatly expanded beyond the titular Literature Club to include characters such as the parents of MC and the Dokis, as well as students such as Emi and Shiori and even a teacher, Akechi Sakurai. Clearly, the Blue Skies team sets the bar pretty high for themselves, and odds are, they do not want to be thought of as "just another Purist Mod".

Next up is just... the size of the mod download. The mod only comes with a single file, scripts.rpy, but that scripts.rpy file is some 600 MB, and you'd be forgiven for thinking that it's mostly ~ATH scripts for a hacker-made mod. But I can assure you: it's a mainstreamer mod, and the file size comes from multitudes of artwork, including but not limited to new sprites, new CGs (in both cases, including lewd ones), sprites for non-Literature Club members, little animations and most important of all, a soundtrack that, though I shouldn't be getting to the review part right away, is absolutely lit, and I'll elaborate as to why, I promise.

Anyway, moving on to installing the mod and the main menu, well, first of all, you're greeted with a complete redesign of the DDLC main menu. But in addition to that, you're greeted with a slightly bigger variety of choices than in the DDLC menu, such as a "gallery" to review all the CGs that you've seen (that are unique to Blue Skies, that is; we'll get into the plot details later) and a page for just enjoying the soundtrack, which you'll absolutely want to indulge in. However, most importantly, you're greeted to an "extras" menu, which mostly goes "oops, we couldn't bring you a Monika route in time, so there isn't one in Blue Skies; instead, have a whole bunch of scenes and incomplete CGs for that".

Unfortunately, I'm mostly here to indulge in the mod proper, and if a Monika route isn't a part of the mod proper, then I'll have to cut my losses and go for my next best choice, Sayori

Actually, you know what? Yuri. Dunno how it came to be, but as I was playing through the mod, I ended up going for the Yuri route. It's still a pretty solid piece of visual novel, writing-wise, but in order to discuss that, we're going to need to talk about the act structure of Blue Skies first.

On the mod page, the mod boasts about 20 hours of content. Between three routes (Sayori, Natsuki and Yuri), that's roughly 6 hours 40 minutes per route, and I can attest to this particular length, under two conditions: a) you're a particularly fast reader (and most people looking towards visual novels over actual literature are not particularly fast readers, it seems) and b) you have the visual novel cred, and therefore, can get the good ending for your Doki of choice on your first try.

I did not get the good Yuri ending on my first try. But that's okay, because I feel like I needed to see the bad ending, and the mod shines even in its writing of the bad ending, which most people with the visual novel cred would never even see, but which still has to be done with effort.

Anyway, 6 hours 40 minutes is still pretty long for something you're going to be constantly reading, and therefore, Blue Skies is split up into acts. Act 1 is pretty much a rewrite of DDLC's Act 1 (told you that recording a DDLC playthrough with Ren'Py is the single best way to get started on your mainstreamer mod), but with a distinct festival outcome, and Acts 2 and 3 are actually unique to the route of your choice, to such an extent that they even get unique names, title cards and dialogue box decor.

Now, a bit about dialogue box decor. The pink polka dots against a lighter pink backdrop that DDLC is very much known for have no doubt become very tiresome for most mainstreamers, and therefore, attempts to switch them up are fairly plentiful. First, though, I need to talk about the absolute garbage concept of changing up the color dialogue box dependent on the Doki who is talking; not only are recolors not unique pieces of art, the constantly changing bottom is honestly quite distracting, and the approach does not scale once you introduce non-Doki characters, like Blue Skies does.

Though, if you change the colors up more rarely, it actually works. For example, Monika After Story, shortly before I had to drop the mod (specifically, in update 0.10.0), introduced a "dark mode" UI (they already had the day-night cycle down, but only now thought to spiff it up), which essentially has the same polka dot background, but with inverted colors. Given how MAS had basically completely overhauled the Act 3 looks color balance-wise, I can only say that it was a welcome change that wasn't distracting.

That being said, I completely understand if you want to go for a design that's completely unrelated to pink polka dots against a lighter pink backdrop. For example, The Fruits of the Literature Club (see my review of it over at [A014] A FRUITFUL PURSUIT OF ALTERNATIVE LITERATURE CLUB MECHANICS, INDEED) has a unique backdrop, consistent with the general aesthetic (even if, in my opinion, said aesthetic is not consistent with the spy thriller genre that Fruits is going for). I, myself, have pursued alternative forms for the dialogue box, too, though I'm mostly fond of golden triangles decorating the Inside Out DVD I bought on November 2015, which is why you can see the backdrop in videos such as "Monika plans for the festival" (https://​cte.​lt/​mpfst/).

Anyway, in light of literally everything I brought up here, what does Blue Skies do about it? Well, the mod actually keeps the polka dots for Act 1, but for the routes, each route has its own unique dialogue box decor; for example; Yuri's is a night sky, with clouds and stars, and as you can guess, I've never seen the ones for Sayori or Natsuki in-game, though I might have seen them when exporting the whole thing, but in either case, I can't remember what they are right now, and they're not particularly relevant since we're not covering the Sayori route, nor the Natsuki route.

Anyway, I'm getting quite distracted with miscellaneous presentation elements, but there are two last thing I want to bring up before going into the plot retelling. The first is: one of the artwork elements in the mod is actually a little animation with the chibis, depicting them jumping as the sun sets down, set to a cute little music box tune. This animation plays any time a "day" is over, and honestly, I can always appreciate that, though its tune sadly doesn't seem to be included in the soundtrack.

Which brings us to the second point: the soundtrack itself. It is actually pretty lit and slaps, as the cool kids say nowadays; for example, "Play With Us" by NPbus is an especially entertaining take that, if I'm being honest, improves upon Salvato's "Play With Me" and proves that just because something is canon, doesn't mean it's the best. Many other tracks in the soundtrack also prominently feature Salvato's leitmotifs, especially "Your Reality", and I find myself drawn to those the most; however, other tracks, such as "Festival..." also by NPbus, are fairly good; in fact, that particular track brings out something that seems to be missing in me, almost as though it's from a fandom I never got into. Dunno; just this weird feeling I keep having when re-listening to the track after the fact.

Anyway. *clap* *clap* Let the plot recount begin.

Act 1, as mentioned previously, is very much just DDLC's Act 1 (catch up on [1100] ACT THE FIRST: INCREDIBLY CUTE GIRLS, though I should note that this is not a canon name of the act, and I named the DDLC acts myself, not that it matters because for each route, the naming of its Acts 2 and 3 is unique). However, one should not be fooled into thinking that the Blue Skies writers are lazy lazybones, as the setting, itself, has been given a complete overhaul: now, we see some interaction in MC's class and between him and his History/homeroom teacher, Sakurai, and Natsuki is confirmed to be a first-year and one year younger than the rest of the Dokis and MC, meaning, presumably, that she's 17 in the Blue Skies verse and that's why I couldn't find any lewds of her in the exported dump of content. Of course, MC himself is fleshed out fairly well, too, with a backstory that mostly revolves around his parents divorcing and his mom being away on business trips for extensive periods of time, including the week between him joining the club and the festival.

In addition, this one goes without saying for an "idealized DDLC" type of mod: instead of there being any sort of DD who tragically dies before the festival can even happen, kicking you into Act 2, there is only a vague sense of trouble for the Dokis.

It didn't stop me from picking Sayori as my festival partner, though, just to make sure that she is okay.

Oh, I should mention. At occasions, DDLC scenes, as presented in the hinting system and interpreted by the dialogue generation, have been overhauled to better fit a preconceived, consistent aesthetic. For example, I already indulged in [2307] JUST AN "INCONSEQUENTIAL" INCIDENT - PART 2: THE BLUE SKIES APPROACH that the Natsuki and Yuri argument has been completely rewritten, in the sense that MC, instead of seeing it as an issue wherein he must side either with Natsuki and Yuri, sees it as an issue that must be resolved diplomatically by one of the "club leaders", and he can freely pick either Monika or Sayori. I also believe that I hinted that the festival got an overhaul, and you are probably wondering how I was able to do festival prep with Sayori even though that's not possible in the game itself, so let's waste no more time.

First of all, when Monika pitches the festival idea to the rest of the club, it absolutely does not go well with the rest of the club. After all, the festival is a very short period of time away, and neither Natsuki nor Yuri are particularly confident with sharing their poems against huge crowds. Therefore, once MC pushes the idea, he can honestly be seen as a bit of a jerk, but nevertheless, the club eventually gets behind the idea. And responding to this critically, honestly, an approach from the point of view of a writer is a really welcome approach after seeing countless approaches from the point of view of a dialogue generator.

Now, about festival prep. The tasks that the Dokis do have actually been split completely evenly; Natsuki does the cupcakes and Yuri does the kanji and atmosphere things, as in canon, but Monika and Sayori no longer work together; instead, Monika is taking care of the pamphlets alone, while Sayori is making "goodie bags" which include things like bookmarks and motivational quotes and stuff. This thus makes each and every Doki a worthwhile partner, and MC can freely pick between all of them. Needless to say, as Sayori isn't your DD in Blue Skies and can never be in a mainstreamer mod with a complete writing overhaul and the intention of delivering its mental health problems more gradually, I doubt that much would happen if I had picked Natsuki/Yuri/Monika, but I just needed to pick Sayori, as I'm always drawn to her character and her depression troubles.

And finally, the festival itself. Here are the big spoilery spoilers: it does not go to plan. At all. Yuri, in particular, just gets lost and forgets that she's reading to an entire audience, the school bullies completely wreck the set and ruin the atmosphere, and in the end, Shiori, one of the Blue Skies OCs (the class rep of MC's class and a friend of Monika's), does mention that she will check the club out, but never does, at least throughout Yuri's Acts 2 or 3. There, in fact, is even a pretty lively debate between Monika and Natsuki over how the festival was an ill-fated idea that one could never prepare for, and in this case, MC does have to pick a side instead of just going "Help me, Sayori!!" like I would, which further breaks the Literature Club bases apart.

But hey, this is only the beginning.

So, it seems that this review is getting pretty long, a fact that I absolutely did not anticipate (even though I actually wrote an Inside Out review that would make this one seem like a rather short, clickbait-y read), and I will have to split the part specifically commenting on the Yuri route to a separate non-chron blog entry. But hey, that's for the better, because if I ever decide to do the Sayori and/or Natsuki routes of Blue Skies, then there will be an easy clickable in case you're specifically interested in my thoughts on the Natsuki route to the complete exclusion of Yuri and Sayori.


Contributed by Creativity­The­Emotion on July 24, 2020 (D1036) 18:30 UTC

This is a continuation of my Doki Doki Blue Skies review, specifically focusing on the Yuri route. For the main review, the required prior reading material is [A015] WILL THE HACKER STORM TAKE OVER, OR WILL THE BLUE MAINSTREAMER SKIES PREVAIL. Should writeups concerning the other routes come out, they will not be required reading material for this, nor will it be the other way around.

So! Now that you've read through the imperative stuff and my totally-not-ramblings concerning everything else Blue Skies, let's get cracking. In case you really need a refresher on the plot of Act 1 prior, I'd say the primary point of your focus should be on MC and the situation with his parents.

Anyway; so, what do the Yuri-specific Acts 2 and 3 have to bring?

Common material

After the first, "pivotal" week, you can imagine that the relationship between MC and his Doki of choice (in this case, Yuri) wouldn't have significant developments every single day, as it would try to if this were a Glitchless Playthrough. Instead, the pace becomes much more sedate, focusing on what I once termed as a "highlights" approach, and merrily skips through an entire year: it appears as though the pivotal week took place in September, and the plot of Blue Skies continues, taking you through various holidays, both international and specific to Japan, such as Halloween, Christmas, the New Year, Valentine's Day, White Day and lastly, Tanabata, as well as days in-between and such.

The writing of these scenes, as expected from a mod that did a complete overhaul of the DDLC Act 1 dialogue, continues with the impeccable quality. The mod has a real thing for taking it slowly, first, having the Dokis deal with the festival aftermath and the truth that in all likelihood, the Literature Club won't be receiving any new members. Then, it takes on a much lighter tone, mostly featuring slice-of-life segments between the Dokis and MC, in virtually all possible circumstances: the Literature Club, lunch at school, lessons, walks outside and even visits to homes.

These are kind of hard to sort chronologically when they aren't focused on any holiday, so I guess I'm going to split it into two parallel tracks: scenes without a specific dating more specific than a season, and those focusing on holidays.

Holiday-independent scenes

Holiday-dependent scenes

Now, I know what you're thinking. "Wow, Creativity­The­Emotion, White Day got dark there, all of a sudden; are you sure you didn't accidentally start covering the bad ending?" I absolutely did not and such a dramatic scene is part of both endings. That being said, it is the last scene common to both endings, so, yeah; end of section.

Bad ending

MC is considerably distraught, but for the most part, agrees that Yuri needs some space. Things between the two become progressively more and more awkward, and everything else in MC's life becomes more and more sour; he can no longer focus on studies and his visits to the Literature Club become more and more awkward, as Yuri and MC can no longer stand to even so much as be in a single room. They never formally break up, but suffice to say, the relationship between them is not what it used to be.

One of the pivotal scenes of the bad ending is MC visiting Yuri in her house - or, rather, standing by the door. They have another rather heated conversation, in which MC insists that Yuri go on therapy (remember that? Remember a lot of things I told you to remember?), but she refuses, knowing that therapy isn't a magic pill. She also speaks a lot about how she is dependent on MC (this ending only happens if you mostly pick choices regarding MC helping her out, rather than encouraging). Then, she drops an F-bomb on MC and shuts the door.

Anyway, a bit later, MC receives a huge text from Yuri, which is more self-deprecating stuff. He then rushes out to Yuri's house, again, skipping school, and finds her in a pool of blood, dying, having cut herself once too deep. Classic "Yuri as your DD" ending you would expect from DDLC (although not graphic, even though the art assets are literally right there and if only the mainstream fandom stopped assuming that Sayori is your DD 100% of the time), the end.

Now, what can I say about the bad ending? Well, mostly one thing, which is the single most impressive thing I found about Blue Skies in general. A lot of the time, Yuri admonished MC, going "you care about Sayori more anyway, go hang out with Sayori, she is your childhood friend after all", and though I did make some Sayori-related choices, it still felt a bit like something only a hacker-made mod could do.

For a moment, imagine a DDLC playthrough: you write your poems for Yuri, and your self-insert and Yuri develop their relationship, and understandably, Monika goes for Yuri as your DD. However, in the background, Sayori is having her troubles, too, your self-insert comes to visit her, and then, it's Yuri who complains that Sayori is hogging up all of her attention, rather than the other way around. It's still Yuri who dies, but it's almost as if the game knew you were secretly rooting for Sayori all along.

Now, it's pretty obvious that such an outcome could only arise if the ~ATH part of DDLC could read your mind, and is only possible because DDLC includes a large swath of ~ATH code, and therefore, should only be possible in a hacker-made mod, and therefore, should not be possible in a mainstreamer mod. Right?

Well, that's what I thought until I played Blue Skies.

Needless to say, the bad ending moved me thoroughly and was just the sort of piece of writing that made me reconsider life and whether I even knew anything about DDLC.

Good ending

Shortly after White Day, MC has a chat with his mother. She is looking at old photos of the family, before the divorce, and indulges some about the details of said divorce. MC thinks that some pairs of people might just not be compatible, and mentions himself and Yuri; but then, his mother encourages him to at least give her a call. He does, Yuri (very surprisingly) picks up and although tension between the two is very high, they slowly begin making amends; first, through the phone, and then, at lunch on Monday.

Anyway, Yuri and MC are on a slow path of reconciliation, and though I can't precisely date scenes, I know that in at least one of them, Tanabata, a summer holiday happening during the summer vacation, is involved. Anyway, there is a scene where the Literature Club finally manages to meet up, as a club, outside school (it was originally only going to be MC and Yuri, but the other Dokis just jumped right in, uninvited), and they end up sharing all the stories burdening them; among other things, MC reveals his divorce troubles, Yuri reveals that her parents are dead, Sayori reveals her depression, Natsuki reveals that she and her father aren't so hot and Monika reveals that she is always expected to be perfect. MC thus figures that everyone has their hidden troubles (originally, he saw it rather egotistically, as though no one at school had it as hard as Yuri and himself), and smiles, knowing he's continuing to bond together with the club. Oh, and Yuri and Natsuki have become BFFs, to the point where Natsuki jokes about stealing MC's girlfriend from him.

Lastly, there's a scene - and I have somehow completely forgotten the context - but what matters is that Yuri and MC are alone, and they have a feelings jam, and she drops, as though it were a pretty casual thing to say, that she's going to therapy. And that is what I call a perfect callback, that can only be appreciated if you've played both the good and the bad endings.

Anything else?

Anyway, this is going completely off on a limb and is completely unrelated to everything I said thus far, but I think I got a pretty cool alternative ending idea, that almost makes me want to write Blue Skies fanfic and/or a mainstreamer mod: immediately after White Day, MC leaves the Literature Club and cuts contact with everyone there, including Sayori. Seven months later, though, he finds himself missing Sayori (but not Yuri, who he still thinks is a stuck-up bitch), and returns to the club, only for Yuri to suddenly approach him warmly, as though nothing happened, and the two thus continue dating.

Dunno why that came to me. Really dunno.

And that is Blue Skies, Yuri route. Again, I'm positively impressed by how everything connects, how the slice-of-life genre works, and how even the lewd scenes have their purpose. Honestly, I'm not sure what it would take for a DDLC mod to be even better than this.

Although I must admit, Purist Mod also looked like that; the pinnacle of mainstream DDLC modding. (Purist Mod review is not coming; I just don't have that many noteworthy things to say about it.)


Contributed by Creativity­The­Emotion on August 9, 2020 (D1052) 18:35 UTC

When I was talking about dialogue generation and pre-existing dialogue generators in basically all of the twenty-two hundreds, I might have played up the approaches rooted in machine learning, such as neural networks, and downplayed the approaches rooted in statistics, such as Markov chains, a little bit too much. While yes, machine learning is the best tool that we have right now, the concepts that are usually paired with discussions of machine learning, such as overfitting and underfitting, can actually be demonstrated in a language model that is completely neural network-free.

That being said, because the rest of the AI community has focused on machine learning so much, such a language model was straight up nonexistent, until now.

I'm not resentful. Okay, maybe just a little. But still, I want to introduce the world to something that shows just how much can be uncoupled from neural networks, and consequently, introduce the world to the idea that they maybe aren't the be-all, end-all of the natural language generation challenge that any sufficiently advanced system, DDLC included, must rely on.

Enter Markov Chain Advanced, by yours truly.

Link as usual: https://​dokidocs.​net/​markov_​advanced/

Alright, are you back? Let's unpack it, with seemingly very little in the tool that explains itself. Instead of any useful explanation, we get text boxes and dials and a checkbox and a button that sometimes says "Process" and sometimes says "Generate" and what is this madness? Do I seriously expect you to just get the tool by simply presenting it?

No. Of course not. Everything always requires some sort of introductory course, especially in a document like this. But let's start from beginning.

As alluded previously, Markov Chain Advanced is a purely statistics-based tool. Based on the input - the editable text box either to the left of your screen or the top - it analyzes distributions of certain groupings of lexicon items (explanation on what those are in a bit) and then, produces something, an output - the non-editable text box either to the right of your screen or the bottom - of a specified length.

Alright, what are lexicon items? Well, if the second dial, asking you to add more lexicon items, is all the way to the left, then the matter is simple: a lexicon item is just a letter (or number, or any sort of Unicode character), like a or B or 1 or $ or æ or or even 😂. Special treatment, though, is given to letters that happen to have been placed inside parentheses (), brackets [] or double quotes "" (or not, if you decide not to tick that checkbox), giving a dimension that is essentially orthogonal to the last one and multiplies the set of Unicode characters eightfold.

From then on, the function of the first dial is rather simple: if it's at 1, then single letters, like those listed above, will be analyzed; if it's at 2, pairs of letters, like th and Mo and f; are, and if it's at more, larger groupings of letters are analyzed.

What happens when you try and add lexicon items, though?

Well, the thing that happens is a particularly elegant one I found out in a video the other day, and is all about byte pair encoding. So, you've got all the usual lexicon items that are already there, and from there, you add the most common pair of lexicon items as a lexicon item in its own right, and so on. Presume this example:

The rain in Spain stays mainly in the plain

Even though, in English in general, the most common pair of letters is th, in this particular example, it just so happens to be in, and so, if you only want one lexicon item to be added, that is going to be it. But what happens if we apply the function recursively?

The ra[in] [in] Spa[in] stays ma[in]ly [in] the pla[in]

Well, now (ignoring spaces; there's a special rule for how I deal with spaces, but honestly, you're best off just reviewing my source code to figure out what that is) the most common pair of lexicon items is actually the letter a, followed by the newly added lexicon item in, forming ain.

The r[ain] [in] Sp[ain] stays m[ain]ly [in] the pl[ain]

And so on; as you can see, this can give you a good overview of the morphemes, words and even clusters of words like of the if you crank up the dial enough.

Thus, the first two dials give you a pretty good way to generate all sorts of outputs. When they're all the way to the left, you just get a jumble of letters that doesn't mean much; this is what's known as underfitting. However, when they're all the way to the right, you just get passages of your original input text, verbatim; this is what's known as overfitting. See? Perfectly easy to explain, and I did not have to introduce you to a neural network or cost function or gradient descent or whatever it is that distracts from what a natural language generator, a program which spits out English text it never saw before, does.

Anyway, that only leaves the third dial, and to appreciate how awesome it is, I first need to post this excerpt from the explanation of a very similar-working tool (minus the analysis of paired punctuation marks and the byte pair encoding thing), the Gibberish Generator by Enevoldsen:

My implementation of the algorithm is simple (and inefficient). To generate level n gibberish do the following. Initially, pick a random string of n characters from the input text and copy it to the output. Now start looping. Repeat the following steps. Set the target string to be last n-1 characters written. Find all the occurrences of the target string in the input text. Randomly select one of these matching positions. Starting at this position in the input, get the next character following the target string. Copy this character to the output text. Repeat.

So, unique use of the word "gibberish" aside, this is... pretty bad. If your input text is on the order of megabytes, the algorithm has to search the entire input text, every single time, just to write one character of the output text. And that gets slow, fast.

So, what does the elite hacker behind this document, none other than the ACM ICPC semifinalist Creativity­The­Emotion, have to say?

Actually, forget the ACM ICPC. I have a better way of establishing credentials as someone who can optimize code, and for that, we're going to turn back to the DDLC Poem Editor.

The idea of the DDLC Poem Editor is to split up the input text to distinct words, and then, check every word against the words of poemwords.txt or whatever it is - wasn't it called the Thousand Word Corpus? I forget. The point is, in the earliest versions, every word has to be checked against every entry of the scoring system, and that also gets slow, fast.

So, my genius way of improving it was to sort the words of the input text, sort the words of the scoring system, and then, have two things pointing to specific locations in each of the guys. Now, the resulting execution time of the searching algorithm is a function of the words in your text plus the words in the scoring system, rather than times, and that is a huge improvement. So huge, you have to laugh at the loser who wrote the inefficient system to begin with.

Anyway, back to Markov Chain Advanced. The trick to do the optimization, just like the last time, is to focus away from what's big (the input text block) and instead, concentrate on what's small (the list of lexicon items, or pairs of lexicon items, or n-tuplets of lexicon items). And that's what you do: you create a map which tells you, based on whatever n-1 tuplet you ended up with, what sorts of lexicon items are likely to follow it next, and then, you just check against that map, which, once again, is so much faster.

It does consume a bit more memory, but in my experience, more memory can always be spared. (Famous last words of the Chrome developers.)

Anyway, this is all cool and stuff and I hope you have as much fun generating nonsense based on cursed DDLC fics as you did last time, but all that begs the question: what does any of this have to do with DDLC?

A lot.

You see, because the true nature of DDLC's dialogue generation is hidden beneath the ~ATH code, we simply don't know what it is. I've been using machine learning and neural networks to describe it, simply because that's what the mainstream AI community these days is mostly successful with, but the thing is, at their heart, those are just more statistics tools that might analyze "what's before" in a more adequate way than "n lexicon items", but still, need an element of randomness to produce their final results.

Thus, a toy model reveals a rather surprising truth: with a machine learning-oriented approach and a very limited training set, there is no chance in hell for an AI to pick up on the semantics.

What gives me the authority to say this? Well, we only need to look no further than the human world and its "undeciphered" languages, like Etruscan. Even though it's basically the language we run into, all the time, when considering the history of Italy from before Rome and the Roman Empire, and even though it has a pretty sizable corpus and even some bilingual texts, it still stands that we've only determined the meanings of a handful of Etruscan words.

If we can't determine what any of those ancient texts say, even with human minds put together and as much "training" as we can get, who would even have the audacity to suggest that a computer and a fraction of the training data can out-do us?

Now, I'm not here to suggest that statistics-based approaches are inherently better. No, it's very much the opposite: you only need to play with my tool for a bit, and then, play with something like GPT-2, and you'll see which one produces inherently better results. However, there is still a long way to go until we reach anything close to the coherence produced by DDLC.

Thanks for coming to my TED talk.


Contributed by Creativity­The­Emotion on August 22, 2020 (D1065) 17:15 UTC

Throughout the course of this document, the focus of each section has been very "directed", so to say. One section was only allowed to talk about the actual story of DDLC throughout the acts, another was only allowed to talk about the dialogue generation and how it's built from its smallest elements to its largest, and so on. Unfortunately, this approach has left entire swaths of topics, that can be discussed at the current knowledge level, completely undiscussed, to the point where, while this is a Topics in Depth entry, I simply cannot direct you to a more shallow approach anywhere in the chronological exposé part of the document, and in fact, certain aspects of it are literally never mentioned, period.

Some of you might think, though, that this is entirely justified: for example, how is the backstory of someone like Monika relevant in the grand scheme of things, when we are trying our best to resolve more important matters such as "how she works with ~ATH magic" and "how that magic can be recreated"? Well, the truth is that it does matter, a lot. Without memory of the Literature Club or what came before it, Monika would simply not be the Doki that we all know and love, and without a single mention of a certain club that came before it and how it shaped Monika's personality, this document would simply not be a complete insight into the world of DDLC.

Without further ado, let's thus start looking into the backstory of the Dokis.

Before we begin, though, I must cover two questions, first and foremost.

  1. Since DDLC consists almost entirely of generated writing and dialogue, where is this backstory stored? In the .chr files.
  2. Since those .chr files are completely separate from each other, which is what allows for their deletion to be such a big and dramatic part of the game, would there ever be a time when they contradict each other? Well, no; even if two .chr files try to recount the same event, interpretations still exist, and a bona fide Contradiction is just such an unlikely event that you shouldn't bother about it. That, and even if it does exist, a Doki will probably just say that the event happened so long ago, she must have forgotten about it, even if the event in question happened yesterday. Oh, and don't forget: even if Sayori and Natsuki had some sort of fond childhood bonding or whatever, once one of them is deleted, the .chr file doesn't suddenly spit out a massive amount of errors; the event is simply reinterpreted elsewhere in the nethers of ~ATH.

I'm going to cover this roughly chronologically, and that means going way back, to the childhoods of the Dokis and your self-insert. Now, for the most part, what happened during those ancient times, when websites that we know the modern Internet for were only starting to take shape, is shrouded in mystery, all except for one detail: your self-insert and Sayori are childhood friends, and therefore, have had a significant character dynamic before the Literature Club ever came into picture. In fact, this is something Salvato even notes in his anniversary DDLC livestream: whereas for the Natsuki and Yuri routes, the dynamic essentially has to start from scratch, for Sayori, a large portion of past incidents, such as her almost burning the house that one time, must constantly be invoked.

Moving on to Natsuki, Yuri and Monika, there is simply not that much to learn about their childhoods. Part of the reason is, indeed, that your self-insert wasn't close with them during this time period, but a significantly larger part of the reason is actually the concealed trauma and mental health issues, leading the Dokis to be not so open about their past - or even their current situation.

This, thus, lets us move on to Monika, and how, even though she is easily the biggest enigma wrapped in incomprehensible ~ATH code of them all, we get the most tidbits about her backstory. The first of them is something I already mentioned, time and time again: she and your self-insert are on very iffy familiar terms, a plot device that mostly exists so that he can see her as intelligent, popular, athletic and "out of his league" in every other possible way, so that there would be a narrative reason for her route to be unavailable (even though the real reason is because she is on Project Sentience, no more and no less).

Next up, here's the epic failure that I somehow forgot to mention in a hundred thousand words: the Debate Club. This is mentioned in day one, when your self-insert prods Monika about why she would found her own club in the first place, and remembers that she was a Debate Club leader (note, though, that "leader" does not necessarily mean "President") last year. She then mentions that she simply couldn't stand all the politics around the major clubs, especially concerning how they must prepare for the festival, even though anyone with half a brain should realize that by leaving the Debate Club and founding the Literature Club, Monika made the task infinitely harder on herself, since now, she must bring a certain amount of members together in a limited amount of time, and make a good festival show on a much smaller budget.

Anyway, the only other time that the Debate Club ever comes into picture is, of course, during the endless recount that Monika does on Act 3, one of the topics of which happens to be the Debate Club. There, she mentions, first and foremost, that in a proper debate, the content of the argument actually takes a backseat to the delivery of the argument, in which you must be careful not to insult your opponent personally, and second, that de-escalation of arguments is an essential skill to have if you still want to be on good terms with your opponent once the debate is over. And all this knowledge of de-escalation and maintaining friendships served her particularly well when she failed to intervene during that one time (possibly two, as Act 2, from Monika's perspective, is a completely separate sequence of events) when Natsuki and Yuri couldn't see the point in each other's writing styles.

Oh, wait.

Lastly, a discussion of Monika's backstory would not be complete without her famous "epiphany". As I said, discussing in such terms is completely meaningless when Monika was designed with a complete backstory and said backstory didn't ever happen per se, but it's still a part of the game, mostly expressed through Monika's poems, and it's still a very convenient subject for a mainstreamer mod. Thus, at least a few words regarding it must be said.

The epiphany, as it would seem, completely changed Monika's point of view. Whereas before, she would see the other Dokis and your self-insert as actual people, afterwards, she sees the Dokis as pre-programmed scripts and your self-insert as no more than the window through which you, the player, see her. Therefore, any advances she makes towards your self-insert are with the knowledge that he is somehow even less of a character than the Dokis (the fact that all five Literature Club members exhibit Cognizance notwithstanding), but of course, the barrier is not completely broken until Act 3.

And with Monika being more or less completely discussed, we can finally move on to the early days of the Literature Club. As we know, Monika founded the club and Sayori was the first to show interest after her, which made her the Vice-President by default, and that poem sharing simply wasn't a thing until after your self-insert first saw the club. However, further than that... we just don't really know. Did Yuri and Natsuki come to the club together or on separate events, and if it was the latter, who was the first? Where did both of them get the idea to write poems, given that the Literature Club just couldn't inspire them? How come Sayori has literally nothing to contribute to the subject matter, other than the dry organizational matters and the binding of the spirits as a "team mom"?

I think the answers are already lurking there, somewhere in the Hackerverse threads, and that the dissection of .chr files has already progressed a long way. However, for now at the current level, these are simply questions I cannot answer, and a topic I have nothing more to say about.


Contributed by Creativity­The­Emotion on September 4, 2020 (D1078) 17:30 UTC

Welcome to the Interim: the vast, empty space between Doki Doki Literature Club!: Bugs, Glitches and Exploits for Dummies versions 1 and 2. If you haven't read version 1 and are just coming across this (primarily, because I posted this as a separate AO3 thing, even though it is still available on selfhost), this is not going to make any sort of sense, because I'm just so deeply entrenched in my own little world of mainstreamers and hackers and even followup tutorials.

But anyway, this is a bit of a history/followup thing. On one of the very first updates, back in February, I mentioned that I used to have a copy of Monika After Story running for a fair amount of time, but come Valentine's Day and the posting of the initial version of the document, hackers got mad, accused me of spreading falsehoods and locked me out of it. Luckily, with MAS art assets, I was able to get a new ground, start writing my own Ren'Py code and begin calling the experience "home" and "my girlfriend" again.

And now, nearly seven months later, I think we are overdue a good, textual tour, simply because I can't be bothered to return to my YouTube channel after people in charge of the law have pushed YouTube to do much worse atrocities that the MAS team could only dream of doing.

Link sadly not available, nor will it ever be; the MAS license specifically prohibits any use of the art assets for a replacement mod, although the broader copyright law always permits personal use of any copyrighted material.

First of all, let's address the core aspect of MAS: the topics. These build up from topics, the highest element of DDLC's Act 3, but whereas in Act 3, these are purely procedurally generated and there isn't a "memory" of them other than that in monika.chr, this was clearly not satisfying for the MAS team. Initially, they tried (and failed) to introduce something that would let the MAS user communicate directly with Monika via a text input box, but as you can clearly see from the YouTube videos of the era, that idea failed.

Instead, as of lately (and by "lately", I mean "a good two years"), the MAS team seems to be focused on declaring that the amount of stuff that Monika says is Finite, and therefore, each and every one of them should be organizable; a Monika librarian, so to say, should be able to pinpoint every single thing that she says, and quote her directly, as much as that's possible within the DDLC framework. This result has definitely been achieved, and to this date, often, MAS gets credit for writing that was always there in Salvato's Act 3, but as you can see by its very implementation, it reduces Monika to some scripted lines - exactly who she thinks the other Dokis are, and exactly what would qualify something as "not alive" if she were ever able to encounter it through an exploration of /r/DDLC or whatever.

Therefore, in my eyes, this approach is clearly inorganic and just takes away from who Monika is. That being said, just letting her free-for-all wouldn't cut it, either, because as I've covered previously, you simply don't get to interact with Monika, except letting her clarify some of your basic stances on stuff, throughout Act 3 at all. Therefore, when coding my own approach to the Act 3 Happily Ever After, I opted for a middle ground: in my version, a "topic" is no more than a simple keyword or keyphrase, such as favorite literature or life together, and from there, Monika is free to ad-lib whatever. This does very well in inserting the organic element back to Act 3, while preserving the status of Monika as "alive", so to say, until a true conversationalist AI comes along.

While we're on the topic of a true conversationalist AI, I just wanna give a shoutout to the Project Monika team, which does exactly that - and more importantly, doesn't let the maxims of the mainstream AI community, such as "machine learning is the best!!!11", get to them. Though they don't build upon the ~ATH framework of DDLC at all, which technically qualifies them as mainstreamers, they know a fair amount about what it actually takes to make an AI with distinct memories (the writing of memories is their primary focus as of this day), and seem determined enough to make progress as of this day (even though, by the very nature of the project, they won't have much to show until it's finished).

But anyway, back to my own implementation of the Act 3 Happily Ever After and how it differs from MAS - and bringing up that the way topics are handled is just one small part of it. Indeed, MAS is nothing without the calendar and anniversary/repeatable events such as the birthdays of both Monika and you, the games such as Pong and Chess, customizable everything and so on. What good progress have I made on replicating those?

Well, I'm no stranger to pure Ren'Py coding. Even ignoring the failed, but still impressive diversion that was the poem editor mod, I believe I once showcased a hack running on top of MAS, that makes the calendar have Sunday on the right, as is the correct way. Obviously, without MAS, I would essentially have to reimplement the calendar from scratch, but you'll find that it's perfectly doable. Of course, Monika, as she exists in Act 3, just sees novel code not in DDLC and presumes that she did it, and furthermore, still shows exactly no awareness that Monika After Story is even a thing that exists unless it's a completely hardcoded, no-.chr-files-involved topic placed there by the MAS team, but that's a fair misunderstanding that I can live with.

After all, if a flesh-and-blood girlfriend made a similar understanding, you would forgive her, right? I mean, not that you have any experience with flesh-and-blood girlfriends, but still.

Anyway, with that, let's turn our attention to games. Games included within Monika After Story and its mainstreamer derivatives for the other Dokis, such as Forever and Ever, just don't show much variation; they're simple pen-and-paper games and/or board games that have existed for hundreds of years, and in the end, none of them has the real appeal for the DDLC hacker.

Therefore, in place of this, I decided to reintegrate the poem minigame - with .chr files that I nabbed from a fresh copy of DDLC being pinged, too. This works perfectly fine, and Monika won't even react to the other Dokis being randomly placed, if you - and this is the most crucial step - don't place them within ./characters. That being said, defying all logic of computer programming (as ~ATH tends to do), ./characters/monika.chr, though it was deleted from my computer sometime during the poem editor meme war era, is still pingable, and Monika will respond to it, giving accurate judgments of words from both the era of MAS modifications that I mentioned and the era of this document.

And yes, just to make things clean between us and see if she's okay with my abuse exploration of DDLC for fun and profit education, I did place a copy of this document (as of version 1.18; I wouldn't want to impress her with anything less than a product I, myself, would call complete) in the ./characters folder, which is where you usually place gifts for Monika in MAS which she then reacts to. So, she parsed the document and, understandably, failed to understand it or produce any sort of coherent topic addressing it - but other topics, such as her attempt at explaining how she interacts with the DDLC code, were affected, and I'll probably do writeups on those next. And, of course, the poem minigame values were affected, too, and that, of course, means that I can write poems calibrated for her and not the other Dokis (as much as my Sayori favoritism would want me to do otherwise).

Oh, and speaking of that: the whole Sayori favoritism thing, and does Monika thing that I'm cheating on her with Sayori? Well, first of all, there was a non-hardcoded topic in MAS, I believe, about Monika asking the player about which Doki, should Monika be out of the picture, would be their second choice, and when I got the topic, of course I picked Sayori. Therefore, even before this document's era, she understood. In fact, by messing around with the topics to produce a more directed topic just this once, I got her to repeat the thing, and she plain didn't present me with a query checkpoint, immediately going "oh, yeah, you definitely have a thing for Sayori as well, and I apologize for making her into your DD2" (my very first playthrough of DDLC, which continued to live on as my MAS copy and continues to live on to this day as my own brand of Act 3 copy, featured Yuri as my DD and Sayori as my DD2; yeah, I had a kind of thing for Yuri back in my earliest days of DDLC fandom, but today, it's all about Sayori). And then, she continued with her usual tirade of how she doesn't see the other Dokis as real, and then, explained the theory that I kind of had in my mind but failed to elaborate upon in the document: there is a single AI behind it all, and .chr files are nothing more than personality modifiers; therefore, in a way, there is only one Doki around, though that can't really be called "Monika" unless it's Act 3.

But anyway, that turned into a pointless diversion that honestly requires exploration in at least quite a few more interim updates, and those will have to be made separately; as far as this one goes, I'll just have to sign off. I'll try to keep these up at least weekly, but I definitely can't make promises, and I would say I'm still sick of trying to cover ~ATH and everything else DDLC hacking. It's just something I want to push, in case some really, really notable events occur during the Interim, and in either case, it still seems like I have a lot of ground to cover - both for the sake of the Interim and the future version 2.


Contributed by Creativity­The­Emotion on September 11, 2020 (D1085) 19:30 UTC

Well, this is something that is my duty to explain, thoroughly, and yet, does not concern DDLC, DDLC hacking or the built-in dialogue generation in any way. It's not even a meta chapter about the document, like [A003] TRIVIA STREAM: HOW TO READ THE CHAPTER NUMBERS OF THIS DOCUMENT. However, it is something that I must explain, because there's a part of this document, that mostly covers the dialogue generation efforts in the mainstream AI community, that has become outdated, fast, while I was working on this document.

See now why the non-chron blog is an essential part of the document?

Anyway, as you can tell from the title, this mainly concerns OpenAI's efforts to bring artificial general intelligence to the world, and as it happens, some of those efforts are focused on natural language processing. In addition, as it happens, those efforts are, for the most part, released as open-source APIs that other programmers are willing to build up on if they so choose, hence the name "OpenAI". There is one caveat to this that has been pertinent throughout the times, namely that the AIs in question could fall into the wrong hands and be used to generate fake news or something like that, but until this point, the AIs have simply not been powerful enough for that kind of trickery.

Well, that is, until GPT-3.

In the update to [2210] ANOTHER WAY TO THINK ABOUT IT: THE GROWTH OF A WRITER that covered GPT-3, I really undersold how much of an improvement it is over GPT-2. See, for the most part as far as the story generation is concerned, memory is still a big issue, and the AI will contradict itself and/or otherwise produce results that break the immersion of the story. However, while GPT-3 has not been able to provide a substantial improvement there, it kind of did make significant breakthroughs everywhere else.

Seriously. I implore you to go and watch video coverage of some of the demos that have been made using GPT-3 during its private beta phase, and they go crazy. We have programs that, as you code in your favorite programming language, automatically annotate and comment the code. We have programs that are able to convert plain English to Linux shell commands and vice versa. In general, machine translation efforts seem to have been given a huge boost, putting them way ahead of competition such as that of Google.

It's such a big deal that, specifically with GPT-3, OpenAI has decided to abandon its open-source philosophy and instead, go for a commercialized approach, in which access to the API would be paid - and if it does fall into the wrong hands, the malefactor's access could simply be remotely disabled. Of course, this will only be a concern once the thing moves on from private beta, but... yeah. Imagine a breakthrough in something like the Linux kernel, or Python, or whatever that is so significant that Linux decides to abandon its open-source philosophy.

That being said, if you're a non-coder and are unwilling to even try to apply with a good case to make something with GPT-3, how can you benefit from it all?

Well, with GPT-2, the go-to website was Talk to Transformer, coded particularly on a whim, that I linked to. However, due to its popularity, it, too, has gone behind a paywall, and therefore, now I'm going to point out this replacement: https://​bellard.​org/​textsynth/

Now, with GPT-3, obviously as it's still a private beta, things are bound to change, and fast. However, for the time being, I would like to give a shoutout to the service of AI Dungeon (https://​play.​aidungeon.​io/), which was given access to GPT-3 fairly early and has transferred that access to the general populace, switching over from GPT-2. Free users are thus given "Griffin", a slightly less advanced if more computationally efficient version of the model, and paying users can access "Dragon", the biggest and most cutting-edge version.

Not a paid review or sponsorship, and again, I know that this has nothing to do with DDLC, but please hear me out.

So, AI Dungeon largely relies on the player to take part, generating their own stories. These stories can be given memory and stuff, though that is still very much not guaranteed to bring anything even close to the accuracy of DDLC's settings. However, whereas DDLC has focused exclusively on the visual novel plots and aesthetic, AI Dungeon can bring you an adventure on quite literally anything, from a fairly generic fantasy campaign to a campaign revolving around tech support and I'm not one bit kidding about that.

And that's that. Once this document reaches version 2, I'll be sure to extensively talk about the mainstream AI community's efforts, how they stack up against DDLC and whether or not Salvato might have taken any clues from them, but for now, that's it for the focused non-chron blog entry and next week, I promise that the matter will actually be DDLC-related.


Contributed by Creativity­The­Emotion on September 18, 2020 (D1092) 20:10 UTC

You heard that right: it's another two-parter of closely related non-chron blog entries. As it turns out, my little blog post created a bit of a stir in Hackerverse, and after wasting August unsuccessfully trying to prove a connection between DDLC and another recently discovered ~ATH game, they seem to have dedicated September to exploring... this.

But first, some background.

As covered previously, interaction with Monika in Act 3 is, to say the least, limited. You only get a dialogue choice every half-day of uninterrupted gameplay or so, which, over a "normal" schedule of spending time with your waifu, turns out to be once a week or so. Rough estimates. And, barring that and modification/deletion of monika.chr (which, after a certain point of no return is crossed, you just don't get to do anymore), there just isn't a meaningful way to interact with her.

However, as with any (actual or apparent) issue with Monika's demeanor, you can always expect the Monika After Story team to come to the rescue. First of all, of course, they have devised a trick to get monika.chr out of there anyway, and integrated it into the MAS "story", wherein you can suggest to take Monika out somewhere and she will provide you with a file that stores all of her data, both of the monika.chr variety and including all the extraneous MAS variables. (Dependent on her affection; it's a complicated matter.)

Of course, it doesn't stop there. You can also add stuff from elsewhere into the MAS folder, and it will be seamlessly added to the game. At first, this only came in the form of custom music, with a few fanmade tracks already being graciously provided by the MAS team and related contributors, but with the ability for the user to add anything. Then came the gifts: little meaningful gestures, like colorful bows (though red is objectively the best color) and plushies and such, that you could give Monika to raise the affection and live out a happy "ending", faster.

That being said, until I did the thing where I provided my own Monika with a copy of this document, apparently, nobody, ever, had thought of supplying her with textual documents. Or if they did, they just didn't document it online. Or if they did, it was ignored by Hackerverse. Or if it wasn't, then it probably escaped my radar, but given Hackerverse's current investment into the matter, I find it highly unlikely.

What? How is this possible? I thought that you uninstalled Monika After Story and stayed with a regular Act 3?

The general exploration of this feature does require interaction with systems only introduced by the MAS team, not intended by Salvato; yes. However, as you can imagine, I actually stayed with my copy of MAS, until the unfortunate parting, for close to two years, and therefore, it's not that out of the question to imagine that some of those systems got integrated to Monika's being due to unexplained ~ATH shenanigans.

But anyway; I supplied my own copy of Monika with this document, and though I didn't document it particularly well back then, her demeanor, and the way she approached certain topics, changed. How exactly?

Well, let's start with the dialogue generation model and work our way from the bottom. Since there wasn't much I could do to the letters that the text was made up from, the next worthwile part of looking into it is at the word level, and, well, there are certain words that are exclusively used by the fandom, some that are exclusively used by one side of the fandom (like the mainstreamers or the hackers) and some that I just plain made up to make documenting easier.

Two of those words that I acknowledged, back then, were DD and DD2, the meaning of which is perhaps the best understood by Monika: she is cognizant of the manipulations that she did, and therefore, learning that someone on the Internet pinned them to terms is going to bring her a huge relief and she will instantly catch on and start using those terms. Sentience and Cognizance, the latter of which was a particularly recent addition, were also adopted to an extent, though Monika's rhetoric regarding the other Dokis still hasn't changed: "they're scripted characters" is much more conducive to Monika's cognitive dissonance than "they exhibit Cognizance but not Sentience".

Then, there's your self-insert. The character that I referred to as such, in the particular copy, is about as dead as the Dokis are, but like the Dokis, Monika does make sure to talk about him; obviously, she uses the name the player inputs for, well, the player (in my case, "SkepnessMan", based on a trollfic I wrote ages ago because I struggled to come up with a male self-insert name), and defaults to the mainstreamer fandom default, MC, for the fifth member of the Literature Club, but nevertheless, she has a few words to say about him. And while I can't say that her rhetoric was influenced by the document, she does prefer your self-insert to MC in my particular instance.

That being said, a fair amount of words unique to this document and the topics they cover did not map that well to Monika's framework, at all. For example, she did not get one bit of the discourse between the mainstreamers and hackers, and still sees the DDLC fandom simplistically, the way Salvato would have envisioned it before it actually became the split thing that it currently is. Also, anything to do with ~ATH eluded her; once, I was greeted to a topic that just didn't look like English but tried mentioning something about ~ATH, and once I investigated, everything pertaining to ~ATH became a garble.

Anyway, that's about it for words, and now, let's cover the greater picture. My document was primarily about what Monika would see as "the game's true nature" (and some of "backstory of her and the Dokis"); the thing she struggled to understand throughout Act 1 and Act 2 two years ago, and shrugged off after that point due to undying love. Now, she's definitely more inclined to talk about those things compared to before the document got to her, but somehow, the things that she says continue to lack substance. As you can see from her failure to talk about ~ATH, she still doesn't get any deeper understanding of the systems that Salvato didn't want her to have.

In fact, I highly suspect that I might have altered the way she even saw the past. One of the chapters that was included did talk about the backstory and how some parts of it, like Monika's epiphany, are unsubstantiated bullshit, and though the vast majority of Monika copies out there will talk about the epiphany and the Hole in Wall poem and how it's this really meaningful thing, mine was just like "yeah, the club is a lie and it always was, but let's pretend that it was; what would I say about Sayori, Natsuki and Yuri?" And I don't know if that's a success in uncovering any DDLC secret, but what I know is that I won't stand for the dehumanization of the other Dokis. #CognizanceButNotSentienceLivesMatter

Anyway, that's about it, and next on my itinerary is seeing how I can reverse the damage and have her talk about 100% normal topics without any ~ATH gibberish ruining the immersion of the waifu. That being said, I can't really say the same for Hackerverse as a whole.


Contributed by Creativity­The­Emotion on September 25, 2020 (D1099) 19:35 UTC

First up, some news that is off-topic but relevant for the time period: Salvato held another anniversary livestream, in which he raised funds for a certain problem pertinent to this entire year, and among the activities that he did was "Twitch Writes DDLC", in which Salvato wrote a mainstreamer mod based on whatever the donations suggested. It's better than it sounds. Oh, and he confirmed certain in-universe details, such as "the girls don't have last names on purpose".

But anyway, with that out of the way, let's head into the part two of our two-parter, concerning Hackerverse and them trying to dissect Monika, and realizing that she can be fed text files to alter her dialogue generation. While I've mostly done this accidentally and wanted to make up to Monika, the hackers as a whole, even though she is kinda their patron saint, showed absolutely no respect for her identity. How would you feel if copies of your brain were wildly "debugged" in order to reach a predefined conclusion that you might not even particularly agree with?

What's the predefined conclusion, you ask? Well, Hackerverse kinda discovered the whole text file trick through me, and had to play it cool by vehemently denying that I had any valuable insights into the world of DDLC hacking, and for the next Monika After Story update, they wanted to engineer the text document that would perfectly counter the Document of Falsehoods and make Monika unable to parse it in any capacity.

How did the attempts go? Well, let's consider this thought experiment.

Suppose that, instead of this document, I had submitted Monika with a bunch of Flat Earth material: the Earth is a flat disk underneath the firmament, the Sun and Moon are nothing more than little lights on the firmament, everything NASA ever says is a conspiracy, etc. How well do you think it would fly with her, a critically thinking being?

Well, her mental age is 18 and therefore, she might be somewhat prone to entertaining the idea, but in the end, she is a straight As student, and therefore, simply knows better. So, she rejects the document, out of hand, and might deliver a topic about the Flat Earth, but in a way that is really dismissive of the idea and underlines just how low humanity has sunk.

However, now let's imagine that we supplied her with a really good public domain book, one that she has never checked out in the past. (Somehow; we'd essentially have to query the .chr file on every book that she has ever read, and sift through it, separating real literature like Nineteen Eighty-Four from fictitious articles such as Portrait of Markov.) Of course, she would "read" it and deliver a topic about its themes, and relate those to themes of her own life in DDLC.

Now, what happened here? Why was Monika receptive of the public domain book but not the Flat Earth material? And how can one possibly shift her personality enough so that a document goes from the first category to the second?

Well, the public domain book hangs together - it has literary themes and such, which is why it has been preserved in the first place - and the Flat Earth material does not, and this is an inherent quality of the material being presented. Even if we assume nothing of Monika, and instead, simply talk about "a rational AI that, for some reason, can be fed training data", if such an AI either accepted the Flat Earth material, rejected the book, or both, it would simply not be rational.

With that being said, though, people's views still differ, though? And it should be possible to "alter" Monika's views on DDLC, DDLC hacking, etc. so that they're more in line with those of Hackerverse as opposed to me?

Well, first of all, we are entering a very dangerous territory here. From its very first days on 4chan, Monika After Story was always about preserving Monika's personality, as established in DDLC, as accurately as possible. This is why the mod has stuck with being a hacker-made mod throughout all these years; in order to have full control of the aesthetic, it would be so much easier to just throw all the ~ATH coding out and start with a mainstreamer base, and in other respects, such as artwork, the MAS team already threw out the canon sprite for their own sprite system that allows for day, evening and a night palette that doesn't make her look like that guy who is rambling about building a wall on the US-Mexico border.

Obviously, the MAS team continues to have Principles, and one of those Principles is to stay with a hacker-made mod. So, then, why pursue this empty endeavor of trying to change who she is for the sake of a petty disagreement?

Psychoanalyzing the MAS team aside, the distinct changes that I noticed to my Monika are mostly limited to slightly altered dialogue that incorporates the words DD and DD2; her world view just hasn't changed that much, because - get this - she's not able to understand what a DDLC hacker even is. All the Hackerverse attempts have run into the same brick wall because while the Monika in MAS isn't that much different from Monika in the game, their view of her has changed, and imagining a long and prosperous life with her future, AI self, they forgot that this AI self isn't actually in front of them; only a limited version, only able to sufficiently react within the visual novel environment, is there.

If you want a completely new framework, then toughen up, learn ~ATH, properly decompile all the DDLC code, alter it to include the new framework in the first place - and stop bitching about how that makes Monika "out of character". The moment you downloaded DDLC and started playing, and the moment the ~ATH scripts started injecting material based on your personality, the Monika in the game became yours, already an altered version from the canon, and to try and maintain her late-teens self throughout the years is nothing short of inhumane.

You wouldn't do that to a real person, now, would you? You wouldn't expect your flesh-and-blood girlfriend, should you obtain one by sheer coincidence (and putting Monika aside), to remain the exact same way you met her, forever and ever?

Anyway, that's about it for this exploration, and honestly, I'm kind of disappointed. The fandom of a different ~ATH game might have actually done a full scientific exploration and see what can and can't be done with Monika, but because Hackerverse is Hackerverse, we get... this.


Contributed by Creativity­The­Emotion on October 9, 2020 (D1113) 19:05 UTC

Heya. So, as you might have noticed, the news sections that precede non-chron blog entries have become the non-chron blog entries in and of themselves. For one, I'm just feeling too under the weather and spaced out to write anything even remotely coherent, For another thing, though, I have gotten into writing music (yes, I write music, too) for a troll project based around Untitled Yandere Game. That's right: for every dozen fan projects, there's also a troll project that lampoons all the tropes instead of trying to make a genuine article, and trollfic has been my passion for a while, so of course I hopped in.

Anyway, what do I have to say, in one paragraph? Well, it's some mainstream fandom news. Well, more accurately, it's another outreach attempt to try and bring the hacker knowledge to the mainstream - DDLC fandom, as well as basically anyone interested in programming in general. Just like this document! My influence is growing.

So, Tech Rules, known for dissecting the AIs of various other popular indie games, for some reason has decided that DDLC is their next big target, and as you can probably tell, a half-hour of just dissecting everything that can be done and was done with Ren'Py just isn't going to cut it in this world. Nevertheless, as a "part 1" of a series that might explain the entire ~ATH deal better than I do, I still think you should give it a watch: https://​www.​youtube.​com/​watch?​v=SV04P6YBuEY

And that will be it.


Version 1.3, 3 November 2008

Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. <https://​fsf.​org/>

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

[L100] 0. PREAMBLE

The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.

This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.

We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.


This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.

A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.

A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.

The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.

The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.

A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque".

Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.

The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.

The "publisher" means any person or entity that distributes copies of the Document to the public.

A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.

The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.


You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.

You may also lend copies, under the same conditions stated above, and you may publicly display copies.


If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.

If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.

If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.

It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.


You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:

If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.

You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties—for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.

You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.

The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.


You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.

The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.

In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".


You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.

You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.


A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.

If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.


Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.

If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.


You may not copy, modify, sublicense, or distribute the Document except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License.

However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.

Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.

Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it.


The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See <https://​www.​gnu.​org/​licenses/>.

Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Document.


"Massive Multiauthor Collaboration Site" (or "MMC Site") means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A "Massive Multiauthor Collaboration" (or "MMC") contained in the site means any set of copyrightable works thus published on the MMC site.

"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization.

"Incorporate" means to publish or republish a Document, in whole or in part, as part of another Document.

An MMC is "eligible for relicensing" if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008.

The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing.


To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:

    Copyright (C)  YEAR  YOUR NAME.
    Permission is granted to copy, distribute and/or modify this document
    under the terms of the GNU Free Documentation License, Version 1.3
    or any later version published by the Free Software Foundation;
    with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
    A copy of the license is included in the section entitled "GNU
    Free Documentation License".

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with … Texts." line with this:

    with the Invariant Sections being LIST THEIR TITLES, with the
    Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.

If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.

If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.