#there still lies the problem of me not knowing what to do for alt modes
Explore tagged Tumblr posts
quibbs126 · 6 days ago
Text
So I had a random OC idea right now. Probably won’t use it but I still wanted to share anyways
Okay so basically, it’s just “TF One skystar kid”. Skyfire only found out about being sparked (I’m pretty sure that’s the term) after Sentinel’s betrayal and the High Guard being hunted down and presumed dead, so basically Starscream has no idea his kid exists
I imagine the drama would only really start post movie, with either Skyfire finding out Starscream is alive and trying to find a way to tell him about the situation, or Skyfire and/or the kid joining Optimus’ team of Autobots and only meeting Starscream on the field of battle
It just popped in my head and I think it sounded neat. Again I probably won’t use it, but I thought I’d share anyways if anyone does want to use it
39 notes · View notes
revelboo · 2 months ago
Note
Can ... can Jazz call me doll again😳?
Doll, kitten, baby. Jazz seems like the sweet nickname type. And if he realizes it flusters you? That just makes him lay it on thicker.
Tumblr media
Over It Now Pt 3
IDW Jazz x Reader- liars
• Shifting on his shocks, Jazz savors the chill night air. The constellations in the night sky aren’t familiar, but he pretends that he knows where Cybertron is among those stars. That it’s still there, whole and thriving even though he knows it’s a lie. He’s always been a liar, though. Little things at first to make others feel better. Just harmless little lies that had compounded over the decades, until he’s not sure what would be left if all the deceit is stripped away. If he’d even recognize himself without that fake, cheery smile. Maybe that’s all he is, the careful facade.
• Laying flat on your back in bed, you stare up at the ceiling and around one in the morning accept that you’re not getting any sleep. Part of it, actually, all of it, is the knowledge that there’s an alien sports car sitting in your driveway pretending to be just a car for unfathomable alien reasons that seem to just boil down to guilt that he’d broken your leg. No matter how much you’d insisted it was fine and not his fault. Groaning at yourself, you slip out of bed and fumble for your crutches.
• He’s so tangled in his own thoughts, he almost misses the soft click of the door unlocking. It takes an effort to slow his transformation from alt mode to bot, but he doesn’t want to spook you. Primus knows you’re skittish enough and despite his efforts, you freeze, fingers flexing on the crutches as you lean away, head tipping back. “Everything okay, doll?” Feeling weird about looming over you, he crouches. Tries to make himself appear less threatening and knows the effort is laughable.
• Doll? Well, you suppose you are doll sized to him, but that easy, affectionate tone like you’re old friends puts you on edge when you’re almost sure it’s meant to put you at ease. “You’re still here,” you say, lingering on the steps as the night air chills your skin and a shiver crawls down your spine. Fall is creeping its insidious way in, bringing a bite to the air with it.
• You’re frowning up at him again, like his charming act doesn’t even phase you. Like you see right through him. It’s unsettling and fascinating. Freeing, because you don’t know him or his reputation. And you’re shivering, he realizes. “Problem with my company, doll?” He teases, watching that frown deepen even as your face reddens slightly. Taking advantage of your distraction and the fact that you can’t move quickly with those crutches, he awkwardly shuffles forward still in a crouch. Your eyes widen and you lean back, but then inhale sharply as he carefully curls his servos around you, lifting you off the ground. Gently, because your form is so insubstantial in his hands. “You’re safe.”
• And he’s picked you up like a kitten again. Maybe that’s what you are to him, an injured stray that he now feels obligated to care for. Even as your mouth opens to demand he put you down, you realize how warm he is. Your alien squatter is like a big space heater, everywhere those big fingers touch, that heat is soothing tired muscles. You still scowl up at him as he just grins that irritatingly cheerful, cocksure smile at you. Like he knows you’re enjoying the warmth. “Why are you so hot?”
• “Falling for me already, kitten?” The taunt comes easily and Jazz almost laughs as you stiffen in his hold. Expression twisting into an adorable mix of confusion and embarrassment. The words do what he intended though, you’re too flustered to do anything more than stare at him as he tucks you closer to his frame and warmth. One of your little hands lands on his chassis, pushing at him, but you seem unable to come up with a comeback. Oh, you’re going to be a delight. Previous Next
255 notes · View notes
sunshineandcybertronians · 4 years ago
Text
Heart Attack - Knock Out x reader
Word count: 3,670 Warnings: None A/N: This was one of the first TFP fanfics I wrote. I finished it in June 2019. Hope you enjoy! Song: Heart Attack by Demi Lovato 
You hummed a song on the couch while watching the older two teenagers play a video game. Not truly paying attention with a big grin and a far off look in your eyes, daydreaming. about your secret friend. Knockout. You met him through your association with the Autobots. He decided to capture you, not too long after you were introduced to them, a few months after the other three kids were. Before the Autobots rescued you, you talked with Knockout. It was enjoyable and you both like to conversing. Thus, you been secretly scheduling time to get together. You loved being with him and talking to him.
Currently, your mind was sitting on a mental picture of him his finish shiny and a beautiful shade of red. His face snow white and handsome. Your imagination switch to him in his flawless alt mode rolling down the road against the sunset. Sighing, your imagination supplied the sensation of sitting in him at that high speed. Your heart began throbbing with a strange feeling. Realizing what you were thinking, you shook your head. No, you couldn't think that. You were just friends with him, that's all.
You were drawn back into the real world by Miko's victory celebration.
"Yes, I won!" Miko jumped up at her car knocking Jack's off the road.
Jack groaned before reminding Miko, "Okay, it's Raf's turn now."
"Right. Here," she handed him the controller.
"Miko, you've made the controller all sweaty," Raf complained, holding it by only his fingertips.
"Sorry," she replied in her cheerful way. "Not my fault my hands decided to do that while I was crushing Jack." She mimicked holding a controller and mashing buttons with one foot up on the cushion.
"How long has it been since you guys cleaned those off?" You asked, suddenly curious and slightly disgusted since you never recalled them doing that.
"Um, we're supposed to clean them?" Miko asked, sitting down and putting a finger on her jaw as if she was thinking.
"I... don't think we ever have," Jack slowly admitted as the realization came over him.
"Then I'll go get some wet wipes from the storage room. I'll be right back." You got up, began to clop down the hard stairs, and entered the Cybertronian sized corridor. "I'll come with," Miko called out while hopping up and running down the stairs with no regard for her own safety.
"Carefully!" Ratchet immediately snapped when he glanced her way.
"Sorry," you apologized for her, sinking into your shoulders.
Miko caught up with you and you both began running done the hall. You wouldn't normally have run, but you unintentionally mimicked your energetic friend, as well as doing so to simply keep up with her. Being in the corridor without someone usually made you feel uneasy, as if you felt that you didn't belong there due to your small size. Miko being beside you helped ease your insecurity.
She kept talking about some random things, like how she defeated Jack, that they need a new video game, and the monster truck rally she and Bulk went to. Most of the time you just nodded while she did the talking. You accidentally tuned out about half of it. Once you reached the storage area, you grabbed the box of wet wipes, cradled it in your arms, and began pacing back.
"So, do you like anyone?" Miko asked you out of nowhere, leaning forward while looking to you expectantly.
"What?" Your pupils became large and you almost froze from surprise.
"Do you have a crush on anyone?" she jumped out in front of you and walked backwards. "You've been acting more happy and daydreamy recently."
"I don't think 'daydreamy' is a word," you avoided the question.
"But who is it?"
"No one!"
She fell into step aside you again, pretending to examine her nails with a smug smile. "It's Knockout isn't it?"
That time you actually stopped in your tracks for a split second. "What?!" you said a lot louder than you meant to.
"Yeah! I saw the way you looked at him the other day when we had a run-in with the 'Cons. You were totally goo-goo eyed. If it were an anime your eyes would have had tons of sparkle and you would have been drooling."
"Quiet," you almost whispered.
"You were! Do you like him?" Miko was the most persistent girl you've ever known.
"No," you firmly answered louder than you meant to. You managed to stop yourself from shouting that you didn't know, feeling frustrated. "Look, I can't like him, he's a Decepticon. I barely know him. So stop asking," your voice had an unintentional edge. Miko even looked shocked and slightly scared for a millisecond.
In reality you didn't care that he was a Decepticon, you just didn't want to have to deal with a crush. They could be so annoying. Plus, it would be hard to do that considering you were on opposite sides, the Autobots might object, and he may not like you back. That last one could ruin your friendship which you valued so much.
"Okay," Miko shrugged and focused on the open room you were approaching. Although you could tell she wasn't convinced, even more so with her sudden calm and cool attitude. She was actually pretty good at acting when she wanted to, provided she's not lying, to the point only someone who truly knew her would be able to see through it.
"Here, think fast," you tossed the box to her as you ran into the wide area with most of the Autobots' presence.
Her pace quicken like yours and she rushed up the stairs. Your course, however, was aimed at the yellow Autobot scout. You slowed and stopped in front of him.
"Hey, Bee!" you called to him, "Can I get a ride back home? I think there's a report I left at home, so I'll just finish it there." With Miko being onto your secret- you mean, her thinking you liked Knockout, you had to get out of there as fast as you could before she told everyone her suspicion. Primus knows she can't keep a secret. You did NOT want to be around if she did so.
Bumblebee beeped in agreement and transformed into a yellow Urbana 500. The passenger door popped opened and you climbed inside.
"Thanks, Bee," you said as he clicked the seatbelt over you.
He buzzed, probably saying, "No problem," and drove through the tunnel and out into the Nevada desert. It was a quiet ride back, the light brown terrain blurred past you. You began thinking about Knockout again. They hadn't figured out that you were friends yet, in fact, all Miko suspected was that you liked him. This meant you were in the clear for now. Although if Miko told everyone, it would not only be embarrassing, they might keep a closer eye on you which would prevent you from being around Knockout.
Deciding you should tell him, you pulled your phone out and your fingers began flying across the digital keyboard.
Me: Wanna go for a drive? I'll be back home in a little bit, but don't go just yet. And be careful, the yellow Urbana's dropping me off.
You tapped send and leaned back in the seat. Normally you wouldn't have referred to Bumblebee like that, but it would make it easier for Knockout to know who you were talking about. Plus, it sounded like something Knockout would say and every now and then you found you were picking up his talking habits.
A buzzing against your skin made you look back at your phone and see the reply.
Knockout: Sure. I'll stick around, unseen, until you give the thumbs up.
You wanted to comment that it was almost impossible for him to be 'unseen' with his shiny, red paintjob and his gorgeous alt mode, but you knew what he meant. Blood rushed to your cheeks and you felt warm when you realized you just mentally called him gorgeous.
"Buzzz, chirp chirp, buzz?" Bee seemed to ask a question and pull you out of your thoughts.
"Huh." Being back in reality you suddenly realized you were only two or three minutes away from home.
Bumblebee repeated himself, but you still had no idea what he was trying to say. "I'm... sorry. I don't understand you."
The seatbelt moved on its own like it was alive. The part that was previously on your shoulder tapped your cheek, then stayed on your shoulder again like it never moved.
"Oh," you let out when you realized what he was asking. "It's just warm today, so that's why my face is turning red," you lied, although it was a warm day and you were grateful he cared enough to ask.
Before you could say thank you, the AC became cooler and the cool air felt pleasant on your skin.
"Thanks, Bee," you smiled.
He beeped another, "No problem," or "You're welcome." You didn't really need a translator to know that.
In no time, you were in front of your house. You waved and gave another thanks before running inside. Once inside, you secretly watched from the window and waited until Bumblebee was gone.
Pulling out your phone again, you typed:
Me: He's gone now. Just left.
You considered painting your nails red while waiting, to look better for him, but would it dry in time? Before you could decide, fifteen seconds after you clicked send, Knockout pulled up and you rushed as fast to him as you could, almost forgetting to close the door on your way out. The door opening, you promptly got in. It closed behind you and he began to drive.
"That was fast. You didn't even give me time to brush out my hair or anything," you joked while reaching for the seatbelt out of habit, but it automatically went over you and snapped into place.
"You still look just fine," he replied somewhat slowly in his suave voice.
"Thanks," you smiled and forced yourself to stop thinking about it before you could begin blushing.
"What's wrong?" he asked when he noticed you were slightly less happy than usual. You had been friends and spent enough time with each other that he could read you fairly well.
"Miko might be onto me."
"She's the girl that's Bulkhead's pet, right?"
"Partner, or charge, whatever you want to call it," you corrected. "But yes."
"She knows about us," there was a slight growl in his words. You could just be kidding yourself, but it might have been fear, in an angry way. Like he was scared of the possibility. "About us being friends and meeting each other, I mean," the red interior lights flashed as he spoke.
"Well not exactly, she..." you paused, looking for the right way to word it. You didn't want to tell him that Miko thought you had a crush on him, because you didn't, you mentally added. "She noticed how I... seemed happy when I saw you the other day. She may guess that I've been meeting up with you, or someone else will if she tells them."
"Would she tell them?"
"Oh yeah. That girl can't keep a secret. Except for the fact that cybertronians exist, maybe she's just bad at keeping secrets from her friends. Anyway," you regained your posture and decided to get back on topic, "even if they don't figure it out, they might think that I'll approach you and get captured or... join the Decepticons," you waved your arms out, careful not to hit Knockout, as you exaggerated. "The point is they can worry and keep a closer optic on me which would restrict me from seeing you." You leaned back with your arms crossed, staring down. "I could always text or call you. But I have no idea how long the house arrest would last. Plus they may wonder who I'm texting so much and see, and I would miss riding with you and seeing you in person."
Knockout stayed quiet as he processed it, wondering what he should say or how he should respond to all of that information. The only sound was the hum of his engine giving the necessary energy to glide across the concrete in the open desert while you waited for a reply.
"Hmm. Wouldn't want that to happen. If the 'Bots learn, Megatron might too. That would be painful. But the chances of him figuring out are slim, so I'd be more worried about you right now." He thought about it. "Maybe if that happens you could run away with me," he suggested.
You laughed, "As tempting as that is, I can't do that. That would be a little irresponsible and only make it worse. If they worry about me being captured or defecting, running away wouldn't ease them, it would make them more desperate. And they're my friends too. But thanks for the offer," you added.
"What should we do then?"
"I think we should just roll with the punches and hope for the best. There's no guarantee they'll find out. Although, we should be more careful." It scared you to think that you could lose Knockout, however you had to hope for the best. That was all you could do, so you hoped you wouldn't be prevented from being with him. The thought of being torn apart from him made your heart ach- you mean, it would be sad. No, you gave your head a small shake. You didn't love him, you convinced yourself.
"If you say so," he sounded a little unsure himself.
"Knockout!" a deep, scary voice burst through the speakers making you jump.
"Yes, Megatron," Knockout tried to mask the fear in his response, not wanting to be caught slacking off with a human.
"Knockout, where are you?" he demanded.
You froze and unintentionally held your breath. You didn't know if the Decepticon leader would hear you if you said anything, but you didn't want to find out.
"I was... just scouting for energon deposits."
"Well you're in luck," Megatron became strangely calm with a bite, like he was attempting to suppress his anger. "Because we have detected an energy signature near your location. Scout out the area and report your findings, IMMEDIATELY!"
"Y-yes, my liege." He turned off the comm. "Sorry, (Y/n), I have to go check it out," he said quietly, as if he was afraid the comm was still on.
You nodded. "It's alright. I understand."
None of you had to mention it to know that you were both terrified that Megatron would find out about your secret, despite only speaking through the comm channel. Your heart was still racing. By the way the engine rattled slightly, while driving off the road to scout the requested site, you could tell he was still shaken up.
Knockout stopped by a rock wall and opened the door for you to get out.
"It would probably be safer if you stayed here and wait for me. No telling if the site is going to be unstable or if Lord Megatron has already sent other Decepticons," he mentioned.
"Right," you hopped out, "I'll wait here." You watched him drive away, turning right and behind the orange-ish brown rock formation you were standing by.
Sighing, you wondered what you should do while waiting. Your feet kicked up some rocks and dirt out of boredom. Your mind wandered and you began to think about Knockout, then Miko's earlier claim. A warm feeling fluttered in your chest. You immediately forced yourself to stop thinking about it to remove the feeling and decided to distract yourself by putting in ear buds and listening to songs on your phone.
Several songs played that you danced or bobbed your head to. Then a song, that sounded strangely similar to your situation, began playing.
Puttin’ my defences up 'Cause I don’t wanna fall in love
Upon hearing that you knew it was "Heart attack" by Demi Levado.
If I ever did that, I think I’d have a heart attack
Never put my love out on the line
You nodded, since you knew that you wanted to never to risk your heart getting broken or putting yourself in a bad situation when it came to love... want being keyword. You can want one thing, but another thing can happen.
Never said yes to the right guy Never had trouble getting what I want But when it comes to you, I’m never good enough
A laugh escaped your mouth, recollecting that you often never felt good enough for Knockout. He was gorgeous, how could you ever compete or be good enough for his standards? This time you forgot to notice you called him gorgeous and argue with yourself that you didn't think that as your thoughts moved on with the song.
When I don’t care, I can play 'em like a Ken doll Won’t wash my hair, then make 'em bounce like a basketball
But you make me wanna act like a girl Paint my nails and wear high heels, yes you Make me so nervous, that I just can’t hold your hand
A hum vibrated in your throat as you began humming the song at the pre chorus. You remembered when you considered painting your nails for Knockout.
You make me glow, But I cover up, won’t let it show, So I’m puttin’ my defenses up 'Cause I don’t wanna fall in love If I ever did that, I think I’d have a heart attack I think I’d have a heart attack I think I’d have a heart attack
Your heart seemed to have taken note of what feeling it produced when you usually thought about Knockout and replay it while listening to the song. This time you didn't fight it and let the nice feeling flood through you.
Never break a sweat for the other guys When you come around, I get paralyzed And every time I try to be myself It comes out wrong like a cry for help
You were so into the song and relating to it so much that at the last line that you began singing along while dancing more vigorously, knowing that no one would see.
It’s just not fair Pain’s more trouble than love is worth I gasp for air It feels so good, but you know it hurts
But you make me wanna act like a girl Paint my nails and wear perfume, for you, Make me so nervous, that I just can’t hold your hand
You make me glow, But I cover up, won’t let it show, So I’m puttin’ my defenses up 'Cause I don’t wanna fall in love If I ever did that, I think I’d have a heart attack I think I’d have a heart attack I think I’d have a heart attack
You recalled how you'd be so much more happier being with and thinking about Knockout, but you'd never let it show because you didn't want anyone else to figure out. Thinking about it now, you didn't want yourself to figure out. You thought that if you kept denying it, then you wouldn't fall for him.
Dummy, you heard a part of your brain or heart say, how could you not fall for him?
The feelings got lost in my lungs They’re burning, I’d rather be numb
It felt really weird suddenly admitting you liked him, that it had become too powerful to deny, like the song was giving it energy. The emotion overpowered you in a way you almost felt weak, yet it somehow had a pleasant sensation.
And there’s no one else to blame
Sighing, the song reminded you that there was no one else you could blame for making you feel like this except for yourself. You let this happen and decided to meet him all the time.
So scared I take off and I run I’m flying too close to the sun And I burst into flames
You make me glow, But I cover up, won’t let it show, So I’m puttin’ my defenses up 'Cause I don’t wanna fall in love If I ever did that, I think I’d have a heart attack I think I’d have a heart attack (heart attack) I think I’d have a heart attack
A spin was the next move you decided to perform. While doing so, you spotted an all too familiar red mech leaning against the rock and white face smirking. This startled you so much that you lost balance and fell down on your bottom, facing Knockout.
Oh I think I’d have a heart attack
Your cheeks heated up, feeling embarrassed that he heard you singing and what you were just thinking about. His arms were crossed, causing the sun to reflect off of his doors, and an optic ridge was raised that didn't help your blush.
I think I’d have a heart attack
You stopped the song as it ended and pulled out the ear buds. "I... didn't hear you. How... much did you hear?" you tentatively asked while getting up.
"Oh, just the beginning of, what I assumed is, the second chorus up until now." He stood up straight and walked closer to you.
You stood still and wondered what he was going to do. An awkward smile played on your mouth while you pretended everything was normal. Although you moved your legs closer together and held your arm, giving you the appearance of being someone shy.
"So, do you have a heart attack?" he asked.
Your heart started beating so fast you thought it would burst out of your chest and your brain stopped functioning. "Umm... Uh, ummm."
Your flustered reaction seemed to please him. He tenderly placed a digit over your mouth to stop you from talking. He leaned down so you were eye to optic. A smile graced his faceplate while you stared into his deep optics.
"I have a spark attack too."
139 notes · View notes
c4p3n · 4 years ago
Text
Control, Remedy
When I was about 80% of the way through Control, I turned on the option that allowed me to kill every enemy with a single bullet, and to never die.  I am so glad I did.  
The one sentence summary of mainstream reviews for Control is, roughly: "A beautiful game with an engrossing story, aesthetic, and characters...and the shooting is fine."  I think that's true, but when you're playing a recent game where the shooting is just fine and everything else is so good, fine quickly turns to "in my way".  
There is so much cool stuff to see and hear in Control.  The Oldest House is a terrific maze of banal, mid-century modern offices that ooze with ominous otherworldly horrors.  The premise of the Federal Bureau of Control leaves open the possibility of almost anything while building a believable explanation of why everything is so weird.
Then there is the combat.  The idea of the Service Weapon is a cool one, but it isn't explored very deeply in the game.  On the literal other hand, there are the telekinetic powers you get which let you grab stuff and throw it at people, use it as a shield and later on, fly.  Throwing a huge chunk of concrete or a desk or another person at an enemy is satisfying every time.  The sound is great and the devs were so smart to give you something to throw no matter what's around you.  The main problem I have with the combat is twofold:
It draws me back into the menus too often for upgrades and mods that don't feel like big changes
As the game goes on, combat felt more and more like padding.  
There isn't much to explain about the menus.  I loved to pause and check the audio log or memo I had picked up to get another little piece of color about the world.  I didn't like pausing to pick a different upgrade or try a different shooting style (pistol, submachine gun, sniper) in case it helped get me past an annoying enemy.  
But when I say the combat feels like padding, I mean it is conspicuously getting in the way of the next cool area of The Oldest House or getting some more information. After about the halfway point, there aren’t even new types of enemies to fight.
And that’s fine, as long as you turn on One Shot God Mode. As cool as it feels to play a badass like Jesse Faden, it does not feel cool to get shot in the face by some guy who used to work on the HVAC. There’s a level called The Ashtray Maze that’s way too close to the end of the game. You know as soon as it starts that this is your special gamer treat. The developers give you a bunch of weaker enemies to crush. At this point in the game you would probably have no problem dispatching them but why chance it? One Shot God Mode baby.
If all that wasn’t enough reason to trivialize the shooting, here comes the "boss" fight to make my point for me. It’s more or less a gray box level where you do a short horde mode of all the enemies you’ve faced so far in the game. There’s no big bad that fights differently than any other enemy in the game. It’s just more of the same in a featureless level.
So why am I justifying this decision so much? I bought the game, I can play however I like.  Well, there was still that nagging voice in the back of my head saying "You're not playing the real game.  You're cheating."  That's an old voice, from a younger me and a different time in video games.  A time when my friends and I would play shooters and try to either beat each other or not drag our team down.  That doesn't happen anymore.  When I rarely play games with my busy friends who have children, we are still playing shooters.  We are still talking about other games.  But no one is blaming me when I miss a headshot.  No one is checking to see what difficulty level I beat a game on.  So I was finally able to tell that voice: "Yes I am cheating, and it is so much fun."
2 notes · View notes
beatricebidelaire · 6 years ago
Text
(sitting on the) edge of innocence
summary: Kit, Bertrand, and a talk in the Hinterlands about the upcoming opera night mission.
featuring: Bertrand, Kit. brief cameos of Olaf and Dewey.
word count: ~2.2k
alt: ao3
“Hey,” Olaf said as he walked into the kitchen, “you seen Kit?”
Bertrand felt himself tense slightly at the sight of O, but didn’t show it.  He continued pouring the boiled water from the pot into his cup carefully, his grip tightening around the handle.  The water in the cup eventually rose to the stage where he couldn’t add anymore without spilling it over when he walked, and he reluctantly put it down.  He knew Kit was out for a drive, but he wasn’t sure whether he wanted to tell Olaf that.
On the other hand, it wasn’t like the answer would get Olaf anywhere closer to finding Kit, with vagueness of “out for a drive” and Kit’s driving abilities and how she had no qualms of going on a road she’d never travelled before, literally not figuratively anyway. It wasn’t like Bertrand had never lied to Olaf before, and he’d no problem doing it again if he needed, but he did try to avoid doing so when he could. As if he had some pre-allocated quota of lies he was allowed to tell him or something.  There wasn’t, of course, but he tried to stick to this principle if possible.
He was also currently keeping something else, something very important from O too, but he wouldn’t count that as lying. Those were two different things.  Besides, they were never that close anyway, it wasn’t as if he normally told Olaf stuff. If anyone’s Olaf’s friend that would be -- he stopped his train of thoughts and focused on the current situation. “She went out on a drive.” He said.
“Again?” Olaf rolled his eyes, huffing as he ruffled through the fridge, then found a sandwich. He began eating it as he walked out, “I’m starting to think she’s avoiding me.”
Bertrand was glad Olaf’s already one foot out of the kitchen and not looking back, because this meant he didn’t have to think of a reply to this.
He sighed, then took a sip of the tea.  
Kit had good reason to avoid Olaf, of course.  Getting an assignment from your organization to be part of the mission to murder your boyfriend’s parents wasn’t something that happened everyday.  But if Olaf was suspicious of something going on …
He needed to talk to Kit, even though this wasn’t a conversation he was looking forward to at all.  
Bertrand decided that since he wouldn’t be able to find Kit immediately now anyway, he might as well do something else for now.  He slipped into a tunnel from down under the city headquarters, and headed for Hotel Denouement. Or, more precisely, the hidden underwater library.
Dewey lit up when he saw Bertrand, grinning. “Hey,” he waved enthusiastically, “I want to show you this poem I found.”
Bertrand found himself relax, the thoughts about the mission and the impending talk with Kit going away.  Not entirely, as they were still on the back of his mind somewhere. But it was easier to ignore them here, surrounded by books that formed some kind of fortress against realities.  In here, there were just piles and piles of books, poetry, and Dewey.  No opera house maps with escape routes drawn, no trying to get poison darts supplies without arousing suspicions.
Unfortunately, these brief moments of peace always came to an end too soon.  Dewey looked at him hopefully when he said “visit again soon”, and Bertrand meant it when he said he would try, but somehow he still felt suddenly guilty for some reason.
Kit stepped on the brakes with possibly much more force than necessary and the taxi came to a sudden stop. For a moment, it looked like she was going to hit her head.  It didn’t happen, though it was very close. She drew a deep breath, and slowly loosened her tightened hold on the wheel.  She tried to smile a little, or perhaps a flippant grin or something, so when Bertrand step into the taxi, she could make it seem like she was just braking like this for fun, like she usually did, instead of because of anger and frustration.  It was hard trying remembering how to smile though. She managed to pulled the edge of her lips up slightly, but it felt more menacing than fun.  
On second thought, whatever, it was Bertrand. She didn’t necessarily have to pretend in front of him, perhaps. Not like she had to with either --
The door opened, and Bertrand stepped in.  However menacing or odd her unnatural grin might be, apparently he didn’t have much reaction to it. “Kit, we need to talk,” he said, straight to the point.
“I gathered,” she said coolly, finally figure out a way to smoothly ease out that weird grin.  “Want to go anywhere specific?”
A part of her wished he would yes, then she could tell him “well, if you’re lucky, it might be the same as the place I had in mind” and then drove to the Hinterlands so she wouldn’t have to see Olaf for a while.
“There is a specific place I wish I’m at, but that’s not where I think this conversation could be held, so … your choice.”
She narrowed her eyes briefly at the statement, momentarily forgetting her own personal troubles and anger. “Is it an underwater library you have in mind?”
He looked slightly taken aback. “How did you -- ”
“Dewey isn’t just your friend,” she rolled her eyes. “He mentioned you two have been reading poetry together a lot lately.”
“Yeah, guess we are,” he shrugged, a little uncomfortably.  She had the urge to ask if he ever thought he was using Dewey and his library as some kind of safe escape from the real life burdens, or ask him if he could see Dewey’s feelings for him that were just so … there.  She ultimately didn’t, because just a look at him made her sure that the first answer definitely was a yes, and the second a no.
“Well,” she changed the subject abruptly, stepping the accelerator hard, “we’re going to the Hinterlands.”
She heard a soft sigh from him, which oddly made her slightly satisfied.  The car sped up in an extreme short span of time, and she gripped the wheel tight, her fingers clenching around it as if clenching to the last thing still within her control as everything else spiraled out of order.  Fuck Bertrand for having this perfectly organized, neatly ordered library to escape to whenever he wanted without even realizing Dewey’s feelings.  Fuck herself for being jealous but refused to escape the same way, because she wanted to prove that she didn’t need the perfectly calm, isolated, and organized comfort zones right there in The City like he did.
If she was going to escape to somewhere, let it be a bleak, cold, snowy place up in the mountains.
She glanced at the intersection briefly, then ran a red light as they left the city behind.
They sat by a cliff, gazing at the snow mountains.  She pulled a pencil out of her hair and stuck it into the snow, for no particular reason.
“You’ve been avoiding Olaf,” Bertrand said finally, “he’s probably getting suspicious of something going on.”
“What, you two talk?” she scoffed. Staring at the pencil in the snow instead of looking up at him.
“He talks and I keep an ear open for anything that might threaten the mission,” Bertrand corrected her.
She used one hand to hold the part of pencil that was just above the snow, and the other to bend the upper parts of the pencil forward.  The pencil broke, leaving just the bottom half stuck in the snow.  She looked up at him, eerily calm as their eyes met. “He might be suspicious in general, but he had no idea of what’s specifically going on.”
“Not yet.”
She laughed sharply, “And it won’t matter anymore at that point, will it?  It’s not like he’s not going to find out who’s in on the mission eventually. It’s not like we’re all going to go back to our normal lives pretending nothing happened. It’s not like he and I are still going to be together after this.”
“Fine,” he bit out, looking a little angry.  Her lips twisted humorlessly, thinking to herself that she bet Beatrice never saw this side of him.  Neither did Dewey, probably. Or Jacques or Lemony. “But it’s still best to make sure he doesn’t think anything’s out of order, or he might start digging around, and if he got some help from others it might interfere with this.”
He sounded like he had a point, but Kit really doubted Olaf would directly jump to these kind of suspicions just by her avoiding him.  He might think she was seeing someone else, possibly, but definitely not plotting a murder where his parents were targets.
“Beatrice and him are still hanging out like normal as if nothing’s happening,” he added, and Kit suddenly wanted to break something more substantial than a pencil stuck in snow.  God, so this is about Beatrice now, is it? You think you understand her?  
You don’t understand her like I do and you never will, she wanted scream.
“You think she’s perfect,” she said slowly. “Everything she does is never wrong.  You don’t even understand why she’s keeping up her appearances with Olaf and that’s not just because of the mission.  You don’t understand her at all -- you don’t understand her like I do.”
You don’t understand her like I do you can’t see her like I could you don’t see the real her completed with all her flaws and still love her anyway still love her still love her still love her rough sides and sharp edges and her darker sides still love her, she thought, painfully.
“Don’t confuse other people with me,” he snapped, and she wondered if he really meant to say ‘your brother’.  “I don’t think she’s perfect and I don’t claim to understand her or know if she has other motives for doing so, I’m just saying she’s not suddenly avoiding him in a way that would make him suspicious -- unlike you.”
A beat of silence.  Snow continued falling from the sky.
“Sorry, I’m just, so afraid something’s going to go wrong,” he said, voice dropping to almost a whisper. He looked very pained for a moment before immediately slipping back into his very particular on brand anxiously-trying-to-get-along-with-everyone mode. “I know this isn’t easy for you.  I’m sorry.”
She didn’t want to talk about it.  She didn’t want to talk about Olaf or how she wanted to avoid him, or how she had agreed at the assignment briefing that yes she would take on the mission, and yes they could trust her, she would be a volunteer first.
He was looking at her, worry in his eyes and all the previous anger gone. She could practically feel him vibrating with anxiousness.  
She was suddenly very, very tired.
She decided to talk about Beatrice instead. “Beatrice’s not just pretending nothing’s going on when with him for the mission’s sake. She’s -- they’re friends for ages and she’s going to miss how it was, once everything between them changes.  She’s trying to hold on to the final moments.” I know her I see the real her I see everything she doesn’t say.
“I never really get their friendship,” he said quietly after some moments of silence, staring at the white scenery in front of them. “She’s -- I think she’s a great actress and there’s a lot she’s hiding underneath her dramatic performances that dazzle people. But, it’s like an earthquake, you know?  Sometimes when the energy doesn’t release for a very long time and just kept accumulating ...”
“Some places never get earthquakes, though,” she pointed out, wrapping her coat around her more firmly.
“True,” he conceded.
They were quiet for a while. Then Kit said, “She won’t break, and she won’t let anything affect the mission, even if she’s trying to hang on to these last moments of friendship between them.  She won’t.  I know her.” Her fingers dug into the snow beside the pencil. I know her I know her I know her --
“Right, okay,” he said, quietly. “I trust you on this.”
“Trust me on what I said about Olaf, too,” she said. “I can’t handle this the same way Beatrice does because it’s easier to avoid him for me, but I do know him enough to know he’s not going to suspect anything specific until it’s too late that knowing what exactly to interfere wouldn’t change anything.”
“Okay,” he agreed, tearing his gaze away from the scenery and met her eyes. “I’m sorry I didn’t trust your decisions.”
He looked as tired as she felt, but she could also see the sincerity in his eyes. She didn’t have the energy to stay angry anymore, not in this cold snowy weather.  Plus, it wasn’t actually that easy for anyone to stay angry at him for too long.
“I know you’re just worried,” she said with a sigh.  She pulled out the half of the pencil that was stuck in snow, and pocketed both halves. “C’mon.  Let’s head back.”
10 notes · View notes
brandxspandex · 7 years ago
Text
TF IDW reread: Megatron Origin
I think Megatron Origin as it stands alone is a…ok villain origin story. Yeah, having your livelihood taken away by the people in power who clearly don’t give a shit about you, then watching them murder one of your colleagues in front of you, before finding yourself what’s basically Sin City where you’ve gotta kill to survive, is a pretty fair reason to flip your shit. That being said, I don’t think it’s a good enough backstory on its own to explain the sheer extent of Megatron’s evil, which lasted over millions of years and killed billions of people. I also don’t think it does enough to explain the underlying rage and bloodlust it presents Megatron as having; his first kill feels like the boiling point of something that has been bubbling away inside him, then the progression of the story feels like we’re watching that emerge to become his dominant personality, but it doesn’t properly explain where this darkness inside him comes from. Sure, it establishes that the Senate doesn’t think much of the miners, and that there’s certainly severe problems with Cybertronian society overall, but we don’t see how it effects Megatron directly until the moment it finally becomes too much and flips his shit. Fortunately, these problems are all addressed by flashbacks in later series that further flesh out Megatron’s backstory and all fit really nicely into the story Megatron Origin tells to create a very compelling villain backstory.
So Megatron Origin works much better as a piece of a puzzle (even though it contains numerous things that are inconsistent with these later puzzle pieces, like Cybertron having two moons and Cybertronians bleeding blue energon). After being subjected to torments such as Whirl’s prison beating and Trepan’s attempted shadow play, on top of the general oppressions of being a miner under an uncaring and greedy Senate in a society that reduces one’s worth to one’s alt-mode, Megatron Origin provides a the tipping point where it all becomes too much. This suffering laid the seeds of the hate and rage that we finally see bubble to the surface when he takes his first life. There are still signs of the pacifist Megatron was established to have once been when he snaps out of his first murderous rage and is horrified at what he’s done, and when he later says that his actions were unintentional. It comes across as though Megatron had felt this darkness percolating inside him for some time, so his horror when he realises he’s killed someone is horror at the realisation that the monster growing inside him has finally been let loose.
Once it’s loose, he quickly falls for its seductions and allows it to take him over as he grows rapidly more violent over the course of the series. When rifling through his mind, Trepan commented on Megatron’s pride, which we see plenty of further evidence for throughout the series, and this incident itself is one of multiple very horrible moments in Megatron’s life where he’d been made to feel helpless. In the gladiatorial pits, Megatron is given the recognition his pride makes him crave, and is able to fight back against his helplessness and achieve power and dominance, all through dealing out violence and death. While his suffering laid the groundwork for the hate and rage inside him, the gladiatorial pits rewarded the violence they brought out of him (with his Point One Percenter spark helping him survive so long and rack up such as impressive win/kill streak no doubt) with the pleasures of glory and power.
Megatron starts out as a pacifist wanting to build a better, more equal society, but in the pits his motivation changes; he falls in love with inflicting pain, humiliation and death, and when he finally rallies his revolutionary movement it is not about making a better world, it is about the thrill of the fight.
Tumblr media Tumblr media
He gathers his revolutionaries from the criminals of the most depraved city on Cybertron and builds the culture of his movement on the culture of death match gladiators to whom life is cheap and violence and dominance are valued.
Tumblr media
He outright says to Sentinel that the peace he promises to bring is actually destruction and desolation; by the time Megatron has an army, he is already off the deep end.
Tumblr media
Also, I think Megatron Origin fits in nicely with the idea of Megatron being a poet, since he sure does have a way with words in this.
Megatron Origin also lays down one of my favourite aspects of Starscream’s characterisation: him having been a raging Megatron groupie. Something I do worry about is that this aspect of his character may be retconned at some stage, because while there are a number of moments to support it, there are even more moments hammering home the fact that Starscream is manipulator who lies even to himself, so I could see it getting retconned as an act to gain Megatron’s favour. I really do hope it was genuine however because the thought of someone as cynical and self-centred as Starscream having at one point been willing to genuinely and passionately pledge his undying allegiance to someone else makes him a much more interesting and emotionally rich character to me. It also makes the degradation of his relationship with Megatron all the more tragic.
What Megatron Origin does make me question is why Starscream was pledging his allegiance to Megatron in the first place. Was he interested in Megatron the revolutionary, or Megatron the gladiator? There were bots in the crowd that looked like Starscream during Megatron’s first fight, although I don’t think they were clear enough to be taken as definitive evidence that Starscream was there at the time (especially given that we’d have to accept that Elita One was on Cybertron at the time if we were to take all Megatron Origin cameos at face value). When he was recruited by Soundwave for Megatron’s cause he thought that he and his Seekers were being recruited to fight alongside Megatron in the arena, and is visibly disappointed when he learns this is not the case. This certainly seems to suggest that he was interested in Megatron the gladiator, but it also raises the question as to why he was so eager to fight in deathmatches. Starscream’s a glory seeker sure, and he’s certainly willing to engage in deadly combat, but he doesn’t seem like the kind of person who would elect to so dramatically risk his life without a more distinct and sizeable reward. Furthermore, Starscream has repeatedly said that he looked up to Megatron as a leader who could bring about change, only to be betrayed when Megatron turned out to be more interested in violence. That seems more like something someone interested in Megatron the revolutionary would say. I suppose it’s possible that Starscream allowed himself to be recruited into Megatron’s revolutionary cause, but wanted to fight alongside him the arena for the honour of fighting along Megatron himself, because he was that much of groupie.
Speaking of Starscream, now that we know a little more about his backstory, particularly that he was a senator who went on the run for conning his taxpayers, some of the charges against him make more sense, but I want to know how many of these applied after he joined the Deceptions, because christ:
Tumblr media Tumblr media
Also gotta add his reaction:
Tumblr media
I swear, one of the most frustrating things about the fact they’re ending the IDW continuity is the fact that we probably won’t get much more info about Starscream’s backstory, and there’s clearly a lot left to tell.
On another note, this series was written prior to Functionalism being conceived of, so the story is just about the Decepticons arising in reaction to the upper echelons screwing over the lower classes. I think this is quite the waste, since that’s a story you can tell with humans, and has been told with humans, many, many times. I think the later introduction of Functionalism retroactively makes the story way better because it takes the powerful narrative of one group of people oppressing and (for the lack of a better word) “dehumanising” another, and presents it in a way that you can only do with Transformers. After all, why tell a story you can tell with pretty much any other type of characters, when you can instead tell one that ties the central gimmick of a story into one of its most major and emotionally resonant themes?
One thing that really bugs me about the backstory of IDW, which Megatron Origin is mostly responsible for, is the fact that we see so many characters in more or less the same state at the start of the story that they’re in 4 million years later. The series establishes Megatron, Starscream, Skywarp, Thundercracker, Soundwave and pretty much all his cassettes, the Constructicons, and even Swindle as major players in the Decepticons right at the start of the movement, in basically the same roles they have 4 million years later (then further series go on to add Shockwave and Overlord to that list, among others I’ve no doubt forgotten). It just seems utterly ridiculous that over the course of something as stupendously lengthy and turbulent as a 4 million year war, none of these characters died, or got significantly demoted/promoted, or deserted, or switched sides, or underwent some other sort of dramatic change. Sure, once they built up a significant army of expendables the core command team of Decepticons perhaps didn’t spend much time on the front lines, and maybe the only reason we see them fighting a lot in the modern comics is because they’ve got no cannon fodder left and had to return to fighting the war themselves. But even if they only took part in a tiny percentage of the actual battles of the war, over 4 million years that’s probably still going to be a lot, and there are so many other ways they could die or otherwise change over that time, so it seems silly they are still so much the same.
In summary, I think that overall Megatron Origin is something that got a lot better retroactively once it was contextualised in a number of flashback stories that added further character and plot details. It established a number of things that ended up working really well in the overall story, but was also responsible for some frustrating things.
I will now leave you with my favourite quote from the series:
Tumblr media
86 notes · View notes
artanyis · 6 years ago
Text
Customers lie.
At this point I think most people have at least run tangentially into House's favorite saying, "Everybody lies." And it's not wrong; often they don't even realize they are doing it. It's always a tricky issue picking the fact from fallacy in a customer's description of a problem.
I just got a call from a customer whose computer I had just fixed. I installed a new SSD to replace the failed mechanical drive. The PC in question is a Dell AIO Inspiron, it's not great but only barely outside of warranty and they only use it for this one instance of this one simple program so... whatever.
Anyway, he calls and says, "It says it's missing the operating system."
Odd, I'm familiar with the message, that is a message on newer systems, but not this one. This one still uses the slightly older, "Operating system not found," message. They mean exactly the same things, but in Dells (usually) the first is on systems new enough to default to UEFI boot, while the latter is on systems old enough to default to legacy boot. I know for a fact that this is the latter as I tried to change it to UEFI but it wouldn't recognize the Windows10 USB drive in UEFI mode. I also left a USB drive in during data recovery and received the, "Operating System Not Found," message.
So, I asked the user to read me the message on the screen word for word. "Missing Operating System."
I asked, "there's no other text? And this is the same computer we worked on earlier?"
"That's it. Yes, it's the same system."
So, either he is not reading the message and is lying about that, it's not the same system and is lying about that, or a user who has trouble with right-click vs left-click was able to download and install a BIOS upgrade.
I figure it was probably one of the other system's and they just didn't want to pay for phone support for a new ticket; not that I would have charged them for something that takes less than 30s to resolve.
I tell him, "Pull out the USB drive and press Control Alt Delete to restart the system."
What a surprise, it started booting.
My problem is that I can’t just call them out on their bullshit and this ends up taking me twice as long to resolve problems some times because I have to root around elbow deep in their... discrepancies.
This may be a small one that caused no real issues and was more silly than anything else. But I’ve had jobs where customer’s have so misinformed me that I was woefully lacking on needed equipment. (i.e. 5m in conduits does not equal the actual 100m path the cable needed to run. That was a nightmare job, especially since I only had about 75m of cable on me.)
So, does anyone have a nice way of saying, “Hey, I am 100% sure you’re lying about part of what you said. Stop wasting my time and yours and tell me what’s really going on.”
1 note · View note
jarrettfuller · 7 years ago
Text
On using The Five Obstructions as a classroom framework
The Five Obstructions is a 2003 Danish film by Lars von Trier and Jørgen Leth. In the film, Von Trier gives Leth, his friend and mentor, the task of remaking The Perfect Human — one of Leth's seminal short films and von Trier's favorite film — five times, each time with a different 'obstruction', or constraint, given by von Trier. In the first obstruction, for example, von Trier asks Leth to remake the film in Cuba and no shot can be longer than twelve frames. In another obstruction, Leth must remake the film as a cartoon. It's a fascinating look at the creative process, filmmaking, problem solving, and — I'd argue —design.
I'm on the record of being an adoring fan of this film since I first saw it nearly five years ago. My friend Rory and I used it as a framework for a project to remake our own work and talked about it twice on the podcast we used to make. For five weeks in 2014, Rory and I asked each other to remake one of our previous projects five times. We had one week to complete the obstructions, which were chosen by the other person. One week, I told Rory he had to use hand-drawn type and he asked me to only use black and white. In another week, I asked him to use photography and he had me create a typography-only booklet.
Both the film and our version of the project provided a way to look critically at our own process and break out of our default modes of work. We were both in jobs that were not challenging us the way we wanted and The Five Obstructions project shook something in my creative process. I still find myself thinking about those five weeks and what it taught me — both as the one remaking work and the one assigning the obstructions — as a designer, a critic, and a teacher.
We recorded an episode of our podcast at the project's conclusion to talk about our experience and what we learned from it. We speculated about how the project could be adapted to a class project and when I started teaching a few years ago, I immediately began looking for ways to bring the film and the issues it raises about the creative process into the classroom1.
This past fall, I started teaching in the graduate communication design program at the Pratt Institute in Brooklyn where I was asked to teach a class called Design Technology. Here's the official course description:
Students will concentrate on single- and multi-media communication design exercises with an emphasis on discovery, problem solving, and media integration, and will explore conceptual and creative production processes for a variety of media and assignments. This course will expose students to concepts and procedures that prepare design work for professional print and digital output. Topics may include, but are not limited to: contemporary publishing processes for both print and digital media; production and work ow best practices; and emerging trends in digital and variable-data printing, placing particular emphasis on the relationship between creative vision and the constraints of production. We will also address sustainability as it applies to production processes, materials and work flows.
We will explore pragmatic constraints and study various ‘hard’ skills (hands-on making, testing, exposure to using programs, technologies and processes) alongside ‘soft’ skills (which will include readings on design theory and historical context, writing exercises, speculative thinking, emphasis on critical reflection and feedback, ideation and content-creation). A deliberate and investigative use of design ‘tools’ and ‘technologies,’ and iterative and inquiry- based making (‘making as thinking’) to integrate the above will be encouraged in all activities. In-class discussions, readings and critique will provide opportunity for critical reflection on historically-situated and contemporary issues in practice, and students will be encouraged to define their own relationships to processes, tools, and practice over the course of the semester.
The course had previously been positioned as a way for students to learn contemporary design tools, or the more 'hard skills' in graphic design: preparing files for print, working in motion software, introduction to coding, etc. Thinking back to the best classes in my own graduate school experience, I wanted to find a way to both introduce these tools but also provide a place for students to experiment formally, conceptually, and intellectually; to think critically about their own work and the profession at large; and to begin to consider the influence technology has on both the creation and distribution of graphic design. After talking with other professors and my colleagues who'd be teaching other sections of the course, I realized this could be the place I could try using The Five Obstructions as a framework to structure the course.
In the other classes I teach, I've been thinking a lot about how I can better connect theory and practice inside the classroom. How could I collapse the usual divide between the seminar classes (where theory is often taught) and the studio classes (where 'the work' is made)? I had spent the last few years thinking deeply about the role of criticism and theory in design practice and wanted to make a space for my students to see the two as inseparable.
I centered the course around explorations around the relationship between graphic design and technology and all the assignments and readings came out of investigating this intersection. In an introductory essay included in the syllabus, I wrote:
The history of graphic design is intimately tied to technology. Advancements in technology — from the printing press to the internet, Photoshop to artificial intelligence — have changed how designers work, how that work is distributed, and how it's interacted with. Even stylistic and aesthetic movements can be partially explained by new tools available to the designer: the postmodern design of the 1990s would not be possible without the invention of desktop publishing software nor would the skeuomorphic interfaces on the early iPhones been possible without advancements in screen technology.
In his 1967 book, the Canadian theorist Marshall McLuhan famously proclaimed "the medium is the message." The book of the same title followed his earlier book, Understanding Media, in which he argued that the form — the medium — has as much influence on the culture as the messages being communicated on it. In a more hyperbolic way, he later wrote: "The content or message of any given medium has as much importance as the stenciling on the side of an atomic bomb." McLuhan was writing during the rise of television, which he saw as profoundly shaping how we communicate with each other, but his thesis seems more and more prescient as we look at the impact of the internet, social media, mobile phones.
This class will be a combination of theory and practice. Over the course of the semester, we will initiate a series of small projects that examine and challenge the role of technology in both our own design processes as well as how they function in the larger culture. Each of these exercises will be supplemented with lectures, discussions, and readings about the shared history of design and technology through various lenses including distribution, open source technologies, artificial intelligence, the public sphere, and publishing.
Design Technology is part of Pratt's first-year curriculum. Before the first class, I emailed the students to ask them to bring in one project they worked on before coming to Pratt that they were most proud of. I wanted to see something that they felt most represents them as a designer or was the best example of the type of work they wanted to do. This was framed as part of an introductory exercise, to get to know each other.
My class consisted of eight students from around the world with varying levels of experience in graphic design. Some had worked in the field or tangental fields, some came right from their undergraduate studies, and other were transitioning to graphic design from other fields. One student brought in an advertising campaign she art directed from a former job, another brought a travel journal she wrote and photographed during the previous summer's months; one brought a series of illustrations he did and another a travel app prototype she worked on during an internship. It wasn't until the end of the first class, after they presented their projects, that the assignment was introduced and they realized they'd be remaking this project they shared with the class five times for the next few months.
I introduced the film, describing the concept, and told them we'd be using this class as a laboratory to remake their projects five times in the spirit of The Five Obstructions. The first obstruction, beginning that day, was to make three posters without using any Adobe products. The reaction was a mix of terror, confusion, and excitement.
Tumblr media
First obstruction by Snigda Pamula
Here were the complete obstructions I assigned to the class throughout the semester, revealing the next one only after they had successfully completed the previous2:
Design three posters without using any Adobe products. (word processor, handmade, HTML/CSS, iMovie, online tools). They can be any size and any shape and does not need to be a physical poster (could be digital/online, projection)
Make an 8-page 8.5x11 publication (2 11x17 pages folded in half) May only use black and white (No color though greyscale is acceptable). Must include at least one photograph and one illustration. Should include text. May not use the same solutions used in posters.
Take the content from your publication and turn it into a website. It cannot be a 1:1 translation (page order must be different/distributed differently). The content must be the same but functioning differently. The site can be built with HTML/CSS or prototyped in Photoshop/Illustrator/InDesign but all features must be possible as if a real site. You may only use fonts available on fonts.google.com. At least one page must be prototyped for mobile devices as well. The site cannot be an advertisement, a store, or trying to sell something.
Create a 30 second to 1-minute motion graphic (video, animation, stop-motion, gif, whatever) You may not use any elements from any of your previous obstructions. You may not shoot any original/new footage. You may only use found elements/footage from other sources, but it must be thematically related to your previous work. It may not be an advertisement/commercial. Sound is optional.
Design and prototype an artificial intelligence bot or speculative project. This can be a messaging interface, a voice-activated experience, an internet-connected device, Amazon dash button, a futuristic piece of design, etc. It may be screen-based but should have minimal visual design (you are not designing an iPhone app!). Consider how you could use a voice or sound component. It’s up to you how you want to present to the class (PDF outlining the interface, wireframes, drawings, etc)
Tumblr media
Spread from second Obstruction by Caitlin Dai.
Each obstruction lasted two weeks — enough time to think through how they wanted to work on it, create a prototype, and learn a new tool if needed but not enough time to create super-polished, finished work. In class we were less interested in finished solutions but in process, experimentation, and ideas. Full-class critiques were held every other week where everyone presented their work to the class and discussions were held around what was successful and how each other worked through the obstructions. These critiques became important forums for conversation around process and ideation — students traded ideas and debated interpretations of the obstructions. Often, topics discussed in one critique would find their way into a lecture or become a solution for another obstruction.
On the weeks between critiques, readings were assigned and lectures presented on topics around design and technology. We started with an overview of media theory and the public sphere. McLuhan's The Medium is the Massage and Habermas's writing on publics became a framework upon which the rest of the class was built. Topics progressed somewhat historically and included publishing, interaction, social networks, neutrality, artificial intelligence, and speculative design. Readings ranged from the theoretical to the practical.
Tumblr media
Third Obstruction by Sijing Xie
Some of the best classes I ever took were presented seminar style, where everyone sat around a table and talked openly, as opposed to a lecture format where the professor stood at the front while the class listened and took notes. Though I guided the lectures, they were presented in the seminar format and designed to be interactive and generate discussion. We had great debates on the influence of social media on design and culture, the inherent biases in interactive platforms, and how distribution influences designed artifacts.
As the semester went on, the students got more comfortable reading challenging texts and relating them to their own work. In many classes, I think I learned as much from them as they did from me. I was open about my own biases and western point-of-view and international students helped show the class how topics are perceived in other parts of the world. By the end of the class, the students had developed their own point of view on how their work fits into the larger field and culture.
Something changed around the third obstruction.
For the first two obstructions, many students were still playing it safe, afraid to break out of their comfort zone and were more worried about following the rules correctly than finding ways to work through and with the obstructions. Between the third and fourth obstructions, this disappeared as they'd built up a confidence in their own thinking and ways of working. For the fourth obstruction, I asked the students to create a one-minute short film using only found footage. I was expecting that same look of terror in their faces as when I asked them not to use Adobe products, but any fear that had was replaced with an excitement. "I think you've desensitized us," one joked, "We know we can do it now."
They also started asking deeper questions. I encouraged them on the first day to question the obstructions — if you have to make a poster, ask what a poster is; think about what makes a book a book and how reading on paper is different from reading on screen. As the semester went on, the work got more abstract, more conceptual, more removed from the original goals, and sometimes, just funnier. Some students who initially struggled to break out of their project's original intent, started to open up and find new ways to tell the stories they were interested in. They started having a lot of fun.
Tumblr media
Fifth Obstruction by Xueyan Ma
On the final day of class, we talked about what we learned, our favorite obstructions, and how we saw the original projects differently. Habermas's essay on publics, which they initially found confusing and unrelated, became a recurring theme and a reading they counted as one of their favorites. They found the conceptual obstructions simultaneously more challenging and more freeing than the technical (can't sell something, can't be an advertisement, etc).
I think all of us took away something different from the experience. Some got the encouragement they needed to find the change in their practice they were looking for. Some developed tools to look at design and technology critically and how their work lives in the world. Some learned new software and other how to read challenging texts. And for me, I got better at connecting theoretical texts to actual projects. I got better at critique and how to help students figure out what they want to do, not what me or another professor wants them to do. The Five Obstructions, in many ways, became the perfect framework for me to built my own teaching philosophy on to: to blend theory and practice, to focus on design process instead of design products, and to see the work we make as having influence outside of the four walls of the classroom or studio. Though I've now taught five classes over the two years of my still-very-young-academic career, it was in this class, with The Five Obstructions, that it all came together in a way that served both the students and myself3.
Finally, when it was all over, we watched the film. I wanted to wait until they'd gone through the experience themselves before they saw where the inspiration for the class. I wanted to see how they'd respond to it after going through a similar experience. They chuckled as Von Trier gave Leth various obstructions, remembering their own reactions to new obstructions. They laughed at some results and found others innovative. "I loved that," one said when the credits rolled, "That's exactly what this class felt like."
My friend Mitch also uses the film as a framework for one of his projects and recently launched Obstructions, a simple site to generate your own obstructions. ↩︎
The class site, including syllabi, readings, obstructions, and resources can be found here. ↩︎
I obviously need to thank my students for putting up with this crazy experiment and being game to try new things every few weeks: Caitlin Dai, Fuchen Kuang, Yizheng Lu, Xueyan Ma, San Maqsood, Snigda Pamula, Xingying Qian, and Sijing Xie. One of the biggest reasons this assignment worked so well was because I had a strong group of students who were up for anything and kept pushing their work forward. I could not be prouder of them. ↩︎
3 notes · View notes
impurelight · 5 years ago
Text
Mi 9T
When the OnePlus 7T came out I distinctly remember posting 'Oh, it's the double priced Mi 9T'. Because it is. The Mi 9T is one of the best phones you can buy for 300 USD. So I bought it and here are my impressions using it.
The first thing I noticed when I powered on this phone is the display. It is gorgeous. Just, it looks painted on as you'd expect. But also I can actually use the autobrightness mode. This is my first AMOLED phone. All the rest were LCD's and on LCD's if you lower the brightness the colours also get washed out. Perhaps this has to do with impurities in the red, green, and blue filters. But whatever the case I'd always leave autobrightness off because in dark modes it was too difficult to see anything.
This AMOLED fixes that. In fact it looks even better at night when there's no other light because the colours just pop that much more.
Also about the display there is an oversaturated colour mode turned on by default. I turned it off because although it looks good in most circumstances, if you have a colour that's already really saturated the extra saturation can bump that colour into uncanny levels of saturation.
Oh, and AMOLED displays are not as sharp as LCD panels. It's probably due to the pentile subpixels but if you look closely you can see some diamond stuff going on. Not the actual pixels and in normal use it looks fine but if you stop and stare at it it does look a bit off.
A post about the Mi 9T would not be complete without a talk about MIUI. I really like MIUI. So browsing MIUI discussions the 2 big problems with it are the task management and the notifications not showing up.
First the notifications. Yeah, they don't all show up on the lock screen. But I don't really care about that. When I look at the lock screen it's usually only to control my music as there is a fingerprint icon that displays over the fingerprint sensor. More on this later. So I can unlock my phone without ever seeing the lock screen. Pretty nifty.
And all the notifications show up in the shade so I'm not really sure why people are talking about that. It doesn't bother me that much.
And second there's the task management. MIUI is brutal about killing tasks that are eating battery life. Certain apps will run in the background as long as you opened them manually like the clock. But the official instructions to get something to run in the background are to:
Go into the battery settings and select no optimizations.
Go into the permissions and allow the app to autostart.
Go into the multitasking view (which looks really weird, not worse, just weird. In fact it might even be a bit better than that waste of space multitasking UI stock Android uses. Why they ever moved from the cards UI is beyond me.), long press on the app in question, and select the lock icon to keep MIUI from killing it.
And then I realized there are additional steps no one tells you:
Restart your phone.
Start the app after your phone has restarted.
So it's a bit of a pain. I wouldn't even know this if I didn't have a Mi Band 4. They even put the instructions in the Mi Band app. You'd think the Mi Band would do this automatically given it's made by the same company but I guess not.
I'm not sure if all these steps are necessary but they are recommended.
The upside of all this is that you get fantastic standby time. Like I can go to sleep and my phone won't drop in battery life overnight. There are times I'll go to sleep with my old Android One phone around like - I don't know - 40%ish battery life and wake up with 15% and a low battery warning. It's pretty annoying. I don't know if this trade off is worth it but I mean it's not so bad if you follow all the steps.
As for the rest of MIUI it's pretty amazing. Oh, yeah, people also complain about the launcher not having an app drawer. I don't mind, on my old phone I put all the apps on my home screen anyways. Although I now use Nova just because the default app drawer does not support adaptive icons and some of the icons in the default launcher are pretty bad. But the default launcher has a better swipe animation. When you swipe up the app goes back into its icon. I wish Nova had this but unfortunately not. When you swipe up the app just shrinks into the middle of the screen.
Speaking of the swipe gestures they're pretty cool. Up to go home. Up and hold (not up and to the right like in iOS) to access multitasking (which causes a vibration. BTW the vibration motor on the Mi 9T is really loud). And right or left to go back. Sometimes they do conflict with other things. Especially in Nova launcher (this is more probably due to not being able to go home again if you're already home) and in games but it's not that bad.
My one complaint is you still get that stupid swipe up twice to go home in full screen apps. That means when you're playing a game and you swipe up instead of going home you get a message "swipe up again to go home". It's pretty annoying and I don't know why they do it. But it doesn't bother me as much as having to swipe up to get to a button so I could go home because you're doing the same thing twice. That annoyance of having to swipe up twice is actually what made me never want a phone with on screen buttons. But now all the phones have edge to edge screens so I guess I have to move on.
Also some more notes on MIUI: it doesn't whine about mobile data. On stock android it's like "Oh, you don't have mobile data. Do you want to enable it?" And it's just so annoying. I don't know what sort of fantasy land Google lives in where everyone has unlimited data all the time. Also the clock text is really nice. I mean, it's just a clock but I still really like it.
It only displays like this if you don't have notifications though. It displays the boring normal text if you have a notification. Too bad. I would have perferred it if it always displayed this clock.
Also the battery icon text is too small.
And there's a lot of notification spam. Especially the app updates. Some update through the Play store but others don't. I don't understand why they can't all just update through the Play Store. Oh, well, at least the app update ones can be blocked by the cleaner ones cannot.
And there's this nifty feature called fingerprint shortcuts. Basically once you unlock your phone with your fingerprint you can slide your finger to one of a few shortcuts. This could be really useful if you could customize the shortcuts at all. Oh, well.
Speaking of the fingerprint sensor it's not what I expected. I saw tons of videos and they all had the fingerprint being really fast. And yeah, it's about that fast. But only if you have your finger in the same position you normally unlock the phone with. As soon as you start moving around or you're holding your fingers at a weird angle it can take about twice or even three times as long to unlock and the sensor will occasionally stutter for some reason. And if your hands were recently wet (even if you dryed them) it can even refuse to unlock entirely. I'd still say the fingerprint sensor is pretty good and way better than a back mounted one but I don't like how all those 'reviewers' lied to me.
So I briefly touched on the light up fingerprint icon. Basically there is an icon right over the fingerprint sensor so you know where to press. It's pretty nifty. It's easy enough to know where the fingerprint sensor is as it's usually marked by an unusually oily spot on the screen but it's nice to know explicitly. It's not always on, it appears to light up whenever you move the phone. Also the brightness of the icon doesn't use the ambient light sensor. So in dark locations it'll be fine but in bright locations you can hardly see it.
Also the Wifi is insanely good on this phone. Much better than my previous phone. The connection appears to be much more reliable and the connection is faster.
So let's talk about the camera. I keep on touching it when holding the phone. Because there are three cameras and a flash module. Anyways, it's a fine camera. In a comparison with the stock camera app the Google Camera app gave me much more details so I'm using that even though the HDR isn't as aggressive in that.
Also there is this sky replacement effect in the MIUI gallery app. It is so convincing. It makes the random dual exposure thing Google's doing this year look like a joke. The only problem is that if there's something that looks too much like sky, like a white house in front of some white clouds, it'll try to replace that too.
The last thing I wanted to talk about is the default case. It's really nice. I originally thought it was too thin but it appears to give the phone enough protection. Just be a little careful with it. I love how the buttons are so easy to press unlike other thick cases. Also it's very tight so you won't have to worry about it falling off.
So those are my thoughts on the Mi 9T. I love it. The only question here is, "If I had an equivalent phone running stock Android would I take it?" And to be honest I'd have to lean more towards the 'no' end of the scale. I don't really care about notifications, the closing apps issues is solvable and greatly improves battery life, and the fingerprint icon is a godsend. My biggest problem with MIUI is probably the battery percent in the top right is way too small.
Oh, and PS. Google's migration assistent is a complete joke. Contacts and stuff transfer fine but as for apps it basically use reinstalls them all one by one from the Play store. What a pain.
0 notes
afterspark-podcast · 5 years ago
Text
G1 Episode 15: Transcript
Episode Show Notes
[This can also be found on AO3!]
[Stinger]
O: What the fuck is the cereal for!?!  I don't know, do you know!?!
[Intro Music]
O: Hello, and welcome to the Afterspark Podcast, an episode by episode recap of the generation 1 Transformers cartoon.  I'm Owls!
S: And I'm Specs!
O: Today we're gonna be talking about episode number 15, “A Plague of Insecticons.”  Let's talk about giant robots today, shall we?
S: Yes.
O: We open in this episode on a tropical island in a mangrove forest where several people are poling their boats through the forest.
S: It's called the, “Demon Swamp.”
O: That seems racist somehow?
S: Well, it might have been the Insecticons that named it that, actually.
O: [sighs] Eh, I guess.  And loo, a giant fucking beetle rises from the water!
S: Saying welcome to, “Demon Swamp,” ergo--
O: Okay, point taken.
S: What--why--why they might have named it that.
O: Yeah.  Meet the Insecticons!  Cybertronians that are here, now, for some reason.  Uh, Shrapnel, Bombshell, and Kickback, who are a stag beetle, a boll weevil and a grasshopper respectively.
S: Bombshell is also sometimes listed as a Japanese rhinoceros beetle, interestingly enough.
O: Yeah, we'll probably keep calling him a boll weevil but we--I definitely see how it could be a rhinoceros beetle.  The people flee, leaving behind several bags of food.
S:  That for some reason just really looked like fur to me, it was--
O: They did.
S: Yeah.
O: But the Insecticons can eat this how...and why???
S: Apparently they had to adapt somehow, I don't know.  And Kickback belly flops onto the one boat the remaining people are fleeing on, and...yeah.
O: The fleeing humans stupidly mentioned a farm and the Insecticons overhear this and decide to go pay a visit.
S: They don't even finish everything they were eating.
O: They don't.
S: I guess it'll be there when they get back, but ehh.  At the Ark the Autobots get a distress call from Bali about giant robot insects.
O: Skyfire says not to worry, the Skyfire extermination service is it's way.
S: Skyfire why are you so violent now!?!
O: He just really, really hates bugs, okay?
S: Well, I guess they wouldn make an awful mess smashing against his windshield at the speed of however fast he goes.
O: Yeah, yeah.
S: There would have been a lot more bugs then than there are now.  Skyfire then just like, transforms?  In the middle of the main room of Autobot headquarters the--the Teletraan 1 room.
O: And everybody just loads up, and by everybody we mean:  Spike, Bumblebee, Windcharger and Brawn.  But yeah, you're like--can he just fly out of the Ark, easily down the hallways in his jet mode? [dissolves into laughter]
S: Scale in this cartoon makes no goddamn sense.
O: It has some problems.
S: It really does.
O: We see Laserbeak returning to the Decepticon base, radioing ahead to Megatron to inform him of the robotic insects.
S: Megatron, Soundwave, and Thundercracker decide to head to Bali, Bah-li to track down the Insecticons.  (Or maybe just to have a nice vacation.)
O: Ah, again, I've seen what Megatron has to deal with on a day-to-day basis. I don't think I’d judge him if he’s like, that’s it I'm going to Bali! [laughs]
S: So I guess they get to Bali and then Soundwave sends out Ravage to track them.
O: And Ravage just sort of hops away following the scent, it's so CUTE!?!  Help!?!
S: He just kind of bounces.
O: It’s so cute!!! [giggles]  They do find a Decepticon escape pod that was apparently launched from the Nemesis before it crash-landed on Earth.
S: So yes, this does answer at least one question I had which was--were there still Decepticons on the darn ship? And so the answer is definitely yes, but this doesn't answer how many Decepticons were on that ship.
O: The world may never know.
S: Um-hm.  This leads Thundercracker to realize that the giant robot bugs they're tracking are actually Decepticons that gained insect alts instead of vehicle alts.
O: We cut to the Insecticons who have found the before mentioned farm and they just dive into a field of grain and start chowing down!
S: Oh my god they're vegans!
O: [laughs]
S: We never see them eating meat or anything.
O: You don’t so--
S: Just like metal, and grain, and other organic, uh--crops.  Crops.  They eat crops, okay?
O: So in addition to our Skyfire group, another group of Autobots show up Bali.  This group being composed of: Optimus, Sideswipe, Sunstreaker, Wheeljack, Ironhide, and Trailbreaker.  They run into a religious celebration prompting them to try to take a shortcut and Sideswipe decides to take the lead, going off-roading.
S: You're a fucking Lamborghini Sideswipe you do not have enough ground clearance for this! At all!
O:  [laughs]
S: At all, at all, at all.
O: And Sunstreaker gives his bro shit, uh, because Sideswipe ultimately leads the group into a dead end.
S: Complete with a size changing hole.
O: Wheeljack also makes fun of Sideswipe’s poor pathfinding skills.
S: And back to what white Americans thought not Americans sounded like circa the 1980’s.  It's pretty racist.
O: It’s pretty racist. And yet more people are fleeing the giant vegetarian robot insects.
S: Some poor guy bails out of a combine shouting that he knew they should have sprayed the grass for bugs.
O: Not entirely sure how that would have helped you, good buddy but I mean… [laughs]
S: Hey, maybe--maybe insecticide would have warded off giant metal insects, who knows?  The Autobots show up and exit Skyfire while Skyfire’s like...half transformed?  There's a really weird pause here in the animation.
O: And he has legs while everyone just bailed out of him like, it is so bizarre looking.  I love it.
S: Yeah, but I mean you could legitimately transform his--
O: Um-hmm.
S: His toy like that, so...
O: Whirl too, I think?  You could--he could have legs, it was so funny.
S: Yeah...so a fight ensues as we were introduced to the Insecticons’ special skills. This is why you buy the toys, kids!  Why you buy the toys!
O: [laughs] Including being able to clone themselves, for some reason?
S: You gotta have some sort of cannon fodder I guess, when there's only three of ya.
O: I...well, I mean, the Insecticons actually will act as cannon fodder for the remainder of the series for [the] Decepticons like, their clones will, so I--valid point, they're basically the Veh--the Vehicons of the series.
S: Pretty much, I mean it was an easy way to explain how the Decepticons would have like, large numbers rather than just having a weird variety of alternately colored Seekers.
O: Yeah, this--I almost feel like they should have introduced these guys sooner so that they could that instead of these Seekers that we’ll never see again.
S: Yeah, eh, I don't know what the writers were thinking or the artists, it was probably a weird combination of no one was doing their job.
O: No one was thinking.  [laughs]
S: Okay, so um, so Brawn thinks these clones are optical illusions until he and Skyfire are thrown into a lake by said clones.
O: Then the Autobots flee into some weirdly large corn hoping that reinforcements are coming soon.
S: It’s really, really, really, large corn--it’s kind of amazing.
O: Yeah.  Now about those reinforcements!  Sideswipe’s brilliant plan after leading everyone to that dead-end was to tunnel their way to their destination.
S: He's really not a smart dude.
O: And yet, that doesn't explain why everyone else here went along with it. [laughs]
S: The Insecticons shoot spikes into the corn but Windcharger uses a repulsor field to keep everyone safe. Um, another nod to Windcharger’s weird magnet powers.
O: Yeah, surprise! The Decepticon tracking party has arrived and Skyfire can't transform.
S: You had one job Skyfire.  Unfortunately that job is to be taxi, never mind that you're a scientist not a warrior and you mentioned that your very first episode.
O: And now you're stuck here with Brawn and Windcharger.  Brawn and Windcharger.  Against Megatron.  Ya guys are screwed.
S: Well, also Bumblebee and Spike, if I’m remembering properly, but--
O: Okay, Spike-- without being able to steal a gun from somebody is effectively useless in this fight and Bumblebee--Bumblebee is a, supposed to be spy, obviously.
S: Yeah.  Despite being--
O: He's a terrible spy, but he's supposed to be a spy!
S: Despite being bright yellow, supposedly a spy.
O: [laughs] Right!
S:  No one’s good at their jobs.
O: Except the cassettes!
S: Yeah, and Ratchet.
O: And Ratchet!
S: I mean, Wheeljack’s also good at building things but they tend to explode--
O: I want to--I mean the cassettes and Soundwave, okay?
S: Okay.
O: He’s the most competent guy in the Decepticon army.
S: Yes, okay--also you should probably sit down Skyfire, you're significantly taller than that weird corn.
O: And then Brawn apparently has something against Rumble as he calls him a sawed-off nerd and he's glad he's not with the other Decepticons?
S: So what do you think Rumble’s nerd qualities are, exactly? Like, what kind of nerd do you think he is?
O: Video games? Weird foreign films?
S: Music, maybe?  Legos.
O: I like that!  Anyway, this is just making me like Brawn less and Rumble more.
S: Well, you already didn't much like Brawn, so it’s not--
O: No, but it’s a, it’s raising Rumble in my estimation.
S: So the Insecticons don't seem to know who Megatron is.  The conversation basically went as so:  Megatron--We're all the same!  Insecticons--Great!  Now help us kill these guys.
O: [laughs] Megatron sees absolutely no downside to this, as the Decepticons prepare to fire.
S: And back to our other group of idiots.
O: I swear in the previous scene they looked like they were underground but apparently Sideswipe’s barely made a dent into digging through this mountain, hill, whatever.
S: I'm guessing that was just some sort of wall, considering what I'm going to say next…
O: [laughs]
S: Optimus finishes this tunnel with his chest by ramming through the rest of the rock in truck mode, so obviously--
O: It wasn’t--
S:  --it's not a very thick--
O: Rock wall or something.  The other Autobots follow.  Sideswipe mysteriously turning into a clone of his brother for a few seconds.
S: And they finally arrived to help Skyfire’s group.  The twins yelling, ramping up a hill, and then transforming into--in midair to tackle the Insecticons and Megatron from above.  It was obviously the proudest moment of their lives.
O: You know it was.  Megatron comes up swinging though, getting Sideswipe an incredibly inappropriate hold and then chucking him across the field and straight into Skyfire’s arms.
S: Skyfire’s his knight in shining armor.
O: He’s everybody’s knight in shining armor.
S: He is!  And then Ironhide pretends to be Ratchet again.  Ratchet I'm assuming is--
O: Not here, I'm pretty sure he's back at base.
S: He’s--he’s sir-not-appearing-in-this-film.
O: Yes!  Well, sir-not-appearing-in-this-episode, anyway.
S: Yeah. The Autobots attack and the Decepticons take to the air and escape.  This seems like an obvious tactical solution for the Decepticons.
O: I mean, look, if they could fly in the Autobots can’t, why wouldn't they just be like--alright this isn't worth our time today? Wheeljack proceeds to fix Skyfire who takes off to keep an eye on the Decepticons, while  the rest of the Autobots follow on the ground.
S: He does.  Soundwave notices the idiot following them immediately and Megatron sends the Insecticons to take care of Skyfire.
O: Skyfire wishes for a laser powered flyswatter and the Insecticons call him a booby.
S: [sighs] Harsh words from a group of robot insects.
O: [laughs]
S: Wheeljack shoots the insecticons off Skyfire’s wings.  Actually, I don't remember was Wheeljack flying here?
O: Wheeljack has flying!  So Wheeljack takes off.
S: He's not wearing a jet pack that we can see but apparently he can fly, yeah.  So yeah, Wheeljack shoots the Insecticons off Skyfire’s wings and then Kickback kicks him to the ground.
O: Optimus then catches him with this soft metal trailer, which is definitely softer than the ground in every conceivable way.
S: Somehow.  And at a nearby oil refinery the Decepticons land amid cries of, “The monsters are back, run!”
O: Has ch--has Megatron hit this place before?  Is this from an earlier episode?  Should we recognize this place Specs!?!
S: Maybe this is where the Insecticons have been going to get--I don't know their fuel when they're not chowing down on cereal?
O: [laughing] They’re--they were just eating wheat though!
S: I don’t know?  So Soundwave does his normal job--when we get to Energon situations like this and he's the Tupperware mate again as he creates some more empty cubes.
O: And we're just dumping oil into these cubes and it’s magically Energon, ‘kay.
S: Sounds about right according to everything else they do.  Bombshell drops down and uses his, “Override wave,”--I am making quotation marks with my fingers--um, on Sunsteaker and Sideswipe.
O: Sunstreaker says, “Hey, somebody else is driving me!”  I feel like I can make a dirty joke here with..well, almost no effort really.
S: Yeah...zero effort and introducing another fancy reason to buy these even though the toys don't actually do that.
O: [Chuckling] Yes.
S: You just gotta have a representation of that character that you really love that does that thing and then you can pretend that your other toys are being mind controlled.  And uh, so Trailbreaker uses his force fields to block the override away--array.  Again, more fancy abilities.
O: Why aren't we just shooting bombshell?  Wheeljack has missiles, he used missiles earlier they seemed pretty effective.
S: Cuz you know we gotta remind the kids about the toys’ cool abilities!
O: You realize who you're talking to, right?  This is the person who has five [six, at the time of posting] Megatrons, remember.  Clearly I am not inclined to branch out.
S: I guess they're appealing to people more like me, who have a weird-ass selection.
O: [laughs] I am connoisseur, thank you!
S: You specialize, mine is a bit wider though I do have two Drifts and like, two Ratchets. Brawn requests some assistance at getting close to Bombshell, so Optimus is just like, fucking picks him up and lobs him through the air.
O: Brawn then lands on Bombshell.
S: This is, you know, the second Decepticon that Brawn has ridden.  I mean, first was Soundwave and it pretty much cemented your dislike of him.
O: Yeah, pretty much.  If you hurt Soundwave I’m not going to like you very much.  Brawn falls off, or is kicked off.  It's kind of unclear.
S: Who’s then caught by Skyfire, who is basically (as I said) everyone's knight in shining armor but Skyfire catches him right before he hits the ground.
O: Again, how was this an improvement?  That doesn't mean the force of his fall just disappears, you know.
S: That's true, that's very true!  You--if you’re a human your inside bits end up splattered against the rest of you.
O: I mean maybe, maybe robots don't have that same problem but--but definitely any time they catch the humans.
S: Yeah..so back at the oil refinery we see the Decepticons filling yet more cubes, only now Rumble’s in tow.
O: So...basically, what this means is he was probably in Soundwave’s chest compartment all along, meaning that Brawn is just wrong about everything today.
S: Yeah, the Insecticons show up and Megatron tells them to crack open an oil tanker and drink their fill.
O: Okay, so they're not vegetarian but then why were they eating all that grain earlier!?!
S: They had a craving, they wanted their cereal.
O: They're giant bugs, not pregnant women with a craving!  The Autobots show up and Megatron tells Soundwave to, “Activate the Ravage cassette!”
S: What a way to, um...dehumanize is maybe not the right word?  De-personify?  De-personify one of your most competent soldiers.
O: But we do get more cute Ravage bounding, which makes me happy.
S: He just bounce, bounce, bounce--
O: [laughs]
S: --all the way over to the Autobots. And now it's Sunstreaker that's pretending to be his brother for a shot.
O: In a tussle with Thundercracker--Optimus, Wheeljack, and Brawn end up coming up underneath the pier Thundercracker’s standing on and throwing him up and into the oily water he'd already set ablaze.
S: Thundercracker’s just not making good decisions.
O: No. [laughs]
S: And Ironhide manifests fire extinguishers out of his hands in an attempt to control the blazing oil around them and then Shrapnel uses lightning to attack the Autobots telling them to, “taste to the lightning-lightning,” maybe?  Isn’t he the one that [repeats words]...?
O: Oh, he might, I can't remember.  [He is.]  I do love that Wheeljack’s response is, “It tastes terrible!,” after he gets hit though.
S: It's a good response.  I like it.  Good on ya, Wheeljack.
O: I like Wheeljack.
S: I love--I like him too.  He’s a--he’s a good fella.  But rubber tires save the day, as Bumblebee transforms and Sharpnel’s attacks have no effect.  Oh my god, that just makes me think of the thing from the Mars Attacks! comics and Spike’s rubber boots.
O: Oh my god, that part was amazing.  I love it cause like--
S: Yeah.
O: --the solder gives him shit, but he’s like, “Ha!,” at the very end, it’s great.  Uh, this prompts Wheeljack to ride Sunstreaker into battle and shoot Shrapnel with his missiles.
S: And then Optimus rides into battle on top of Ironhide and Trailbreaker.
O: Like a foot on each one.  It's kind of great.  Seeing as the lightning has failed, Megatron shoots the oil tanker, jumps into the water and then pushes it towards the oil refinery in an effort to blow up the Autobots.
S: Optimus just kind of bear hugs the ship and sort of makes it sink…
O: Megatron takes aim at Spike and then Optimus pops out of the water holding the oil tanker above his head.
S: This is really absurd looking because Optimus is like, 1/24 the size of this oil tanker or something?  He is very small compared to the oil tanker.
O: Right!  But then Optimus Prime, leader of the Autobots, chucks an ENTIRE oil tanker at Megatron!!!
S: And the Insecticons proceed to say--fuck this shit--and take off with some Energon.
O: Megatron pops back up yells to stop them and then Reflector is here for some reason?
S: He had to get his paycheck somehow.
O: [laughs] Well, like where did Rumble go?  Like, Rumble I don’t think is there anymore, so I’m like, was Rumble supposed to be Reflector the entire time?  Was Reflector supposed to be Rumble?  Did Rumble say, fuck this shit, and hop back inside Soundwave?
S: Could be that, maybe he went to go do nerd stuff?
O: I'm gonna go with that.  Anyway, the Decepticons follow the Insecticons into the air and the Autobots laugh cause this day is saved once again, thanks to the Powerpuff Girls!  Wait, no, that's wrong. [laughs] Anway, that’s the end of our episode, join us next time for the season 1 finale, Heavy Metal War!  Where the Constructicons are introduced and Megatron is a cheater McCheater pants.
S: And we don't actually address any of the ecological issues that happened in this episode with the oil.
O: Or any of the other terrible things that Megatron and the Decepticons have done that further affected the ecology around them.  Eh, that’s not the word I’m looking for...environment.  I’m going to go with environment.  Alright, Specs, what are our fanfics for today?
S: We have two fanfiction recommendations for today.  Our theme for both of them is Insecticons um, but so let's go forward with this--I will introduce the first one and then Owls can introduce the second one because it was her recommendation.
O: Yay!
S: Alright, so the first one is titled, “Icehopper,” by Ayngelcat, and that's angel with a “y”.  (It'll be spelled for you.)  So it's in the G1 continuity, it's rated G, uh, it's rated--its Gen, there aren't any pairings. It’s just a cute little short thing.  So characters are: Shrapnel, Bombshell and Kickback.  And so, the authors summary is, “Another fic I wrote a while back which I've hauled from an obscure place.  The time of year seems appropriate.  I confess to it being a favorite besides which, insecticons needs love.”  So this is actually set during…
O: The winter, or…?
S: Yes, it’s set during the winter.
O: Ah.
S: Originally written for the TF_speedwriting, with the prompt, “Snow White,” and summary, summary is, “Kickback has fun in the snow which does not provide quite so much fun to fellow insecticons, and there's a warning for extreme Insecta-fluff.”
O: [chuckles]
S: With a smiley face.  So ya, recommendat-- the theme or here--whatever is, “Insecticons,” lots of Insecticon cuteness.
O: And my recommendation for today is, “Unusual Subjects to Take Up in Therapy,” by Sparklight.  Continuity for this is Shattered Glass, which is one of my favourite continuities ever and um, I just happened to remember that uh, Shattered Glass Bombshell was in this and recommended it for it.  The rating is G, the--it is Gen, there are no pairings though I will admit I feel like I get some Cliffjumer, uh, Bombshell vibes in this but um, but it's not listed that way.  Characters are: Regular universe Cliffjumper, Shattered Glass Bombshell, Shattered Glass Starscream, Shattered Glass Sideswipe and Shattered Glass Megatron.
Summary, “After Megatron expresses concern over how Cliffjumper is handling his new situation and Cliffjumper insists he's doing FINE, he still ends up talking to Bombshell about alternates, the differences between his native reality and this one (and the people in it) and, just a little, about how he's dealing with it.  At first reluctantly, and later less so.”  The theme for this was Bombshell, basically (and the Insecticons).
So, some background on the Shattered Glass universe and the plot in the main Shattered Glass stuff is that the normal Cliffjumper actually ends up there and ends up a allying himself with the Shattered Glass Decepticons, who are the good guys in this universe.  I quite like this fic, I want to say it's like five or six chapters long but it is complete um, and I just enjoy getting to read anything with Shattered Glass in it but I thought characterizations in this were good and we don't actually get to see a ton of Shattered Glass Bombshell material, so it was interesting.
S: Sounds good, and we’ve got fanart today!
O: We do!  So, our fanartist for today is Red or Russet Red, I'm not entirely sure which one they go by.  We will have additional links to their stuff on our Tumblr but the stuff that we will list on at least AO3 is that Russet Red has a Tumblr, Twitter, and an Instagram.  They tend to do a lot of ID-IDW stuff, though I think there's probably more stuff on there too?  There is a variety of characters, uh, the IDW continuity as far as I can tell.  Some really cute stuff, ranging from sprite art, to sketches, and finished pieces.  They have mine--my undying gratitude for making adorable Coswave fluff, yes!
Uh, our three art recommendations for the day are, a sleepy ambulance--which is Ratchet related.  A Coswave sprite they did which is super cute, and then some Minimus fanart, where he is holding a bunch flowers, that I just thought was cute.
S: Sounds adorable.
O: I really recommend them, their art style’s pretty damn fucking cute!
S: Okay, and so that just about wraps it up for us today.  Remember to check us out on Tumblr or Pillowfort at Afterspark-Podcast for any additional information, show notes, or links we may have mentioned.  You can also find us on Facebook and Twitter at Afterspark Pod (all one word) and various other locations as Afterspark Podcast such as AO3, iTunes, Google Podcasts Stitcher and YouTube, just to name a few.  Till next time, I'm Specs!
O: And I'm Owls!
S: Toodles!
[Outro Music]
0 notes
codenamesilas · 4 years ago
Note
[bangs fists] Gimme SG!!
-leland is soft-spoken and mostly quiet until you get him talking about something he's familiar with. then good luck shutting him up.
-his house is an absolute disaster of half-finished hobbies and projects as he quickly gains and loses interest in them but can't part with any.
-he is absolutely obsessed with conspiracy theories and anything supernatural
-he works for a version of mech that supports the decepticons and dedicates itself to learning cybertronian culture and technology. he is not, however, its leader, focusing more on archiving their data and transcribing files.
-he's visited silas' universe a handful of times and had Bad experiences with almost everyone. it's full of mean people and odd grey creatures that don't understand the concept of personal space.
It had taken months of coaxing and arguing his side of things, but Ralph had finally gotten the go-ahead to begin studying live Autobots. They needed this, something to give them an edge. Because, while the Decepticons were good at handling the opposing threat, they couldn't be everywhere at once.
Cybertronian tech was still available to them for study, but without subjects to test any of their developments out on, they wouldn't know how effective their weapons were until it was far too close for comfort.
Leland was at his work station, weeding through notes and files. Caught up in his work, he jumped when he felt the hand on his shoulder. “Oh, Ra-...sir. I didn't mean...I was just focusing on-”
“Calm down. I need you down in the secondary bay.” The cowardly agent blinked as the location registered in his mind. The bays were used primarily for the more...physical work with the Autobots; definitely not his department. He didn't even get his mouth open to question it before Ralph cut him off. “I'll explain when we get there. Now, if I'm not mistaken, I just gave you an order.” It wasn't said in a demeaning tone, simply an authoritative reminder.
Even though they were still quite a ways away from it, you couldn't miss the sounds of metal on metal and the unique cursing used by the Cybertronians. Clearly, somebody wasn't happy. Leland gripped at Ralph's shoulder, “What's going on?”
The mechanic patted Leland's hand reassuringly and removed it from his arm. He knew the agent wouldn't be happy about what they were going to try, which is why he was keeping his information as limited as possible. “I need you to keep an eye on it's vitals. We've managed to hook into it's system's enough so that we can access it's HUD from our own computers. The problem is, it's all in Cybertronian, which is where you come in.”
He'd never taken much of an interest in the Cybertronians, aside from the sheer awe that came from having casual conversation with something impossibly large, but he and Starscream had gotten along well enough. The seeker had shown him how their displays worked and what each of the gauges and error messages were. It was something to pass the time that didn't involve flying. Leland had a bad encounter with being inside one of their alt modes, and absolutely refused to get in any of them. “Wouldn't it be better to get...one of the Decepticons?” No surprise that he was terrified of being in the same room as an Autobot.
Ralph shook his head, “Not an option.” He was tip-toeing around the truth. There was a reason they couldn't bring any of the Decepticons in, and it wasn't just because this particular test might be considered unethical. “Don't worry, you'll be fine. I wouldn't bring you in if it were dangerous.” That part was absolutely true. Leland wasn't trained to deal with these kinds of situations, so if the situation wasn't completely controlled, he wouldn't have even considered this.
Once they finally entered where the 'test subject' was being held, Leland gasped at the site of the struggling mech. To keep the agent from losing his nerve, Ralph grabbed onto his shoulder and one of his arms, guiding him towards the consoles. He just had to keep Leland's attention long enough to let them do what they needed to do. “He's...overheated. Probably from the stress. Energon levels are ...relatively high. And-”
“So you can make it all out?”
“Yes, but why do you-”
“Good. Monitor them until I give the word.” With that said, and without giving Leland any time to protest further, Ralph turned and began barking orders at the other agents.
The out-of-place agent blinked a few times, before shaking his head and keeping his eyes on the display. Aside from the few signs that the frame was getting heated, the mech appeared to be quite healthy, and Leland found out he could force the system to run diagnostics on itself from their connection. That meant half of his work was practically doing itself. All he had to do was decipher it as best he could.
It also meant that his focus didn't need to stay just on the display, and he looked around, finding it strange that none of the agents were around the mech. It wasn't that they were avoiding getting near it, because every once in a while, some of them would walk past without even glancing at it.
Soon it was clear that whatever was going to happen, was happening now. But there was no dimming of lights, no hushed silence, nothing like Leland would have expected there to be with some grand experiment. Their shouting simply levelled off to calm talking , and a few agents surrounded the mech, watching it carefully.
There was a slight ringing sensation in his ears, but Leland didn't think twice about it, because suddenly the display had gone black. And since the machines and consoles were all still functioning, that meant it was the mech's HUD that had gone offline. Or perhaps the mech itself, which is what appeared to have happened. The thrashing and clinking of his bonds had stopped, there was no cursing, no threats being screamed at them, it's optics dark.
Leland didn't actually see any of this; he never looked away from that blank screen. His heart pounded in his chest. They'd killed it. He was furious. Not because of what they'd done, he was vaguely aware of what Ralph's job was and why it had to be done. It was the fact that they'd dragged him into it.
Ralph circled around the mech, shaking his head. It wasn't supposed to last this long, he'd hoped it would only be a temporary effect. Well, a few adjustments here and there and maybe- oh hell. He'd forgotten about Leland, and it didn't look like he was taking it well. He walked up to the clearly disturbed agent, placing a hand on his shoulder, “Hey, you alri-”
Leland spun around the moment he heard Ralph's voice, hands gripping at his superior's uniform and ramming him against the wall. “You lied to me!”
“I never lied to you,” Ralph's voice was calm and even.
“You never told me you were going to kill him, either!”
“It wasn't supposed to kill it. It was a frequency tailored to the same rate that it's spark pulsed. All we planned for was temporarily interrupting it's connection to the frame. At the most, we expected it to power down for a few sec-” There was a slow hum that had grown more prominent before the mech came back online, panicking and angrier than before, but alive.
Leland's shaking hands fell away from Ralph's collar and the reality of what he'd just done hit him hard. Despite his height, he somehow made himself look much smaller than his superior, chills running up and down his spine. “I didn't mean-” he looked completely helpless before bolting for the doors.
5 notes · View notes
nullset2 · 7 years ago
Text
Toy Project: Fortune Telling from Super Mario Bros. DX
I recently moved out of my country and I've been staying at a hotel and turns out I got bored so I started just trying random stuff to try to have fun while I get my own place.
So I remembered... back in the day, I don't remember how, because I never actually had a gameboy of my own, but I remember I managed to play Super Mario Bros. DX for the Gameboy Color. I remember that port, a pretty good one at that, because of the fact that not only does it recreate Super Mario Bros. on the Gameboy Color really well, no matter the small screen size of the system itself which leaves a lot to desire to the NES's resolution, but because there's a massive amount of extra content added to the original SMB trip.
There's time trials, You vs. Boo mode, multiplayer modes, hidden red coins, hidden yoshi eggs, a new map screen and a lot of other random smaller stuff, such as Gameboy printer stickers (in case you have one of those laying around lmao), a day planner in case you're still rocking your gameboy color as a PDA 20 years later, and even a fortune telling minigame. It's awesome!
 The fortune telling minigame
