itch.io is community of indie game creators and players

Devlogs

Productive Procrastination

FLIES FLIES FLIES
A downloadable visual novel for Windows, macOS, and Linux

Protip: procrastination is very healthy if you do it right. This morning I'm procrastinating my episode 3 re-write by meal prepping for the week and cleaning up around the apartment. And now, by dev logging, which is much easier than script writing because my standards for the log are lower.

Here's a screenshot of me rewriting episode 2:

That screenshot shows my second draft on the left, and the first draft on the right for comparison/copying and pasting parts I can reuse.

I write my screenplays in Fountain, a plaintext language, because I need every one of my projects to be version controlled and proprietary scriptwriting programs like Scrivener and Final Draft, while cool, use non-portable formats that don't version control as well. Plus, I can do my writing in Visual Studio Code, which has the huge advantage that I can extend it with my own plugins. (When I started this project, the Fountain files were actually exported from an Emacs org mode file, which is a long story.)

For rewriting episode 3, I decided to try using the custom VSCode plugin that I implemented for the bigger purpose of converting the Fountain scripts to "game" code. (I think introducing this plugin will make more sense if I start with the example of rewriting a script before I explain that fountain->code conversion process.)

I call this the ktxt2 editor. The k stands for kiss, my custom programming language that powers this whole project. The txt2 stands for 2 text files in one--because this editor/the .ktxt2 file format links 2 text files together in one. The left side is a "source" file, and the right side is an "output" file. Blocks of source are linked to blocks of output, which can reference the source block as $source, or define their own manually entered text. So the ktxt2 file in the screenshot should export this:

Title: Flies Flies Flies: Episode 103
Credit: written by
Author: Nat Quayle Nelson (she/her)
Contact: [...]
/* Flyman asks to be with Miguel -- it pronouns -- etc **/
/* I didn't know you had a thing for BUG STUFF */

The 4 blank lines are because ¶ in the source stands for \n\n, and the output file on the right has its own line breaks following $source which includes the original source block.

Well, ktxt2 SHOULD export the block above, but I'm always breaking it, so just now it was actually messed up. Whoops.

ktxt2 can also have complicated logic in an output block:

I used to be doing a code conversion like that (it's a regex replacement), but I made the right call to do it simpler now:

More on how those conversions work later.

Download FLIES FLIES FLIES
Leave a comment