Avatar

hello yes

@strange-destinations / strange-destinations.tumblr.com

kitty, she/her. I write, I draw, and I like doctor who too much for my own good.
*

hi, I'm Kitty, she/her! I occasionally go by different names on the internet, but around here it's just Kitty. I'm an artist, musician, and writer with a fondness for weird worldbuilding and folklore. This is my pinned post where I briefly outline all of my creative work, for quick reference. I do a lot of creative things.

If you're here mainly for fandom things, I write fanfiction for a scattering of fandoms - often Doctor Who and adjacent, although occasionally I branch out. You can find me under TheBigCat on AO3. I also draw - a lot! - mostly fandom stuff. Here's my general art tag. I bind books and fanfiction in my spare time, and have an entire blog dedicated to that at @perfectlynormalbooks.

For non-fandom writing, my Medium blog has a few short pieces of original fiction. Whenever I write more short pieces, they'll most likely go up there!

I wrote the visual novel/interactive fiction game, Antigone Will Take The Stairs Today, an adaptation of the Sophocles tragedy. I'm hoping to do more games in the near future - both video games and TTRPG. You can find all of that sort of thing on my itch.io page.

I do a Doctor Who TTRPG campaign with my friends called Thieves and TARDISes, which kind of took on a life and mind of its own. I play a future Doctor incarnation, and occasionally GM! We have audio recordings and transcripts of that, among other things. You can find more about that over here.

I write music! Mostly instrumental tracks and soundtracks for various things I make. You can find completed albums over on my Bandcamp and less incomplete, experimental things over on my Soundcloud.

My music project about an apocalyptic techno-fantasy future featuring Weird FAE and monsterhunters is Child 306, and you should totally go check it out, there's milfs in there.

I also have a YouTube channel where I do even more music-y things when the fancy takes me, as well as some art and animation-type things, small goofy jokes of indeterminate format, and the occasional nerdy video essay.

I have a shop with some small bits and pieces of fandom-y merch, including keychains and custom washi tape. Check it out here!

Finally, if you want to support me and my projects, my ko-fi is a great place to do that. You can throw me a few dollars, or commission a doodle/bigger art piece from me. Commission details can be found here.

My askbox is always open, if you have any questions.

One of the greatest kindnesses you can do for other adults is to add positive surprises to their lives. Think about it: When you're a kid, surprises are things like "Our teacher let us watch a movie today," "someone brought cupcakes for their birthday," "my parents got me a puppy," etc. But when you become an adult, surprises are things like your car breaking down, conflicts at work, and unexpected bills. No one plans fun surprises for adults, and you can do so much for morale if you do. Ex: One time I found a tiny unlocked door in one of my university's buildings. It was empty, but because I'm a whimsical bitch, I decided to put something fun behind it for the next person curious enough to open it. See below: The Egg Gnome.

