Sign in

Mist ❤️🖤

@mistodon.com
87 followers 125 following 397 posts

Mist / Vi ♢ Edinburgh game dev ♢ silicon witch ♡ music ♡ art ♡ birds ♡ @shamu.bsky.social ❤️ ♢ she/they ♢ dyke ♢ 🏴 ♢ en/it/es ok ♢ Icon by the wonderful @valarkspur.bsky.social Play my games! mistodon.itch.io

PostsRepliesMedia
Mist ❤️🖤 @mistodon.com · 29/07/2026
But I'm feeling a lot better now. I love my family, love my wee adopted dog, and hopefully now I'll have time and energy to devote to my friends and my hobbies. And on that note, for the sake of something new and low-stakes to do, I finally started learning godot this weekend and made a cute thing:
030
Mist ❤️🖤 @mistodon.com · 22/03/2026
Say hi!
Games Talks Live in Edinburgh on the 24th!
010
Mist ❤️🖤 @mistodon.com · 07/03/2026
the only thing that makes you more insane than game dev is engine dev
Four rainbow orbs surround three floating 3D cows against a white, red, green, and blue colour test background. There is a smiling happy face on the left. Stacks of red, green, blue tiles on the right. Bright green text at the top says "Layout space!" while at the bottom, there is some janky text that says "space ! World"
091
Mist ❤️🖤 @mistodon.com · 10/10/2025
Not been using this account much lately but -
I'll be at games talks live in Edinburgh
100
Mist ❤️🖤 @mistodon.com · 28/08/2025
lmaooo my old Go code comments are very funny to me. I stand by them all, it is a bad language.
I have to _cast_ my integers to have them inferred as the correct bitwidth?? This is especially egregious when very common functions like strconv.ParseInt return non-generic non-default int types. So `i := 0; i += ParseInt(s)` won't compile! Batshit! Oh wait haha - it won't work anyway, because ParseInt returns an error that needs handled first~

