#and if anybody has other favorites please add on!
Explore tagged Tumblr posts
willowsallen · 1 year ago
Note
I saw everything that happened and I am sad about the ugly resources being gone (they were ugly, but at least they were resources) anyways, I wanted to ask about your favorite indigenous fcs? it can be more than one answer, I'm asking this to either make the resources myself or ask someone to make a public commission
hi! thanks for asking. i need to narrow it down because my old list was like 40 faces<3 KSJAKJHS hope this list helps!
khadijha red thunder (chippewa cree + black + white)
kiowa gordon (hualapai + white)
cody christian (penobscot + passamaquoddy + white)
devery jacobs (mohawk)
michael cimino (taino + puerto rican)
alex meraz (purépecha)
anna lambe (inuit)
lizeth selene (unspecified indigenous mexican + black + white)
quannah chasinghorse (sicangu + oglala + lakota + hwech'in)
froy gutierrez (caxcan + white)
coty camacho (mixtec + zapotec)
d'pharaoh woon-a-tai (oji-cree + guyanese (chinese, african) + white)
willow allen (inuit)
martin sensmeier (tlingit + eyak + koyukon-athabascan + white)
12 notes · View notes
xxrougefangxx · 8 months ago
Text
Jason Todd x Reader fic recs
This is originally made for @marinas-trench , but anybody can use this. Will update as I find more
Added little notes in pink to specify some stuff, includes BOTH platonic and romantic works.
Anybody who does use these recs please try to reblog works- that's the Tumblr algorithm likes don't do anything- to help the authors out <3 (no pressure tho)
-----
Authors because I can't pick a favorite work:
DC Masterlist by @sanguineterrain - The works speak for themselves.
@jasmines-library - Includes lots of platonic batfamily x reader and the hurt/comfort is just *chefs kiss*
@morverenmaybewrites Ao3 link- Her works are just godsend. She portrays Jason in such a beautiful way and acknowledges his trauma as well.
@minnieearsposts Ao3 Link - Jason works are 10/10, but she also has many other fics that connect with each other. Definitely recommend
@xxgoblin-dumplingxx - All of the au's are just magnificent! There's no master list but you can check the works out using tags.
Batfam masterlist by @book-place - All works are platonic
@writersfailure - Honestly a gold mine, check out their dc master list and other fics as well!
@wh1sp3rr - The jackpot at the end of the rainbow. That's all I'm going to say
@dccomicsimagines - Amazing pieces of work that I can't believe I didn't find before.
Series :
love is not designed for the cynical by @thenyoumightaswellwrestleangels - The thoughts and emotions are portrayed SO BEAUTIFULLY!!! And while Jason is just spectacular, I also recommend the other series as well.
What we want by @sophiethewitch1 - It's with all the batboys
Crimson Red by @ravenna-reid - Has multiple parts all located on the master list.
Guard Dog by @mostly-imagines
Your secrets are ours, kid by@jaythes1mp - Platonic and yandere
again &. again masterlist by @acid-ixx - Platonic and yandere
Bye, Bye, Miss American Pie by @urmoonlightbebe - I can't believe I almost forgot to add this here
Batfam x neglected reader by @dickgraysonass - Platonic
Gilded Cage by @heavysighing-dreamyeyes
Headcannons/Drabbles:
Girl!DadJason by @in-som-niyah
Reaction to you letting go of their hand by @gay-dorito-dust - Its paired up with both Dick and Damian
Existentional Crisis by @millyhelp
College student!Jason by @orchidsangel
BabyDaddy! Jason fic idea by @kuromitos
Unnamed by @aldryrththerainbowheart
Saturdays by @zer0wzs
Unnamed by @misdeliria
Artist!Reader by @charliedakotariley - This is so wholesome I love it
Fics:
JasonTodd x Fem!Reader by @spidernuggets - reader gets stuck in a time loop to save Jason
sickly sweet romance of u & jay by @wh1sp3rr
Unnamed by @millyhelp
tired and touchstarved!Jason by @indulgentdaydream
A Spoonful of Honey by @stararch4ngelqueen
Golden by @orionremastered
Reader who likes Superman more than Batman by @spidernuggets
Reader who prefers Superman more than batman (different fic than above) by @gay-dorito-dust
Rescuer by @kimberly-spirits13
graceless by @udiudijaye - platonic batfam x batsis but love the fic and had to recommend
Take care by @batsycline69
Forensic Psychologist Reader by @ravenna-reid
What are you doing here? by @a-reader-and-a-writer-for-all
What a night by @batboysandgirls
call me your fool by @jasonsmirrorball
18+ Works MDNI
Til Death Do We Part Brings Us Together by @luvf4ngz - I love the au idea!
Jason distracting you from studying by @millyhelp
Slumber Party by @dollwritesarchive - Includes Dick
Thoughts on Jason being rough by @midnightorchids
jason 'don't run from this dick' todd by @killakalx
BabyDaddy!Jason by @hanasnx
Say Sorry by @dancewithdeath11
Jason fucking reader in the Batmobile by @martiniluvr
Series 18+
guns and roses masterlist by @jayswhorex
1K notes · View notes
chrolloluvr · 9 months ago
Text
Tumblr media
Adam, Mammon, Alastor and Lucifer if S/O is on their period
Note: AFAB!Reader, not proofread, (should I make a story out of mammons??)
Warnings: Mentions of sex, minor degrading?, fluff 🥺, cute moments
Tumblr media
Adam 🕊️:
He has an idea of how periods or the menstrual cycle work. In his time of being married to Eve and Lilith, he basically just let them handle it themselves. But with you, thats not how it works
When you get moody swings, he tells you that your being dramatic.
"Babe what the hell? Take a chill pill, jesus."
Please slap him across the face.
When you get cramps, he will throw you some Pepto bismol and call it a day.
If you send him to the store, he will ask you what flavor tampon you want (???), and if he can have a visual representation on what size he needs.
He tried to FaceTime you 15 times...
Had to disguise himself so nobody knew he was there.
He will offer to have sex with you, since that was what seemed to work with his other two wives
Goes out and buys you snacks, but he forgets that you're on your period so he mostly bought them for himself.
Asks Lute for advice, since he isn't a girl.
You end up with your head resting on his shoulders, while you sit in his lap. He will call you a drama queen, but he will still comfort you.
Tumblr media
Mammon 🕸️:
He knows literally nothing about periods or the menstrual cycle.
He never really cared to learn anything about it either, since he had never taken any romantic interest in anybody until you. He considered it a waste of time.
When you have mood swings, he does not take you seriously, and he will probably baby you.
"Awhh, dont get your thong in a twist sugar. Now calm down before i have to hold your ass down-"
When cramps roll around, he will just put his hand over your lower stomach. And just, leave it there? He thinks it helps you, so don't argue with him or he will back off of you.
When you send him to the store, he asks you for your pussy size...
Will FaceTime you, and show you all of the options.
Gets stopped and asked for photos multiple times, so it takes him like an hour.
He ends up getting you Nutella, pads, and a menstrual cup, because he thought it looked funny. He even jokes about it being his next big product.
Offers to eat you out. Yes, while you are on your period. He is a freak. He does not mind getting his mouth bloody. I HC that he actually prefers when you are on your period, because he likes the metallic tase and smell it emits.
Wont let you out of his sights during this time. He will let you lay on top of him while you two watch your favorite show. And he will hand feed you the chocolate and say,
"Heres comes the choo choo train cutie 😙"
Tumblr media
Lucifer 👑:
He knows a lot about the menstrual cycle and how it works. He was very attentive to Lilith during their marriage.
When you get moody, he will distance himself from you, not wanting to add more fuel to the fire.
"Hey honey, I just wanted to check in on you, see how you were doing, you know-"
When you have cramps, he hates seeing you in pain, so he will heat up a heating pad and rest it on your stomach.
When you send him to the store, he goes in a disguise. He will call you and ask what specific products you want.
He ends up getting you strawberries, chocolate, medicine, etc.
He treats you like you are sick. Will force you to stay in bed under his supervision.
Will also offer to eat you out. He just wants to make you feel better, and he is an expert.
He will spoon-feed you medicine, and turn on your favorite show. He will snuggle up against your chest and fall asleep.
Will ask Charlie for some advice and help. He really does care for you deeply. So he just wants to make sure you are content and satisfied.
Tumblr media
Alastor 🦌:
Knows quite a bit about period and the menstrual cycle.
When you get moody, he will also coddle you like Mammon. Will purposely try to get you more upset. But stops after a while, since he is a gentlemen.
"My little doe, lets stop with this tantrum. Your a big girl, aren't you?
When you get cramps, he will come up behind you and trap you in a bear hug while rocking the both of you. He will do this while using his thumbs to rub your shoulders.
Instead of the store, he goes to Rosie and asks her for supplies and advice. He hates seeing you upset, so what better of a person to ask for advice from than his long time friend Rosie?
He will not want to do anything sexual with you. Not because he does not like getting bloody, (he has, and isn't afraid to.), But because he does not want to possibly hurt you.
He will try to stay near you as much as possible. He maaaay even let you touch his ears if you look up at him all nice and cute.
Tells you a story, or will turn on the radio for you to both listen to.
841 notes · View notes
aridridge · 2 years ago
Text
quick temporary fix to enable skin details, overlays, & default eyes for infants
for people asking how i figured out how to get things like skin overlays enabled for infants (namely @delicateism & @simminnikas on my post). 
this is not by any means a long-term fix or even probably the most convenient way to do this, it’s just what i ended up doing for the moment so that the babies would be cute. it’s also not a way to fix default skins; it’s just a way to get your infant to have the skin you like. whoever has a better way to do this, i’d totally love to know how! this is just how i jerryrigged it for the time being :)
first, i went into sims 4 studio, and went file > open > then i clicked the package file of the skin overlay i wanted. this has to be a nondefault version of a skin overlay—it can be set as a skin detail, or maybe makeup, whatever. if your favorite skin has a nondefault skin detail/makeup version, open that in sims 4 studio, and a window will pop up.
once the window pops up, i go to the tab that says ‘texture,’ where you’ll see a picture of the skin overlay. click export, and it will export this skin overlay to a png file. that’s the first part done!
after this i went back to the home screen of sims 4 studio. on the home screen, i selected ‘override’ under the blue tab that says CAS, then clicked on that blue CAS tab, which opened a window full of assets from the game. 
under the search bar, i typed ‘storkbite’ which brought up the skin detail asset that is the infant stork bite birthmark thing. once you select it & click next, it will prompt you to name the file before you make it, so name it something so u know what it is. 
after this, a window like the one from before with the skin overlay will pop up. under the same texture tab from before, you want to press import this time. you’ll want to import the png file that you exported from your favorite skin overlay earlier. 
click save, and the name you chose earlier will be a package file now that you should put in your mods folder. now, when you go into the game in create a sim and select the stork bite detail, instead of giving your infant sim a stork bite, it will give them the face overlay you selected. (you can choose to have your skin overlay replace the other infant skin details instead, like the birth marks on their backs and legs, but you’ll have to scroll through the assets during step 3-4 until you find the one you want your skin overlay to replace.)
this same process can be done with makeup, too. there’s no makeup tab for infants, but by following this same process, you can choose to make your favorite blush/whatever replace an existing base game infant skin detail (or maybe you can make the makeup be an added swatch of an existing skin detail without actually replacing the original, if while on the home screen during step 3 you select ‘add cas part swatch’ instead of ‘override’, but i haven’t actually tested this). 
if you follow a similar process, but instead of replacing a stork bite, you make overrides by changing both the texture AND the specular of the default base game eye color assets in sims 4 studio (which will be listed as yfeyecolor, but that’s fine, it works the same), you should be able to make your favorite default eyes work for infants, too, but it’s kind of an arduous process that i haven’t fully completed yet. i’ve done it with one eye color, which worked just fine, but it looks like you might have to do them all manually, one at a time?
if anybody knows a more efficient way to fix default eyes, please, please, PLEASE rb & tell me lmaoooo. if anyone has a good way to fix default skins, please rb with that, too! <3
2K notes · View notes
coquelicoq · 4 months ago
Text
just finished my rewatch so i am here to bring you the important fax, such as:
how many dramatic thunderstorms take place over the course of 40 episodes of the double?
the answer may surprise you!
episode 1. the og. xue fangfei is buried alive by her husband, who then goes in for a lil psychological torture courtesy of the princess. meanwhile, su-guogong kicks down the door of a contraband salt warehouse and does a sick spin onto the back of a chair completely unnecessarily. for the aesthetic. you really get your bang for your buck with this one because it also features in at least ELEVEN separate flashbacks in later episodes (episodes 4, 7, 9 (three FBs), 11, 13, 17, 24, 27, and 32, to be specific).
episode 7. shen yurong comes to the jiang residence to give "jiang li" an entrance exam for fancy pants academy. she drops hella hints to her true identity and keeps bringing up how much it sucked to be abandoned on that mountain :) while a storm rages around them much akin to the one that made the whole live burial thing especially dramatic. as if being buried alive needed additional pathos.
episode 13. xue fangfei is called before the jiang family tribunal because she's got some explaining to do about what happened at the palace banquet (where, if you recall, jiang ruoyao attempted to set her up to be violated and disgraced, and instead found their cousin in bed with jry's fiance). of course our girl wipes the floor with these amateurs. she's bringing melodramatic precipitation to the table, and what do they have, a face wound? god's least favorite soldier (the concubine's son)? please. you gotta get up earlier in the morning than that to pull one over on this fake ex-nun.
episode 14. this one is maybe the funniest to me from a doylist perspective because it's just one single thunderclap/lightning bolt right after the emperor says to xiao heng, the princess hates you. she might even try...to KILL YOU. like bro this is not news to anybody lol. but at least the universe has a sense of dramatic timing. there is no other sign of this storm, not even rainfall, in any other part of the episode...the emperor summoned a stormcloud just for that one sentence and then was like okay i got what i needed, run along now.
episode 17. wins the award for cutest rainstorm. a drunk xue fangfei holds xiao heng's cheeks very insistently between her hands, looking up into his eyes as rain falls in her face. he takes off his utterly sodden cloak and wraps it around her shoulders, surely doing absolutely nothing w/r/t keeping her dry but at least seeming very tender about it. the rain is obviously integral to the scene, but i think the thunder and lightning are mainly here because someone involved with this production really likes thunder and lightning. we also get a flashback to this one in...
episode 18. the metaphorical masturbation scene (xue fangfei lies in a tub artfully draped in fabric nuzzling the soft petals of a rose while xiao heng does half-naked swordplay dripping with rain). again i think somebody was just having a lot of fun with the thunderstorm effects on set that day. rain would have been sufficient, but if there's one thing you can say about this show, it's that everyone involved agreed that "sufficient" will not suffice. we are not here to regular-ass things. we are here to double- or even triple-ass them. and when in doubt on how to achieve that, add some fucking meteorological event. some kind of audiovisual spectacle. it's literally coming down from the heavens. what, are we gonna ask for subtlety? from this show? not if we know what's good for us.
episode 20. xue fangfei has just asked the auntie down the street in huaixiang to testify on her father's behalf, getting down on her knees and begging, only to have the door shut in her face. ouch. if that's not prime time for some rain to mingle with her tears, her surroundings reflecting her inner state, i don't know what is. it's giving textbook pathetic fallacy.
episode 25. ji shuran meets with the imperial diviner who turns out to be her long lost lover she thought she had successfully burned to death!!! (ohhh sidenote i am just now getting the jsr-syr parallel with this.) honestly if they had neglected to punctuate this scene with thunder and lightning i would have been metaphorically holding the back of my hand up to the production's forehead to check for fever. it would not be a sign of health, given this show's general baseline.
episode 27. xue fangfei meets with jiang yuanbai's concubine, hu-yiniang, trying to convince her to help xue fangfei fuck ji shuran's shit right up. the weather didn't help her recruit the huaixiang auntie, but it works like a charm on auntie hu. (i'm choosing to believe the weather is a sentient entity and it's showing up to drench xue fangfei like a wet cat at irregular intervals like ⛈ im helping 🥰)
episode 28. the exorcism. fuck yes there's a thunderstorm during the exorcism. what are we even doing here if the showdown between olympic-grade synchronized charlatan choreography and mad-with-grief-mother-approved creepy ventriloquism isn't punctuated by bolts of lightning? don't waste my time. perfectly timed thunderclaps or gtfo.
episode 29. gotta have some thunder and lightning while visiting the tombstone of your brother who isn't actually dead (but you don't know that). definitely gotta have some rain so your crush can show up out of nowhere and lovingly hold an umbrella over your head. that's just basic science. step 4.7 of the water cycle.
episode 30. xue fangfei comes to the academy to rehearse the duet for the zhao envoy and dun dun dunnnn...only shen yurong is there!!! i am feeling distinctly menaced, but on her behalf, or on his? hard to say. on the one hand, he did attempted-murder her. on the other hand, she's xue fucking fangfei and he's the chump who attempted-murdered her. sweet dreams, bucko.
episode 35. consort li visits the princess in an attempt to get her diagnosed with Pregnancy...out of wedlock!! lots of thunder but no lightning until shen yurong shows up afterward and is like, hey honey i figured out how to solve this problem, just marry this totally other dude 👍 wanning is Not having a good day and the weather got the memo.
episode 39. what would u even do if ur lover poisoned you & took that opportunity to rescue his ex-wife from ur dungeon & walked out holding her in a bridal carry (after using knockout gas on her, natch) & when he saw u he tenderly placed her down out of the rain? what would u do if u had the hairpin u thought he had given u as a sincere token of love and commitment & this hairpin was sharp enough to impale a person & u could put it in his hand pointed toward u & then u could pull his hand right into ur abdomen? WHAT WOULD U DO if all this was the case BUT THERE WAS NO THUNDER AND LIGHTNING WHILE THIS WAS GOING DOWN?? i think i would just NOT impale myself on my own hairpin using my traitorous lover's hand. out of PIQUE. i know weather patterns are driven by atmospheric forces or whatever but come on man. that would just be rude. so thankfully the weather showed up to give the princess the dramatic accompaniment her iconic death scene deserved. she died as she lived: dangerous, vulnerable, electrifying. i'm buying the effects people a round for this one. they made it count.
so, 14 individual thunderstorms, plus at least 10 flashbacks* to one of those thunderstorms, for (at minimum) 24 total scenes featuring thunderstorms in 40 episodes. *(i say "at least" because i probably missed some. and there are 12 FBs mentioned in this post, but two of them were being remembered while another thunderstorm was taking place, so their scenes have already been included in the count of 24.) and that is not even counting 1) lightning in an imaginary what-if scene in episode 6 in which xiangqiao (one of jsr's planted servants) says "if i'm lying, strike me with lightning!" or 2) the magical lightning strikes that jiang ruoyao and/or xue fangfei may or may not create during the guqin exam cgi extravaganza in episode 11 (kinda hard to tell if that was lightning or not). if you count those too you start to wonder if the crew was getting some kind of bulk discount on lightning bolts from the lightning bolt factory...but that's none of my business 😌
142 notes · View notes
nytb · 1 year ago
Text
Flying Private
Being a public figure came with a price – little to no privacy, secrecy, crazy paparazzi – it seamed to be a nightmare, but hidden in-between it’s flaws Alexia found some perks.
Tumblr media
The Catalan star’s crazy schedule didn’t help her private life, love life out of the window – for now – Alexia focused on her public appearances, helping women’s football grow.
Trip to Paris here, quick appearance in Rome, little interview in London – Alexia was everywhere.
Behind the scenes, a key piece of the puzzle; Y/N Y/L/N. Joan Laporta’s loyal pilot. They had grown close over the years and when Joan became Fc Barcelona’s president – for a second time – he invited Y/N on the journey.
And so it began, Y/N flew all Barcelona players to every corner in the world; preseason in the USA, basketball games here, European football matches there. Y/N was crucial for Fc Barcelona to keep everyone’s public appearances up while allowing them to get the optimal rest before crucial games.
With Y/N’s little vacation possibilities, Laporta offered the pilot a compromise – whenever the plane was land-bound Y/N was able to do as she pleased. The possibility to travel all over the world, stay at the best hotels, eat the best food; it was Y/N’s dream job.
Unluckily for Y/N, the latest trip to Madrid came with a personal compromise; Y/N had to step in and replace a security member’s role.
All plans out the window now, the loyal pilot followed orders to a T – shadowing the Catalan star during the three day trip, keeping an eye out during meals, making sure that whenever Alexia sneaked out she returned safe and sound.
That night the midfielder’s annoyance at the lack of personal space was noticeable – add that she was in a foul mood and you get an explosive combination; and explode she did. Now safe and sound at the hotel, both Alexia and Y/N were at the bar. The pilot kept a safe distance from the midfielder.
“Is shadowing people like you’re a lost puppy a habit of yours or have you reserved it only for me?” Alexia asked as she approached the pilot, annoyance in her tone.
“I see that your evening has calmed down – for now at least – I will leave you with the remaining security team.” Y/N replied, pointing to the two security guards of the hotel, downing the rest of her drink she added “And seen as how you’re in a foul mood, I will take this opportunity to go and get my well deserved rest in”
The indifference that radiated off of Y/N’s voice was palpable, many people would describe it as cocky – arrogant even – but Alexia found it intriguing.
The Catalan star grew accustomed to everyone treating her a certain way; admiration and love in their voices whenever someone approached her, but Y/N? The pilot treated Alexia like she was any other Joe in the world.
Sitting at the bar now, the midfielder was dumbfounded – watching how the pilot walked away, not even looking back once – she was bamboozled.
Replaying the interaction over and over, Alexia was stuck looking for ways to get back in the good graces of the pilot. The midfielder knew she had to apologize for her bad behavior.
Early in the morning, Alexia made her way to one of Spain’s most famous bakeries: El Riojano. Getting some delicious Spanish pastries, among them Y/N’s favorite: ensaimada, a mallorcan specialty. Alexia made her way back to the hotel – crossing path with the pilot at reception, Y/N didn’t say a word.
Later on, as everyone boarded the private jet headed back to Barcelona, Alexia carefully placed the paper bag filled with pastries on the seat closest to the cabin. At first, Y/N looked at the bag from afar but as she made her way to the front of the plane, she inspected it – looking for it’s owner.
“Is this anybodies?” The pilot asked, looking around a sneaky Putellas popped her head up “I got those for you, a little gift to make up for my behavior yesterday” the midfielder sneaked a cheeky smile in.
For the first time, Y/N didn’t display indifference towards the Barcelona star “Thank you, they are my favorite” the pilot stated to which, very quietly – as Y/N made her way to the cabin – the midfielder whispered “I know”
And thus a tradition was born. During the season, Alexia would go out of her way to purchase Y/N’s favorite pastries, placing them on the seat closest to the cabin. It was their little ritual.
One morning – on one of Fc Barcelona Femenis champions league trips – the team discretely inspected Alexia’s delivery.
“What was that about?” Pati asked, taking the seat besides the Catalan midfielder “What was what?” Alexia played it cool, but her face spoke louder. The midfielder was blushing, looking everywhere but into Patri’s eyes.
“Feeling shy?” Mapi mocked her captain.
This was new for everyone – Alexia included. Usually, she was the bold, direct type; but with Y/N she forgot how to act. Luckily for the midfielder, Y/N was oblivious to the mocking – and as she made her way to the cabin – the pilot picked the little paper bag up, taking one of the ensaimada out and straight into her mouth it went. Sending Alexia a thank you head-nod as she greeted the co-pilot.
It all made sense now.
“OMG” Pina was shocked “You’re sleeping with our pilot??” the mini Putellas asked, the rest of the team waited anxiously for an answer.
“It’s not like that” Alexia defended her situation “I – I just”
Mapi came in like a bolder, mockingly nudging at her captain’s arm “She might have done her ACL in, but girly is still out here scoring” the defender joked.
“Shhhh” Putellas was embarrassed, not wanting Y/N to hear any of the teams shenanigans – for however true they were – she distracted them.
“Yeah yeah… maybe it would be best” Paños stepped in “We wouldn’t want the pilot to be distracted” she further mocked.
Part 2
695 notes · View notes
mylittlesecrethaven · 7 months ago
Text
I'm Making Fluff Headcannons Cause I'm Sad: Octavinelle
Let's goooo.
This might be a little hard since the resident psycho and socio are in this post, but I'll get as fluffy as I can cause I need it cause Darling in the FRANXX is starting to hit my feels.
Azul:
So, we're aware that this mans pretends to be confident
And I know it's huge headcannon fodder to add him trying to be all suave
But
For me, I feel like Azul would turn that suaveness off for you
And you only
Like, he's not even this comfortable around the tweels
Once y'all are alone and work's done for the day, this man is a cuddle bug (octopus? idk)
Constantly wants to be near you or touching you
If you don't like physical touch that much, he'd be ok with only having cuddle sessions every now and then
But he needs them
If you make the physical touch a very special occasion type thing though, he's gonna feel so special and loved when you allow it
Also, if he has to act indifferent around you for whatever reason-
He apologizes for it so hard afterwards
No PDA
I beg
This poor mans
And his poor heart
Also, also also also
Because I love this headcannon
If you two have been together for a while (and I mean a while)
He would most def wants cuddles in his octo form
(as long as you don't say anything negative about his octo form)
(please praise him and call him pretty in his octo form)
Also, most def gives you discounts at Monstro Lounge
Jade:
First thing cause I think it's gonna be his biggest thing for his lover
Let's you mess with the mushrooms in the greenhouse
Without him around
Also, you both go on hikes
So often
And if you're not a hiking person,
Simply brings back his finds
Mans loves your smile
And he hopes you love his
(His genuine one, not his fake one)
(Also, if you could tell apart his fake one and his real one, he'd be so happy)
Trust me on this, you'll know every recipe under the sun and ✨under the sea✨ that has mushrooms in it
Personal bodyguard
Anybody on you? Call Jade
He'll be right there to take care of your problem
And mans can notice any change in your behavior
Are you nervous?
He knows
Are you happy?
He knows
Are you angry?
He knows
And he knows how to react to every emotion
Floyd:
Y'know how Jade has his mushrooms?
Floyd has his shoes
And he'll even let you touch them
I know, how scandalous
I feel like Floyd would most like someone who could match his energy
Like, you gotta be just as crazy as him
And if you're upset, he can so easily bring you outta that dump of a mood
But if you're chill, he'll just tease you
Also, another favorite headcannon of mine
If you're short, he just loves picking you up and carrying you around
If you're his height, he loves just staring eye to eye with you and randomly starting funny face contests
And if you're taller than him (which just seems near impossible), he loves to just wrap his arms around you and snuggle into you
Mans is not ashamed of PDA either
Will kiss/hug/whatever you want in front of other people
Absolutely loves kissing tho
Also likes it when you admire his teeth
Will compliment you without thinking twice and will not even mean to, he just thinks you're that pretty/handsome and smart and amazing
I hope these were ok..... It's been a minute since I did the last posts for this, so they might not be as good....
Lemme know what y'all think!
72 notes · View notes
allthingswhumpyandangsty · 1 year ago
Note
Could you do some forced medical whump with feral whumpee?
tw: hospital stuff, mention of blood and restraint
whumpee, who doesn’t trust caretaker or any doctor / nurses, somehow manages to get their hands on a scalpel. “don’t come any closer,” whumpee snarls with their back against the wall, though their hand — that is holding the scalpel — is shaking.
whumpee being held down to the ground by the hospital staff / security guards after they tried to attack the doctor and nurses.
whumpee forcefully pulling an IV drip out of their hand, causing them to bleed.
whumpee tearing off their bandages or reopening their stitches, and in result, they need immediate medical attention.
whumpee — who’s delirious, not lucid, still groggy from the anesthetic or is still too weak — tries to escape the hospital only for them to run straight into a glass door, causing the shards to cut through their skin. and them lying half conscious on the ground, bleeding. caretaker / nurses having to quickly rush them back to the emergency room. (I’m sure I’ve seen an episode of The Resident where this happened.)
whumpee having to be sedated when they need to have their blood drawn, because otherwise they will attack the nurse / caretaker.
whumpee fighting and pulling at the restraint until their wrists bleed.
whumpee in a straight jacket looking at caretaker, doctors or nurses with defiance in their eyes. a classic one.
doctors / nurses / caretaker having to sedate whumpee to prevent them from hurting others and themself.
nurses / caretaker holding whumpee’s jaw to force their mouth open, while other placing their hands on whumpee’s forehead to help tilt whumpee’s head backward, as whumpee’s being force fed or undergoing a procedure that required a tube being inserted in their throat.
these are what I can think of off the top of my head. if anybody has anything they’d like to add, please don’t hesitate to do so! medical whump is one of my all time favorites and is actually what got me into the whump community 🥹
439 notes · View notes
beanghostprincess · 7 months ago
Note
the monster trio are various flavors of audhd (all strawhats are neurodivergent, but they the most)
luffy is high empathy, stimming, bluntness and audioprocessing disorder
zoro is hyperfocus, sleepy, good at maths and flat affect
sanji is infodumping, special interest (cooking), rigid rules (don't hurt women, don't use hands, etc) and difficulty with regulating emotions
Agree completely 🫶🏻 There is not a single neurotypical person in this crew !! That's why they love each other so much, they just get each other. In general, I think that the whole "misfits finding a found family" trope is incredibly neurodivergent coded but I think that specifically with the strawhats there is like, a fundamental obvious understanding that none of them are neurotypical. Like there is no way. I know it's meant to be very general for people who don't fit in to relate, but keeping in mind that most of the time the reason people don't fit in is because of living in a normative, neurotypical society... Idk. I just feel like the strawhats were all meant to be for neurodivergent people.
This being said !!!
AAAAAAAAAA I love the monster trio being neurodivergent. Mainly because I know it'd bother sooo many dudebros. And also because it makes so much sense and it's very very very real to me.
Luffy can't stop moving or doing stuff because it is painfully boring to be doing nothing, so he's always finding new things to do because short attention span and hyperactivity in a crew where everybody has their own stuff to do?? Not a good combo. So he's always seeing what he can do to not get bored. I think he's always touching Zoro's earrings absentmindedly like-- It's not even on purpose. He just does it. Also, being made of rubber has to be the best thing for stimming with your own body ngl. He's sooo direct and honest and blunt because he genuinely doesn't get why people don't think the same as him, but he doesn't have to get it to be emotionally attached and help you out because he makes other people's emotions his. Also add info-dumping right there because I know this guy is the biggest nerd about beetles and will talk to anybody who asks about them. They might be talking about something that has nothing in common with them and he brings them up anyway. Also! I adore the APD headcanon??? You're so right and it fits him SO well.
Zoro is my absolute beloved here because he has so much depth and feels and knows so much but people always characterize him as stoic and emotionless and like,, He just has a hard time showing it visually but he feels stuff deeply. He's always training and it almost feels like the world around him vanishes and he's always sooo eepy. Eepy boy. I get it. I think he almost finds it frustrating tbh like- We never talk about that but I think it's a bit bothersome for him sometimes? Also he's my favorite math genius and he might be shitty at directions but damn he's good at this. Also he likes things to be perfectly placed and everything to be in patterns of 3, thank you.
Sanji is the realest for me-- Don't ask him about the All Blue (please do) because he will start talking like crazy for hours and hours and hours with the brightest of smiles. If somebody wants to know about his cooking like, actually know what he's doing, he won't shut up. Somebody mentions any animal or vegetable or fruit and the guy is already telling you all the ways it can be cooked. He has a lil voice in his head telling him constantly what he should and shouldn't do btw and I also hc that he has to have everything in the right place or else he loses his mind completely. And that's tied to not being able to regulate emotions properly-- So he's constantly extremely anxious or feeling waves of sadness or just, extreme emotions in general.
68 notes · View notes
nezz-cringe-crib · 4 months ago
Note
LAWLIGHT HEADCANONS LAWLIGHT HEADCANONS LAWLIGHT HEADCANONS PLSS
Share your winsdom with us mortals
ALSO- Some L angst maybe? I like seeing him suffer bc he is my favorite blorbo and I love making my blorbos suffer
(only if you are comfortable with it, ofc. Don't wanna push anything :) )
OOOOUGHH AAAAAA ABSOLUTELY
i always suck at giving hcs off the fly, but here's some i've thought up of before and like to think about instead of sleeping :333 (be warned that they're all pretty vanilla lolz. my hcs are basic. i just like my blorbos.)
Lawlight hcs:
blorbbooo tiiimmeeeee :33 - i personally really like fluffy lawlight things, but a lot of those are usually for aus and everything (since i can't see them being very fluffy in the normal death note plot). but i like to imagine them having stupid teenage-like crush moments with each other. like maybe during the yotsuba arc or something, L wants more sweets but watari is already out doing something, so his dramatic ass is just whining about "oh woe is me....... there's nothing in the vicinity for me to munch on......... how will i ever go on......." and then to get him to shut up, light begrudgingly either bakes something for L (which could probably lead to a lot of silly shenanigans with stupid dorky smiles before light immediately takes it back and starts bickering with L again), or light convinces L to go buy some sweets from a bakery in town (and then L gets distracted because there's multiple sweet-filled stores and his greedy ass has to try all of them so now they're essentially just going on a date trip around all the sweet stores in town). - also to add onto that last bullet, there's this one fic i just read last night that was so stupid and adorable and i loved it. it's called "You can't have my name, but you can have my number" and i recommend checking it out if you like short and sweet fluffy fics. :] (and if you want more fluffy fics, go read everything @rawrlight has made. his fics are so fucking good please read them i am obsessed with them actually pleasepleasepleaseplease) - L is surprisingly good with kids and light won't admit it but he's kinda into it. - L nonchalantly shares food with light and light totally overthinks the shit out of it. - they totally pick at each other for everything. light picks at L for every unsanitary thing he does. L picks at light for having an unnecessarily long and complicated hygiene routine (i like to imagine he has a shit ton of hair and skincare products). anybody who walks past the bathroom while they're in it is bound to hear non-stop bickering. (or, if you really wanna match my freak, have matsuda open the bathroom door while they're getting ready only to see them in the middle of a fight. whether the pose they're in looks compromisingly homosexual is up to you my dear sillies).
uhhhhhh and that's all i can think of for now. awww zoinks.....
but now L angst headcanons yipeeeeeeeee :33333
L angst hcs:
ooougghhhh buckle up boyz... it's angsty tism time..... - i don't think L was ever good at making friends (this is very much a projected headcanon but shshshshshsh ignore that). despite being insanely intelligent and pretty damn good at whatever he sets his mind to, i don't think he ever got the hang of making deep, personal connections. and i feel like he wants to. throughout his whole life, maybe he wanted to make friends but it always just fell flat. maybe as a child there were times where thought he had made a friend, only to realize those feelings were not reciprocated. despite everything he tried, he was just never "human" enough to seemingly make all those lasting connections that he analyzes so deeply. and i think he probably gave up on trying at some point. and all of this is why i feel like his connection with light is so important. even though he knows it'll end in tragedy and that he will die by light's hand, he still can't help but feel... a little more human with light. and i think he'd risk death in order to feel like that one more time. - i don't usually like reading/seeing heavily angsty stuff, but i remember seeing somebody headcanon that they thought L went through solitary confinement as a child in the wammy house, and i always thought that was interesting. i'm not gonna expand on it though since heavy angst isn't really my vibe. (i love making my blorbos suffer, but not too much.) - yeah most of my L angst is him just being incredibly lonely. in the sense of "he doesn't cry about it (he's probably only cried once in his life and that was probably as a very young child), but there's always been some missing piece in his heart that just can't ever seem to be filled". - actually-- loneliness and his inhumanity. that's what i fuck with the most. though they kind of intertwine, so. yeah i kinda just sound like a broken record atp but sshhhhhhhhhhh it pays off (sometimes) i swear. - he also has a lot of religious trauma in my eyes (again, projection). i know he's not religious or anything, but i feel like he'd fit that song "Dear God" by XTC a lot. - oh and he also sulks a fuckton. he doesn't cry, he pouts and goes to stand in the rain while reminiscing on old memories. that's what his emo dramatic ass does and i fucking love him for it.
that's all i can really think of right now. hopefully that's somewhat entertaining. most of my headcanons are very basic compared to other people i've seen, but they are still special in my heart. :))))
31 notes · View notes
wistfulenchantress · 9 months ago
Text
This photo is currently my entire personality:
Tumblr media
ok now that’s out of the way here is my intro post <3
Hello, my angel
My name is Witch
(important things are in bold)
My pronouns are they/them (preferred) or she/her, and i'm a genderqueer lesbian
It is always platonic 💛
I'm so bad at using tone indicators but you can always just ask me.
A mysterious force of nature. heart captured with the slightest hint of kindness.
Aquarius, INTJ, swiftie
@ wistfulenchantress on ao3, pinterest, instagram
i'm a minor (i'm chill with interacting with adults just don't be weird. like use common sense)
i am prob one of the most genuine people you will ever meet. if i say something i mean it, i just mean a lot of nice things. i promise i won't lie to you.
im so many fandoms. post a lot of marauders and stranger things, but i am in so many others i would love to talk about so just drop me an ask!
not consistently online rn. i'm getting back to it, but still going through some stuff
poetry blog: @thewordsofwitch
side blog for community: @troybarnesgaytruther
safe space: @safespacewithwitch
check out my ao3!!!!
my greatest triumph
asks and messages are ALWAYS open to silliness, questions, vents, or literally anything. (please put vents in my safe space sideblog, i check that inbox more often. rules for that blog can be found in its pinned post)
PLEASE DO NOT: try to get information about where i'm from, who i am, etc. i do not want to meet you in person please don't make me say no. that crosses a boundary.
NO POLITICAL TALK this is a safe space for anybody and everybody, it is a judgement free zone. i am really triggered by pressure for my political opinions. please don't. i won't respond and i will probably cry. so, please don't. if the post is overtly political you can discuss it with me but also please don’t but you can.
PLEASE DO: talk to me, spam me, do literally anything else that is appropriate. i am always bored, so please never think you are annoying. anons make my day. one time someone just told me a cute fact about their day over anon and my heart exploded. anon asks always welcome <3
please no chain mail, i will delete it
moots!!!!!! (incomplete list)
just my best friend tbh: @justiceforplutoo
my sun, moon, and stars: @garden-of-runar
literally just the best person: @tequilaqueen
absolute favorite ever: @picklerab23
the kindest and sweetest: @jamespotterbbg
genuinely one of the coolest people: @vintagetee13
so so so talented: @liggy-not-potter and @marylily-my-beloved
somehow hasn't blocked me (actually so amazing): @reo-bylerwagon
super friend: @seekmemystar
words cannot express my love: @mybedroomceilingsbored
my friendship rock from @themortalityofundyingstars: 🪨✨ (and it has sparkles)
missing out on things together with: @gildy-locks
idek how to describe how much i need him: @pangothepangolin
even more awesome people: @hisshiss-bitch @the-boy-who-drank-the-stars @moonage-nightterrors @thatrandommatildafan @theoneandonlypjofanatic
there are so many more and i will keep updating this. complain if i forgot you and i will add you, it's not deliberate im just dumb
that's all about me. have an incredible day, love <3
Tumblr media Tumblr media
(made by me)
53 notes · View notes
dreemurr-skelememer · 1 year ago
Note
Hey! I love your art so much and was wondering what brushes and/or art programs you use, I'm an artist myself and am just genuinely curious. Sorry if this is a strange ask or anything... I don't use or get on Tumblr too often. Thanks for reading this ask and have a good day/night. (This is my first ask to anyone I think)
hey!!! i use Paint Tool SAI 2!
as of the moment (which means i constantly change it) here is my main doodling/sketching/lineart brush:
Tumblr media
my coloring brush: any hard edged basic brush will do, you can also use the bucket tool or the lasso tool, it's simply for coloring
Tumblr media
my blushing brush: i blend this brush out by switching to transparency (making it an eraser) and lightly tapping the outside of the paint! (sai users, do this by pressing C on your keyboard. lifesaver been using this shortcut for years) it's versatile, i love using it for gradients
Tumblr media
marker brush (usually for ecto): i use this brush only when i want to paint ecto (which i don't do often) but you can use this for other purposes too! it's not my favorite, not even good enough for ecto imo, because my sai 1 version is much better i blend things out the EXACT SAME WAY as the blush brush so please keep that in mind!
Tumblr media
a basic brush im testing out for shading purposes: it has a little bit of texture and is made for baaasically cel shading but slightly softer and has the tiniest bit of color mixing
Tumblr media
blending brush i barely use and don't actually really like that much: i'm still testing out blending brushes that i like because i can't find one that i like that isn't just blurring colors together or making them muddy when mixed together. if anybody has suggestions, PLEASE let me know! anything like a procreate or csp blending brush that can be recreated would be great
Tumblr media
and finally, my rendering brush: it's basically a basic hard edged brush that can pick up the smallest bit of color i use it to clean up and add final touches by using the drop picker often and over the entire artwork
Tumblr media
ofc, change anything to your preferences. that's how it goes these are just the settings that work for me :) this also goes for the program LOL i know sai is not for everyone (but it's my baby my bestie my 5ever so like this is about ME)
i have an in-depth post about my CSP brushes and how i work with them (and i don't really ever use csp unless it's a big piece so it's not changing anytime soon) if that's what you have or prefer
my #ref tag is also a treasure trove of my old settings over the years if you'd like to see those too
80 notes · View notes
pimenita · 5 days ago
Text
I finished DATV so here are my thoughts:
First a bit of context: I became a dragon age fan around ten years ago, after playing Fable and looking for games that had a similar feel (and my 2 GB RAM PC could run) I knew DA Inquisition was out but there was no way my PC could take it, so I got Origins and holy shit… my 2010 PC could barely handle it too. When I tell you that the game craawwwled, that the best I could squeeze out of my computer was a stutter and that every quest must have taken me at least 3 times the normal amount of time they should have taken.
Dragon Age Origins is still one of my favorite games of all time, and as someone who joined the party very late, I'll admit experiencing that month of waiting for DATV was very exciting. After completing the game, I'll say the enthusiasm hasn't died down but not because the game is amazing, it's because DATV worked for me: it gave me what I wanted while avoiding most (most!) of the pitfalls of working on the 4th installment of a series that is close to being 20 years old.
We all know how turbulent the development of DATV was and how close to being cancelled for real it got. Is nothing better than the game we got? Not to me, I enjoyed it, I had fun, I'm still playing it (on my 2nd playthrough right now)
What saved DATV for me is what saves most everything for me: the characters. Some had good arcs, some had great arcs, and some were… there. But I never felt like they were a drag to be around. I like how they interact with each other, I love that nobody is calling anybody a slut or crazy (finally) because I get conflict, believe me, it's always fun to have your little guys wanting to kick one another's ass, but there was something so insidious in the way some conversations would go (Aveline and Isabela, just about every chat with Sera) that had me thinking it was more than just two characters tearing into each other. It was like the writer's barely disguised actual beliefs, if you know what I mean.
That being said, I know I'm not the only one that felt like some chats were too hamfisted, too on the nose—someone called the game Dragon Age: Friendship is Magic and I'm still laughing. I've seen the idea of "therapy speak" being used in books in ways that break immersion and I couldn't help feeling like some interactions the companions had were clear examples of this. What makes it weirder in my opinion is that the guys at bioware know how to write compelling conflict that makes sense and has a satisfying resolution. Let's take for example Lucanis' and Davrin's spat after the team fails to kill Ghilan'nain: they throw barbs at each other, then when they cool off they realize they were being asses, so they talk it out and make peace. Like adults, like a hardened assassin and warrior would. It adds to the conflict, it adds to the story, and it informs us of the type of people they are. Then there's Emmrich and Harding discussing a camping trip and waiting for my Rook to pick a side, and I'm like: dude you're both old enough to compromise? Also why do I care what you do with your time when we aren't fighting gods? Appalling stuff. Cut it out, think about better banter.
Then there's the huge elephant in the room: why is Thedas so sanitized? Is this the result of new writers not knowing enough about previous games?—it could be, they don't even know who Zevran is.
Tumblr media
Or is it executive meddling?—maybe, there's a screenshot going around of the writers on bluesky (I think) where they vaguepost about critics of the game being right and how they (bioware team) fought against stuff that was included regardless. So, who knows.
On this front I will only reiterate that I'm glad Zev didn't show up. I already side-eyed Isabela (and also Taash) for her ideas about "treasure hunters" (read: pirates) and how they are actually good guys if you think about it (please, don't think about it too hard). Which, fine, let's say they really believe this, the same way the Crows believe they are freedom fighters or another vaguely Latin American coded thing; I understand that people entrenched in a system can truly believe what they're selling, but where's the other side of the coin? Where's the chats about the hurt they inflict on others to achieve what they want? The Crows have that one guy that ends up being a corrupt politician, and the Lords of Fortune… well, they are there.
Dragon Age is such a centrist series that I have heard just about everything about it. That it loves elves, that it hates elves, that it's pro-mage, that it's pro-templar. And it's because it has so many different factions that defend their ideologies that you can't say for sure what the writer's feelings are on the subject (and also because it's centrist, both sides are wrong bull most of the time). I swear I love Dragon Age; it's only because I care that I point out this stuff.
But that's the thing, I'm ok with both-sides-are-wrong fiction if it means it won't be a black and white take full of good guys telling me how good they are, while the bad guys twirl their mustaches evilly. And, unfortunately and except for a few cases (Solas) I feel like DATV dropped the ball here. Actually, I'm also fine with bad guys going full camp (Hezenkoss is one of the best parts of the game) just, you know, it has to be intentional, otherwise it feels like bad writing.
tl;dr DATV has very high highs, and very low lows, and I would've loved a more polished game, but I enjoy what we got and I will keep replaying it because of the companions and because it's a fun little game… most of the time at least.
8 notes · View notes
tdinyomomma · 1 year ago
Text
TDWT- Cody X Reader: Walk Like An Egyptian Pt. 1 (Chapter Two)
If you haven’t read: one
“Season three of Total Drama, folks! The world is gonna be mine, sea to shining sea! Sadly I’m forced to share my world with a three-ring traveling teen freak show!” A bus pulls up behind Chris McLean, as he continues to talk. 
“They’ll be competing all around the globe for another one million dollars!” he grins. 
“So let’s meet our players.” The first few teens come out, “Courtney, Duncan, Heather, Gwen, Leshawna!” Introducing them. Gwen accidentally bumps into Heather. 
“Are there reserved seating? I.E. can’t have one behind Heather’s pony-hair ponytail?” She makes a jab at the once bald headed mean girl in front of her. “Um, my extensions are human hair!” Heather folds her arms. 
“You learn something new everyday.” Duncan adds in, to which Gwen giggles at. He smirks, pissing off his girlfriend, Courtney.
“Lindsay!” Chris suddenly shouts, moving on from that whole hot mess, the blonde comes down from the bus. Blowing a kiss. 
“Owen, DJ, and Harold!” He has his eyes shut, waiting for the boys to come out. 
“Hey! Oh! Ah!” Owen grunts, he comes out with DJ bear hugging him from behind. 
“Sweet Strawberry preserves! No!” The big guy yells out. “He’s afraid of flying remember?” DJ speaks for him, walking with Owen away from the bus to let others come out. 
“Aerophobia, from the Latin, as apposed to Aeronausiphobia, the fear of air sickness.” Harold tells everyone his nerdy information,
 “Keep up the fascinating facts and I’m going to be Aeronauseous all over you.” Noah threatens. 
“And returning favorites: Noah, Cody and-” 
“Yo, yo, yo! This years winner is in the house- Uh, bus. I mean runway! Where’s the plane, eh?” Ezekial announces himself. 
“I know right? Let’s fly! Whoo!” Izzy pops out, jumping onto Ezekial’s shoulders. “Watch out! Ooh!” They both fall to the ground. “Yep Izzy’s back. Also returning this season, Tyler and the co-host of Total Drama Aftermath, Bridgette.” Both the athletes trip and fall over Izzy and Ezekial who still laid on the ground from falling themselves. “
Yo, Chris, you forgot to introduce me.” Ezekiel raises his hand, Chris sighs. “And Ezekial.”
“And now to mix things up and keep it all fresh, we’re adding three new competitors. He’s an honor-roll student with a diplomat for a dad and an amazing ability to charm the pants off most species; Alejandro!” The good looking Hispanic teen struts down the steps of the bus. 
“Perhaps I can assist.” He helps up Izzy and Bridgette. “Wow-whee.” Izzy dreamily says. “I-I have a boyfriend!” Bridgette stammers. 
“And, amigos, please allow me.” Alejandro then helps up the two other boys. “Wow-whee.” Ezekiel says. “I like girls.” Tyler defends himself unnecessarily. 
“Here’s our first girl, she’s a well known actress who hates germs, super pretty by the way; [Name]!” The girl comes out with a disgusted expression, trying not to touch the handles of the bus, jumping off the last step. 
“When was the last time this thing has been washed?” She questions, squirting hand sanitizer into her hands. A few of the teens hold back squeals, waving at her and she changes her expression and waves back with a small smile, before she can walk away Chris is already announcing the next girl. 
“And she’s a sugar addicted superfan with 16 Total Drama blogs; Sierra!” The tall purple haired girl runs out, squeezing [Name] into an embrace, lifting the girl up. 
“Oh, my gosh! I love you guys! And this is the greatest day of my life and-” She gasps for breath, hyperventilating and finally letting go of the actress who hurries away from her. “Anybody, got a paper bad I can breathe into?” She asks around then is quickly over that, heading to the other contestants. 
“Ah! Oh my gosh! Cody and [Name] standing together!” She runs up to then, they both look confused. “I dreamt of this moment, Only you weren’t wearing a shirt!” She whispers the last part to Cody.
Cutting that off there’s a loud squeaking noise then they all turn to see a rusted plane.
POV change
“Excuse me, but I’d like to express some concerns about the safety of our plane.” That one smart girl, courtney raises her hand. 
“Relax it’s perfectly safe,” Chris puts his hands up but then a part of the plan falls off. Freaking out that big blonde guy. “Really looks safe.” I comment, and the Noah guy agrees with me. 
“Now, boarding!”
“No! I can’t ride in that! Call the United Nations! Call a cab! Call my mom! No I’m not doing this! I’m out, this is unethical!” He panics, but before he can keep it up, Chris knocks him out with a frying pan. “Mommy.” He whimpers. 
“Anybody else got a problem with it?” The host motions to us.
“No.” Cody says. 
“Love it!” Lindsay rubs her head nervously. 
“Dibs on the window seat.” Bridgette calls. 
“Now boarding on a voyage to a million big ones! We’re saving you a first-class seat for all the action right here on Total Drama World Tour!” Chris sings, “Seriously?” Duncan questions
We get into he plane. “Singing? Really? I thought Chris was joking about that.” Gwen exclaims. “Well I don’t have a problem with it.” Courtney shrugs. 
“Yeah, cause you like singing.” Leshawna adds in. 
“Well, I don’t. Girls sing. Little birdies sing. Duncan’s do not sing.” Duncan folds his arms.“Mm, we can tell.” I mutter, leaning my weight onto my right foot. 
“Think I’ll get to beat box?” Harold asks in a hopeful tone. “I’ll beat you if you try.” Duncan holds up a fist. 
“Why are you doing this to us?” Heather questions the host. 
“Singing reality shows are huge. And the worse the singing the higher the ratings. Which is why this show, there will be no vocal coaches or rehearsals or warning.” Chris announces. Everyone grumbles but I sat there smirking. 
Being a child star meant I had a little bit of an advantage, having extensive vocal coaching I won’t be embarrassed like the rest. 
“Anywho this is the dining area, where you all enjoy in-flight meals.” Chris shows us the room we’ve been standing in for a few minutes now. 
“Not for long, eh? Prepare to lose to the Zeke!” Ezekiel says. “Okay, so not trying to be mean here, but you do know that you got voted out first last time right?” Gwen reminds him. 
“Word. And I spent every minute since making sure that don’t happen again. I’m stronger, faster, smarter-”
 “Chattier, blabbier, can’t-shut-uppier.” Chris shouts, cutting the boy who we falters down. 
“Is there a ladies room?” Leshawna speaks up. “Just through there.” Chris points. “Good, cause I got to make a deposit.” She says.
“Losing teams will enjoy a luxurious economy-class accommodations between destinations.” Chris informs. 
“Okay, well were are our beds?” That blonde athletic girl glances around. “Owen, care to demonstrate?” Chris yells, we all turn our heads over to see Owen sleeping, strapped to the wall. “That does not look comfortable.” Heather speaks. 
“No comfort for losers.” Chris teases. “Safety harnesses and an emergency exit out. No comfort here, here, or here.” Chris jokes, Sierra goes up to him with an obnoxious laugh but it was finally away from me so I don’t care. “O.M.G. Chris I am L.O.L.” She bends down laughing. 
“We should hit the winners compartment, eh? Cause I ain’t never gonna be in here. Ha! Never!” Ezekiel confidently tells everyone.
“Is never your policy on mouthwash too, homeschool?” Noah fans his face, grossed out. We then move onto first class. 
"You smell like coconut and vanilla.” Sierra whispers in my ear and my eyes widen, I move away from her for the hundredth time. 
“This is the first-class cabin, the domain on each weeks winners.” Chris shows off,. “Now this is the kind of accommodation ladies deserve.” Alejandro flirts with Lindsay and I scrunch my face. “They get ladies in first class, too? Oh! Me! You meant me!” Lindsay then gushes at her realization, hiding behind her hand to giggle. 
“That guy is as smooth as moma’s gravy.” DJ says and I agree. “You gotta be stupid to not see it’s poisoned though.” I mutter. “Lindsay’s supposed to like me.” Tyler slumps. 
“Nobody can compete with gravy. Even the poisoned kind.” Dj nudges me and we both chuckle. “Lindsay! I can do a handspring!” We probably should’ve stopped him but instead we watch him do it and completely fail. 
“Oh my gosh! Poor… uh I’m blanking on his name- Oh! Oh! I know! Alejandro.” She holds her r=hands together. “That’s my name.” The Hispanic smirks. “And what a nice name, Alejandro. I could say it all day.” She flirts back with him. “Please do.” She giggles at his response. I look over to see that Heather girl get annoyed.
“I can see right through that guy. You know, this extra confessional is a thousand times nicer than talking in the toilet.” heather admits. “Maybe for you. I’m trying to prep for a flight here.” Chef interrupts. “Hello, venting! Shh! Anyway, new guy is so transparent. So fake, so-” “Deliciously seductive.” chef speaks up once again. “That is exactly the opposite of what I was trying to say.” The girl disagrees. “Pretty good looking guy to boot, I’m just saying. Also there’s that actress it’s gonna be tough to compete with such a loved girl like her.” “Ugh! Forget this!”
“Whoa! Where are we now? A grand piano? Wood burning pizza over? Four person hot-tub with L.E.D. light show and dancing waters?” Cody questions, pointing out everything like we couldn’t see it ourselves.
  “Definitely not ours.” I cross my arms and he looks over at me. “Huh?” “it’s Chris’s.” I laugh, his face turns red as I’m chuckling. 
“Easy tiger, [Name]s right these are my quarters. And they’re off limits? Clear?” It looks like he was mainly talking to Harold but I missed what he said. “Crystal.” Harold puts his head down. “Oh, Chris. I heart your limits.” Sierra sighs.
“Anyway, with Beth gone, Lindsiot and Ale-whatever looking like a real threat, same with Miss all-loved actress, my only strategic option is to make friends with the other new girl, But pretending to like that is gonna be hard. I do not heart the new girl.” Heather declares to the camera, even getting closer to it.
“And that’s pretty much it, I skipped the cargo hold and galley but I’m sure you’ll find those exciting destinations later when I accidentally lock you in them.” Chris uses quotation marks with his fingers towards the end, being sarcastic. Then the plane moves like there’s a huge bump. 
“One more thing. I’m sure you remember a little something called the elimination ceremony. Takes place right in here, my friends.” He points, we all follow him to the next area.
“If you don’t receive a barf bag full of airline-tissue peanuts-” 
“I got a peanut allergy, yo, or more like a sensitivity.” Ezekiel confesses. “You will be forced to a drop of shame.” Chris ignores the boy who decides to carry. 
“Okay, I just don’t like-” “Kind of like this.” Chris grabs the boy, throwing him out of the plane. “All eliminations are final, bro!” Chris waves outside the door.
Now we’re sitting back at the tables. “Every second, we’re getting closer to ad
venture. And further from momma.” DJ frowns, I pat his back. “It’s gonna be alright. You’ll be back with her in no time.” I smile, of course I notice the staring and gawking over me comforting the boy. There’s always eyes on me. 
“Cody Emmett Jameson Anderson and [Name] [Middle Name] [Last Name]. I also happen to know your birthdays are April 1st and February 14th. My own April fool and Valentine.” Sierra stares at us in a creepy way except these eyes just have to be the most unsettling the I actually want to stop looking at me.
A spotlight shows upon the host. “Whenever you hear that friendly little bell, it’s musical number time. So let’s hear ti!” Chris tells them. “But what are we supposed to sing?” Courtney asks. “You have to make it up as you go. It wouldn’t be challenging otherwise now would it?” He questions and then music really starts and the teens start singing.
“Up, up, up, up!” Courtney starts it off, three other girls after. “Sing! Sing! Sing! Sing!” Harold, Cody, DJ, and Tyler go, looking quite panicked. “We’re flying and singing. We’re flying and we’re singing!” They all bunch together to sing. Cody sits on the edge of a snack cart, [Name] behind him as Sierra pushes them. “Come fly with us!” Sierra sings, “Come fly with us!” The three then sing together. “We’ve got a lot of crazy tunes to bust. Ha-ha!” Izzy jumps out of the vent. “Come fly with us!” Bridgette stands on the couch with her arms out and Lindsay does the same thing on a seat opposite side of Bridgette. “Come fly with us!”
“It’s a pleasure and a honor and a must!” Alejandro pulls both the girls down next to him, both blush. “Dudes this is messed. You’re singing in a plane.” Duncan boredly says. “What do you expect? Chris is freaking insane- unh!” Harold gets pushed away as he was swinging around numchucks. “Yeah, but, guys you’re singing on t.v.” Gwen joins in. “Haven’t you always wanted to? It can’t just be meeeee!” Courtney dances like a ballerina around the goth girl.
Then it cuts to DJ and Leshawna dancing. “Come fly with us!” DJ starts. “Come fly with us!”
The plane shakes startling everyone, it shows [Name] grabbing onto Cody since he’s the only one near, then she let’s go and uses her hand sanitizer. “Do you know how to steer this thing?” Heather grips her seat besides Chef Hatchet. “I try.” He leans back in his seat, feet kicked up. “They thought they could leave me and depart! But this stowaway’s got winning in his heart!” Ezekiel belts, coming out of the suitcases in the cargo.
“Come fly with us! Come die with us!” Noah watches outside one of the plane windows to see one of the jets smoking. “We’re flying? I hate flying! Stop the plane!” Owen wakes up in a panic but just gets knocked out again by Chris.
“Come fly wit us! Come sing with us!” A group tries to persuade Gwen and Duncan. “No!” They fold their arms, Chris walks over with a smug expression laid out on his face, papers in his hands. “Anyone care for a copy of the season three rules? Because in order to escape instant elimination-” His singing gets cut off by Bridgette taking the papers out of his hand. “All the contestants must sing in each show!” She reads out, pissing off Chris.
“Duncan, do it, let’s go!” Courtney nudges her boyfriend. “Gwen sing it, don’t go!” Cody pleads. “Well, I don’t want to go home.” She looks annoyed. “Come fly with us! Come fly with us! Come and fly with us!” Gwen shoots up doing a little dance where she ends up on her knees. “Duncan come on, please!” Courtney clasps her hands together. “This su-u-u-cks!” He belts and they all go around him, posing to finish off the song. “Yeah!” They do jazz hands.
“Enough singing fruitcakes, strap yourselves in. We are now beginning our descent into Egypt. Musical numbers. Worst idea ever. Chris is such an id- Hey, why is this P.A. light still in?” Chris gasps at Chef’s words. “Oh sh-” The P.A. turns off. “We’ll be right back.” Chris tells the audience in a short tone, scrunching his face in anger.
And here we stand, in a scorching hot dessert with pyramids. 
“You guys ready for a little fun?” Chris comes over on a chair in Egyptian clothing, carried by two interns. “Huh? Wow! It’s a scorcher out here huh?” He takes a long sip of his cold beverage. “I call today’s challenge… pyramid over under.” He declares.
“An 11-hour flight, Chef’s in-flight cuisine, a forced musical number. Now we’ve got a challenge?!” Leshawna questions his show. I’m really starting to wish I had a different agent as I fan myself with my hand.
“Don’t you love this game?”
He moved us all over to a line to start a race of some sort. “It’s like we’re being cooked in a giant oven.” Harold complains. 
“It might help if you weren’t dressed like a giant baked potato.” Leshawna tell shim, Harold wears a foil hat on his head. 
“Aluminum foil means the aliens can’t read your brains. It’s a real problem in this area.” Harold informs her but is cut off by a cymbal crashing. 
“Man, that’s satisfying. All right. Pyramid over under means you chose how you’ll get to the finish line- either over or under the pyramid. Got it?” We all nod to his instructions. 
“Ready… Set…” “Wait up, yo! You guys wait up!” Ezekial runs in. “I told you I wasn’t gonna lose this time, eh?” Ezekiel points a finger in Chris’s face. “Didn’t we leave you in like Halifax or whitehorse or whatever?” Chris asks. 
“It’s called landing gear, homie. I climbed it and hid with the cargo.” He tells him. “Impressive but you’re still out.” The host cuts off his dream. “No way! I’m in it to win it! Word!” Ezekiel angrily stomps. “Hey, it’s your funeral.” He just carries on. 
“Set… Go!”
We all begin running.
“Oh, great. Our friendly neighborhood host dude failed to mention there were different paths.” Noah says in a monotone voice. I like him. 
“Hey, Sierra which way do you think we should go?” Heather speaks up. “Me!?” Um… uh…” She thinks about it.
 “How do we know which is right?” Owen asks. 
“I know! Okay, I saw this in a spy movie once. You lick your finger and hold it up to find the air flow.” Izzy then licks her finger, “mmm, this sand really crunches in your teeth. Fun!” She doesn’t even do what she explained, instead turns to Owen and DJ. 
“Okay, DJ, give me your hand.”
“Don’t do it DJ. You might catch a case of crazy.” Leshawna jumps before he can do it. 
“Come on Harold.” The three walk away, going through the middle door way. 
“Oh, oh, oh! Let’s take the scary mummy door!” Izzy points up. I fold my arms and end up following Sierra and Heather. Well I didn’t really have a choice as Sierra grabbed me by the bottom of my shirt for me to walk beside her. 
As we make our way through Sierra steps onto a booby trap. Arrows shooting out of the wall almost getting us but Heather shoves us to the ground. 
“Oops, sorry guys.” We get back up, I notice Heather fight back getting mad. “Honest mistake. Could have happened to anybody.” Heather forces a sweet smile. “Yeah, okay and it almost killed us. I’m not okay with this “honest” mistake.” I announce, walking ahead. “Awe, I’m sorry [Name]!” Sierra follows after me. 
“Stop touching me!” I make a disgusted face. 
We end up bumping into Cody, I try to tell him to go away but he stared at me instead and got caught by Sierra.
We hear a groan and a Mummy had it’s arms out, starting to follow us, out of fear and not knowing who it was we started screaming a running, eventually finding our way out of the pyramid. When we make it out, Sierra was holding Cody and somehow now holding the bottom of my shirt again.
 “Oh, I’m so happy we found you. Heather aren’t you so happy? I have both of my loves!” Sierra speaks to the girl behind us. 
“I’m so happy I could scream.” Heather sarcastically says and we make it past the finish line. 
“We did it! Group hug!” Sierra places down Cody then squishes us into a hug with her. “Come on, Heath! You too!” I watch the brunette roll her eyes then force herself to join us into this already forced embrace. 
“And hugs over, Sierra get behind number 2. Heather, Cody, and [Name], you’ll be on team three.” Chris tells us and I feel relief wash over me as Sierra is not with us on this team.
“In Egyptian-” “No one cares, Harold.” Chris cuts him off. “Where’s Gwen? Not like I care, just curious.” Cody rambles after glancing over to me. “Uh, kids!” That ding sound goes off and Chris is shouting up the pyramid with a megaphone. 
“Recognize that sound? Time for whoever's not finished yet to give us a little musical reprise.” Chris pints up to them. “You said one song per episode.” Duncan angrily shouts down. 
“Yeah and this is a reprise. Not a new song. So if you don’t sing. You’re out, now let’s hear it!” Chris yells.
“You know what? No!” He storms down the pyramid, dragging the two girls behind him. 
“No, no, no, no, no, no, no! Three hours of those two squawking on this stupid pyramid in this stupid heat and you want me to sing?! Forget it!” Duncan spits in the host’s face. 
“Dude, you have a contract.”
 “Eat it McLean! If you need me, I’ll be in the plane waiting for a ride home, cause I’m out. Done.” He cuts the rope he’s tied to after twirling the knife in his hand. 
“I quit!” He stomps off.
“Girls on the rebound are the best. They cry and ten you et to buy them a pop and listen and then well they still won’t go out with you but yo get to buy them a pop!” Cody enthusiastically says.
Then comes out the two mummies one actually being Izzy, the same one that followed us out fo the pyramid having us scared for our lives. 
“You’re carrying the undead!” Noah screams. “Cool! Bite me and I can be your undead friend, like Frankenstein!” Izzy says but it jumps out unwrapping itself. 
“Thanks for all the help you knobs.” Ezekiel thanks us sarcastically.
 “Izzy go join team-” “Teleta or three.” Harold cuts off Chris. 
“Come on, guy! After all this, you’ve got to let me back in the game!” Ezekiel whines, begging. Chris pushes him down by the head. 
“Fine, but only cause we’re down a man, thanks to Duncan McQuitty-pants. Go ahead and join team one.” Chris tells him. “Oh! Yes!” The kid cheers.
“Okay, teams talk amongst yourselves and determine a team name. You have three minutes while I enjoy this ice cream cone.”
“Team victory!” Team one says.
“Team Amazon!” My team says.
Then the second team takes a really long time to pick one. “Got it, Team Chris is really really, really, really hot.” Sierra declares loudly making it the name. “What!?” The rest of her team questions.
“All right, best team name ever! And here are your rewards. Team amazon you win a camel.” He shows off the animal. “Team Chris is really, really, really, really, really hot-” “I think there were only four reallys.” Alejandro corrects but is ignored. “You win a goat!” The goat then runs, crashing into Tyler knocking him down.
“And team victory here, you go.” He shows a stick. 
“So the guys who come in last get a camel and we get a stick?” Leshawna speaks up for her team. 
“All will be explained if I feel like it. Next time here on Total Drama World Tour!” 
Sorry for the late post I had a few things happen the past few days but tomorrow I will try to get the next chapter for the Heather x Reader out and then after that is Cody I do have a family issue rn so it might put a slight hold on some writing later in the week but I don't know. Thank you for your patience!
Link to other writings
Taglist: if you want to be added lmk!
@marsyay78
@ghostdoodlen
@laecrowa
@pulling-out-my-eyes
@tulipatheticee
55 notes · View notes
andymakesgames · 7 months ago
Text
Balatro-Inspired Spinning Card Tweetcart Breakdown
I recently made a tweetcart of a spinning playing card inspired by finally playing Balatro, the poker roguelike everybody is talking about.
If you don't know what a tweetcart is, it's a type of size-coding where people write programs for the Pico-8 fantasy console where the source code is 280 characters of less, the length of a tweet.
I'm actually not on twitter any more, but I still like 280 characters as a limitation. I posted it on my mastodon and my tumblr.
Here's the tweetcart I'm writing about today:
Tumblr media
And here is the full 279 byte source code for this animation:
a=abs::_::cls()e=t()for r=0,46do for p=0,1,.025do j=sin(e)*20k=cos(e)*5f=1-p h=a(17-p*34)v=a(23-r)c=1+min(23-v,17-h)%5/3\1*6u=(r-1)/80z=a(p-.2)if(e%1<.5)c=a(r-5)<5and z<u+.03and(r==5or z>u)and 8or 8-sgn(h+v-9)/2 g=r+39pset((64+j)*p+(64-j)*f,(g+k)*p+(g-k)*f,c)end end flip()goto _
This post is available with much nicer formatting on the EMMA blog. You can read it here.
You can copy/paste that code into a blank Pico-8 file to try it yourself. I wrote it on Pico-8 version 0.2.6b.
I'm very pleased with this cart! From a strictly technical perspective I think it's my favorite that I've ever made. There is quite a bit going on to make the fake 3D as well as the design on the front and back of the card. In this post I'll be making the source code more readable as well as explaining some tools that are useful if you are making your own tweetcarts or just want some tricks for game dev and algorithmic art.
Expanding the Code
Tweetcarts tend to look completely impenetrable, but they are often less complex than they seem. The first thing to do when breaking down a tweetcart (which I highly recommend doing!) is to just add carriage returns after each command.
Removing these line breaks is a classic tweetcart method to save characters. Lua, the language used in Pico-8, often does not need a new line if a command does not end in a letter, so we can just remove them. Great for saving space, bad for readability. Here's that same code with some line breaks, spaces and indentation added:
a=abs ::_:: cls() e=t() for r=0,46 do for p=0,1,.025 do j=sin(e)*20 k=cos(e)*5 f=1-p h=a(17-p*34) v=a(23-r) c=1+min(23-v,17-h)%5/3\1*6 u=(r-1)/80 z=a(p-.2) if(e%1<.5) c= a(r-5) < 5 and z < u+.03 and (r==5 or z>u) and 8 or 8-sgn(h+v-9)/2 g=r+39 pset((64+j)*p+(64-j)*f,(g+k)*p+(g-k)*f,c) end end flip()goto _
Note: the card is 40 pixels wide and 46 pixels tall. Those number will come up a lot. As will 20 (half of 40) and 23 (half of 46).
Full Code with Variables and Comments
Finally, before I get into what each section is doing, here is an annotated version of the same code. In this code, variables have real names and I added comments:
[editor's note. this one came out terribly on tumblr. Please read the post on my other blog to see it]
This may be all you need to get a sense of how I made this animation, but the rest of this post will be looking at how each section of the code contributes to the final effect. Part of why I wanted to write this post is because I was happy with how many different tools I managed to use in such a small space.
flip() goto_
This pattern shows up in nearly every tweetcart:
::_:: MOST OF THE CODE flip()goto _
This has been written about in Pixienop's Tweetcart Basics which I highly recommend for anybody curious about the medium! The quick version is that using goto is shorter than declaring the full draw function that Pico-8 carts usually use.
Two Spinning Points
The card is drawn in rows starting from the top and going to the bottom. Each of these lines is defined by two points that move around a center point in an elliptical orbit.
The center of the top of the card is x=64 (dead center) and y=39 (a sort of arbitrary number that looked nice).
Then I get the distance away from that center that my two points will be using trigonometry.
x_dist = sin(time)*20 y_dist = cos(time)*5
Here are those points:
Tumblr media
P1 adds x_dist and y_dist to the center point and P2 subtracts those same values.
Those are just the points for the very top row. The outer for loop is the vertical rows. The center x position will be the same each time, but the y position increases with each row like this: y_pos = row+39
Here's how it looks when I draw every 3rd row going down:
Tumblr media
It is worth noting that Pico-8 handles sin() and cos() differently than most languages. Usually the input values for these functions are in radians (0 to two pi), but in Pico-8 it goes from 0 to 1. More info on that here. It takes a little getting used to but it is actually very handy. More info in a minute on why I like values between 0 and 1.
Time
In the shorter code, e is my time variable. I tend to use e for this. In my mind it stands for "elapsed time". In Pico-8 time() returns the current elapsed time in seconds. However, there is a shorter version, t(), which obviously is better for tweetcarts. But because I use the time value a lot, even the 3 characters for t() is often too much, so I store it in the single-letter variable e.
Because it is being used in sine and cosine for this tweetcart, every time e reaches 1, we've reached the end of a cycle. I would have liked to use t()/2 to slow this cart down to be a 2 second animation, but after a lot of fiddling I wound up being one character short. So it goes.
e is used in several places in the code, both to control the angle of the points and to determine which side of the card is facing the camera.
Here you can see how the sine value of e controls the rotation and how we go from showing the front of the card to showing the back when e%1 crosses the threshold of 0.5.
Tumblr media
Drawing and Distorting the Lines
Near the top and bottom of the loop we'll find the code that determines the shape of the card and draws the horizontal lines that make up the card. Here is the loop for drawing a single individual line using the code with expanded variable names:
for prc = 0,1,.025 do x_dist = sin(time)*20 y_dist = cos(time)*5 ... y_pos = row+39 pset( (64+x_dist)*prc + (64-x_dist)*(1-prc), (y_pos+y_dist)*prc + (y_pos-y_dist)*(1-prc), color) end
You might notice that I don't use Pico-8's line function! That's because each line is drawn pixel by pixel.
This tweetcart simulates a 3D object by treating each vertical row of the card as a line of pixels. I generate the points on either side of the card(p1 and p2 in this gif), and then interpolate between those two points. That's why the inner for loop creates a percentage from 0 to 1 instead of pixel positions. The entire card is drawn as individual pixels. I draw them in a line, but the color may change with each one, so they each get their own pset() call.
Here's a gif where I slow down this process to give you a peek at how these lines are being drawn every frame. For each row, I draw many pixels moving across the card between the two endpoints in the row.
Tumblr media
Here's the loop condition again: for prc = 0,1,.025 do
A step of 0.025 means there are 40 steps (0.025 * 40 = 1.0). That's the exact width of the card! When the card is completely facing the camera head-on, I will need 40 steps to make it across without leaving a gap in the pixels. When the card is skinnier, I'm still drawing all 40 pixels, but many of them will be in the same place. That's fine. The most recently drawn one will take priority.
Getting the actual X and Y position
I said that the position of each pixel is interpolated between the two points, but this line of code may be confusing:
y_pos = row+39 pset( (64+x_dist)*prc + (64-x_dist)*(1-prc), (y_pos+y_dist)*prc + (y_pos-y_dist)*(1-prc), color)
So let's unpack it a little bit. If you've ever used a Lerp() function in something like Unity you've used this sort of math. The idea is that we get two values (P1 and P2 in the above example), and we move between them such that a value of 0.0 gives us P1 and 1.0 gives us P2.
Here's a full cart that breaks down exactly what this math is doing:
Tumblr media
::_:: cls() time = t()/8 for row = 0,46 do for prc = 0,1,.025 do x_dist = sin(time)*20 y_dist = cos(time)*5 color = 9 + row % 3 p1x = 64 + x_dist p1y = row+39 + y_dist p2x = 64 - x_dist p2y = row+39 - y_dist x = p2x*prc + p1x*(1-prc) y = p2y*prc + p1y*(1-prc) pset( x, y, color) end end flip()goto _
I'm defining P1 and P2 very explicitly (getting an x and y for both), then I get the actual x and y position that I use by multiplying P2 by prc and P1 by (1-prc) and adding the results together.
This is easiest to understand when prc is 0.5, because then we're just taking an average. In school we learn that to average a set of numbers you add them up and then divide by how many you had. We can think of that as (p1+p2) / 2. This is the same as saying p1*0.5 + p2*0.5.
But the second way of writing it lets us take a weighted average if we want. We could say p1*0.75 + p2*0.25. Now the resulting value will be 75% of p1 and 25% of p2. If you laid the two values out on a number line, the result would be just 25% of the way to p2. As long as the two values being multiplied add up to exactly 1.0 you will get a weighted average between P1 and P2.
I can count on prc being a value between 0 and 1, so the inverse is 1.0 - prc. If prc is 0.8 then 1.0-prc is 0.2. Together they add up to 1!
I use this math everywhere in my work. It's a really easy way to move smoothly between values that might otherwise be tricky to work with.
Compressing
I'm using a little over 400 characters in the above example. But in the real cart, the relevant code inside the loops is this:
j=sin(e)*20 k=cos(e)*5 g=r+39 pset((64+j)*p+(64-j)*f,(g+k)*p+(g-k)*f,c)
which can be further condensed by removing the line breaks:
j=sin(e)*20k=cos(e)*5g=r+39pset((64+j)*p+(64-j)*f,(g+k)*p+(g-k)*f,c)
Because P1, P2 and the resulting interpolated positions x and y are never used again, there is no reason to waste chars by storing them in variables. So all of the interpolation is done in the call to pset().
There are a few parts of the calculation that are used more than once and are four characters or more. Those are stored as variables (j, k & g in this code). These variables tend to have the least helpful names because I usually do them right at the end to save a few chars so they wind up with whatever letters I have not used elsewhere.
Spinning & Drawing
Here's that same example, but with a checker pattern and the card spinning. (Keep in mind, in the real tweetcart the card is fully draw every frame and would not spin mid-draw)
Tumblr media
This technique allows me to distort the lines because I can specify two points and draw my lines between them. Great for fake 3D! Kind of annoying for actually drawing shapes, because now instead of using the normal Pico-8 drawing tools, I have to calculate the color I want based on the row (a whole number between0 and 46) and the x-prc (a float between 0 and 1).
Drawing the Back
Here's the code that handles drawing the back of the card:
h=a(17-p*34) v=a(23-r) c=1+min(23-v,17-h)%5/3\1*6
This is inside the nested for loops, so r is the row and p is a percentage of the way across the horizontal line.
c is the color that we will eventually draw in pset().
h and v are the approximate distance from the center of the card. a was previously assigned as a shorthand for abs() so you can think of those lines like this:
h=abs(17-p*34) v=abs(23-r)
v is the vertical distance. The card is 46 pixels tall so taking the absolute value of 23-r will give us the distance from the vertical center of the card. (ex: if r is 25, abs(23-r) = 2. and if r is 21, abs(23-r) still equals 2 )
As you can probably guess, h is the horizontal distance from the center. The card is 40 pixels wide, but I opted to shrink it a bit by multiplying p by 34 and subtracting that from half of 34 (17). The cardback just looks better with these lower values, and the diamond looks fine.
The next line, where I define c, is where things get confusing. It's a long line doing some clunky math. The critical thing is that when this line is done, I need c to equal 1 (dark blue) or 7 (white) on the Pico-8 color pallette.
Here's the whole thing: c=1+min(23-v,17-h)%5/3\1*6
Here is that line broken down into much more discrete steps.
c = 1 --start with a color of 1 low_dist = min(23-v,17-h) --get the lower inverted distance from center val = low_dist % 5 --mod 5 to bring it to a repeating range of 0 to 5 val = val / 3 --divide by 3. value is now 0 to 1.66 val = flr(val) --round it down. value is now 0 or 1 val = val * 6 --multiply by 6. value is now 0 or 6 c += val --add value to c, making it 1 or 7
The first thing I do is c=1. That means the entire rest of the line will either add 0 or 6 (bumping the value up to 7). No other outcome is acceptable. min(23-v,17-h)%5/3\1*6 will always evaluate to 0 or 6.
I only want the lower value of h and v. This is what will give it the nice box shape. If you color the points inside a rectangle so that ones that are closer to the center on their X are one color and ones that are closer to the center on their Y are a different color you'll get a pattern with clean diagonal lines running from the center towards the corners like this:
Tumblr media
You might think I would just use min(v,h) instead of the longer min(23-v,17-h) in the actual code. I would love to do that, but it results in a pattern that is cool, but doesn't really look like a card back.
Tumblr media
I take the inverted value. Instead of having a v that runs from 0 to 23, I flip it so it runs from 23 to 0. I do the same for h. I take the lower of those two values using min().
Then I use modulo (%) to bring the value to a repeating range of 0 to 5. Then I divide that result by 3 so it is 0 to ~1.66. The exact value doens't matter too much because I am going round it down anyway. What is critical is that it will become 0 or 1 after rounding because then I can multiply it by a specific number without getting any values in between.
Wait? If I'm rounding down, where is flr() in this line: c=1+min(23-v,17-h)%5/3\1*6?
It's not there! That's because there is a sneaky tool in Pico-8. You can use \1 to do the same thing as flr(). This is integer division and it generally saves a 3 characters.
Finally, I multiply the result by 6. If it is 0, we get 0. If it is 1 we get 6. Add it to 1 and we get the color we want!
Here's how it looks with each step in that process turned on or off:
Tumblr media
A Note About Parentheses
When I write tweetcarts I would typically start by writing this type of line like this: c=1+ (((min(23-v,17-h)%5)/3) \1) *6
This way I can figure out if my math makes sense by using parentheses to ensure that my order of operations works. But then I just start deleting them willy nilly to see what I can get away with. Sometimes I'm surprised and I'm able to shave off 2 characters by removing a set of parentheses.
The Face Side
The face side with the diamond and the "A" is a little more complex, but basically works the same way as the back. Each pixel needs to either be white (7) or red (8). When the card is on this side, I'll be overwriting the c value that got defined earlier.
Tumblr media
Here's the code that does it (with added white space). This uses the h and v values defined earlier as well as the r and p values from the nested loops.
u=(r-1)/80 z=a(p-.2) if(e%1<.5) c= a(r-5) < 5 and z < u+.03 and (r==5 or z>u) and 8 or 8-sgn(h+v-9)/2
Before we piece out what this is doing, we need to talk about the structure for conditional logic in tweetcarts.
The Problem with If Statements
The lone line with the if statement is doing a lot of conditional logic in a very cumbersome way designed to avoid writing out a full if statement.
One of the tricky things with Pico-8 tweetcarts is that the loop and conditional logic of Lua is very character intensive. While most programming language might write an if statement like this:
if (SOMETHING){ CODE }
Lua does it like this:
if SOMETHING then CODE end
Using "then" and "end" instead of brackets means we often want to bend over backwards to avoid them when we're trying to save characters.
Luckily, Lua lets you drop "then" and "end" if there is a single command being executed inside the if.
This means we can write
if(e%1 < 0.5) c=5
instead of
if e%1 < 0.5 then c=5 end
This is a huge savings! To take advantage of this, it is often worth doing something in a slightly (or massively) convoluted way if it means we can reduce it to a single line inside the if. This brings us to:
Lua's Weird Ternary Operator
In most programming language there is an inline syntax to return one of two values based on a conditional. It's called the Ternary Operator and in most languages I use it looks like this:
myVar = a>b ? 5 : 10
The value of myVar will be 5 if a is greater than b. Otherwise is will be 10.
Lua has a ternary operator... sort of. You can read more about it here but it looks something like this:
myVar = a>b and 5 or 10
Frankly, I don't understand why this works, but I can confirm that it does.
In this specific instance, I am essentially using it to put another conditional inside my if statement, but by doing it as a single line ternary operation, I'm keeping the whole thing to a single line and saving precious chars.
The Face Broken Out
The conditional for the diamond and the A is a mess to look at. The weird syntax for the ternary operator doesn't help. Neither does the fact that I took out any parentheses that could make sense of it.
Here is the same code rewritten with a cleaner logic flow.
--check time to see if we're on the front half if e%1 < .5 then --this if checks if we're in the A u=(r-1)/80 z=a(p-.2) if a(r-5) < 5 and z < u+.03 and (r==5 or z>u) then c = 8 --if we're not in the A, set c based on if we're in the diamond else c = 8-sgn(h+v-9)/2 end end
The first thing being checked is the time. As I explained further up, because the input value for sin() in Pico-8 goes from 0 to 1, the midpoint is 0.5. We only draw the front of the card if e%1 is less than 0.5.
After that, we check if this pixel is inside the A on the corner of the card or the diamond. Either way, our color value c gets set to either 7 (white) or 8 (red).
Let's start with diamond because it is easier.
The Diamond
This uses the same h and v values from the back of the card. The reason I chose diamonds for my suit is that they are very easy to calculate if you know the vertical and horizontal distance from a point! In fact, I sometimes use this diamond shape instead of proper circular hit detection in size-coded games.
Let's look at the line: c = 8-sgn(h+v-9)/2
This starts with 8, the red color. Since the only other acceptable color is 7 (white), tha means that sgn(h+v-9)/2 has to evaluate to either 1 or 0.
sgn() returns the sign of a number, meaning -1 if the number is negative or 1 if the number is positive. This is often a convenient way to cut large values down to easy-to-work-with values based on a threshold. That's exactly what I'm doing here!
h+v-9 takes the height from the center plus the horizontal distance from the center and checks if the sum is greater than 9. If it is, sgn(h+v-9) will return 1, otherwise -1. In this formula, 9 is the size of the diamond. A smaller number would result in a smaller diamond since that's the threshold for the distance being used. (note: h+v is NOT the actual distance. It's an approximation that happens to make a nice diamond shape.)
OK, but adding -1 or 1 to 8 gives us 7 or 9 and I need 7 or 8.
That's where /2 comes in. Pico-8 defaults to floating point math, so dividing by 2 will turn my -1 or 1 into -0.5 or 0.5. So this line c = 8-sgn(h+v-9)/2 actually sets c to 7.5 or 8.5. Pico-8 always rounds down when setting colors so a value of 7.5 becomes 7 and 8.5 becomes 8. And now we have white for most of the card, and red in the space inside the diamond!
The A
The A on the top corner of the card was the last thing I added. I finished the spinning card with the card back and the diamond and realized that when I condensed the whole thing, I actually had about 50 characters to spare. Putting a letter on the ace seemed like an obvious choice. I struggled for an evening trying to make it happen before deciding that I just couldn't do it. The next day I took another crack at it and managed to get it in, although a lot of it is pretty ugly! Luckily, in the final version the card is spinning pretty fast and it is harder to notice how lopsided it is.
I mentioned earlier that my method of placing pixels in a line between points is great for deforming planes, but makes a lot of drawing harder. Here's a great example. Instead of just being able to call print("a") or even using 3 calls to line() I had to make a convoluted conditional to check if each pixel is "inside" the A and set it to red if it is.
I'll do my best to explain this code, but it was hammered together with a lot of trial and error. I kept messing with it until I found an acceptable balance between how it looked and how many character it ate up.
Here are the relevant bits again:
u=(r-1)/80 z=a(p-.2) if a(r-5) < 5 and z < u+.03 and (r==5 or z>u) then c = 8
The two variables above the if are just values that get used multiple times. Let's give them slightly better names. While I'm making edits, I'll expand a too since that was just a replacement for abs().
slope = (r-1)/80 dist_from_center = abs(p-.2) if abs(r-5) < 5 and dist_from_center < slope+.03 and (r==5 or dist_from_center>slope) then c = 8
Remember that r is the current row and p is the percentage of the way between the two sides where this pixel falls.
u/slope here is basically how far from the center line of the A the legs are at this row. As r increases, so does slope (but at a much smaller rate). The top of the A is very close to the center, the bottom is further out. I'm subtracting 1 so that when r is 0, slope is negative and will not be drawn. Without this, the A starts on the very topmost line of the card and looks bad.
z/dist_from_center is how far this particular p value is from the center of the A (not the center of the card), measured in percentage (not pixels). The center of the A is 20% of the way across the card. This side of the card starts on the right (0% is all the way right, 100% is all the way left), which is why you see the A 20% away from the right side of the card.
Tumblr media
These values are important because the two legs of the A are basically tiny distance checks where the slope for a given r is compared against the dist_from_center. There are 3 checks used to determine if the pixel is part of the A.
if a(r-5) < 5 and z < u+.03 and (r==5 or z>u) then
The first is abs(r-5) < 5. This checks if r is between 1 and 9, the height of my A.
The second is dist_from_center < slope+.03. This is checking if this pixel's x distance from the center of the A is no more than .03 bigger than the current slope value. This is the maximum distance that will be considered "inside" the A. All of this is a percentage, so the center of the A is 0.20 and the slope value will be larger the further down the A we get.
Because I am checking the distance from the center point (the grey line in the image above), this works on either leg of the A. On either side, the pixel can be less than slope+.03 away.
Finally, it checks (r==5 or dist_from_center>slope). If the row is exactly 5, that is the crossbar across the A and should be red. Otherwise, the distance value must be greater than slope (this is the minimum value it can have to be "inside" the A). This also works on both sides thanks to using distance.
Although I am trying to capture 1-pixel-wide lines to draw the shape of the A, I could not think of a cleaner way than doing this bounding check. Ignoring the crossbar on row 5, you can think about the 2nd and 3rd parts of the if statement essentially making sure that dist_from_center fits between slope and a number slightly larger than slope. Something like this:
slope < dist_from_center < slope+0.03
Putting it Together
All of this logic needed to be on a single line to get away with using the short form of the if statement so it got slammed into a single ternary operator. Then I tried removing parentheses one at a time to see what was structurally significant. I wish I could say I was more thoughtful than that but I wasn't. The end result is this beefy line of code:
if(e%1<.5)c=a(r-5)<5and z<u+.03and(r==5or z>u)and 8or 8-sgn(h+v-9)/2
Once we've checked that e (our time value) is in the phase where we show the face, the ternary operator checks if the pixel is inside the A. If it is, c is set to 8 (red). If it isn't, then we set c = 8-sgn(h+v-9)/2, which is the diamond shape described above.
That's It!
Once we've set c the tweetcart uses pset to draw the pixel as described in the section on drawing the lines.
Here's the full code and what it looks like when it runs again. Hopefully now you can pick out more of what's going on!
a=abs::_::cls()e=t()for r=0,46do for p=0,1,.025do j=sin(e)*20k=cos(e)*5f=1-p h=a(17-p*34)v=a(23-r)c=1+min(23-v,17-h)%5/3\1*6u=(r-1)/80z=a(p-.2)if(e%1<.5)c=a(r-5)<5and z<u+.03and(r==5or z>u)and 8or 8-sgn(h+v-9)/2 g=r+39pset((64+j)*p+(64-j)*f,(g+k)*p+(g-k)*f,c)end end flip()goto _
Tumblr media
I hope this was helpful! I had a lot of fun writing this cart and it was fun to break it down. Maybe you can shave off the one additional character needed to slow it down by using e=t()/2 a bit. If you do, please drop me a line on my mastodon or tumblr!
And if you want to try your hand at something like this, consider submitting something to TweetTweetJam which just started! You'll get a luxurious 500 characters to work with!
Links and Resources
There are some very useful posts of tools and tricks for getting into tweetcarts. I'm sure I'm missing many but here are a few that I refer to regularly.
Pixienop's tweetcart basics and tweetcart studies are probably the single best thing to read if you want to learn more.
Trasevol_Dog's Doodle Insights are fascinating, and some of them demonstrate very cool tweetcart techniques.
Optimizing Character Count for Tweetcarts by Eli Piilonen / @2DArray
Guide for Making Tweetcarts by PrincessChooChoo
The official documentation for the hidden P8SCII Control Codes is worth a read. It will let you do wild things like play sound using the print() command.
I have released several size-coded Pico-8 games that have links to heavily annotated code:
Pico-Mace
Cold Sun Surf
1k Jump
Hand Cram
And if you want to read more Pico-8 weirdness from me, I wrote a whole post on creating a networked Pico-8 tribute to Frog Chorus.
15 notes · View notes
devilsrecreation · 1 year ago
Text
Thoughts about The Zebra Mastermind since it’s one of my favorite episodes
Honestly I only watch clips of this episode for the Outlanders
I love how this ep is basically an idiot contest
Doesn’t have the best song, but it’s cute
I swear to god Chungu and Cheezi are the hyena equivalent of Spongebob and Patrick. They share exactly one braincell and I love them
“Cheezi, did we just get an idea???”
“Yeah! Our first one!”
“WE’RE anybody!”
“Oh yeah! We are!”
PLEASE
Chungu how to you know exactly what someone’s talking about with such vague information you actually have a gift
Tumblr media
I know they had worse intentions but just the thought of the hyenas and crocodiles giving the Lion Guard flowers and belly rubs is actually kinda cute.
Get yourselves a partner who calls you cute nicknames like Goigoi does to Reirei
I love how Goigoi’s always trying to make Reirei happy
Goigoi…honey….that’s not how stripes work-
I love how this implies Kiburi has his own version of the term “furbrains”. We deserved to hear Kiburi call Tamka and Nduli “fish-for-brains”
“Speaking of fish, let’s go find something to eat!”
Same, Tamka. Same
SO CANON FACT ABOUT TAMKA: RUBBING HIS TUMMY PUTS HIM TO SLEEP AND THAT’S LIKE THE CUTEST THING EVER
I love to imagine Pua was the one to discover that. Like a baby Tamka was fussing and Pua, desperate to get him to calm down, took his mate’s suggestion and gently rubbed his son’s tummy with his tail. Turns out it worked
Nduli saying how they should tell Kiburi about Thurston’s advice just adds to my headcanon that they’re close
Tamka how did you know zebras were more related to donkeys than horses? I’m so proud of you!
Nduli actually acted like he wanted to straight up murder Thurston. To be fair, they were planning to eat him anyway but holy shit Nduli was ahead of everyone.
Tumblr media
Look at this shit. Even Tamka’s like “Oh shit dude, calm down”. He really said 👀
It’s kinda sweet of Tamka to make sure everyone gets a fair portion of zebra. Lot of other Outlanders would just take however much they wanted, but Tamka’s like “nah, if we were all tricked by the zebra, we all get out fair share of him”. Sweet boy
Anybody gonna tell Chungu zebras don’t have wings? No?
Why couldn’t we get more sassy Nduli? “Back off and hush up!” like damn ok
Stop they all look so cute when they’re annoyed. Especially Chungu. His face is the best
I love to think Nne and Tano were watching everything go down placing bets on how long they can stand before the guard kicks their fellow Outlanders’ tails
“Betcha half my lunch they won’t last a minute”
“You’re on!”
20 notes · View notes