The eggs were filled with tiny plastic plants (I tried candy first, but mice got into them, and that's not good for health and safety). Just for the hell of it, I decided to announce the hidden gnome and basket of eggs in the big college group chat, offering hints to which building it was in. People went BONKERS for it. It added fun to people's days as they inspected buildings they went into every day but didn't pay much attention to. They asked me for hints, tried to remember what building had those floor tiles, and proudly announced it in the chat when they had found eggs.

I did several things like that where I just hid things around the university and challenged people to find them, and it did so much for student morale. Some people messaged me to tell me my random antics were their only source of real fun on a daily basis. Adults are just big kids. We're supposed to play long into adulthood, and the games are just supposed to scale in complexity with age, but even simple things like a scavenger or prize hunt can make people so much happier. If you have any kind of morale-keeping duties or have the option to take them on at a school, workplace, etc., I highly recommend planning fun surprises for the people around you. Planned events are a lot of fun, but it's a totally different kind of fun to find out there's a scavenger hunt going on on a random Tuesday.

As I type this, my coworkers are exclaiming over an adult busy book one of them was given out of the blue - fun papers and paperclips and textured pages and even a few scent sachets! It's unique and beautiful and she loves it.

Earlier in the year, I bought a 12 pack of these for like 2 dollars.

I hid them all over the office - I thought they'd find one every few days but came in to find one of my coworkers actively and eagerly hunting them all down! She'd found all but two by the time I got there. She even helped hide some again so other coworkers could look for them when they came in. Everyone has their own chicken at their desks and at the employee computers. Some have been decorated (one has butterfly wings!) and for a while one was "sunbathing" with a little lifesaver floatie.

We need whimsy! We need enrichment! It doesn't have to be much to make people happy and it's always worth the time and effort to set it up.

How do you *accidentally* make a programming language?

Avatar

Oh, it's easy! You make a randomizer for a game, because you're doing any% development, you set up the seed file format such that each line of the file defines an event listener for a value change of an uberstate (which is an entry of the game's built-in serialization system for arbitrary data that should persiste when saved).

You do this because it's a fast hack that lets you trigger pickup grants on item finds, since each item find always will correspond with an uberstate change. This works great! You smile happily and move on.

There's a small but dedicated subgroup of users who like using your randomizer as a canvas! They make what are called "plandomizer seeds" ("plandos" for short), which are seed files that have been hand-written specifically to give anyone playing them a specific curated set of experiences, instead of something random. These have a long history in your community, in part because you threw them a few bones when developing your last randomizer, and they are eager to see what they can do in this brave new world.

A thing they pick up on quickly is that there are uberstates for lots more things than just item finds! They can make it so that you find double jump when you break a specific wall, or even when you go into an area for the first time and the big splash text plays. Everyone agrees that this is neat.

It is in large part for the plando authors' sake that you allow multiple line entries for the same uberstate that specify different actions - you have the actions run in order. This was a feature that was hacked into the last randomizer you built later, so you're glad to be supporting it at a lower level. They love it! It lets them put multiple items at individual locations. You smile and move on.

Over time, you add more action types besides just item grants! Printing out messages to your players is a great one for plando authors, and is again a feature you had last time. At some point you add a bunch for interacting with player health and energy, because it'd be easy. An action that teleports the player to a specific place. An action that equips a skill to the player's active skill bar. An action that removes a skill or ability.

Then, you get the brilliant idea that it'd be great if actions could modify uberstates directly. Uberstates control lots of things! What if breaking door 1 caused door 2 to break, so you didn't have to open both up at once? What if breaking door 2 caused door 1 to respawn, and vice versa, so you could only go through 1 at a time? Wouldn't that be wonderful? You test this change in some simple cases, and deploy it without expecting people to do too much with it.

Your plando authors quickly realize that when actions modify uberstates, the changes they make can trigger other actions, as long as there are lines in their files that listen for those. This excites them, and seems basically fine to you, though you do as an afterthought add an optional parameter to your uberstate modification action that can be used to suppress the uberstate change detector, since some cases don't actually want that behavior.

(At some point during all of this, the plando authors start hunting through the base game and cataloging unused uberstates, to be used as arbitrary variables for their nefarious purposes. You weren't expecting that! Rather than making them hunt down and use a bunch of random uberstates for data storage, you sigh and add a bunch of explicitly-unused ones for them to play with instead.)

Then, your most arcane plando magician posts a guide on how to use the existing systems to set up control flow. It leverages the fact that setting an uberstate to a value it already has does not trigger the event listener for that uberstate, so execution can branch based on whether or not a state has been set to a specific value or not!

Filled with a confused mixture of pride and fear, you decide that maybe you should provide some kind of native control flow structure that isn't that? And because you're doing a lot of this development underslept and a bit past your personal Balmer peak, the first idea that you have and implement is conditional stops, which are actions that halt processing of a multiple-action-chain if an uberstate is [less than, equal to, greater than] a given value.

The next day, you realize that your seed specification format now can, while executing an action chain, read from memory, write to memory, branch based on what it finds in memory, and loop. It can simulate a turing machine, using the uberstates as tape. You set out to create a format by which your seed generator could talk to your client mod, and have ended up with a turing complete programming language. You laugh, and laugh, and laugh.

Avatar
You are using an unsupported browser and things might not work as intended. Please make sure you're using the latest version of Chrome, Firefox, Safari, or Edge.