You see, for some strange reason I have this weird kinship for the fortune telling minigame... I always liked the fact that the little messages you get are so satisfying to read, the little jingle that sounds before the message is displayed sounds so exciting, and the fact that you can even get extra lives for the main platforming game if you have good luck and you get a nice fortune :)
So here's the challenge:
I want to recreate, for fun, the fortune telling minigame in a web application.
Right off from the bat, this is what I'm gonna need:
A dump of all the fortune messages that Nintendo put in the game.
A dump of all the graphics and sound used in the fortune telling minigame.
A database schema to store traffic data and fortune content data, so people can login, see and share fortunes, ideally with facebook.
An admin interface to add or edit the fortunes on my database easily (nice to have, and it involves making a User model too. I can do with SQL only though)
A web server that displays the actual frontend for the fortune telling minigame, does the "random shuffling" process, handles user traffic, then shows the users' fortune as an actual document that they can see on a browser (Ideally I'd expose it as a RESTful API too, but I don't want to do that at the moment, and for the sake of having a controllable scope for this project, I'll focus on doing everything as a rails web application)
TL;DR: Here's is the finished product: Have fun
This is gonna be fun :)
Dumping the fortunes
First of all, unfortunately I didn't manage to find a complete text dump of all the available text data in SMBDX online. Bummer! I was sorta anticipating this though. I guess I have to dump the text myself.
How to dump the text off a gameboy color game though? I was puzzled by this... however, I did notice something, the font used in the fortune telling minigame is similar to the font used in other gameboy color games, like the Legend of Zeldas available for it.
For example, compare both uppercase "W"s in the words "Words and "What", respectively. It's the same typography.
So I figured out that there ought to be a parallel there. Maybe if somebody has already dumped the text off of, say, The Legend of Zelda: Link's Awakening DX, and shared their techniques online, I could use something similar to dump the text off of SMBDX into a text file.
Turns out that there's many text dumps of all the zelda games on Gameboy Color, and off of the notes in those, I found out that there's many games that use ASCII encoding for their script. ZeldaDX is one of them. You can theoretically just open a game's files on a text editor with ASCII encoding and copy the script off of that
What does this mean? It means that the ROM image of the game, which is the actual collection of all the data that composes the game and that got shipped in carts in the original release of ZeldaDX (or any game on cart, ever, for that matter), has the actual text content itself encoded with the exact same hexadecimal values that the American Standard Code for Information Interchange uses:
From here onwards things are about to get more and more technical so buckle up and enjoy the ride. If you don't yet understand terms such as "Encoding", "VRAM", why RAM is different than ROM in the GBC or any computer's architecture, or what "Hexadecimal" means, feel free to stop here and just look at the results, or shoot me a line and we can chat about it over beers :)
So let's fire up good old trusty XVI32 and look at the ZeldaDX ROM image in it using ASCII and lo and behold, what happens when we try to search for a string of text which we already know is in the game, for example, "Marin"
There it is :)
You can also use a decent text editor to open the ROM and force "Western" (or Windows-1252) encoding when opening the ROM.
So, I procured a ROM image of SMBDX off from the actual retail copy I have and that I purchased with my own money, like you also should. Then, after dumping the ROM image, from here it should be a cakewalk, right? Open the SMBDX ROM on a hex-editor with ASCII encoding and presto, right?
Well, not quite.
Unfortunately, Mario DX, for some bizarre reason, doesn't use ASCII encoding for its text. Strange.
My hypotesis at this point is that, well the fortunes data must be there in some kind of sequential order still, because the fortune lines are data that must necessarily be persisted in order somewhere in the ROM image to be presented to the users.
Let's pretend that we have a false encoding for a second, where the letters of the alphabet are represented by the following key:
A => A0 B => A1 C => A2 D => A3 E => A4 F => A5 G => A6 H => A7 I => A8 J => A9 K => AA L => AB M => AC N => AD O => AE P => AF Q => B0 R => B1 S => B2 T => B3 U => B4 V => B5 W => B6 X => B7 Y => B8 Z => B9 a => BA b => BB c => BC d => BD e => BE f => BF g => C0 h => C1 i => C2 j => C3 k => C4 l => C5 m => C6 n => C7 o => C8 p => C9 q => CA r => CB s => CC t => CD u => CE v => CF w => D0 x => D1 y => D2 z => D3 ' ' => D4
Based on that assumption, and unless SMBDX is doing some shifty on-the-fly uncompression thing to the ROM image (!!!), based on the fact that we already know that there's a message in the game that reads: "With a Fire Flower", and that the data has to necessarily be in that order somewhere in the rom, we should expect to find a sequence similar to the following data somewhere in the ROM:
B7 C2 CD C1 D4 BA D4 A5 C2 CB BE D4 A5 C5 C8 D0 BE CB W i t h a F i r e F l o w e r
The problem is, though, that we don't know for certain that the game stores its alphabet starting from uppercase A, with value A0... it could be any other value for all we know.
So to try to get a bit more clarity at this point we can use a hearty good old emulation debugger. If we fire up the ROM on a good-ass old emulator (in this case, I'm using nocashgmb), you can see the state of the Gameboy Color's RAM on runtime. Nice. We can trigger a fortune inside the fortune telling game, then inspect the memory to find out what data is actually getting read and from where:
If we take a look at the first uppercase W when we triggered a fortune it shows that the data comes from address 99C1 in the Gameboy Color RAM (look under Map Address)
So let's use a hex-editor to Goto address 99C1 and we find from offset 99C0
8D D6 E2 ED E1 1D DA 1D C5 E2 EB DE 1D C5 E5 E8 F0 DE EB
Look at the following screenshot:
Notice something interesting here? Probably we got the jackpot ;)
What are the giveaways?:
Notice how there's a lot of instances on this string of hex values of the value 1D. Why could that be? Could it be some kind of separator? Or delineator? What about... if it was a representation for typographical space?
Notice how the value C5 appears two times. The character F also appears twice on the phrase, on "Fire" and "Flower". Coincidence? I think not.
It seems to me that the string of hex values we found translates very well to:
8D D6 E2 ED E1 1D DA 1D C5 E2 EB DE 1D C5 E5 E8 F0 DE EB W i t h a F i r e F l o w e r
Some other thing that I noticed is that the lowercase values seem to be incremental and alphabetically ordered (notice at the values representing 'l' and 'o' and how they seem to be in sequence when you interpolate 'm' and 'n' between them, exactly in order going from E5 to E8), yet the uppercase values don't seem to follow the same order. I may be mistaken though.
So perhaps we can build a translation table from Mario-encoding to ASCII by deducing it from the debugger, then input it into a hex editor that can do custom translation tables, and hopefully try to deduct the rest of the code from there. We could throw out some ruby for this:
#!/bin/ruby LOWERCASE = { } ASCII_LETTER_a_OFFSET = 97 offset = 0xDA (0..25).each do |i| LOWERCASE[($ASCII_LETTER_a_OFFSET + i).ord.chr] = offset+i end $LOWERCASE.each do |k, v| puts "#{k} => #{v.to_s(16).upcase}" end
Which produces this table:
a => DA b => DB c => DC d => DD e => DE f => DF g => E0 h => E1 i => E2 j => E3 k => E4 l => E5 m => E6 n => E7 o => E8 p => E9 q => EA r => EB s => EC t => ED u => EE v => EF w => F0 x => F1 y => F2 z => F3
So far so good. Notice how it perfectly syncs with the example fortune.
Let's try to see how this plays out in a hex editor before we move onto the uppercase characters. Let's open the Rom on XVI32.
A quick tangent: of particular interest, notice how there's a string of perfectly good ASCII text at the beginning of the ROM file, showing the game's title and key. Longtime experience with Wii hacking and Nintendo DS and 3DS fidgetry has made me understand that since a forever, Nintendo has always liked to assign a unique alphanumeric code to each and every title that releases on their console. They call that code the TITLEID. I can see that SMBDX is AHYE. A quick look at the game's product ID on a site like GameFAQs seems to confirm that:
So there's a feature on XVI32 called character conversion that one can use to make XVI32 follow a custom encoding instead of ASCII when trying to visualize the data inside a file. This fits perfectly with our use case that we want to see the text in Mario-Encoding, which we have already deduced. Let's try to input our conversion table there:
Turns out XVI32 has a format that it uses to exchange conversion table data called XCT. This is a simple format which can be created from plaintext consisting of n different lines denoting a semicolon-separated pair of translation values, one per each line. We can adapt our ruby code to produce an xct table very easily, associating our values on the reverse order, so to speak.
For example, we have determined that 'a' (ASCII hex 61) corresponds to Mario encoding 'DA', our first translation pair in the xct table would read: DA;61
Let's use the code that we used before and modify it a bit so it dumps an xct table for us:
#!/bin/ruby LOWERCASE = { } ASCII_LETTER_a_OFFSET = 0x61 offset = 0xDA (0..25).each do |i| LOWERCASE[($ASCII_LETTER_a_OFFSET + i).ord] = offset+i end $LOWERCASE.each do |k, v| puts "#{v.to_s(16).upcase};#{k.to_s(16).upcase}" end
The resulting xct table, so you don't have to run this script, is here.
Which we can then load into XVI32 for conversion... and once we do that, lo-and-behold:
And from here it should be pretty easy to decode the uppercase alphabet that Nintendo used for this game:
#!/bin/ruby UPPERCASE = { } ASCII_LETTER_A_OFFSET = 0x41 offset = 0xC0 (0..25).each do |i| UPPERCASE[($ASCII_LETTER_A_OFFSET + i).ord] = offset+i end $UPPERCASE.each do |k, v| puts "#{v.to_s(16).upcase};#{k.to_s(16).upcase}" end
Yes, I know, I didn't bother to modify the original code to integrate both cases and just ran one for uppercase alphabet, and another one for lowercase. I was lazy xD.
The final fortunes content, with a bit of formatting and retouching, is here.
Getting the GFX and the Sound
Fortunately it was really easy to find the graphics for the fortune telling online, since sprite ripping is fairly easy to do and has been commonplace since the dawn of the commercial internet and emulation (credits to spriters-resource.com).
The sounds weren't as easy to find since the Result, option select and option opening sounds weren't as interesting as to warrant somebody posting them online in wav format for other people to download. I didn't manage to find them, but not to worry, this is a simple sound capture job. VBA-m, a popular gameboy emulator, has screen and sound recording features. After sound capture, it´s a simple edition job. Audacity is a great tool for this.
But anyway, I had to rip the sound effects that come after you get your fortune, because those weren't available anywhere. That was a simple audio capture and then editing with audacity. My audio collection is available here.
Developing the app
Now that we have this, we can jump into development of the actual app! Oh joy!
I decided to architecture the application as a standard server request-and-response cycle. I kind of had to take a bit of time to think about this. Do I develop this in the traditional way, using a server and a database with a request-response loop, or do I do it on the clientside? After all, doing everything clientside is pretty hot these days... But the argument that having a relational database available to add extra fortune messages is too compelling to ignore, and backend languages are still in my opinion more amicable to that purpose than just doing everything on frontend. I will eventually make this app more robust clientside in a version 2.0.
These are the design tenets:
A web server displays the fortune selection page, which should have the necessary design to play audio and display animated content (without plugins, mind you! Modern Web is awesome!).
On click, the frontend performs an animation, then the user gets redirected. The user's traffic is intercepted by the server, which makes a dice throw and shows the user's result, with the corresponding audio and graphics according to the result.
The pages in the site should be responsive so it works well on different viewports, even smaller screens. The web server should be able to connect to a relational database to retrieve the fortunes.
The server should be able to retrieve the fortune text off of a relational database.
So I decided to go with a simple Ruby stack for this, with the Sinatra framework for coding the server, PostgreSQL on the database, heroku as the platform (I like PaaS and heroku has amazing, free support for PostgreSQL out of the box).
On the frontend I use some small parts of CSS for webkit animations, transitions to animate all the assets I got off the ROM, and rotations/translations to position the clickable elements of the page in a circle formation, and the Javascript audio API to play sound.
A snag that I ran into quickly is that I need to add another media query to order the elements in another way on very small screens (the responsiveness is achieved purely through media-queries). Plus the animation is fidgety and not compatible in all browsers because I'm tweening the content property of an img element in the page for animation and this doesn't play well with browsers, or rather, doesn't produce smooth-enough animation. I think that I will look into canvas in version 2.0 of the app to handle all the gfx.
And finally, I needed a way to populate my database quickly with all the text I dumped from the ROM. I made a quick sql script for that, which I placed on the project's repository. Vim proved very good for this, parting from the previous txt file with the raw Fortune strings:
CREATE TABLE Fortunes(type_id integer NOT NULL, content varchar(40), created_at timestamp DEFAULT current_timestamp, updated_at timestamp DEFAULT current_timestamp); INSERT INTO Fortunes VALUES (1, 'With a Fire Flower you''ll beat Bowser.'), (1, 'Fortune awaits you in the clouds.'), (1, 'Fortune will lead you to Yoshi.'), (1, 'Look below to find what you seek.'), (1, 'Good friends bear good news.'), (1, 'Southerly winds bring sunny skies.'), (1, 'Kindness given is returned tenfold.'), (1, 'Good news is due from a loved one.'), (1, 'Good things come from hard work.'), (1, 'Soothing music soothes the soul.'), (1, 'Keep a good grasp Fortune will last.'), (1, 'Worries naturally melt away.'), (2, 'Stomp a shell and scores will swell.'), (2, 'Pipe cleaning reaps rewards.'), (2, 'An eye to the sky reveals Red Coins.'), (2, 'Keep your head up Find what you seek.'), (2, 'A party of three brings good luck.'), (2, 'Luck arrives with the easterly wind.'), (2, 'Express yourself with written word.'), (2, 'Seek out the one who thinks of you.'), (2, 'Active bodies breed active minds.'), (2, 'To create music is to create joy.'), (2, 'You shall achieve great victories.'), (3, 'Enemies lurk in watery depths.'), (3, 'Fortune is hidden in bricks unbroken.'), (3, 'Today is your day to win the race.'), (3, 'Boxes may contain clues to the quest.'), (3, 'Victory is yours in the coming race.'), (3, 'Beware of winds from the west.'), (3, 'Feelings shared will be understood.'), (3, 'He who thinks of you is beside you.'), (3, 'Imagination is a wonderful toy.'), (3, 'Old tunes bring new fortune.'), (3, 'Trade high scores to set new goals.'), (4, 'Stomping on spikes leads to sore feet.'), (4, 'Careless footing causes one to fall.'), (4, 'Kicked shells may bounce back.'), (4, 'What you seek is right beside you.'), (4, 'Sincere apologies renew friendships.'), (4, 'Storms ride in on northerly winds.'), (4, 'You will not find true love this day.'), (4, 'A VS Mode victory is not your fate.'), (4, 'Not all pain leads to gain.'), (4, 'Happy songs lift sad moods.'), (4, 'The Warp Zone speeds success.'), (4, 'Only a Challenge clears the mind.'), (5, 'Bowser''s breath engulfs the future.'), (5, 'Flying Koopas cut short success.'), (5, 'Dont count Yoshis before they hatch.'), (5, 'Leave impossible dreams to dreamers.'), (5, 'Seek answers in a friends advice.'), (5, 'Beware of pointed enemies.'), (5, 'Change old habits Yield new success.'), (5, 'Victory in a race may wash pain away.'), (5, 'Excess is a powerful enemy.'), (5, 'Favorite tunes never fade.'), (5, 'Now is the time for patience.'), (5, 'Help all in need, not just a friend.');
If you're using heroku to mount the app, it's very easy to populate heroku's postgres database through the command line by using unix redirection from the file to heroku pg:sql with the following command:
heroku pg:psql --app "the_name_of_your_app_here" < scripts/create_databases.sql
A quick note: a fast look at the main executable for the server, fortune.rb, you can notice how I'm handling connections to the database. It is a good practice to store connection credentials for your database on an Environment Variable in the server, from where I read at the moment of connection in runtime, else I default to development-credentials, which you should replace by your own if you try to run this on your machine.
Final Words
So this is it! Hope you enjoyed the ride and remember that you can check out my project and deploy it for yourself from my github [profile] (https://github.com/nullset2/smbdxfortunes).
Have fun and may you have great luck in your future! :)
0 notes