#physics project where I have to write my own code to model something I barely understand and idfk the first thing about coding either
Explore tagged Tumblr posts
somelamefandomreference · 2 years ago
Text
legit sick to my stomach. backed myself into a corner with my assignments and major projects. again. 100% in the deepest shit I’ve ever managed to find myself in academically. I can only blame myself.
It’s like, I want to learn, but when there’s a short time limit or a deadline my brain automatically goes “nope. not doing it. it’s too much” until maybe five minutes before. And when there’s a long deadline or other time limit my brain just goes “ughh not now” forever until the inevitable time limit/deadline does come and then it’s “oh my goddd why didn’t you do this you pigeon shit” and honestly I’m just tired of existing in this particular consciousness can someone please factory reset my brain
0 notes
ceealaina · 5 years ago
Text
Title: Computer Love Collaborator Name: ceealaina Card Number: 3088 Link: AO3 Square Filled: A3 - Artificial Intelligence Ship: Stony Rating: Explicit Major Tags: Steve Versus Technology, Get Together, Smut Summary: A spam email and a misunderstanding from Steve lead to him accidentally revealing something very surprising. Word Count: 6228
Contrary to popular belief, Steve had adapted to technology wonderfully. As far as he was concerned, microwaves were the greatest things ever invented, right after the internet and computers. He still used physical newspapers, but it was mostly just to drive Tony crazy. He could use a tablet and his phone without even thinking, and loved the array of information and music and games that were instantly available at his fingertips. And he could spend hours binge-watching tv shows and movies. 
What took a lot more getting used to was people. The way they interacted now was different. It had taken him probably too long to realize that men especially didn’t stand as close, didn’t touch the same way — except for Tony, who was as touchy feely as they came. He’d apologized, once, but Steve had told him he didn’t mind, that he appreciated that easy, friendly, physical intimacy that he’d thought he’d lost in the 40s, and since then Tony had made a point of touching him, probably more often that he did anyone else. 
Other interactions hadn’t been so easy. 
So when Steve woke up one morning, and found the email in his work inbox -- from his own email address -- he had a brief heart attack. 
Hello!
I have very bad news for you. on this day I hacked your OS and got full access to your account xxxxxxxxxx
So, you can change the password, yes… But my malware intercepts it every time. 
How I made it:
In the software of the router, through which you went online, was a vulnerability. I just hacked this router and placed my malicious code on it. When you went online, my trojan was installed on the OS of your device. 
After that, I made a full dump of your disk (I have all your address book, history of viewing sites, all files, phone numbers and addresses of all your contacts). 
A month ago, I wanted to lock your device and ask for a not big amount of btc to unlock. But I looked at the sites that you regularly visit, and I was shocked by what I saw!!!
I’m talk you about sites for adults. 
I want to say - you are a BIG pervert. Your fantasy is shifted far away from the normal course!
And I did an idea… I made a screeshot of the adult sites where you have fun (do you understand what it is about, huh?). After that, I made a screenshot of your joys (using the camera of your device) and glued them together. Turned out amazing! You are so spectacular
I’m know that you would not like to show these screenshots to your friends, relatives or colleagues. I think 51551 is a very, very small amount for my silence. 
Besides, I have been spying on you for so long, having spent a lot of time!
Pay ONLY in Bitcoins!
My BTC wallet: 182pjesSewBUj8PEgfM58p64jbok3i1gNU
You do not know how to use bitcoins? Enter a query in any search engine: “how to replenish btc wallet”. It’s extremely easy
For this payment I give you two days (48 hours). As soon as this letter is opened, the timer will work. 
After payment, my virus and dirty screenshots with your enjoys will be self-destruct automatically. If I do not receive from you the specified amount, then your device will be locked, and all your contacts will receive a screenshots with your “enjoys”.
I hope you understand your situation.
Do not try to find and destroy my virus! (All your data, files and screenshots is already uploaded to a remote server)
Do not try to contact me (this is not feasible, I sent you an email from your account)
Various security services will not help you; formatting a disk or destroying a device will not help, since your data is already on a remote server. 
P.S. You are not my single victim. so, I guarantee you that I will not disturb you again after payment! This is the word of honor hacker
I also ask you to regularly update your antiviruses in the future. This way you will no longer fall into a similar situation. 
Do not hold evil! I just do my job. Good luck. 
“Oh shiiit,” Steve breathed. 
It wasn’t that he had any problem with porn, or his own sexual proclivities. He had known he was attracted to both men and women since before Captain America was even a thought in anyone’s mind, and he felt exactly zero shame about that. He had, in fact, been just waiting for a Republican broadcaster to bring it up so he could announce his bisexuality in the most satisfying way possible. The increase in acceptance of different sexualities was one of his other favourite things about the future. 
But that didn’t mean he wanted everyone getting full frontal shots of him jerking off. 
He knew, logically, that it happened these days. He had watched exactly thirteen seconds of Tony’s sex tape before realizing that oh shit, it was real and snapping his laptop shut. But he didn’t think he could handle it quite so well -- he lacked both Tony’s sense of self-confidence, and his utter lack of shame. And he was Captain America, he was meant to be a role model, there were certain things people expected of him. 
And then there was the whole other aspect of the Captain America issue. If they’d managed to hack his personal email, who knew what other sensitive information they might have come across in the process. 
A feeling of panic starting to pool in his stomach, he hopped out of bed. Pausing just long enough to pull on sweatpants and a t-shirt, he grabbed his tablet and made a dash for the lab. 
Tony was elbows-deep in some circuitry, although he seemed to have been expecting Steve, giving him a quick glance and a warm smile as Steve burst into the room. 
“Nice outfit, Cap,” he told him, and Steve glanced down to realize his shirt was inside out and his sweatpants were on backwards. “What can I do for you?” 
“Uhh.�� Now that he was here, Steve wasn’t entirely sure how to explain. “I could use your… Technical expertise?” he tried, tightening his grip slightly on the tablet. “It’s sort of sensitive. And time sensitive too, for that matter.”
That, apparently, intrigued Tony enough to finish up what he was doing and give Steve his full attention. “What’s up?” he asked, taking in Steve’s harried appearance. “You okay?” 
“Yeah. I mean… I think so?” Steve sighed and held out his tablet, holding it like it might explode at any moment. “I got this email this morning,” he said, deciding it would be easier to let Tony read it for himself, rather than trying to stumble his way through an explanation. “It came from my own account.”
Tony arched an eyebrow, but he looked more curious than concerned. His eyes flickered as he read over the screen, and he couldn’t have been more than a few seconds in before he started laughing. A little nonplussed, Steve folded his arms across his chest, frown creasing his forehead as Tony kept laughing over the email. 
“Oh god, this is priceless,” he choked out. “The spelling! ‘A screenshot of your joys!’” There were actual tears in Tony’s eyes, he was laughing so hard, and Steve was starting to get a little offended now. “Oh god, and then trying to convince you at the end that he’s actually a good guy, and not to hate him.” Tony actually snorted, wiping tears from his eyes as he set the tablet down on a table. “Oh man. Thanks, Steve, you big pervert.” He giggled again. “It’s been a day. Or, uh…” He glanced somewhat guiltily at the clock. “Night, I guess. I really needed that.”
“Uhh… Okay.” Steve watched as Tony walked back over to his project. “But what are we going to do about it?” 
“Do about it?” Tony repeated, looking utterly confused for a minute before his eyes widened. “Oh. Oh, Steve, it’s not real.” 
His voice was kind, but something about it made Steve feel squirmy and uncomfortable, embarrassed by his own ignorance. “What do you mean it’s not real?” he asked.
“It’s a scam, Steve. It wasn’t even sent from a real person. It’s just a real basic AI, and an automated message.”
“But it came from my account?” Steve hated that it came out as a question. 
“It’s a spoof; it didn’t really come from your account, the program just makes it look like it did.” 
Steve felt his eyes go wide. “They can do that?” 
“Pretty easily, actually, if you know what you’re doing.” 
Steve picked up the tablet again, frowning down at it. He felt silly now, but still couldn’t help being a little worried. Tony had just written it off so quickly. What if he was wrong? 
Tony sighed, coming around to stand beside him. “Look, Steve, just read it over. The writing is a mess. It’s barely comprehensible in some places.” 
“Not everyone gets to go to some fancy-ass finishing school, Tony,” Steve pointed out, sounding grumpier than he’d really intended. “Their grasp of the English language doesn’t mean it’s not legit.” 
“Okay,” Tony acknowledged, obviously starting to get frustrated in response to Steve’s tone. “But Steve… a ‘vulnerability in the router?’ Who has two thumbs and personally designed every bit of technology in this joint to make sure it would be completely secure?” He pointed to himself with both thumbs. “This guy! For fuck’s sake, Steve, your work computer doesn’t even have a webcam. How would they even get these screenshots?”
“Well, I don’t know, Tony,” Steve snapped back, once again opening his mouth without thinking. “You’ve got a robot butler, alright? Someone secretly taping me jerking off to Iron Man porn could definitely happen.” 
For a moment, Steve didn’t even realize what he’d said, glaring mutinously down at the email. But Tony’s lack of a snappy response grew suspicious, and Steve looked up to find Tony staring at him with wide, unblinking eyes, mouth hanging open. 
“I’m sorry. You jerk off to what now?”
“Uhh,” Steve cleared his throat, doing his best to give off an appearance of nonchalance. “You know, I just meant in like a… General sense of the meaning.” He was pretty sure the blush he could feel setting his cheeks on fire was giving him away. 
“Right,” Tony said, tilting his head as he eyed him consideringly. He leaned back against a table, crossing his legs at the ankles and folding his arms across his chest. “So you only jerk off to Iron Man porn in a general sense.” 
“Yes,” Steve said with confidence that he didn’t feel. “Wait, no! I don’t jerk off to Iron Man porn. I just meant that… someone could… jerk off to Iron Man porn.” 
“Oh, I see.” Tony nodded sagely, but he was openly grinning at him now. “You were referring to the general me, and not the specific me.”
Steve glared, but it was lacking in heat. “I know you’re just making fun of me,” he grumbled. Tony gave him a pointed look in return, like he deserved it. “Look, you’re very…” He gesticulated wildly at Tony, trying to encompass everything he was. “You. And then the suits are amazing pieces of technology, and the way they move and…” 
“Huh.” Tony licked his lip almost nervously, before a shit-eating smirk crossed his lips. “So is that why you spend so much time hanging out with me down here? Perving on my suits and storing up images for the spank bank?”
“No!” Steve burst out. “No, of course not. I’m here because I enjoy spending time with you!”
Tony’s eyebrow arched, tongue flicking out again. It was very distracting. “So then is it Iron Man porn you’re watching, or Tony Stark porn?” 
Steve’s eyes went wide. “There’s Tony Stark porn??” he demanded, before realizing that his voice probably came out just a little too enthused at that prospect. “I mean, uh… Like you were in a blue film, or…?” He trailed off as he suddenly realized what Tony probably meant.
“Uhh.” Tony’s expression was difficult to read. “Well, I was just talking about the knock off pornos, some guy with a business suit and a poorly maintained goatee banging a bunch of blondes. But, uh.” He rubbed at his eyebrow. “There were some definite lapses in judgment, when I was younger. Some tapes I made when I was too… inebriated to think the better of it, and had extremely poor taste in partners. They’re probably still floating around the internet, if you take the safe search off.”
It was said flippantly, but Steve spent a lot of time watching Tony. He could see the slight edge to his smile, the twist of his ankle that meant he actually was a little embarrassed, even if he was playing it off. 
“It’s Iron Man,” Steve told him quickly. “It’s definitely Iron Man. Something about that suit… I don’t know.” He shrugged helplessly.
“Ah, well then.” Tony was still grinning, wide and bright, but for just an instant it seemed like his eyes had dimmed slightly. “Remind me to adjust your permissions so you’re not allowed down here alone, huh?” 
Steve rolled his eyes. “Tony.” 
Tony waggled his eyebrows at him, laughing, but he was turning away and it felt like something had shifted between them. Steve couldn’t help feeling like he was disappointed, somehow. He couldn’t get a read on him, but Tony had been licking his lips an awful lot and, well. Steve had always been a bit of an insufferable idealist.
“I mean,” he started, before he could talk himself out of it. “I also didn’t know that Tony Stark was an option, so… That might change things, a little… Now…” 
Tony had gone still, his back a straight line, and with a sinking feeling Steve started to wonder if he’d gotten it entirely wrong. 
“I mean, um. Unless that makes you uncomfortable, in which case… I mean, I would never violate your privacy and look at your tapes, but if even the idea freaks you out, I just…” He winced as Tony turned around again, openly grinning at him again. “I just mean if it freaks you out we can forget I ever said anything,” he finished lamely. He could feel his skin growing hotter and he heaved out a sigh before burying his face in his hands. “Don’t suppose you have a built-in feature that let’s the floor open up and swallow me whole?” he mumbled into his skin. 
“No,” Tony told him, and there was laughter in his voice. “But I’ll get to work on that right away.” 
Steve just nodded, still hiding his face as he waited for the flaming heat of his skin to die down a little. Before it did though, Tony was kicking his ankle. 
“Hey. Steve, you’re fine. I’m not mad. I’m really, really not mad.” 
Steve nodded again, finally lifting his head back up although he couldn’t quite bring himself to look at Tony directly. “Right, well. I’m going to quit the team and become a vigilante instead. Maybe make my own costume… I’ve always liked blue and yellow.” 
He made no actual attempt to leave though, couldn’t seem to manage to remove himself from Tony’s orbit. Out of the corner of his eye, he could see Tony chewing at his lip. 
“You know,” Tony said after a minute. “I never actually told anyone this, not even Rhodey — don’t know why, we were dating for fuck’s sake. But uh.” He shook his head, realizing he was distracted. “When I was a kid, I had this vintage Captain America poster on my wall?” 
Steve's head snapped over to look at him, feeling his breath catch in his chest. Tony shook his head, grinning a little foolishly. 
“Come on, Steve. You know where I’m going with this.”
Steve shrugged, grinning at him helplessly. “Tell me anyway.” 
Meeting his eyes, Tony kept perfect eye contact as he continued. “So when I was a little older, I started getting these urges…” He smirked when Steve rolled his eyes. “Spent a lot of nights jerking off to that poster, Steve. Fantasizing about, well… You. And honestly? Not a lot has changed since then.” He pushed off the table he was leaning against, moving forward. Steve’s heart stopped as Tony stalked toward him until he was close enough that Steve could practically feel his breath on his lips. “Tony Stark is definitely an option,” he breathed.
For a moment silence hung between them, heavy as Tony waited for Steve to make the next move. And then all at once Steve surged forward, hands curling tight around Tony’s hips as he yanked him up tight against his body. He’d probably used a little more force that was strictly necessary, but judging by the way Tony’s eyes darkened, and the soft, breathy noise he made, he didn’t mind in the slightest. Steve hesitated only a moment longer, eyes locked with Tony’s, before he leaned in to kiss him. It was gentle at first, a little tentative, but then Tony made another soft, needy noise, and Steve couldn’t stop himself from reacting, pushing the kiss deeper, licking along the seam of Tony’s lips until he opened up for him, kissing him until Tony was out of breath and pulling back with heavy panting breaths. 
They stood there, grinning goofily at each other for a ridiculously long minute before Tony finally cleared his throat. “So, Cap? Did I measure up to all your fantasies?”
“More than,” Steve told him quickly, not even giving it a second thought. “Jesus Christ, Tony.” His hands flexed on Tony’s hips, and then he was drawing him in for another kiss, feeling his knees go a little weak as he felt Tony’s cock hardening against his thigh. 
“Um.” Tony was looking a little flushed when they pulled away again, and Steve delighted in the fact. “No pressure, if you’re not up for it.” He snickered then, pressing his face into Steve’s shoulder for a minute as he got his ridiculous laugh under control. “Metaphorically speaking, since I can tell part of you is very up for it.” He emphasized this with a purposeful grind of his leg against Steve’s dick and Steve groaned in exasperation even as he nearly choked at the sensation. “What is it I see in you again?” 
Tony beamed at him, and then his hands were curling around the back of Steve’s neck, dragging him down for another kiss that had Steve seeing stars. 
“That,” he told him smugly, and Steve couldn’t even argue. “But as I was saying, if you want, we could, uh… See how many more of your fantasies we can bring to life?” 
He was waggling his eyebrows like an absolute idiot, but there was also something soft and tentative and a little nervous in his expression. It cleared a moment later, when Steve nodded his head so fast that he nearly gave himself whiplash. “Yeah, that uh… That sounds good. Please.” 
Tony’s grin grew impossibly wider, and then he was turning around, heading for the far corner of the lab. “Normally I’d try to impress you with my incredible view and high thread count sheets,” he said, glancing over a shoulder and snickering when he caught Steve blatantly checking out the bounce of his ass. “But uh… You’ve already seen all that, and I honestly don’t think I can stand to wait long enough to get you upstairs.” He plopped himself down on the side of the cot he kept down there, legs spread wide, and crooked his fingers at Steve. “C’mere, baby.” 
Steve eyed the cot skeptically. “I don’t think that’s gonna hold us,” he told him, although it didn’t stop him from practically sprinting over to join him. 
“Relax, handsome. It’s reinforced for Iron Man. We’ll be just fine. It’s science.”
Steve was skeptical about this particular brand of ‘science’ but Tony was leaning back against the mattress now, arching an eyebrow at him enticingly. His t-shirt had rucked up a little, revealing a deliciously tanned bit of skin at his hip, and the image was too good to resist. Steve moved forward until he was kneeling on the mattress, straddling Tony’s hips and looming over him. Tony licked his lips, staring up at him with wide eyes, and Steve leaned down to kiss him, groaning as their upper bodies pressed together.
“Fuck,” he cursed, couldn’t stop himself from grinding down against him, toes curling at the pressure on his cock. “Jesus, Tony. Wanted this for so long.” 
Tony bit his lip, looking absolutely delighted, and then he was leaning back until he was flat on his back, spreading his legs to make room for Steve in between them. He curled a hand in Steve’s wrinkled t-shirt and tugged at it. “This? Needs to come off.” 
“You first,” Steve told him, trying to at least pretend like he was cool.
Tony arched an eyebrow, looking like he was considering arguing just on the principle of it, but then he relented, sitting up a little to haul his t-shirt up over his head. He didn’t give Steve time to look before he was grabbing at the hem of his shirt too, yanking until Steve shifted enough to let him pull it off over his head, leaving his hair rumpled and messy. Tony grinned at him, combing it back from his hair in a surprisingly soft gesture. Then his eyes were drifting lower, catching somewhere around Steve’s nipples.
“Christ, look at you,” he mumbled. His hips rocked up and Steve groaned, fingers clenching against Tony’s hips, grinding down against him again. 
“Tony,” he gasped, head tipping forward to press against his shoulder. Tony huffed out a low laugh, and he slid a hand down Steve’s chest, tracing the lines of his pecs and making Steve pant into his skin. “Tony,” he said again. “Shit, I’m —,”
“Yeah?” Tony asked. He sounded like he was smirking. “Feel good?” 
Steve nodded, unable to put into words exactly how sensitive his chest was. His cock ached and he couldn’t seem to stop himself from grinding down against Tony over and over, feeling his balls pulling up tight. He mouthed desperately over Tony’s neck, sucking against his skin, and Tony’s legs tightened around his hips, his fingers tangling in the strands of Steve’s hair and tugging just hard enough to send sharp fizzles of pleasure shooting up Steve’s spine. 
“Me too,” Tony hummed, rubbing up against him. “God Steve, you feel amazing.” 
He groaned deep in his throat, tilting his head when Steve’s teeth scraped over his pulse point. And then his hand was shifting again, pinching and rubbing over Steve’s nipple. Steve’s eyes went wide and sightless, and he sobbed a moan into Tony’s neck as he came right there, grinding down against Tony as he dragged out his orgasm. 
“Oh god,” he muttered when he felt like he could breathe again. “Oh fuck.”
He could feel Tony’s hand rubbing soft and soothing over the back of his neck, and he squirmed a little in embarrassment. 
“Um.” He lifted his head to give Tony a somewhat sheepish look. “Hey.” 
“Hey.” Tony was grinning back at him, actually looking pleased. He shifted a little, moving back until he was on the bed properly, sitting up and leaning into the couple of pillows at the head of the bed, half dragging Steve with him owing to the way they were all tangled up together. His grin grew wider when he was met with Steve’s flushed face, and he brushed a flop of hair back from his forehead. “Don’t worry about it, Cap,” he told him, his other hand stroking absently over Steve’s thigh. “Happens to the best of us. Honestly, I’m flattered that I--,” 
Tony cut himself as his hand shifted over a little too far and Steve made a faint, punched out noise. For a long minute Tony just blinked at him, and then, deliberately this time, he gripped Steve through his sweatpants, thumb rubbing over the head of his still-hard cock through the damp material.
“Jesus fucking Christ,” he breathed, soft like Steve wasn’t supposed to hear. “Are you… Again? Already??” 
“Uh.” Steve felt his cheeks flush even deeper red. “Well, still. But yeah.” 
A high-pitched, desperate noise slipped out of Tony’s mouth and his hands pulled away from Steve, clenching against the sheets like he was trying not to come himself. “Is…” He cleared his throat and tried again. “Is this a common thing, or am I just special?” 
“Yes,” Steve answered before he’d even fully processed the question. “Yes, you’re definitely special.” He watched Tony’s face go soft and a little flustered at how sincere he was. “But uh… Two or three times is pretty much the norm for me.” 
Tony blew out a long breath, shaking his head and looking absolutely thrilled. “I am one lucky man.” 
Steve couldn’t help smirking at him. “Not yet,” he told him. “But you’re about to get very lucky.” 
Tony blinked at him, then started laughing, and while he was still cackling delightedly, Steve ambushed him. Getting his hands around Tony’s hips, he yanked him down a little lower. Amusement still on his face, Tony looked up at him with an arched eyebrow, clearly waiting for Steve’s next move. Steve ran his palms up and down over Tony’s thighs, noting the way Tony’s eyes followed the motion, the way his abs clenched at how big Steve’s hands were against his legs. 
“Can I…?”Steve didn’t finish the question, instead shifting his hand to toy with the button of Tony’s jeans. Tony swallowed hard and nodded, staring at Steve with wide, dark eyes. 
“Be my guest.”
His cock twitched.
With one orgasm out of the way, Steve was feeling more relaxed, not quite so desperate as before. He couldn’t resist teasing Tony now, sliding his hands up his thighs again, thumbs on either side of his cock, not quite touching him through his jeans. He felt the strong muscles in Tony’s legs clench, flicked his eyes up to see Tony open his mouth like he wanted to protest only to clench his jaw and keep quiet, eyeing Steve as he waited for his next move. Steve grinned and rewarded him with a quick stroke of his thumb over the bulge in the denim, his own cock giving a gratified twitch at the sharp inhale that Tony couldn’t quite hold back. 
“You’re a fucking tease,” Tony breathed, sounding both surprised and pleased by this revelation. Steve looked up at him again, gave him a wink, and took advantage of Tony’s resulting eyeroll to thumb open the button of his jeans.
Tony groaned at that, the sound coming from deep in his chest, the perfect blend of aroused and content. His hips twitched a little as some of the pressure was relieved and when Steve’s eyes tracked the movement, Tony rocked them again intentionally, letting his pants slide a little lower on his hips. 
Steve grinned, and instead of opening his pants further, he curled his hands around Tony’s thighs again, easily spreading his legs wider, just because he could. 
“Can I blow you?” he asked, just to see if he could pull another one of those incredible sounds out of Tony. This one was better, a high pitched breathy noise, like Steve had left him utterly shocked for a brief moment. 
“Yes,” Tony told him, nodding a little frantically and mussing up his hair against the pillows. “Yes, absolutely. Hell, Steve. You get these pants off me, and you can do whatever the fuck you want.” 
“Oh yeah?” Steve grinned and settled himself between Tony’s legs, unable to resist rocking down against the mattress for a moment. His own pants were starting to feel sticky and uncomfortable now, and he considered a minute before shoving them off entirely, the movement quick and perfunctory. 
Tony made a soft noise, clearly disappointed that he wasn’t getting a better view, and Steve hid his smile against his hip. Without further ado, Steve slid Tony’s zipper down and then shoved his jeans down over his hips. Tony moved with him easily, as in sync with each other as ever, arching and wiggling in the appropriate moments to get himself unclothed as quickly as possible. When he saw the bright red silky thing that Tony was wearing underneath, the thin fabric straining against the weight of his hardon, Steve had to take a minute to just shake his head. 
“Jesus Christ,” he muttered. “You’re so fucking… Decadent.” 
“You say that like it’s a bad thing. Nothing wrong with a little decadence, Steve. You ever try anything besides those cotton boxer briefs you like so much? I’ve got a hookup, if you wanted to... expand your horizons, a little.” Tony’s gaze went a little unfocused, mind jumping seventeen steps ahead, as usual. “God, you’d look amazing in something lacy. Maybe a pretty little thong, show off that ridiculous butt of yours. Or--,” 
Tony made a noise dangerously close to a squeal as Steve, without any warning, cut him off by dipping his head, sucking at him through the fabric. Tony clapped a hand over his mouth, like he could somehow take the sound back. “Or that. That’s good too.”
Steve huffed out a laugh, drawing another gasp out of Tony as the sensation vibrated up his dick. “You got it, boss,” he hummed, grinning when Tony shifted beneath his hands. 
“You’re such an asshole,” Tony protested, although he was laughing. Steve just looked up at him and winked again; if Tony thought he was an asshole, he could show him a real asshole. 
Taking his time, Steve placed gentle, sucking kisses up the length of his thick cock, still through the silky red fabric, more of a tease than any real pressure. Tony shuddered, whining under his breath, and out of the corner of his eye, Steve saw his fingers twist in the sheets beside his hips. 
Steve pulled back long enough to catch Tony’s hands in his, meeting his eyes steadily as he placed them on the back of his head and gave Tony a pointed look. 
“Jesus Christ,” Tony groaned, head tipping back. It didn’t stop his fingers from tangling in Steve’s hair. “This is not what I was expecting from you.” 
Steve shivered at the idea that Tony might have thought about this before. “Well, you know me. I’m just full of surprises.” He didn’t give Tony a chance to answer before he ducked lower, nuzzling at his balls. Tony made a pained noise, like it was so good he couldn’t stand it, and tightened his legs around Steve’s shoulders. Steve grinned and moved his hands back to Tony’s thighs, sliding them up and running the pads of his fingers through the coarse hair there. He slid them up until they were sliding under the elastic at the tops of his legs, teasing the skin hidden from view. He watched Tony’s cock twitch again, as he slid toward the crease of his groin. 
“Fuck,” Tony groaned, yanking at Steve’s hair until he shuddered. His voice was rough and hoarse. “Steve, if you don’t get these fucking things off of me…” 
Steve grinned, dipping his head to scrape his teeth over Tony’s hipbone. But he was itching for more too, and relented after that, pulling his hands free to grab at the waistband instead. Tony made a pleased sound, arching his hips to help Steve slide the fitted material down over his legs. 
“Shit,” Steve breathed as he was met with Tony’s thick cock, flushed and full, curving up toward his belly. “Look at you.” He blew out a slow breath, grinning when it breezed over Tony’s sensitive skin, making his cock twitch and back arch again. 
“Steve,” he groaned. “Steve, come on. Give me more, I need more. Please.” 
Steve shivered, rewarded Tony with a lick from base to tip. “I like the sound of that,” he said, hearing how low his own voice had gone. “You saying please.”
“Yeah?” Tony was grinning, obviously playing all cool and collected, but Steve had seen the wall his cock had throbbed. “You gonna make me beg, Rogers?” 
“Maybe.” Steve settled back between Tony’s legs, teasing his legs with his tongue and teeth, avoiding his cock altogether. Tony made a soft whining noise, trying to push himself closer, tugging at Steve’s hair to try and get him where he wanted, but Steve responded by pinning his hips to the mattress, holding him still as he mapped out the sensitive parts of his body, the places that made Tony twitch and moan and tug reflexively at the strands of Steve’s hair. He didn’t relent, no matter how much Tony tried, teasing him until he was a panting, shifting mess, head rolling back against the pillows as Steve wound him up until he couldn’t see straight. 
“Fu-uck,” Tony gasped, arching his back and tipping his head back. His neck made an enticing image, and for a moment Steve was distracted, thinking about how badly he wanted to mark it up. “Okay, Christ, you win. Please Steve, please. I’ll do anything, just please. Fucking touch me. Let me come, Steve, please.” 
Steve had ignored his own erection in favour of tormenting Tony, but it came back with a vengeance at the sound of Tony begging for him, his cock throbbing between his legs. He ground down against the mattress once, stroked a thumb over the curve of Tony’s hipbone. 
“Yeah,” he said, suddenly done with teasing. “Yeah, sweetheart. Whatever you want, you got it.” And then, because he’d always be a troll, he glanced up at Tony with a wicked smile. “Hey, did you know that I can hold my breath for fifteen minutes?” 
And while Tony was still parsing that in his flustered state, Steve curled his hand around the base of his cock and lowered his head, not stopping until Tony was pressing into his throat and Steve was groaning around his mouthful. 
“Oh Christ,” Tony wailed, hips bucking despite having nowhere else to go. He yanked hard at Steve’s hair, and Steve felt it in his balls. “Oh fuck, Steve, your fucking mouth.” He rocked desperately against him, going nearly cross-eyed as Steve sucked around him. He cursed and shifted as Steve pulled slowly off his cock, tongued at the head, before sucking him back down again. “I’m not… You can’t… Don’t judge me cause I’m gonna come in about two -- fuck!” 
Steve’s free hand moved, thumb rubbing harshly over his perineum, and for a brief moment Tony went stock still before he was coming hard, hands holding Steve’s head down as he came down his throat. The feeling was too much for Steve, who rocked down hard against the mattress, spilling against the sheets. 
It was a minute before Tony’s hands let go enough for Steve to pull off, panting more from the thrill of his orgasm than from any real exertion. He rubbed his sweaty forehead against the smooth skin of Tony’s abdomen, feeling it flex as he tried to catch his breath, and he grinned as Tony’s hand resettled on the back of his head, combing absently over the short strands. 
“Oh fuck,” Tony finally said, sounding like he’d only just remembered how to speak. “Oh fuck, that was… That was incredible, Steve.” There was no teasing in his voice, sweet and sincere, and Steve felt a warm, comfortable weight settle over him at the sound. 
Lifting himself up on slightly shaking limbs, he crawled up the mattress until he was face-to-face with Tony again, flopping down on the pillows beside him. It was a tight fit, but gave him an excuse to wrap an arm around Tony’s waist. “Yeah,” he admitted, aware that he was grinning like an absolute idiot. “Yeah, it really was.” 
Tony grinned back at him, equally stupidly, and then leaned forward, kissing Steve all slow and lazy now. 
“Oh hey,” he said, pulling back suddenly. “Sorry about, uh…” He gestured vaguely between them. “Coming down your throat without asking like that. Terrible sex etiquette.” 
Steve snorted, pressing his head to Tony’s collarbone as he laughed giddily. “It’s fine,” he promised him. “I wouldn’t’ve let you if I didn’t want it.” He lifted his head again to find Tony watching him with that same soft expression and he reached out, catching Tony’s hand and toying with his long fingers. “So. What now?” he asked, not quite meeting Tony’s eyes. 
“Now?” Tony repeated. “Now I’m thinking we take a shower, get cleaned up, and then maybe go upstairs and crawl into my bigger, more comfortable bed for a couple hours together?” He trailed off a little hopefully, and Steve looked up at him, felt his breath catch. “And then, uh…” Tony ducked his head and twisted his wrist so he could rub his thumb over Steve’s pulse point. “Then maybe I could take you to dinner? I’ve got this little Italian place I think you’d love.” 
“Yes,” Steve told him, and it was entirely too earnest but Tony didn’t look like he minded at all. “Yes, that sounds perfect.”
@tonystarkbingo
23 notes · View notes
wirewitchviolet · 6 years ago
Text
RPG Campaign Setting Thoughts - The Actual, You Know, Setting
Continuing along from here and here, I suppose I should take a moment and get my head out of the clouds with all this structure of the planes and metaphysics malarkey and put down a few words about, you know, the actual world people are going to be going on adventures in... but I don’t wanna!
I’m actually kinda serious with that. I’m still not sure to what degree this whole thing is something I’m really going to sit down and do something with vs. a total pipe dream vs. just some general thoughts on what changes I’d push towards if in a relevant position at a big company and all, but one really big issue I’d want to seriously address if I end up actually publishing anything here is the fact that everything about fantasy RPGs is entirely too white, and unfortunately, I myself am also entirely too white.
As previously mentioned, I 100% want to have orcs coded really heavily as colonialist European types as a major setting antagonist, to push back against decades of appallingly racist coding, and by extension I’d like to have humans who are visually and culturally representative of, you know, the rest of humanity. Some having to deal with orcs raiding and planting their flags everywhere, others totally not dealing with that and having their own much more interesting things going on. Get away from the stock imagery of castles and knights in a barely repainted England, get some cool stuff inspired the rest of the world in there as some basic imagery and all.
And... yeah I’m just not really qualified to do that. More importantly though, I know a ton of people who ARE, and they’re all super cool, and don’t get enough chances to do this sort of world-building. I don’t want to make my ignorant stab at a setting heavily informed by Indian history and folklore when I know someone who’s both an experienced game developer and a Hindu Pandit. I don’t want to play around with fantasy-Jerusalem when thinking about that is basically the life’s work of one of my favorite people in the world. I could keep going with this. I have a lot of really amazing contacts I would absolutely love to just give blank checks to to collaborate on a campaign setting full of all their personal passions and drawing on their heavy historical and cultural knowledge bases.
But... I’m also unemployed, barely able to keep a roof over my head, and fully aware how generally doomed any sort of project like this is and I doubt most of the people I’d be inclined to tap would want to commit to something like this even if I could pay them what they’re worth. Really, I’m the worst person to try to put together some sort of cool overqualified world-building all-stars team and make a setting together, and if someone else wants to take the initiative on that I am all for it, but, if they are nobody’s telling me. So... for now I’d just kinda like to keep the details really sketchy about specific nations and all that and stay focused on my weird non-culturally specific fantasy weirdness. Keep the real meat and potatos stuff in the dark until I get committed enough to kickstart a book and try to sign on cool writer friends as stretch goals or something.
Races for instance! I think I’ve mentioned before how much I just don’t like them, and I’m used to not really caing about them having done a lot of Pathfinder writing, but like Pathfinder, I kinda want to keep all this as backwards compatible with Pathfinder and 3.X as I can, which means I don’t want to drop them entirely, and I already have orcs. So... OK.What can I do with everything else that’s not just borrowing some real-world culture?
First off, we have dwarves. I.... really don’t particularly have any strong feelings about dwarves. The one big problem coming in the unfortunateness of “dwarf” referring to, among other things, the fantasy race, something a bit different in Norse mythology, and actual human beings with a rare condition that leads to a lot of discrimination. I’ve yet to meet anyone who actually has a vocal problem with that, so, please give me feedback there if you have any. Otherwise... I think dwarves kinda fall under “if it ain’t broke, don’t fix it?” Dwarves are exactly the same in every game that has dwarves. Nobody’s had cause to put a new spin on them, which over the years has made them into this really big fantasy touchstone. Something to be said for that stability.
Next up we have elves... and OK, here’s my spin. Elves actually mature and age at the same rate as humans, BUT, every 30-70 years or so, they... basically have a Doctor Who regeneration. Big metamorphising event, they end up with a radically altered appearance, possibly some significant changes to their personality, possibly some memory loss. We keep the staple of elves being functionally immortal, and the sort of physical mutability present through the whole history of fantasy RPGs to one degree or another, but we get a nice out for the whole Immortal Blues issue you usually get with elves, where they outlive everyone they meet. If you’re a teenage elf, you can go hang out with a bunch of teenage humans, grow up together, have a lot of adventures, and then when everyone else is getting old and dying and it’s just depressing, you do your whole elven ritual of renewal thing, and tada. You’re young again, maybe a redhead this time out, maybe a different gender even. All that kinda fades from immediacy, like your old life is just a story you’ve heard a lot, and you’re free to go make new connections with new peers. I think there’s a lot to that as a foundation for cultural stuff, and an interesting setup for telling stories. Needs to be a proper racial power of course, with some restriction on how often it can be done, but hey. This also keeps them from becoming stuffy traditionalists with ancient cities. On a long enough timescale they’re kind of all nomadic drifters.
Half-Elves, which again, are their own race here, probably get a weakened version of that. Maybe they change a little less when they try that renewal ritual. Maybe it doesn’t always work, or it’s really unpredictable. Definitely they have a cap on how often they can do it, so you still have the long-lived but mortal thing going.
Half-Orcs... I need to think about some. The whole “they’re their own race” thing gets all the gross rape crap sweeped nicely away, but they still have to resemble orcs enough to face discrimination to a degree, since, that’s what you have half-orcs for. I might break my rule about no real world cultural models and have them largely stand in for vikings? There’s enough similarity to how I’m doing orcs for confusion’s sake (nautical raiders and explorers and all), an association with violence and generally being all big and tough, but pretty clear We’re Not With Them vibes?
Halflings, I am sticking with my earlier pitch about essentially being humans just created at a different scale. Honestly I’ve always kinda resented D&D even having them, because I mean, everything else has some basis in someone’s folklore, but halflings are just a race swiped directly out of a book series that was super popular at the time, then forced to change the name for copyright reasons. And they clearly just exist to make Bilbo expies, with the stealth bonuses and all. I would totally give them the boot if I could get away with it, but, yeah, tiny humans essentially.
That still leaves gnomes, where I’m still stymied. Again, I really love Pathfinder’s take on them to death, and kinda just want to keep that.
I think that’s a decent spread of new ideas and old ideas that won’t clash with properly varied human culture, right? Next update I’m probably going back to gods and magic. Have some very very nerdy thoughts about the spread of religion based on bored wizards working out astral projection to flesh out.
As always, feedback on any of this is appreciated.
5 notes · View notes
aurelliocheek · 6 years ago
Text
Albion Online: The Technology of Albion
To work on a successful game is the dream of many Indies and beginners in the games industry. On the next four pages David Salz from Sandbox Interactive shares his dream with us.
The opportunity to make Albion Online was a dream coming true. At the same time, it was frightening. Even though I had many years of game development experience, some of it as a partner in my own company, I had never done an MMO before. In fact, I did not personally know anyone who had. What followed was a great learning experience (and I learned many things the hard way).
Getting started We started Albion Online with just two coders. Knowing that we knew nothing, we went through every book and article about online and multiplayer game development we could find. There is shockingly little, especially if you compare it to other fields like graphics programming. We also reached out to the few people in Germany who had MMO experience. Their very helpful input took the worst of our fears away, and we simply got started.
Middleware We use the Unity3D game engine to make Albion Online. Unity was up-and-coming when we started; it is powerful, flexible and inexpensive. Unity’s biggest strength, however, is the ability to publish on a huge number of platforms with very little additional effort. Even though we originally planned a PC-only game, we quickly realized that tablets and other mobile devices would be a crucial market in the future. Hence, Albion Online became a true cross-platform project. We started with Unity 3.5 almost 7 years ago, but we have made it a habit to always upgrade to the latest version of Unity as quickly as possible. These days upgrading the engine is a huge testing effort, and often new Unity bugs prevent us from using a particular new release. Finding a version that is stable enough for us has been getting more and more tricky the larger our game has become. On the other hand, there is no alternative since new OS versions (mostly OSX and mobile) often require new Unity versions.
As a network middleware, we use Photon. Photon comes with a server framework; the core is written in C++ for performance reasons, but the application code is C# – which is good because it means we can write the entire project in a single language and share code between server and client. C# is, in fact, an excellent choice for server development – very easy to use, fast, efficient and very stable thanks to garbage collection and exception handling.
Most of the game uses Photon’s reliable UDP protocol, and movement messages are sent as unreliable UDP messages. For the chat server and for inter-server-communication we use TCP. We use Photon on the lowest possible level, i.e.,, only the server framework and the network protocols. There is also a cloud-based hosting solution, a chat system, and even an MMO framework, but we decided to use none of that. Instead, we wrote as much as possible ourselves, and we decided to host the game on dedicated bare-metal servers.
Finally, we needed databases. For the game, the biggest concern was the ability to scale the game database for the potentially “infinite” game world size. We decided to give Apache Cassandra a try. Cassandra is a NoSQL database, i.e.,, it sacrifices the ability to do complex queries in favor of speed, high throughput, and the possibility to scale horizontally, i.e.,, by simply adding more servers.
Cassandra is essentially a distributed hash table. You can retrieve data only based on its hash key. There is no ‘SELECT … WHERE’ mechanism like in SQL. You can, however, build compound keys out of multiple columns and retrieve data based on partial keys. That way Cassandra forces you to design your tables around the queries you are going to make. This takes some time to learn, but the upside is that inefficient queries are almost impossible in Cassandra.
You can build a Cassandra cluster out of as many server instances (‘nodes’) as necessary. They will automatically split the hash space with some redundancy, so a couple of nodes may fail and the cluster will still stay operational. A caveat is that Cassandra is only ‘eventually consistent.’ Due to the distributed nature of the database cluster, it is possible to read ‘outdated’ data from the cluster, even though the ‘latest’ data will eventually be synchronized to all nodes. This can be fixed by either writing to or reading from a quorum of the database nodes, i.e.,, if you need consistent information, you can choose between slower reads or slower writes. Albion Online keeps most data in the game server’s memory while a player is logged in, so we choose slow reads but very fast writes. Player data is only read when the player logs in or changes the game server, but it is written every time something changes – just in case the game server crashes.
The biggest downside of NoSQL databases is the inability to do complex queries, i.e., JOIN and WHERE commands. For some purposes, e.g., the in-game marketplaces, queries are important, so we use a couple of Postgres SQL databases as well.
A collection of ‚tiles‘. The collision grids (black; collision is red) are hand-painted and used by server and client. The 3D collider (green wireframe) is used only by the client for mouse-picking and keeping the characters feet on the ground.
Doing a Unity game… without Unity It was clear to us from the beginning that we did not want to run Unity on the game servers. Unity is a closed-source environment we did not believe it was flexible, scalable and stable enough to support a game server for thousands of concurrent players. Also, we were simply not comfortable with having an uncontrollable ‘black box’ in such a key spot.
As a consequence of that, the core game systems would have to work without Unity, and we ended up coding our own technology even in areas where Unity offers good solutions. We have, for example, our own level file format, our own collision system, our own pathfinding, and our own game object management.
While that sounds like re-inventing the wheel, I would rather see it as cherry-picking. While it is somewhat crazy to write your own engine just because you can, it is equally crazy to use an engine feature just because it exists. You should rather ask yourself ‘Is this exactly the solution I need?’ and ‘How long would it take to write something myself that more precisely matches my needs?’ Owning and controlling key parts of the code has many advantages. Not only does our game server work without Unity, but we, in fact, also have a fully functional command-line version of the game client that runs without Unity! It has no graphics and no UI but is otherwise fully capable of logging in and playing the game. You can easily launch 50 to 100 of those on a single machine, and we often use it as a scriptable bot for stress tests.
Model – View – Controller A key design principle of Albion Online is a strict Model-View-Controller pattern. In an online game, the server must have absolute authority, meaning that all game world manipulations happen on the server and only the server can decide whether a player action is valid or not. We keep game data in memory and use databases as permanent storage; hence the server acts as the Model and the Controller here.
The Albion Online client is just a library (i.e., a DLL) that is able to communicate with the server. It will mirror the part of the data model that the player can “see” at a given point in time and offer a controller interface similar to that of the server. The client does validity checks and sometimes even prediction, but will ultimately send all valid requests to the server. The client library knows nothing about Unity. This allows us to have the command-line client mentioned earlier. The client code is maintained as a separate Visual Studio project that has no Unity dependencies, so it is easy to keep the separation in everyday work.
Unity comes into play as a pure View component. It will subscribe to various events the client library offers, create a view for every game object and update the view whenever the game object changes. All of the UI and input code is in Unity as well, but the real business logic is in the client library and not in Unity.
The collision information of all tiles is combined into a large collision grid for the entire map. It is also used for pathfinding.
Maps and Collision Unity is very good for map and level editing and extensible, too, so we had every intention of using it that way. On the other hand, the game server would need to be able to load the map files as well. Certainly, the server would not need the graphical assets, but it would need to know to location and properties of all interactive objects, the shape of the terrain, object collisions, etc. Collision was the next issue. Unity comes with a sophisticated physics system, so you could leave player-vs-environment collision completely to the physics module, or at least use ray casts against the physics geometry to determine where a player can go and where not. Today Unity even has built-in navigation meshes for pathfinding, that did not exist in 3.5 when we started. While that approach works great for an action-adventure, it seemed too complicated for the kind of MMORPG that we had in mind. We would need walkable and non-walkable terrain, line-of-sight checks for projectiles and pathfinding for monsters.
All of that should be super fast because it would have to executed or at least double-checked on the server for thousands of players and monsters. Physics-based collision does not give you that kind of performance. Another problem with physics engines is that they sometimes ‘tick out.’ We have all occasionally fallen through the ground or have been catapulted in the air in our favorite games just because we walked into an odd corner at an odd angle. For a level designer, such problems are very annoying to fix because it is often not obvious why the physics engine has an issue with a particular piece of geometry.
Considering all that it made sense to write our own collision and pathfinding system. In a drastic first step, we decided to regard the whole game as essentially 2D. The top-down perspective already forces the level design into a 2D mindset, and while the maps would not be totally flat, they would be flat enough to get away with this simplification. The world of Albion consists of ‘tiles.’ A tile can be a piece of ground or an object. Ground tiles are typically 10 by 10 meters (in respect to the size of the characters). Objects are everything that sits on top of the ground, from decoration to interactive objects like trees or buildings. All tiles have a hand-painted 2D collision in a 1×1 meter grid. The collision system allows a small number of geometrical primitives like triangles, circles and infinitely thin lines. Maps are built in Unity but exported into a proprietary file format. Every tile is a Unity prefab plus some meta information like size, collision, etc. A map is essentially just a huge list of tiles, often up to 30,000. Server and client load the same file. While the server only cares about the meta information, the client actually instantiates all the Unity prefabs. To our surprise, this form of loading is actually faster and gives us more control than using Unity scenes! We still use Unity scenes to store the maps for the level editor, but not in the game.
The Server Farm The server farm consists of several different server types and databases. We host everything on bare metal machines since we need strong CPU time and memory guarantees. Albion is a single, unique game world for all players. We use instancing only for player islands and certain types of dungeons, so we would not benefit much from the ability to scale to dynamically allocated virtual machines. Instead, we simply distribute the game world across a fixed number of physical machines.
Most of the heavy lifting is done by the Game Servers. Depending on your character’s location in the game world your client will connect to a different Game Server. As you move through the world, you may have to connect to a different game server. Your client will also maintain a connection to the Chat and Login Server. The Login Server handles all account operations like login, logout, character creation, etc. and will tell the client which Game Server to connect to.
The World server is the single authority for all game features that work across Game Servers, for instance, parties, guilds, guild vs. guild battles, etc. The Backoffice server controls farm startup, shutdown and provides an API to “talk” to the entire farm.
The Game Server Our game world consists of zones (“clusters”) that are roughly 1 x 1 km in size. There are currently around 600 of these. When you change zones, your client may have to connect to a different game server, and you will see a short loading screen on the client. The game logic of a cluster is handled by a single thread. Making this multi-threaded would be very error-prone and not necessarily more efficient since there are numerous complicated interactions between game objects which would require locking. Instead, all incoming player commands are put into a synchronized event queue and processed in order of arrival. Any work that can be offloaded – like database operations, pathfinding or logging – are handed to separate thread pools that complete their respective tasks asynchronously and put the result back into the event queue.
A second mechanism we use extensively is scheduled events (or simply put: timers). There is no real game loop in Albion Online, meaning that game objects have no Update() functions that are called every so often. Instead, objects will create timers whenever they need to. Monsters will create a recurring AI update timer as soon as a player gets near but delete the timer again when the player is gone.
Interest Management Interest Management is the ability to efficiently determine which game object can “see” which other objects at a given point in time. This is important for multiple reasons.
First of all, we want to minimize the network traffic for each client by sending the client only updates of objects it can actually see right now. Second, players do cheat. Any information that is sent to the client can and will be extracted by cheaters. That means we absolutely need to restrict client knowledge to objects that are on the screen or at least very close to it. The whole mechanism is also useful for many other purposes; for instance, monsters are activated when a player comes near and deactivated when the player leaves.
All this needs to be as efficient as possible. Let’s illustrate this with some numbers: A single (1 x 1 km) cluster may contain more than 300 players, 500 monsters and more than 10.000 other interactive objects (most of which are trees, because you can cut down every single tree in Albion Online).
We achieve the efficiency by putting all objects into a grid-based hash. Each grid cell is roughly 10 x 10 meters and contains a list of objects inside. Very large objects may be in multiple cells at once, but that is rare. The object itself is responsible for updating the hash if it moves. The grid cells fire events when objects are added or removed, so subscribing to these events already gives you a very efficient way of monitoring an area.
Each player is surrounded by something we call an Interest Area. It consists of two grid-aligned rectangles. When an object enters the inner, smaller rectangle, the player will start “seeing” the object, i.e., the server will send the client an initial “new object” message (“look, a monster!”) and subscribe to the various event the object itself offers. Whenever the object does something interesting (e.g. the monster attacks someone) it will fire an event, that event will be forwarded to the Interest Area of the nearby player, and the Interest Area will forward the event to the client.
An object will be watched until it leaves the slightly larger blue area. When that happens, the client will receive an “object gone” message and stop receiving updates. The blue area is larger in order to keep the visible object set more stable over time.
Conclusion I hope I was able to shed light on some of the more interesting technical aspects of Albion Online. It has been quite a journey, and we keep learning new things all the time. If you have questions, feel free to contact me!
Example of an object life cycle Here is a short example of an object life cycle. The server knows all objects (players,mobs,trees etc.) and their properties. The Interest Management system checks which client can see which objects. Whenever an object becomes visible (or invisible) to a client, an enter (or leave) message is sent to the client which will create a local copy of the object (or destroy it again). The server will also send update messages for all visible objects should their properties change.
Unity sits on top of the client as a pure view component. For every object created by the client, it will create an object view in the form of a Unity GameObject. The view will subscribe to any changes to the original object and will update graphics, sound and animation accordingly. The view takes input, i.e., interprets Mouse Clicks etc. into game commands. Commands are forwarded to the client game object, which checks the command for plausibility, and ultimately forwarded to the server which executes the command. Should game objects change as a result of the action, the server will send update messages as described above.
David Salz CTO, Sandbox Interactive
David Salz has been working as a software engineer in the games industry for 18 years. He is CTO and one of the founders of Sandbox Interactive. Before he entered the world of MMORPG gaming, David co-founded another company; his previous studio Bitfield produced several games for PC and Nintendo DS.
The post Albion Online: The Technology of Albion appeared first on Making Games.
Albion Online: The Technology of Albion published first on https://leolarsonblog.tumblr.com/
0 notes
photoforumpasquart · 8 years ago
Text
Hester Keijser – A few notes on Bank of America, posthuman embodiment and the curious absence of the viewer in the mind of the contemporary photography critic
A rather baffling article in the British newspaper “The Independent” informed its readers on Wednesday 14 September 2016, that “analysts at Bank of America have reportedly suggested there is a 20 to 50 per cent chance our world is a Matrix-style virtual reality and everything we experience is just a simulation.” What is baffling, is not the suggestion that the entire universe might, in a sense, be said not to exist as such, might be immaterial, might be someone else’s dream. Philosophers and scientists have been postulating this for centuries. What is baffling, is that this is communicated by a big commercial bank seated in one of the most powerful nations in the world. What reason can a bank have for sharing this ‘news’ with their clients? What kind of vital implications do they expect this to have for their and their clients’ business activities? Is virtuality something they will now start to calculate with in their own computational models of future risks, strategies and opportunities?
The ramifications of this step are not to be underestimated. It’s as if a rogue theory about the ontological foundation of our tangible reality has escaped from the confines of the lab, where until now it was contained by a handful of scientists. Set free into the wild, this new cosmogony will wreak havoc in the minds of ordinary citizens, who are wholly unprepared to entertain this notion as anything more than something from a science fiction movie. And now we are supposed to seriously engage with it? Just wow. Isn't there enough anxiety and paranoia in today’s world already? Neither is it very reassuring to be told that, even if we were to be simulated life forms, we would never know about it. Except they just told us so. I had half expected the article to conclude with helpline information for readers who were upset or distressed by the story.
The headline would probably not have caught my eye, had I not just been exposed to Katherine Hayles’ book “How we became posthuman. Virtual Bodies in Cybernetics, Literature, and Informatics”, published back in 1999 (1). Hayles writes:
“The emergence of the posthuman as an informational-material entity is paralleled and reinforced by a corresponding reinterpretation of the deep structures of the physical world. Some theorists, notably Edward Fredkin and Stephen Wolfram, claim that reality is a program run on a cosmic computer. [...] living in a condition of virtuality implies we participate in the cultural perception that information and materiality are conceptually distinct and that information is in some sense more essential, more important, and more fundamental than materiality. The preamble to ‘A Magna Carta for the Knowledge Age’, a document coauthored by Alvin Tofler at the behest of Newt Gingrich, concisely sums up the matter by proclaiming, ‘the central event of the 20th century is the overthrow of matter.’”
With her words on my mind, the communication of the central bank of America felt like the final act of this event. Matter has officially lost out against code, computations and information, which, as we have come to believe, are essentially bodiless. For Haynes, the central question is: “what happens to the embodied lifeworld of humans in this paradigm, [in which] embodiment has been systematically downplayed or erased in the cybernetic construction of the posthuman?”
Even though embodiment is widely discussed in cybernetic theories, it is not a topic that regularly crops up in the now – so – popular publications on the how, what and where of photography in the digital age. My own interest in the matter developed through my correspondences with Urs Stahel (2), published on the blog platform of Foto Colectania (3). After having participated for several years in various conversations on contemporary photography, the realization had crept up on me that the body (and in particular that of the viewer) is conspicuously absent in our readings of photographic work. “Embodiment, as I searched to explain to Urs Stahel rather clumsily, “is the word I use for the way an image doesn’t speak to the eyes only, but calls on our other senses like smell, hearing and touch, affects our breathing, our posture and our vestibular sense, which helps us orient ourselves in space, and ultimately addresses and transforms our way of being in the world.”
As is often the case, once you figure out what questions want asking, doors open, and you’ll soon happen upon others grappling with the same issue. I discovered that ‘embodiment’ is also a ‘thing’ in contemporary photography theory, even if efforts are still mainly concentrated in academic circles (4). For instance, Ellen Esrock’s research traces the neglect for the body as the primacy locus for the experience of art to the onset of modernism. While it was in line with scientific developments in the late nineteenth century for “humanists and scientists [to theorize] that spectators respond to art and architecture through their bodies, projecting themselves into material objects and animating them with their own bodily life”, this had become less acceptable just a few decades later.
Esrock: “...the influential art critic Wilhelm Worringer (1908) identified two fundamental principles of creative impulse: empathy and abstraction, arguing that ‘the urge to empathy’ was not an appropriate response to the emerging abstract art of the time. Influenced by Worringer’s ambitious argument, other artists and critics of the early twentieth century came to regard empathy as a comfortable, multisensory response to naturalistic depictions and to associate empathy with passive, feminine, imitative forms of art making (Koss 2006). Abstraction, on the other hand, was understood to be a sheerly optical response appropriate to avant-garde abstract art and was associated with experiences of estrangement and discomfort and with active, masculine modes of authentic creativity. Characterized in this way, empathy had little to offer proponents of the burgeoning modernism, with its abstractions and its ethos of alienation.”
In other words, the conspicuous absence of the embodied viewer that I had registered in the existing writing on photography was perhaps not accidental, but directly related to the history of artistic discourse, which had set limits on what can and cannot be talked about. Not surprisingly, these limits were set in a time when talking about the body and how one is aware of its inner sensations - our interoceptive sense - was frowned up. And still today, there is a lingering embarrassment and a sense of shame in talking about own’s own body, especially in public when strangers are present. We are encouraged to control and even to police our bodies, which we possess like masters possess a slave, to be punished at will, to be exploited in hard labor, to be worked out in exercise, or to be given a brief respite in spare time. What we know much less, is how to be a body, let alone having the language to express ourselves adequately when prompted to describe inner sensations (5).
Esrock’s arguments are more nuanced and far richer than I can convey within the short span of this article. At present it should suffice to point in the direction of her research, and also that of Katherine Hayles (6), or of people like Sarah Kember (7) and Ariella Azoulay (8). In their work lies a potential to break down and lay bare the conventions that rule our aesthetic and political appreciation of photographic images, and to explore what this absence of the body and the erasure of embodiment tells us about ourselves, our societies and our wicked dreams of escaping the material world by convincing ourselves that we are nothing but weightless, bodiless and potentially immortal data and code.
Finally, I want to Bank of America for reminding us once again that many of the boundaries and limits we struggle with or feel defined by, are wholly arbitrary, and can safely be suspended in wild acts of imagination.
—————————–
(1) Excerpts of her book can be accessed via: http://faculty.georgetown.edu/irvinem/theory/Hayles-Posthuman-excerpts.pdf
(2) Urs Stahel was the co-founder of the Winterthur Fotomuseum, which he has been managing for the past 20 years. Since 2013, he has been the curator for the platform Paris Photo (2014), the new Institute for Industrial Culture (MAST) in Bologna, and the Mannheim-Ludwigshafen-Heidelberg Photo Festival (2015). He also works as an author, a consultant and a lecturer (at the Zurich University of the Arts, the University of Zurich, the Sammlung Bank Vontobel). He is the writer and editor of numerous books, for example, books about Paul Graham, Roni Horn, Rineke Dijkstra, Anders Petersen, Amar Kanwar, Ai Weiwei, Shirana Shahbazi, Boris Mikhailov as well as books on themes such as “Industriebild” (‘Pictures of Industry’), “Trade”, “Im Rausch der Dinge” (‘The Ecstasy of Things’) and “Darkside I + II”.
(3) Foto Colectania is a private non-profit organization created in Barcelona in 2002 with the objective of disseminating photography in the social, artistic and educational spheres. http://correspondencias.fotocolectania.org/en/
(4) This is not a bad thing, even if many photographers profess to have a dislike for discursive writing. I would argue that, in fact, many academics are currently more avant garde and future forward in their thinking than most of us who are writing on photography.
(5) For example, who hasn’t sat at the doctor’s office at a loss for words to describe what ails us?
(6) Hayle’s profile and a selection of her writing is available at: http://nkhayles.com/index.html
(7) See Sarah Kember’s profile at Goldsmith University London, where she is Professor of New Technologies of Communication https://goldsmiths.academia.edu/SKember.
(8) Ariella Azoulay is Professor of Comparative Literature and Modern Culture and Media, Brown University Independent curator and film maker. http://cargocollective.com/AriellaAzoulay
0 notes
authorjanolan · 8 years ago
Text
A Writer’s Life
Random (But Well Meaning) Stranger: "What's it like to be a writer?"
Me: "Do you really want to know the truth?"
Random Stranger: "I've always wanted to write a book/I have this idea for a book I want to publish."
*Deep Breath*
Crippling self-doubt. Wondering if the world you create is interesting enough, original enough or real enough on paper. Spending hours researching random stuff on Google just to make one sentence realistic enough. (Just this week: Police 10 Codes, Modeling, Stalker Behavior, Search and Rescue Procedures, Cross Species Genetics, Blood Loss, Body Decomposition Stages, Self-Defense Laws, Funny Coffee Mug sayings, and Gun Shot Wounds) Absolutely sure you are now on some interwebs Government watch list, and in the back of your mind wondering when the Men In Black will come knocking on the door.
Spending even more time outlining, drafting, writing, editing, revising, rewriting, and comparing your work to other people's and wondering if you measure up. You are sure you don't, but you try to keep plugging along on that manuscript.
By the end, you end up hating what you wrote and convincing yourself it's the worst thing that has ever been written in the history of the world. (It's never that bad, but in that moment, logic has left the building.)
There are a lot of tears, banging of head on desk and lots and lots of coma-inducing sugar to keep you functioning, and cuddles with your fuzzy writing buddies, because they don't judge you like you judge yourself.
Regularly not falling asleep, or waking up at 2 am. Either way, you can't sleep. Characters insist on "working" and won't shut up. "Why did you make me like him/her?" "I would never say that!" "But...but... I want to LIVE!!!!" "Get to work!"
"No! Sleep!" Grumble. Grumble.
"There are more of us, than there are of you..." One of them randomly starts singing the most annoying song ever. "We aren't going away until you fix that last chapter." There's that one broody one in the corner, glaring. Another one is jumping up and down. "PARTY TIME! WHOOHOO!" "Get up! We want to play! Get up!" The four year old is squealing.
*Glares blurry eyed at way to bright computer screen* "You will all suffer for this!"
Typing. Typing. Typing. "I don't think that is the right way to spell that word." Stare at it for five minutes. "Nope. Gotta fix it." You change a vowel. It looks even more wrong now. Change around a few more letters. It's now so wrong spell check can't help you. (It was right the first time, but it looked wrong. Because, no sleep.) You mutter to yourself "Whatever. That's what editors are for." and plug along.
Because it makes the imaginary people in your head happy. And quiet. The whole world is quiet. There are no noisy distractions. Because normal people sleep.
Four hours later. Birds are starting to chirp. You haven't moved from the chair in so long, your ass fell asleep. Sleep is good. Sleep? Food? It's light outside? Wait. What day is it?
Falls into bed, utterly physically, mentally and emotionally spent. You wake up eight hours later, look at what you wrote and end up spending another six hours rewriting the middle of the night scribblings, because now it makes no sense and you have no idea what you were trying to do.
You repeat the same thing four nights in a row, because the second your head hits the pillow, the characters are whining again.
At some point, you have to remember to be human. Shower. Put on clean clothes. Do the dishes. Make food. Eat. Shuffles to the fridge, stiff and hobbling because you haven't been outside for a walk in the last week. "Where did all the food go? I don't remember eating all the food." Is that chinese/pizza/random leftovers still edible? Nope. Nope. Nope. *Throws away the entire container because you are so NOT washing that.* You end up eating a pickle. You have to go grocery shopping. Oh, and try to talk to other humans. But you've been so stuck in your book world of elves/dragons/space pirates/vampire/werewolf/cowboy/ghosts and so sleep deprived, you can't really hold a normal conversation with real people anymore.
Random stranger stares at you horror, but trying not the laugh.
*Another deep breath*
And then if you do manage to produce something halfway publishable, from your sleep deprived brain, it's expensive as hell to edit, publish, market and advertise. You don't have a steady paycheck. Most publishers only pay you quarterly. That's once every three months. You know that brand new paperback book you bought for $8? Publishers make about 70% of the profits. And if copies of your book don't sell, bookstores send them back. They receive their money back. Not from the publishers profits, but yours.
After all this, most authors only make about $1 per book sale. Which they usually put back into marketing and advertising, because publishers expect you to do most of that yourself. This is why a lot of author self-publish. But that is expensive and hard to do, even when Amazon isn't screwing around with your books and deleting the reviews they don't like. No matter which route you take, you have to pay taxes on every dollar you make, just like everyone else. So the government takes almost half of every $1 you make. Which is whatever you didn't sink back into advertising and marketing.
To be successful enough to pay your bills, eat and live a halfway decent life (not homeless) , you have to write and publish constantly, which means you have next to no social life. Family and friends hate you for that. "It's not a real job" "It must be nice to not have to work so hard." Very few people in your life are understanding and supportive. The people that are, you cling to like a life preserver. Because they are so rare.
The truth is, many of us have to have day jobs we absolutely hate, just to not starve. On the side, we take crappy freelance ghostwriting jobs from people who have no idea how much time it takes to write something worth reading. Because they are too lazy to write that book for themselves. Others have a different kind of project they need done. They have convinced themselves it shouldn't take you more than an hour, so they don't think they should have to pay a decent price for all the time, energy and effort it takes to produce good quality work. Then there are people who try to get you to edit their work for free, or so cheap that it's not worth it to take the job. The entire time, you are wondering when you will be able to afford to get back to writing your own work.
So that's three jobs right there, and you are still barely scraping by just trying to pay for your own health insurance and basic living expenses. On no sleep, because with all that, you still have to find time to write your own book.
To top it off, now many readers expect you to give away years worth of your blood, sweat and tears work for free, (because the $2.99 price tag on Amazon is just sooo unreasonable!). Never mind that they spend $10 on a latte and pastries at Starbucks twice this week, or that the $2.99 is LESS THAN HALF what they would pay for a paper copy of the book). Nope. They wan't it free. Because why should they be expected to pay for a book? (Have you ever noticed, no one expects artists or jewelry makers, or candle makers, or musicians to give away their creations for free? Or how their creations cost more than $2.99?) Authors have bills to pay too. But, it seems that no one else sees the absurdity of the "books should be free" campaign.
Random Stranger: "Oh my god! Really?" Me: Nodding. That's not all, folks.
Even if someone does decide to give away their books for free or just 99c... People still find something to whine about.
Lately, they complain if a fictional character does something they personally find offensive in real life. A fiction character. As in, not an actual person. A fake person. In a story. A story meant to do nothing but entertain. But they lose their mind over it, because "How dare you describe the character like that! You can't use words like "caramel" to describe skin color anymore! It's racist/sexist blah blah blah"
Really? But what if that really is the color of the skin? NO! It's racist! Since when? ......(No one knows) Who decided that? .......(No one knows)
You wonder to yourself exactly who decided they were so important, they have the right to decide what words authors can and can't use. When the truth is, no one owns the entire English language.
Everyone else seems to still have the right to freedom of speech, but not an author these days. Nope. Now we have to be so "politically correct" we can't even use the words we want to use. Now every story has to be so PC "sensitive", publishers are actually hiring "sensitivity readers" to judge your work for a certain level of PCness, as to not risk offending anyone. Basically, as an author, you have to become a "social warrior" and pick a cause or a side to belong to. Apparently, writing and sharing your work is not about your story anymore. You can't just entertain people. You have to make sure you never dare to write anything that could possibly, maybe, almost offend a single one of the 7 billion people on the planet.
Because if one person throws a big enough fit, you're branded an awful human being and a terrible author. You know it's completely unrealistic and ridiculous expectation that NO ONE can live up to. Because NO ONE can possibly please everyone on the planet. Even if a writer does their very best to be as sensitive and PC as possible, there is still going to be someone, somewhere, that decides it's not PC enough for them, or the character doesn't represent a certain lifestyle type or culture of people well enough.
(This is a form of bullying that the masses has deemed acceptable and appropriate. Cyber-bullying is not okay. Bullying at all is not okay. This kind of crap is the reason children hurt themselves. But you know what? Kids aren't the ones doing this to authors. Adults should know better. You can't have a no-bullying campaign for your kid at school, to teach kids not to bully, when you are the adult on the internet, being a bully. You can't have it both ways. It doesn't work that way.)
But most writer's don't dare point out how absurd the whole writing and publishing process has become. Nope. You can't say any of that. You can't defend yourself, or your work, in any way because then you are labeled as "The Unprofessional Author". No matter how professional you actually are.
So, then that one person who is pitching a fit over some imagined slight in a fiction story you wrote ten years ago (and barely remember), is trying to publicly shame you and boycott the book on social media. So your current book sales tank even more, and you get long, ranty reviews from people who haven't even read the book. Or you get critics that think their personal opinion is the only one that matters. This is usually from people who have nothing constructive or helpful to say, because they have never written a book themselves. They don't really know what they are talking about, because they don't work in the industry.
As a writer, if you let this kind of bullying get to you, you will never publish anything. So, you do your best to realize the utter ridiculousness of it all and just keep writing YOUR story how YOU want it to be.
Random Stranger: *wide eyed* "I thought writing would be easy."
Writing is not easy. Writing is not glamorous. Writing is not a way to get rich. Writing is not a hobby.
Writing is a job that authors hardly ever get paid enough for. If they are lucky enough to get paid at all.
See, hobbies are what people do for fun, in their free time. Writer's have to work damn hard to scrape by, and have very little free time. Sometimes (often) writing stops being fun long before the first draft is ever written. Writers are not rich people. Some are. But most of us will never see that kind of cash unless we are very, very lucky. Most of us can't afford to give away anything for free, because we barely make pennies off of a single book sale. There is no guarantee anything we write will sell well at all.
Random Stranger: "So...if it's so hard, why do you write?" Me: "Because if I don't, the people in my head will never shut the hell up and let me sleep."
Random Stranger: "Is it really worth all that hard work?"
Me: "Absolutely! I love my job. I wouldn't want to do anything else. Write like no one but you will ever read it. Write because you must, no matter how hard it is. Writing because your passion for words and stories is bigger than all the fears. Write because you love to write. In the end nothing else matters."
0 notes