Update: - `invalid operation: x += y (mismatched types int and int64)`.
I don't want to hear another fucking word about Rust string types.Why is there no shorthand for handling errors? Why do I need an if block _after_ the call? These should be one operation - otherwise that error checking can get moved around anywhere! And don't give me control-flow bullshit, I _know_ this language has `defer`.Is every import an implicit '*' ??????????? So I have no idea where anything comes from??Okay, I'm seeing a function being called here. Where is it defined? Is there actually any way to know??
130
Mist ❤️🖤 @mistodon.com · 07/08/2025
I'll be at CodeBase today as local dev support ^^ If you're nearby, come and see the student game showcase! As well as some games from local indies, including myself. I'll be bringing along my current project (in demo state) Questa Fortuna:
151
Mist ❤️🖤 @mistodon.com · 06/08/2025
Okay, either everyone on the internet is wrong, or I'm going insane (which is more likely tbh). But playing flushes in round 1 of Balatro seems like a bad idea! Everyone says to do it! I don't think people should do it!
Success rate of winning round 1, with 1 hand and 2 discards, in Balatro. Over all flushes rank 10% to 25%. Full House runs between 50% and 75%.
200
Mist ❤️🖤 @mistodon.com · 03/08/2025
This is how you know you've designed a good audio API...
A line of code importing three things from the audio namespace: track set, track, and track settings.
000
Mist ❤️🖤 @mistodon.com · 29/07/2025
Blazingly fast linear interpolation function
int lerp(int from, int to, int time);
010
Mist ❤️🖤 @mistodon.com · 03/07/2025
I know I have a bunch of other game projects on the go... but also I've been learning toki pona and playing Lingo, so fuck it, @shamu.bsky.social and I are making a pico8 conlang game 😔
A screenshot of a pico 8 game where two characters are talking surrounded by hedges. The speech bubble shows text in a mysterious unknown script.
091
Mist ❤️🖤 @mistodon.com · 20/06/2025
it only just occurred to me how funny it is that howl pendragon has a thousand different bottles just to bleach his hair, and he only knows which ones to use based on their usual location on the shelf AND when he gets it wrong one time because Sophie tidied, he literally just gives up forever
Howl's bathroom
110
Mist ❤️🖤 @mistodon.com · 27/05/2025
It's my birthday! 🎉 I got some books~
Book haul: Vicky Romeo + joolz, Propaganda Blitz, Dengue Boy, Anita de Monte Laughs Last, Shoulder to Shoulder, How to Win an Information War, and Pink Pilled.
040
Mist ❤️🖤 @mistodon.com · 27/05/2025
Had a late night epiphany about how to render my cards! I've been thinking about how to composite multiple layers together without z-fighting and without overt distance between the layers. So it looks like a flat card / #gamedev ✧ #indiedev ✧ #solodev
162
Mist ❤️🖤 @mistodon.com · 02/05/2025
found these random blocks on my desk with an Avoidant Attachment Style
Yellow lego block that says "involve me" on top of a red block that says "be brief, be bright, be gone"
000
Mist ❤️🖤 @mistodon.com · 12/04/2025
This is my favourite weird thing I did today: that `const ANIMATED: bool` So anything that depends on animation (or any time passing at all) can be completely compiled out if I need to run it "offline".
A Debate struct written in rust, with an ANIMATED const generic boolean parameter.
021
Mist ❤️🖤 @mistodon.com · 12/04/2025
Some small progress today - by which I mean I actually finally started making the game. Not much to look at right now, but the "combat" system is functional. And more importantly, it's async enough for me to add proper animation later without tearing my hair out. #gamedev ✧ #indiedev ✧ #solodev
1123
Mist ❤️🖤 @mistodon.com · 27/03/2025
OH MY GOD FINALLY This was actually a really fun run. Play five gold cards, vampire eats them all for +0.5 times-mult, midas mask makes them all gold again. Plus I get 9 gold a round from the last three gold cards, cancelling out the rental costs of the jokers. Gold stake sucks, but one more down.
Screenshot of me winning gold stake with checkered deck in Balatro.Screenshot of my jokers: stuntman, pareidolia, bootstraps with $224, vampire at times 11.1, and midas mask.
110
Mist ❤️🖤 @mistodon.com · 23/03/2025
My #solodev Saturday post for the week - and if you think I'm late, then you're in a Bedtime Timezone and you should be in bed >:( Main thing I did this week was get live shader reloading working in my engine, so I can quickly prototype visual effects. #gamedev ✧ #indiedev ✧ #rustgamedev
193
Mist ❤️🖤 @mistodon.com · 20/03/2025
Maybe I'm just old and boring, but every single number in this image makes me grumpy
Thumbnail of BDG's froghorn.exe video, which is 56 seconds long, has 395000 views, and was uploaded 3 days ago.
000
Mist ❤️🖤 @mistodon.com · 17/03/2025
It's Monday - I'm taoism posting. I like to look at the tao with a bit of an anarchist lens (and I like Le Guin's version for this reason). There's often a focus on ruling (ruling without ruling) but I like this chapter in particular for talking about the weight and COST of "ruling" /
Heavy is the root of light. Still is the master of moving. So wise souls make their daily march with the heavy baggage wagon. Only when safe in a solid, quiet house do they lay care aside. How can a lord of ten thousand chariots let his own person weigh less in the balance than his land? Lightness will lose him his foundation, movement will lose him his mastery.
110
Mist ❤️🖤 @mistodon.com · 16/03/2025
Obsessed with Rory Yiik, the best worst activist of all time 🙏
Rory Mancer smiling in an agitprop poster stating "Who needs oil? I ride the bus."
34023
Mist ❤️🖤 @mistodon.com · 16/03/2025
A belated #solodev post for Saturday. This is a bit of a subtle one - the last game I made for web had *awful* framerate issues, which are now fixed! It only took half a year and actual divine inspiration to resolve / #gamedev ✧ #indiedev ✧ #rustgamedev
2174
Mist ❤️🖤 @mistodon.com · 07/03/2025
she's just like me for real 😔
Juniper from Fields of Mistria saying "Sometimes I'll see a piece at Merri's that doesn't speak to me... and then she'll show me the purple version... she sure knows how to make a sale."
020
Mist ❤️🖤 @mistodon.com · 06/03/2025
Murder at Queen's Abbot is out now! When five estranged friends reunite by the grave of the author they loved, what ugly truths will they dig up as they lay rest to their memories? Play it here! zephemeral.itch.io/murder-at-qu... #gamedev ✧ #vndev ✧ #vngame ✧ #queergames
1116
Mist ❤️🖤 @mistodon.com · 03/03/2025
Really excited to drop Murder at Queen's Abbot in three days! You'll be able to play our mystery VN, for free, in-browser on March 6th! Come and see five friends sort out their messy feelings in a graveyard 🪦 and please repost to get the word out about our game! #vngame ✧ #vndev ✧ #indiedev
254
Mist ❤️🖤 @mistodon.com · 20/02/2025
This was huge for getting us able to work so quickly on this game. Just for comparison, take a look at what we wrote on the left, and how much finnicky renpy we avoided having to write ourselves on the right:
A section of playscript for MQA.The much longer equivalent renpy code.
110
Mist ❤️🖤 @mistodon.com · 20/02/2025
Next up, similar to how we did camera movements, we used small, reusable "scenes" to play music at different points in the script. This let us do things like consistently set the volume and fade we wanted without hard-coding it in one place:
110
Mist ❤️🖤 @mistodon.com · 20/02/2025
Renpy lets you do a lot of animation with transitions (like `show raf at fade`) but it can get really verbose specifying it every time. Even just positioning them (`show daily onlayer fglayer at center`). Every time! But luckily you can set defaults:
110
Mist ❤️🖤 @mistodon.com · 20/02/2025
First up, automatic character show and hide transitions. They're subtle, but you can see the character sprites shift and fade when they show and hide:
150
Mist ❤️🖤 @mistodon.com · 20/02/2025
Something I'm really proud of with Murder at Queen's Abbot is how quickly and fluidly we put it together. We did everything we could to get the boilerplate out the way and let ourselves focus on art, writing, & character - and I want to talk about some of those things! #gamedev ✧ #indiedev ✧ #renpy
1132
Mist ❤️🖤 @mistodon.com · 13/02/2025
Listen to the different tone of the pen scratch sounds for each line of dialogue:
110
Mist ❤️🖤 @mistodon.com · 13/02/2025
If you put {done} in your dialogue - it won't actually show anything past that. I think the point of this is to avoid awkward text reflowing? But what I used it for is sneaking extra things into the script. For example: tone markers! Like LOUD or CLIPPED, to change the kind of voice chirp that plays
110
Mist ❤️🖤 @mistodon.com · 13/02/2025
Back to voice chirps though - if you give different characters different callback functions (in this case by making a function return a new function), then you can give each one different voice chirps:
110
Mist ❤️🖤 @mistodon.com · 13/02/2025
110
Mist ❤️🖤 @mistodon.com · 13/02/2025
You can do other cool stuff with it too! In MQA, we decided to show just one character at a time and have them take the center of the screen. That meant a lot of annoying "show daily" "hide daily" "show raf" etc... So I set it up to hide the old speaker automatically when a new one takes the stage:
110
Mist ❤️🖤 @mistodon.com · 13/02/2025
It was pretty simple to set up a basic version of it. You basically just give a character a function to call in response to events. So in this case - play or stop the sound when talking starts/finishes. (idk why the events are called "show_done" and "slow_done" and I don't intend to question it.)
110
Mist ❤️🖤 @mistodon.com · 13/02/2025
It's vnsday again! (Thursday...) So I'm going to talk a bit more about MQA dev, and more specifically voice chirp sound effects! That means sound on for the videos in this thread - please listen to them Discourse: #gamedev ✧ #vndev ✧ #renpy
171
Mist ❤️🖤 @mistodon.com · 06/02/2025
You get the same problem at the other side of the screen, but once you know the speed of a layer you can easily get its ideal width (speed times the bg's width) and then just reposition things symmetrically at the other side of the image. And that's how I fixed the parallax and made it more pretty~
100
Mist ❤️🖤 @mistodon.com · 06/02/2025
How much wider do they have to be? Depends on the distance from the camera. But since this is a 2D game, it really depends on the scroll speed that we set for them. What speed should we use? Doesn't really matter, as long as the nearer layers move faster. Except…
100
Mist ❤️🖤 @mistodon.com · 06/02/2025
Important to note that the "nearer" layers - the ones that move faster - have to be wider images. I find this hard to explain, so I made a wee animation:
100
Mist ❤️🖤 @mistodon.com · 06/02/2025
It was pretty easy to get working initially - it's just multiple layers of background images that move at different speeds. We had to: 1. Create the renpy layers 2. Show the background images on those different layers 3. Add a reusable "scene" to move the camera 4. Call that scene in the script
Adding renpy layers in the init block.Showing background images on those layers.The reusable move camera scene.Using move camera in the script to move the camera.
100
Mist ❤️🖤 @mistodon.com · 06/02/2025
We decided early on that we wanted to set this game almost entirely in the cemetery, but we also decided that we wanted to play with perspective a little bit, both thematically and visually. Hence the parallax camera! Which let's us convey movement & space a bit better than static sprites would have
100
Mist ❤️🖤 @mistodon.com · 06/02/2025
Last night I did some polishing work for the browser release of Murder at Queen's Abbot, and so today we are talking about parallax cameras! #gamedev ✧ #vndev ✧ #renpy
1123
Mist ❤️🖤 @mistodon.com · 25/01/2025
This arrived today and im unreasonably excited about it! I got both volumes of the green yuri in Japan and stopped reading the English translation. Might be gay and listen to this while I stumble my way through the Japanese...
The Green Yuri CD soundtrackTrack list for the soundtrack
030
Mist ❤️🖤 @mistodon.com · 21/01/2025
Beautiful lettuce bowl... Beautiful lettuce bowl with peanut curry...
Beautiful lettuce bowlBeautiful lettuce bowl with peanut curry
010
Mist ❤️🖤 @mistodon.com · 12/01/2025
Just read I Love Amy, which I expected to be a pretty straightforward, whimsical GL story with a cute art style. But I adore how traumatic it gets. And the relationship dynamics are so atypical and so good. The lead romance is really fucked up, and they both know it. The platonic relationships /
Image of Bibi, Amy's love interest, with Amy talking about her. "To her, I'm beneath her. And to be honest, so is everyone else. She's self-centered, insensitive...""... I still want to make her happy."
100
Mist ❤️🖤 @mistodon.com · 09/01/2025
I'm really enjoying The Moon on a Rainy Night. It's primarily about the relationship between the lead character and her friend who's deaf - but it does such an amazing job of exploring invisible disabilities, repressed feelings, single fatherhood, complex family dynamics...
A page of the manga, saying "The moon on a rainy night. It's a metaphor for things that you can't see with your eyes."
110
Mist ❤️🖤 @mistodon.com · 23/12/2024
₥Ɇ₦'₴ ₵ⱠØ₮Ⱨł₦₲.
Screenshot of an online store's search result page, and under Men's is a bunch of fucked up unicode symbols.
010
Mist ❤️🖤 @mistodon.com · 23/12/2024
UK economy has faile...
Same text as tweet
000
Mist ❤️🖤 @mistodon.com · 14/12/2024
More colcannon with rice and veg~
Purple colcannon with rice and veg.
000