Tumgik
#in both cases they are better engines than Unity
obsidiansynth · 8 months
Text
Unity attempting to monetize installs will likely be the best thing to ever happen to Godot.
Speaking of, here is some documentation for Unity devs who want to switch to Godot
227 notes · View notes
the-graves-family · 9 days
Text
Unity
Aaron:
Responsible for interrogations and executions.
Lives at home with everyone else.
Got his chain tattoos during a mental breakdown when he was in his late teens.
Struggles a lot with impulsivity, in all areas of his life.
Tries not to drink or go out too much because he knows it'll just devolve and someone will end up in either the hospital or dead, and that's not good for the family's image.
Emotions very muted until they explode.
Possessive over his family members, will stab someone if they make Ace cry.
Still can't read.
Ace:
Majored in Engineering Physics and minored in Accounting.
Has a workshop on the edges of the main property. A safe enough distance away. Just in case.
He likes working with machines, and welding. And bombs.
He doesn't technically have a job besides watching the children sometimes and advising if he's asked.
Does not like leaving the house. Likes machines better than people.
Very calm and polite. Cannot mask to save his life. Cries easily if overstimulated.
Likes Adrian a lot, and likes Aaron well enough as long as his twin is in a good mood.
Did some therapy as well to deal with Aaron, just in general.
Adrian:
Learning all he can form Victor before his father retires.
MBA and other economy and business related studies.
The least stressed of all his other selves.
Technically in charge of both his brothers, though he knows better than to try and directly order Aaron around.
2 notes · View notes
rickytickychow · 6 months
Text
in defense of Unity (my favorite hive mind not the shitty game engine company)
so a lot of people are a little bothered by how pushy Unity was, and that's absolutely valid. However I saw it a bit differently. I think it takes a LOT for someone to be concerned for Rick's very life, given that he is in the business of putting it in danger regularly.
Unity knows Rick. Like *knows* knows him. Thus, she knows he "almost dies" as a hobby. So what's different about him going after Prime Rick? Why was it so urgent?
Now this is pure speculation on my part, but I'm guessing that Prime didn't almost kill him. Given how badly broken up he was over the mere breakup with Unity itself, I can imagine the quest to find Prime drove him mad enough to do some crazy shit; be it by hopelessness or recklessness. In any case, Unity knows that since he isn't picking up, this guy it has a lot of history with may very well be dead. What better way to get a response than create a situation where he's guaranteed to show up? Especially considering he "almost died" right after their previous meeting and all Unity seems to have heard since is hearsay, it kinda has reason to be afraid. It likely went months without news (or however long in spacetime they waited).
If Unity, the flame of a man whose whole schtick is cheating death, is concerned that he might be dead, it's real concern. I don't judge any other interpretation but personally I can forgive Unity for this one. If a close friend of mine was like "stay TF away from my house" I'd also respect that until he was rumoured to be doing historically self-destructive shit.
Yes Unity broke a boundary, but the episode showed us that that Rick was learning to enforce those in a healthy way. It's a realistic plot point for them; people break boundaries a lot in real life sadly and it's important that mending them is shown even if there's not complete forgiveness on either side right away. Rick is right when he says "I NEED BOUNDARIES," but screaming at his granddaughter and stonewalling someone with genuine intentions aren't gonna help him feel confident those.
Wong shouldn't have been invalidating about it but her assertiveness is the way she gets to Rick; it's comedic even though obviously IRL therapists who play devil's advocate are the actual devil. Rick is, with all my love and care and respect to the blorbo, Actually the Devil as well, so Strip Mall Therapist clicks. Wong seems to understand Rick.
Rick had his reasons but still, a singular response and Unity would not have gone to Virginia at all. Unity's action was not justified yeah but it was proportional to the situation from its pov. Rick is reckless, he doesn't give a *fuck*, or so he'd have everyone believe. Wong is poignant enough to make him see that the act isn't worth it, and in turn helps Rick reconsider his avoidant behavior.
The "huge problem" was less Rick's ghosting (spite is not healthy in large amounts but like I Get It) and more the president's fault imo but Rick maybe should have let Unity know he wasn't dead. Had he calmed down and talked it out immediately when he got to Virginia it would have been a much easier release for them both, which is what I think Wong meant.
I am really happy with the last couple episodes tbh they've brought a lotta levity to the show while keeping the dark undertones and setting up themes for the rest of the season. So glad to have Unity back in the show, their relationship with C-137 is so interesting to me.
5 notes · View notes
chrysalispen · 2 years
Text
Prompt #3: Temper
AO3 LINK HERE
Spoilers for 6.0 up through “Personae non Gratae.”
Fill below the cut.
====
For the second time in the last eight years she stood in the detritus of a liminal space and thought:
I have returned, and there is nothing here for me.
Her memories of her childhood were far more fond, but her memories of Garlemald were more recent. Thus Aurelia Laskaris could still remember that single moment of clarity she'd experienced before she'd departed the capital, standing on the steps that descended into the Tertium subway station.
Naught in particular had caught her attention that day, really. It had been little more than a passing thought, one as intrusive as the loud chatter and the impatient shoves of crowds making their way to the surface from the platform. The scents of chicken stock and beets and fresh dill and frying onions from the food kiosks. The faint screech of brakes as a train's engine cycled to a stop and the hiss of opening doors. People spilling out of passenger cars in their woolen scarves and headwear and heavy overcoats, a brief and unremarkable interlude that was part and parcel of their daily commutes into the capital: businessmen, soldiers on leave, mothers with children in tow. Academy students like herself on their way home or out to Laterum for the weekend.
If she shut her eyes and listened hard enough she could even still hear the faceless announcer's bland contralto through the silent speakers warning passengers not to leave any personal items unattended.
Had Aurelia remained in the city, perhaps she would have been one of those young mothers carrying a babe in her arms. Or if she'd returned from her tour and managed to defy her uncle's wishes, a medicus or an Academy researcher caught betwixt obligation and empty ambition. Tired and cold and hungry after a long day's work and making a beeline for a nearby kiosk to grab a cup of borscht or a small box of pelmeni, something to warm her belly before boarding the Via Alta express line into the upper wards.
In any case, it had struck her at the time how mundane it all was. Twenty-two winters and trapped in her family home with little hope of escape from the life they had envisioned for her, Aurelia had despised it. She had thought this would be her life forever and like a wild fox trammeled in a hutch, little more than a rich man's trophy, she had sought only to leave it all behind her -- for good, with any luck.
She had bid Garlemald goodbye with a sort of resentful satisfaction, almost gleefully so.
Maxima Priscus and the Ilsabard contingent's hopeful expectations were admirable, if tempered in her own mind by lingering cynicism. But even she had been possessed of an underlying and unshakeable certainty that the capital itself was impenetrable.
Watching the open fear and hostility of her countrymen she was ashamed to admit to herself how easy it was to let oneself become complacent, accustomed to the soul-destroying erosion of a place like Garlemald through the tedious grind of simple survival. For every self-identified patriot made content through the rallying cry of ‘dolce et decorum est pro patria mori,’ there was another soul discontent with their lot. As opposed as those viewpoints might be, both would still assume and accept that this dreary, monotonous routine was simply the way of things.
Nero had believed as she had- Aurelia knew she was no exception. Mislike it or embrace it, the Empire was the Empire. They had lived under its influence for all of their lives for better or worse, and the measure of its might and reach alike had seemed so all-encompassing that in their heart of hearts even its defectors doubted it would or could ever truly change.
Yet it seemed they were mistaken. The Empire was not the Empire, not any longer. Garlemald was no more immune to internecine strife and civil war and the other destructive vagaries of man's nature than the peoples it had sought to conquer, and as for its much-touted motto of unity through peace--
That was as much a shambling shell of itself as the mindless thralls moaning their endless praises in the broken streets above.
Out of everything somehow the radio was the worst part of it all. The thin and metallic ring of recorded piano and accordion, the mournful warbling tenor-- these things were no comfort. They drowned out the hushed whispers and sobs of the desperate and dying with a litany of self-pitying bitterness and sorrow.
Like a distress call from a sinking ship, it was all any of them had heard since setting foot past the Magna Glacies. Aurelia wished someone would just turn the bloody thing off. Even the sounds of the winter storm outside would be a mercy. There was no future for the nation she saw now. It lay prostrate in its coffin, wrapped in the pitiful and tattered remnants of its petard, with its only epitaph that chorus crying 'Home beyond the horizon' like a supplication.
The constant refrain did nothing to dispel her disquietude but she knew very well that there was nothing to be done for it. She couldn't risk harm to the twins and she had no doubt her own actions were being monitored just as closely. All she could do was try and ignore it as best she could. That, and the terrible crawling of gooseflesh up and down her spine, a manifestation of her own creeping worry - only growing stronger over time - that she was missing something important.
She shivered and knew it did not come from the cold.
Without, the endless cry of the wind and the slap of sleet against the outer walls, punctuated by the odd scream. At least the storm had muffled the worst cries and screams of the capital's surviving enthralled - or rather, Aurelia hoped that was all it was. In the meantime, the people trapped down here needed her help. Whether they wanted it or not was immaterial.
She took a deep breath and shouldered her kit, then began to make her way into the dark and frozen bowel of the station.
9 notes · View notes
act-novel · 1 year
Text
Notes on 3D Game Development in Game Maker Studio 2
Tumblr media
Note: Originally published on r/gamemaker. Edited slightly to suit the new context.
Hello, this is Garrett Thompson, sole member of Act-Novel. Reality Layer Zero partially released recently, and so I felt that now was a good opportunity to go into a bit of technical depth on the project. Specifically, I wanted to write about how I made an engine primarily designed for 2D game development (Game Maker Studio 2) more amenable to 3D game development.
Game Maker 3D is sort of a niche topic, but if you're interested in doing some experimentation yourself, consider this a quick top-down look at how your project might end up being organized. I should note that I'm far from the only person doing this, and I may not be the most qualified to speak about it since I'm still learning things all the time, but I can share what I know, at least. First, though, I'd like to address a question that might be on your mind.
Why use Game Maker for this?
Granted, there are tons of engines out there that are much better at doing 3D than GM. You could simply download Unity or Unreal and develop inside of those very fully-featured 3D engines with very little start-up cost. On the other end of the effort spectrum, you could also simply cobble together your own engine from libraries and hotglue.
GM represents a kind of middle-ground between those two approaches, though. A lot of the basic math, graphics, and data structures stuff is handled for you, but you've got to implement the higher-level stuff-- 3D collisions, shaders, lighting, etc-- on your own. In some ways, that's a pain, but I find it also tends to keep your code simple enough that you can reasonably understand every little piece of it, which isn't always a case in a more fully-featured engine. In other words, you get many of the benefits of cobbling together your own 3D engine with fewer of the headaches.
For my project in particular, there's also a lot of 2D heavy lifting to be done-- I swear I spent about half a year just programming menus-- and that's certainly one area where the features offered by Game Maker offer more of a helping hand. The actual "3D" part of the code is, as you'll see later, not too complex, so the engine not having out-of-the-box solutions (to my knowledge) for 3D collisions or physics isn't too big of a set-back. In other words, whether Game Maker is going to act as more of a help or a hindrance is going to mainly depend on the project you're trying to make. That's largely true for both 2D and 3D-- although admittedly Game Maker's help-to-hindrance ratio for 2D games is probably substantially higher on average (versus 3D games).
So, with my obligatory Game Maker apologia out of the way, let's get into the specifics.
How do I even 3D?
The absolute basics of 3D are probably...
- Construct a polygonal primitive.
- Set-up a 3D camera.
There are already a number of tutorials for the camera bit. For learning both at once, I think I used this one. The GM documentation has a lot of good information here, too. Writing another how-to guide for this kind of thing would be, I think, somewhat redundant, so I won't do it!
However, what I will do is offer some insight for how to go from "I have a 3D camera rendering a polygonal plane to my screen" to "I have a way of reasonably making a 3D game."
How do I make a 3D scene?
Unless you want to construct all of your geometry in code (which, I mean, you're free to do if you want to), you'll probably want to use a 3D modeling tool for this (e.g. Blender). However, just modeling the scene won't be enough to get Game Maker to know how to render it. At some point you're going to have to *convert* that model to the internal vertex buffers that it expects. Fortunately, some smart people in the Game Maker community have written scripts to do just that. I believe I'm still using this one, even though more comprehensive solutions exist. I'm sure you can find one that suits your preferences with a quick Google search. You can also write your own, if you're handy with Blender extensions or the equivalent for your 3D modeler of choice.
Something I recommend before you get into modeling, though, is to organize all of the textures that will appear in your scene into one organized texture sheet (of power-of-two size, e.g. 256x256, 1024x1024, 2048x2048). Then, map the UV's of your model to the textures on this sheet. This will make it much simpler to tell GM what textures to put where whenever your model actually shows up in-game. You *can* combine meshes that use different texture sheets at runtime, but it's a bit of a bother, and why solve a problem with code when you can solve it with data?
Note: You can animate basically anything in the game by swapping out its texture at runtime with the next frame in a frame sequence. This is how I'm animating character sprites in 3D-- there's a 3D plane with a texture of one frame, but then that texture gets swapped with the next frame in the sequence, and so on. You can do this with a shader if you want to be, like, super-optimal with it, but it seems to also be mostly fine to just do it with the "separate texture pages" option checked in the sprite editor of the texture you want to use.
On the engine side, you can load the model inside of a game object, throw that game object into a room, and presto! In theory, everything should show up as you expect. In practice, though, sometimes you end up just seeing a black screen. This could be an issue with the camera position, or the scale of the model, or maybe you forgot to submit the vertex buffer in the Draw event, or really a million different other things. Maybe the model you're trying to load doesn't actually have any data in it?
Once you've got pixels drawing, though, you might be struck with a desire to make the scene more interactive. You *could* place game objects individually in the room editor, guessing about where everything should go and manually setting the Z-value of each in the instance creation code... but that sounds just awful, doesn't it?
So, what I ended up doing to make this process more visual and intuitive was to just treat Blender as a level editor in addition to a modeling tool. I duplicated the file I was using for the scene mesh model, combined all of the separate pieces into one "LevelMesh" object, and then started placing other objects (represented by default polygonal primitives-- cubes in this case) with descriptive names like "InteractableZone0", "Signpost8", "NPC2", and so on. The individual names for each unique object will be important later.
There's an intermediate step between setting up the scene in Blender and having it work in GM, which is, again, a data-conversion step. This time, instead of converting the data to a vertex buffer, it's being converted to JSON. If you're not familiar with JSON (how did you get this far in the post?), it's just a simple notation for objects (JavaScript Object Notation) that's remarkably similar to the struct syntax in GM. E.g. a JSON representation of a scene in Blender might look something like this (simplified for explanatory reasons):
"Scene": {
"LevelMesh": {
"baseName": "LevelMesh",
"x": 0.0,
"y": 0.0,
"z": 0.0
},
"InteractableZone0": {
"baseName": "InteractableZone0",
"x": 20.0,
"y": 40.0,
"z": 1.1111
},
"NPC0": {
"baseName": "NPC0",
"x": 42.0,
"y: 111.0,
"z": -22.8
}
}
You should definitely write (or borrow) an extension that converts your scene to JSON "automatically", since you'll probably have to tweak the positions of things and you'll want that process to be reasonably painless. The export script in this tool works splendidly, but the asset it's associated with (MMK) is dreadfully expensive if you're only using it for that purpose, and there's probably a cheaper solution floating around out there if you look for it. It doesn't have to be a special Game Maker JSON format-- just vanilla JSON will work fine.
Once you've got a JSON representation of your scene ready to go, you can load it into GM using the json_decode function. With the resulting ds_map in-hand, you can start generating instances.
In your room's creation code, load the map, step through it in a loop, and then each time you come across a new JSON object, create "some instance" according to the name (probably serialized as a "baseName" field) of the object. You'll probably want to create an engine-side ds_map that contains relationships between baseName strings and GM objects, e.g."InteractableZone0": obj_interactableZone3D, "NPC0": obj_characterController "LevelMesh": obj_exteriorScene
You can instantiate each of these according to the data in the scene JSON-- create them at the position specified, with the scale specified, and with any other encoded data you care about.
After instantiating each instance, you can configure them how you want to directly via their unique instance id, returned from the call to instance_create.
This... isn't exactly how I do things. Instead, I use a top-level "scene config" class to orchestrate the instantiation and configuration of each instance in a manner that's consistent, repeatable, and far less verbose. This might be a little bit too much engineering effort for a prototype, though, so you're free to bypass doing something similar if you wish.
--
So, with this, you've got a scene loaded, rendering, and with game objects instantiated inside of it, in the positions that you want them to be in, and configured how they ought to be. There's *probably* one major thing for you left to do, which warrants its own section of this post-- how do you get a character walking in here?
Height and Collisions
Movement in 3D is basically just movement in 2D, but with a z-axis. Thus, assuming you already know how to get a character moving around in 2D, doing it in 3D is just that, plus figuring out what your height (or z-value) ought to be.
Tumblr media
More RGB than your custom PC.
At a glance: the left image contains height data (blue) of a scene, as well as the camera-restricted zone data (green) to keep the camera from moving out of bounds (this requires custom camera movement code, but it's pretty simple). The right image is the scene's collision map, where the red is "collision" and the black is... actually an "alpha" channel in the real collision map. You can technically put all three together in the same image, but in testing I found it was more efficient to treat the collision map as a separate image and use GM's built-in collision testing code (note: select "precise" on the image's collision settings).
The blue channel of the height-map on the left can be generated in Blender with a little bit of fiddling. The green channel, I added myself in GIMP. I also painted the collision map over the height map in GIMP, but exported it as a separate image.
The basic "high level" idea is that, for the height map, the "100% blue (i.e. a blue value of 255) areas represent the maximum height of the map (where the maximum height is defined "somewhere" in code), and 0% represents the minimum height (also defined "somewhere"). Every value between 0 and 255 is normalized at runtime to between 0 and 100, and then normalized again to somewhere between the minimum and maximum height. This is broadly the process we use to figure out the height (z-coordinate) of the ground at a given x/y coordinate.
You can do this with surface_getpixel, but that's excessively slow, so it's better to use a buffer. Once again, somebody already wrote code to enable this. Every time you need to figure out the height of a certain coordinate (e.g. how high-up the player character ought to be), you can just ask the height map in the buffer. But, wait, how do you know which pixel in the buffer to check?
The height-map and the 3D scene are not necessarily 1:1 scale. Unfortunately, this means that you'll have to "align the height-map" with the 3D scene manually. Personally, I wrote a tool that allows me to do this at runtime, and to then print the alignment information (e.g. height map x/y origin, scale) to the console. This process is a little bit tedious, and can sometimes result in things being ever-so-slightly off, but with enough fine-tuning you can get it "close enough" pretty consistently.
Tumblr media
Top-left: The height map, and a sprite representing the player's absolute and relative x/y coordinates. Top-right: The map's current config information and adjustment controls.
The silver lining to this is that you can reuse the height-map configuration for the collision map, assuming the two images are 1:1, so you only need to get the map aligned once.
(Note: There might be better ways to do this. I'd love to hear about them.)
To keep the camera behaving, you're basically checking the same height-map buffer, but checking for green instead of blue, and checking for any value above 0 (since "camera movement" zones are binary-- either it's allowed or it isn't).
One downside of this single-height-map-based approach is that, naively, it doesn't support going under or over things, but there's actually nothing besides memory constraints stopping you from having multiple height maps for multiple different Z-values and just switching between them based on the player's current Z-position. You might be able to do something similar with collision maps to facilitate mechanics like, say, jumping, but I don't know for sure since I haven't tried doing that!
Always More to Do
With all of this done, you can now, potentially, pilot a player character around a 3D scene. Needless to say, that's still far away from what most games probably want to accomplish. You may not even be done fiddling with the lower-level 3D stuff by the time you've done all of this-- I didn't even get into implementing distance fog or lights and shadows (although that, too, can be done in Game Maker). There's also getting all of this to play nicely with however many UI surfaces you want to spin-up, and not to mention optimizing it to run reasonably-well on non-development hardware (hint: use vertex_freeze).
Nevertheless, this should serve as a pretty good foundation for anyone who's curious about GM3D. I'm sure many programmers can see a reasonable path forward from here on pushing this foundation through to actual full-on "game" status.
If I have instead only managed to dissuade you from investigating GM3D, I hope I have at least instilled a newfound sense of respect in you for early-3D game programmers, who doubtlessly had to jump through similar technical hurdles to get their projects up and running all those many years ago. Except they did it in C. And on calculator hardware. Without the internet! Yeesh!
0 notes
joezworld · 3 years
Text
Fools in Love (5/10)
James And The Diesel Engine
1978
When 46 040 had declared that she would become friends with James, nobody in the sheds had really believed it.
James was vain, occasionally pompous, and immensely suspicious of diesel traction. It was a minor miracle that Bear and BoCo had been accepted by him, and Gordon speculated that it was due to the fact that neither engine was in a role that would displace the red engine.
040 on the other wheel, was in direct competition with him - right down to her shiny red paint. The big diesel had been eager to prove her worth, and had gladly accepted any work that the Fat Controller had given her. This meant that for most of the past year, there had been two red mixed traffic engines on Sodor.
Naturally, James was quite upset by this - he felt that he was being supplanted instead of supported, and tried valiantly to make 040 go away.
Unfortunately for James, 040 was determined to make a friend out of him, and treated him and everyone else with an almost impenetrable level of charm and good cheer that soon ingratiated herself with the other engines.
“She is of good stock.” Gordon said when she came up in discussion.
“A hard worker” was Duck’s assessment.
“Aye, if more diesels were like ‘er, the other railway would work a treat!” This from Douglas - high praise considering his well established and totally understandable dislike of diesels.
When he first met 040, he’d growled at her to ‘stay away’, and after a moment’s reflection, she’d apologized.
“What MPD were you at?” She’d asked after he’d growled at her.
“Glasgow - Eastfield.” He’d replied after a confused moment.
“Yeah, that figures.” She sighed ruefully. “I’m sorry, by the way. They only had enough of the “I hate steam engine” bits for the 45s, so us 46s and 44s never quite understood why everyone was so eager to replace you. Well, everyone except Spamcan, but he’s an arse to everyone.”
“Aye?” Douglas was very surprised.
“Of course. We tried to make them be nice - they certainly didn’t need to be so vicious about it - but once they know you care - well, it’s said that you can smell weakness in someone’s exhaust, so we weren’t treated much better than you were.”
“I... had no idea. Do they truly do that? There’s no’ even unity amongst diesels?”
“Not a whit. At least, not in the Midlands. Don’t worry though - they’re getting what’s coming to them. All three of us Peak classes are ‘non-standard’ now, so they’ll see what it’s like to be on the wrong side of progress soon enough.” Her tone was not light, but neither was it overly dark. She clearly had private opinions on the subject that she wanted to keep private. 
Douglas stared at the big diesel with newfound respect.
James soon found himself in the minority of opinions about 040. His resolve began to waver when she would cheerfully keep her composure even in the midst of a heated argument.
“You’re wrong and I can prove it!”
“How?”
“You haven’t got a boiler! You wouldn’t understand what boiler sludge feels like!”
“Ah! That’s where you’re wrong my steam-powered friend! I do have a boiler - for steam heating! I know exactly what boiler sludge feels like!”
“Cinders and Ashes you are impossible! Why are you so cheerful?!”
“I like arguing with you Jamie, it’s fun!”
“Jamie??!”
-----
One morning, the Fat Controller arrived in the sheds with some important news:
“The Thin Clergyman and his son will be visiting the island once again!” He declared cheerfully.
The engines were surprised. “I thought that he had retired from writing?” Gordon said.
“He has,” explained the Fat Controller. “But his son has decided to follow in his father’s footsteps and will be writing books of his own.”
Most of the engines were excited, but 040 was decidedly not. As soon as the Fat Controller left, her face fell into an uncharacteristic scowl. “I am not appearing in those fucking books.” She said menacingly.
This was arguably more surprising than the news of the Thin Clergyman’s arrival.
“Whyever not?” Asked Henry, who was quite pleased to have stories written about him.
“None of you know this,” She grimaced. “But the only more damaging thing than those books was the fucking Beeching Report! When he wrote about that 08 that tried to cause trouble for Duck, he might as well have thrown a bomb into every yard in the country! Everyone was either saying that we diesels were evil masterminds or that steam engines were idiotic dupes! There was zero civility between engines! Friendships ended! Lives were ruined! Locomotives were scrapped over this! I wasn’t even built then and I still have been forced to deal with it!”
She laughed at the jaw-dropped stares of the other engines. None of them had been on the mainland at that time, and they had no idea of the trouble that had gone on.
“And then there’s one-nine-nine! That nincompoop has gotten every one of us Peaks called a Spamcan! And that’s impressive considering there’s three different classes of us! I didn’t even know what Spam was before that book!”
Silence fell over the sheds for a good while.
“I had no idea...” Gordon eventually said in a small voice.
“I know.” 040 said as she slowly regained her cheery demeanor. “And that’s okay. But I really do not want to be in the books.”
“What’s this about books?” James had been out on an early stopper train, and had missed everything.
“Oh nothing Jamie, do you want to have an argument?”
“No! and stop calling me that!”
“Great! So I think we are actually having an argument right now, but what’s your take on it...?”
-----
Tumblr media
The Thin Clergyman arrived onboard Gordon’s express, and was given a warm welcome by the Fat Controller at Tidmouth. Fortunately for 040, Gordon had been able to pass the word on with an earlier train, and she was able to flee the station before the author arrived.
The next week of her life was not unlike a scene from the Benny Hill Show - wherever 040 went, the Thin Clergyman and his son followed.
She ran a parcels train to Barrow - the Thin Clergyman was waiting on the next platform,
She hid behind the Works, only to find his Son riding on Skarloey’s footplate,
At Haltraugh she tried to hide behind Duck - with exactly as much success as one would expect,
The two men starting interviewing engines in the shed, and she was forced to hide amongst the coaches in the yard,
Thomas’ driver unexpectedly fell ill at Tidmouth, and she leapt at the chance to take his train - despite being longer than Annie and Clarabel put together! She made it as far as Elsbridge before curious trainspotters began flocking to take her picture, and she beat a hasty retreat to the main line just before the Clergyman arrived,
The engines at the Kirk Ronan branch were quite annoyed when she tried to squeeze into their shed - she was so big that the door wouldn’t shut!
Planned track work meant that one of the Ballahoo tunnels was closed, and she bluffed her way onto the work train so she could sleep in it. This was an effective hiding spot, until she told Henry, who laughed so loudly that the Thin Clergyman heard the entire story from across the yard,
She even tried sleeping in the electric branch sheds at Peel Godred, but was not only glared at by the very antisocial locomotives who lived there, but also had to hide from both the Thin Clergyman and His Son when they came to see the Culdee Fell Railway.
Finally, there was nowhere left to run - she had managed to find all of these hiding spots while still doing her jobs, but today she was the ‘relief’ engine at Knapford, which meant that she had to sit in the yard all day in case another engine failed.
In full view of the station building.
At midday,  James bustled in with a load of vans for Thomas’ branch line.
“What are you so anxious about?” He asked 040 with a mixture of scorn and surprise. The annoying red diesel was looking positively frantic as her eyes scanned the station building. It was most unlike her.
“Jamie! Hide me!” She hissed as James’ driver uncoupled the vans.
“What?”
“Hide me! Quickly!”
“Why?”
“The Clergyman! He’s right there in the station!”
James looked over, and sure enough, the Thin Clergyman and his son were sitting down to lunch in the station café. “Why?”
“Because he might write something about me!” 040 was frantic.
James was baffled, but remembered Gordon mentioning something about some engines not wanting to be written about. He’d assumed that Edward was just being introverted again, but perhaps there was more to it than that...
He was tempted to do the exact opposite - to blow his whistle, attract attention, and pay back the loudmouth diesel for all of her arguments and nicknames, but when he looked back at her, he realized that 040 was frightened of the Thin Clergyman.
James was many things, but sadistic wasn’t one of them, and he ran around his train and shunted the vans so that 040 was almost entirely obscured from sight.
“Thank you!” She whispered as he backed away.
“Keep it dark,”  He hissed back. “I have a reputation to uphold. And I’ll try and draw his attention to me so he doesn’t go looking for you.”
“Shouldn’t be too much of a problem for you.” She said with a small smile. “You always are the centre of attention!”
James smiled back as he backed into the yard proper, doing his best to make as much noise as he could until he came to a stop at the far end of the yard - as far away from 040 as possible.
His plan worked flawlessly. The Clergyman and his son had been so engrossed in their meal that they hadn’t noticed that any engine was there at all, and quickly made their way across the yard.
Unlike 040, James was always pleased to have someone write about him, and spent the better part of an hour answering the Clergyman’s questions.
“There was one other thing I wanted to know, James.” The Clergyman’s son said after a while. “We’ve been told that there’s a new diesel on the Island, but we can’t seem to find him anywhere!”
“Her.” James corrected before he could stop himself.
“Her?”
In for a penny, in for a pound. “Yes. She’s a girl, and she’s quite shy.”
“Really?” The Clergyman said as he scribbled in his notebook. “Can you tell me about her? Or where she is?”
“I don’t want to talk about anyone behind their back...” James said, knowing exactly how often he did just that. “But I saw her going to the works a few hours ago. You might be able to find her there and ask her yourself.”
This pleased the Clergyman and his Son, and they immediately set off in their hire car for the works. James waited until they had vanished from sight before he called out: “They’re gone!”
“Thank God!” 040 shouted from across the yard.
“Don’t thank him! Thank me!” James called back.
“Thank you James! Really, I owe you one now.” James couldn’t see the diesel, but he could somehow tell that she was smiling.
----
040′s luck finally ran out on the last day of the Clergyman’s trip. She was rostered to pull the night express, and didn’t realize that the Thin Clergyman was going to be on board. She almost jumped off the rails when she saw him climbing the stairs to the platform, she let out a breath she didn’t know she was holding when he entered the train, and her face fell when she realized that he was merely putting away his luggage before he got out of the train and walked up to her.
“Hello there! I haven’t seen you before!” He said jovially while admiring her paint and stripes.
“I’m new.” She said, trying to keep her tone somewhat polite. The ugly anger rising in the pit of her engine block was making that a very hard thing to do.
“I can see that - you have been quite hard to find!”
“Have I?”
“Very much so, but nevermind that. I was wondering if you would be willing to let myself and my son write about you? You see, we write books abou-”
“I know what your books are about.”
“Oh you do?” The Thin Clergyman said, not missing the sudden undertone in the diesel’s voice.
“Oh yes. And I’m not even talking about Spamcan.” She smiled viciously as the Thin Clergyman winced at that reference.
“Yes, well-”
“I’m not done. I'm talking about the other book you wrote. About the 08? The one that got more than a few engines killed?”
“What?” The author recoiled at the now-undisguised venom in 040′s voice.
“Of course you don’t know. You don’t care about diesels, just your precious steam engines.” She glared at him with undisguised malice. “Do me a favor - take that notebook and go fuck yourself with it - I will never be in one of your books.”
As she said that, the signal dropped, and the guard - who couldn’t see the Clergyman due to a porter’s trolley in the way - blew his whistle.
040 set off immediately, leaving the Thin Clergyman standing on the platform, taking his baggage with her.
-
When the Clergyman’s son started publishing his books several years later, 040 was nowhere to be seen in any of them.
21 notes · View notes
ghostboy-gamedev · 4 years
Text
Learn Log #4 - Grassy Grove
Tumblr media
On week 4 of my pixel art journey, I learned how to make objects of nature including grass, bushes and trees. Unfortunately, I had to postpone this to this week when the learning and blog post was set for last week as I was just preparing for a return to university (it’s all online – social distancing dw). Anyway, I ended up making the forest scene you see above, and it was a lot of fun. I think that the GUI elements last week had a focus on technicality and exactness. Letters are very rigid, and we have somewhat set ideas about what each character should look like. However, nature is more flexible and therefore logic isn’t as heavily involved.
Tile Sets
Before jumping into the actual elements of this week’s piece I want to talk about making pixel art tiles. You will have probably noticed that the nature scene is quite rigid like each element is set into a box. This is because I’m learning pixel art to make games and games often use tile sprites to build their environment.
Tile sprites are the floors and sometimes walls of the environment. They often loop or repeat to cover the environment, however, some engines have tools allowing game designers to build environments tile by tile.
In the first case, the tile sprite will have to be created with its looping in mind and details may be added to provide variation in the environment. However, these added details may highlight the repeating the pattern and the more a detail sticks out the obvious the repetition becomes. Additionally, smaller tiles will repeat more frequently, and this also shows repeating textures.
The second scenario requires variation to be created from the creation of multiple tiles. This is great for creating variation; however, the tiles will also have to line up with each other which may be trickier for more rigid surfaces like rocks or bricks.
Since Unity has a tile builder tool and I was creating a natural environment where tiles wouldn’t need to line up so clearly – I decided to go with the second option.
The size of the tiles may also dictate the size of the rest of the game. For example, a bush may be 1 tile large in terms of level design, so the size of that bush is determined by the size of the tile. This also goes for the player whose sprite will typically range from 1 tile to 2x2 tiles. I decided to just make my tiles 16x16 as I enjoy learning within that space.
Grass
A grass tile is typically made of a green background with blades of grass texturing the surface. Many people may open up a couple of green canvases and start texturing them with green lines, however, there’s a much better way to do things I think. Since we’re working with 16x16 tiles there’s a limited number of shapes that look like grass and are small enough to fit within the tile. So, if we make a bunch of lines in green then we have blades of grass that we can copy and paste into each tile (the blades should typically be a lighter green as light will be hitting them).
Tumblr media
However, having blades of grass like this make tiles look flat. Adding shading will fix this issue by giving the grass depth, however, more complicated shading will obviously make the background more complicated which can affect the readability of your game.
Tumblr media
Each blade of grass can now be copied into a 16x16 canvas to make grass tiles. I made 4 grass tiles shown below putting approximately 10 blades into each tile. I made each tile with different elements of the environment in mind such as short grass, long grass, bushy grass and leafy grass.
Tumblr media
With these tiles, I created a larger image to test the repetition of the tiles. The repetition wasn’t a big issue; however, I didn’t think the leafy grass fit with the rest of the grass, so I decided to leave it behind for the next stage.
Tumblr media
Next, I was going to add an extra tile for each of the current textures to reduce repetition as well as two flower variants for each tile type to add some colours into the textures. I did another test of the tiles’ repetition and overall look and it looked good but somewhat cluttered though I figured that this wouldn’t be an issue when I deliberately place the tiles rather than randomly scatter them.
Tumblr media
I had in my mind the type of scene I wanted to make for this week, but it required dirt paths. Luckily this wasn’t an issue to make. I made two variations of the straight, one-way paths as they would be tiling and altered one of these tiles slightly to make the curve and intersection tiles.
Tumblr media
I then assembled these 15 tiles into the image below.
Tumblr media
Trees
Next, I wanted to add some plant life which would involve trees and bushes. I decided to do trees first as they would be larger than the bushes. First, I started with the shape of the tree which would be fairly basic. I made a rough tree trunk shape to start with and topped it with a circle that was a little squished before refining the shape a little more to get what’s shown below.
Tumblr media
I then added colour into the tree. A simple brown for the bark and 4 shades of green for the leaves. These greens were made by colour picking the base green background and hue-shifting it towards yellow so the tree would stand out more from the background.
Tumblr media
The colours are organised into ovals to help give the tree a sense of depth. The dark shades wrap around the edges of the tree to show the tree’s roundness. The colour thins out as it goes around because you’re viewing the shaded leaves from a side-on perspective.
Next, I blurred the lines between these circles by mixing the colours slightly. This was the start of adding leaves onto the tree. Quickly after that, I added more detail to the leaves by spotting the head of the tree with lighter greens. The details added were in ‘leaf-like’ shapes like hearts, single lines, and arrows. They don’t look like leaves individually and can’t receive much detail themselves (such as a stem) but together they make the tree look nice and bushy. I also added some detail to the tree trunk including shading.
Tumblr media Tumblr media
The tree trunk seemed a little off when I checked it out with the image I had so far, unfortunately. So, I added some extra trunk at the bottom along with a nice shadow. This shadow was the colour black at a transparency of 127 (or half transparency). This works really well as a quick and easy shadow on detailed background, but it does, unfortunately, mean the shaded area is not hue-shifted as typically preferred. The final product is below.
Tumblr media
Looking at this sprite you may think it would be difficult to construct a game environment due to the leaves, trunk shape and shadow involved. However, we can place each section down as a separate 16x16 tile with the main trunk tile being a collider and other tiles not having a collision box (like decoration tiles – we don’t want players to run into tree leaves). This works out really well, and I focused on the main trunk tile when positioning the sprite in the piece. Which is shown below.
Tumblr media
However, the scene below is bit lonely so I thought I’d add some pine trees as a level border. The process of the pine tree is similar so I won’t describe each step but will show the images. This time around I did shape the tree a bit more wildly with branches and leaves sticking out from the tree. I also hue shifted towards bluer colours rather than the more yellow colours I used in the round tree.
Tumblr media Tumblr media Tumblr media Tumblr media
Next, it was time to add more trees into the scene and add some grass beneath them. I made the grass beneath them short grass simply because it looks a bit neater than the other grass types.
Tumblr media
I think it looks pretty neat! I made a pine tree variant by swapping the colours with that of the round tree for some variation which worked as a nice, easy trick. But it would look livelier with some bushes.
Bushes
You might have looked at the trees just before and thought, ‘That kind of looks like a bush on a stump.’ That’s because the techniques used to make bushes and trees are typically very similar depending on the style of the game. Since we’re using a 16x16 size which is somewhat limited they will likely turn out in roughly the same way.
Tumblr media
I started with a circle shape that was modified at the bottom to be a bit flatter. This will hopefully give the impression that the bush is touching the ground and rounds out on the top
Tumblr media
I did a similar process in colouring the bush as I did with the tree, however, I used fewer colours as I didn’t have as much room for highlights with the bush. The colours used are actually the same as those in the pine tree.
Tumblr media
I then adjusted the outline to give the bush a wilder feel as well as texturing the inside of the bush to create the appearance of leaves.
Tumblr media
The bush still felt a little flat, so I added highlights to the top of it to add a greater sense of depth. The highlight was rounded towards its end at the bottom to enforce the rounded nature of the bush. This required me to add another outline tone for highlights which I might apply to other elements of the picture. I was pretty happy with the bush, so I made another for variation and added them into the picture with some shadows.
Tumblr media
The picture looked pretty good, but I thought some touch-ups might make it just that little bit better.
Touch-Ups/Conclusion
Tumblr media
To touch up the piece I added some more trees for denser looking forest, added the lighter outline colour to the tress and expanded shadows around some of the pine trees. I’m pretty happy with how it turned out. I think the shadows could use some refinement at the top border of trees. I also think that top border highlights the repeating pine tree trunk which could also be changed to tile better. I do wish my bushes were a bit leafier than shrub-like, however, I think my ability to make leaves on both bushes and trees will improve as I practice. I also think a 32x32 base picture would allow me to make some more defined leaves. The lighting on the pine trees also uses a different technique to the round tree so next time I’ll try to be more consistent with that. Overall though I’m happy and I quite like the outline highlights as they make the image a bit softer.
That concludes week 4 of learning how to make pixel art. Next week I’ll be looking at sand, water and rocks to make a top-down beach scene.
My learning and this blog post wouldn’t have been made possible without these fantastic resources. Go check them out if you wanna learn some stuff about pixel art!
How to Draw Tiled Pixel Art by TipTut
Creating Variation in Pixel Art TutsByKai
Pixel Art 101: Grass by Pixel Pete
How to Make Pixel Grass Tiles by TutsByKai
RPG Grass Background Tiles by HeartBeast
Pixel Art 101: Trees by Pixel Pete
[Let’s Pixel] Tree by HeartBeast
[Let’s Pixel] Spruce Tree by HeartBeast
Pixel Art 101: Bush by Pixel Pete
203 notes · View notes
sfsdvgf · 3 years
Text
Especially those big baskets that he hit late.
Especially those big baskets that he hit late. If she pops out sons the way she pops in nike air max 102 essential white tarts, the Dreadfort will soon be overrun with Boltons. And European officials. Target distances must not be announced until after impound is over and must be the same for all teams. A warm fog hung in the air, turning the trees into sentinels, tall soldiers shrouded in cloaks of gloom. Baratheon or Bolton, it made no matter to him. Unless I returned with the Mens JORDAN Hoodie king by dawn of the following day, he would take the town with steel and fire, he told me. They infest my city like roaches, and at night I feel them crawling over me.” The fat man’s fingers coiled into a fist, and all his chins trembled. Duality kelme shop litz doudoune moncler poland soccer jersey New Balance women R00 equipaciones kelme assistor Beijing Guoan jersey microcline USA jersey bogner online maje store casuistry maje outlet online kelme turf oop ski bogner jack wolfskin outlet pechora bolsos chanel precios columbus crew jersey outlet magnicide bogner skikleding precursory leon papucs győr michael kors bags Borussia Dortmund jersey ocap bogner ski outlet my kelme Goalkeeper Suits Die Top Trends Wir zeigen Ihnen die Top Trends der kommenden Frh. I tiffany and co heard ralph lauren factory store a burberry handbags clap of thunder, lightning before the louis vuitton outlet online thunder nike roche run that road hermes outlet really bright, I in the prada outlet house prada handbags gave dazzled cheap michael kors eyes. 8.4.. The caves are within a 45 minute drive of downtown Kamloops. It opened my eyes to the horrible pit, but to no ladder upon which to get out. How can a supposed Christian Bible focused organization possibly justify wasting $500,000 a year nike air max thea atomic pink on MARKETING? How much actual good could that money do in a world that needs it? How many starving people could it feed? How much medical care could it provide?. Jones says, in his “History of the Religious Instruction of the Negroes” (p. 1) Don't be deadset on following friends' recommendations. Gilly’s boy was older, Dalla’s more robust, but they were close enough in age and size so that no one who did not know them well would be able to easily tell one from the other.. Cave diving may be the most dangerous of adventure sports. RENTON Production of more than 1,000 Boeing 757 airliners ended in Renton in January 2004 with the last delivery to a Chinese airline. Varamyr knew the truth of that. But think you the poor wretch had committed a heinous duci alkalmi ruha offence, and had been convicted thereof, and sentenced to the lash? Not at all. Ranaway from the plantation of Madame Fergus Duplantier, on or about the 27th of June, 1846, a bright mulatto, named Ned, very stout built, about 5 feet 11 inches high, speaks English and French, about 35 years old, waddles in his walk. And people, of good faith, we will not convince them of their error by banging them on the head, by hitting them with condemnations of all types, by intimidation, or by invectives. Vincent Pollino cataloged the girl's injuries: Severe bruising and cuts to the back, bruising and bleeding around the eyes consistent with strangulation, adult bite marks on shoulder and thigh, adult hand marks on her neck and right cheek and rape related injuries significant enough to require surgery.. Brownsville and other border cities have a symbiotic relationship with Mexico. Typical wood studs are so soft that many engineers will nto evne rate them anymore. Both were squires, both were eight, and both were Walder Frey.. He was kind to me, but never warm. The lords and knights had milk and kimono long femme grande taille honey and even a bit of butter to sweeten their portions, he saw, but none of that would be offered him. A few days ago I switched from my old case (Zalman Z9) to the Corsair Carbide Air 540 for various reasons and I've since been encountering problems with my ASUS 670 overheating. In turn, the School has been shaped by the founder, deans, and directors at its helm. It is all they know. On the contrary, adidas mariposas in your circle you seem to be hiding all this, to be grovelling on the ground, so that all figures, all noses may follow precisely certain measurements, certain rules — as though that were possible; as though that were not a thousand times more impossible than what we talk about and what we think. The entry was across the courtyard. Brother Lovejoy, too, was happy. Others simply found that selling other products, many of which included air, offered a better return on their time. The outcry from the Armistice Day storm pushed the National Weather Service to staff their offices 24 hours a day, as well as starting to issue forecast from regional offices, first in Minneapolis, and later, in La Crosse. It was a wonder that his statue did not crumble at the sight of her evro kalkulator bare breasts. The crossbow thrummed, Lord Tywin sat back down, and Tyrion Lannister found himself waddling through the darkness with Varys at his side. She was so much fun and always making people laugh.When contacted by The Courier, the family of the 27 year old man who died alongside Ms Knowles did not wish to comment.. "The idea of staying grounded is so crazy to me because I remember what it was before those dreams came true. Snow was falling on the godswood too, melting when it touched the ground. I fancied at last that she had sunk into a stupor and did not hear him. "Skaters take a lot of pride in being competitive. Neither can survive in a free marketplace of ideas.". The first is the SESAME/CASSE, the acoustic detector. The moment cop shot Philando Castile dead: Harrowing. Back to why you should not use the Pur pitchers. The dog too got up, and, with zattini promoção de botas drooping tail and hanging head as before, followed nike sb prod x him mechanically with the same slow step. Neil Portnow, president and CEO of the Recording Academy, called for unity through music.Album of the yearLemonade, Beyonce25, Adele WINNERViews, DrakePurpose, Justin BieberA Sailor's Guide to Earth, Sturgill SimpsonRecord of the yearHello, Adele WINNERFormation, Beyonce7 Years, Lukas GrahamWork, Rihanna featuring Drake Stressed Out, Twenty One PilotsSong of the year7 Years, Lukas GrahamLove Yourself, Justin Bieber, Benjamin Levin Ed Sheeran I Took a Pill In Ibiza, Mike PosnerFormation, Khalif Brown, Asheton Hogan, Beyonc Knowles Michael L.Al Pacino looks just like Joe Paterno in first HBO Films biopicAl Pacino looks just like Joe Paterno in first HBO Films biopicPacino looks just like the late Paterno in this snap and it will be interesting to see how HBO Films chronicles the rise and fall of the legendary coach.Pacino looks just like the late Paterno in this snap and it will be interesting to see how HBO Films chronicles the rise and fall of the legendary coach.Who will be the last Jedi? Everything we know about 'Star Wars: Episode VIII"Who will be the last Jedi? Everything we know about 'Star Wars: Episode VIII"D23 expo teaser reveals fresh footage from 'Star Wars: The Last Jedi'D23 expo teaser reveals fresh footage from 'Star Wars: The Last Jedi'Drake shows off his latest Degrassi royalty check but it's not what you'd expectDrake shows off his latest Degrassi royalty check but it's not what you'd expect.
2 notes · View notes
askagamedev · 4 years
Note
How do i merge animations? like say i have a running animation, and i have an attack animation, how do i make it that ONLY the upper body is effected, not the legs?
What you’re asking about is a partial animation system. This isn’t something you can just do via art assets unless you plan on making every possible combination of partial body animations which can balloon the number of animations needed up really fast. The system that handles the animation data must have some way of taking animation data and determining its priority in case the same bone is being used by multiple animations at once (e.g. running and kicking will both use the leg bones). It really depends on the engine you’re using to handle animation - you need an animation programmer to build this kind of system. Thankfully, the two major off-the-shelf engines Unity and Unreal both support partial animations already in some form. 
Tumblr media
Unity calls it their [Animation Layer system]. In each layer, you can create a mask to declare which bones can be manipulated by the layer, and then you can play animations on a specific layer that override the motions of any animations happening beneath that layer in the hierarchy. This means that the attacking animation can supercede the running animation so you can run and attack at the same time. 
Unreal calls it their [Layered Animation system] and refers to them as Additive Animations. Unreal’s animation system is more powerful than Unity’s, but it’s also a lot more complicated. The complexity mostly stems from the way to control the partial animations’ blending into and out of each other, but the overall ability to cover the edge cases is better in Unreal’s case. 
Tumblr media
This is one of those situations where the animator and the programmer need to work together to figure out the best way to accomplish the overall goal. If you don’t have an animation programmer (e.g. you’re using an off-the-shelf animation system), you need to learn as much as you can about how the system works in order to figure out what sort of animation behavior is feasible within the scope of the project. The assets need to be set up in such a way that allows for all of the desired animations to play and look right. This means figuring out what to do when there are collisions (e.g. what happens when the damage animation, the running animation, and the attacking animation all want to use the same bones at the same time) - what animations take priority, how to make them all look right, and so on. It usually takes a lot of tweaking and iteration to get to there. I wish you good luck.
[Join us on Discord] and/or [Support us on Patreon]
The FANTa Project is being rebooted. [What is the FANTa project?]
Got a burning question you want answered?
Short questions: Ask a Game Dev on Twitter
Long questions: Ask a Game Dev on Tumblr
Frequent Questions: The FAQ
49 notes · View notes
bouwrites · 4 years
Text
Even Heroes Have the Right to Dream: Chapter 16
It’s the little things that separate the good from the great.
First, Previous, Next. Ao3.
Story under read-more.
Superboy makes his debut with the Teen Titans, alarming many and confusing many more. Jon thinks it’s frankly ridiculous that anyone is confused about the name being ascribed to a new teenage hero rather than twenty-two year old Jon considering that Robin exists, but, really, it’s not much of his business either way.
That doesn’t mean it isn’t strange, though.
Jon was sixteen once. Big for his age but still a bit smaller than Conner is now. Large muscles didn’t spare him the roundness of his face unlike Conner, who if he weren’t with the Titans might be confused for a few years older than he is. (Jon desperately tries not to think about the fact that Conner is, in truth, much, much younger than even that.) Jon also never bothered with the gruff affectation that his little brother seems to adopt that ages him so, the cute huffiness (and not at all fake temper) that Jon knows hides a lonely kid just looking for approval.
After all, if that isn’t at Conner’s core, there’s no reason for Conner to keep visiting him. Jon isn’t a hero, he’s not Superboy, he has no information or advice for Conner to do his hero job. The only connection between them, really, is that Jon accepts the kid as his adorable little brother.
Sometimes it feels like Conner spends a little too much time at Jon and Marinette’s cramped apartment, considering New York and Jump City are on opposite coasts. Jon tries not to think too hard about that, and instead takes time with his little brother at face value. Something that gets harder when he finds out that despite the time Conner spends in New York with him, Superman essentially only sees Conner on the job.
Not that Jon himself is having much luck talking to Superman right now. Ever since Jon found out about Conner, his dad has been avoiding him. Easy to do, with Jon tied to New York for his classes, but not at all appreciated. Superheroes are damn tiring even when Jon isn’t one of them.
Jon spent his whole life trying to live up to the image of his father. The Man of Steel, Superman, some even call him a god among men. Jon grew up watching his dad on television. He still has videos of himself in action, filed away on his computer, both with and without his dad at his side. Jon knows, logically, that he’s younger than any of the Teen Titans in some of those videos, yet watching Conner jump into the fray as Superboy is a gut-wrenchingly visceral feeling to him regardless.
Because Jon sees Conner’s face and he sees the lost kid closing himself off at the farm, wary but hopeful, volunteering information up until the point of embarrassment when he’ll turn away and pout like a child because he doesn’t want to admit vulnerability. The pure joy and shock and awe in his face, how completely flabbergasted he is to simply be called brother. The uncertainty, the confusion, the respect shining in those eyes, the same as Jon’s own, when Jon admits why he isn’t Superboy anymore.
The little kid who wants family, and who wants to make his own way in life, who suddenly and inexplicably finds a brother who accepts him without thought (seemingly, to him – Jon ensures that’s what he sees), who does exactly the opposite of what’s expected of him for no other reason than that this is what he needs to do to be happy in his life.
Conner looks at Jon almost the same way Jon used to look at Superman, and Jon is doing everything he can to never let Conner see just how deeply that unnerves him.
It shouldn’t. It’s not the first time a young man has looked at Jon that way. When Jon was Superboy, he got looks like that all the time. And yet… there’s something so incongruous about watching Conner punch bad guys with the rest of the Titans on television, and that little boy that looks at him with that look. Because that look makes every cell in Jon’s body scream at him to protect, to take Conner into his arms and never let the cruelty of the world touch him. But Jon can’t do anything for him when he goes out looking for that cruelty all on his own. All he can do is offer a home to return to, and a brother who undoubtedly loves him, no matter what else.
Conner’s attitude, the front he puts up when he works on missions with the Titans, when he’s on television, ages him several years, yet when Jon watches Conner still just looks so… young. It makes his insides squirm, and a voice deep within him rage at the memory that despite it being basically his own fault (because he surely would have gotten into trouble all on his own, especially with Damian dragging him around) Jon himself was put into that position at ten. Jon distinctly remembers being upset because he was too young to join the Teen Titans of the time.
Blame it on his newfound pacifism, but that thought is paralyzingly horrific to him now. Why the hell did Dad allow it? Jon can’t help but think. Because even if Jon would still have gotten in trouble, if only at Damian’s behest, forbidding him from hero work would at least have lessened the ridiculous number of terrible situations Jon was in. As a child. How strange, that Jon has to grow up so much for that thought to even occur to him. It seems like it should be obvious.
Or maybe it’s not age, so much as separation from hero life. He wonders if his view of the world seems as warped to them as theirs do now to him.
The boys are startlingly accepting of Conner. Jon really expects them to question it more, but after they are introduced to Conner when they all visit before the holidays, David turns to Jon and whispers in his ear, “So, your brother is totally baby, but also I think he could bench press me, so I’m really confused right now.”
Jesse scrunches up his nose. “Gross, dude, he’s a minor.”
“I didn’t mean it like that!” David protests. “I mean look at him!”
Mason chuckles, shaking his head. “No, I get what you mean. He’s just like Jon.”
Jon makes a face. “What?”
“Exactly!” David says cheerily. “Totally baby, but also could throw me like a football.”
Jon just shakes his head at the boys. “I’m not baby.”
Tamias giggles, along with – the traitor – Marinette. “Sorry, Jon,” Tamias says, “you’re kind of baby.”
Jesse dramatically slaps a hand to his face. “Boys, boys, come on. You’re seriously missing Jon’s big himbo energy?”
Jon squeaks in indignant protest, but it’s David that comes to his defense. “Jon’s way too smart to be a himbo, dummy. You’re a himbo.”
“I’m a mechanical engineer, dude!”
“That’s true, but also, and I mean this with every ounce of love my body possesses, you’re the dumbest man I’ve ever met.”
“Jesse’s a twig.” Mason snorts. “He can’t be a himbo if he’s a twink.”
“Thank you!” Jesse exclaims, huffing in finality for a moment before his eyes go wide once more with outrage. “Wait, what?! Rude, dude! I can be a himbo if I want to be!”
Marinette rolls her eyes. “Boys!” All the boys immediately quiet to stare at her. “Jon and Tamias are obviously both baby. David, you’re a himbo.” David squawks with outrage, though his smile tells them all he’s not really upset. “Jesse’s a boi, and Mason’s a daddy.”
Jon actually, physically cringes. “Marinette, I love you with all of my heart, but please never say any of those words again. I’m begging you.”
Marinette just shoots him a look that seems to say, “Hey, they’re your friends.” God. I know.
David coughs conspicuously into hand. “She’s right though.”
Mason cackles and wraps one arm around Jon and the other around Tamias, bringing both of them close in a hug. “My children.” He says mockingly.
“I can crush your head with two fingers.” Jon warns, glaring at Mason, who just continues laughing at him.
“You can.” Mason agrees. “But you’re too baby to actually do it.”
Jon hates, with every fiber of his being, that Mason is absolutely right. “I hate everything about this conversation.” He says, peeling himself away from Mason. “I’m going to go find my baby brother.”
Jesse snickers. “Baby brother.”
“I hate all of you; oh my God.”
So, yeah. As Jon swiftly removes himself from that conversation, it occurs to him that none of his boys seem to think twice about him suddenly having a little brother. It’s nice, he thinks, that not everything has to be a big federal issue all the time. This, and definitely not the conversation Jon steps away from, is why he loves those guys.
The apartment is small. Too small, really, to be hosting any number of people comfortably, which is why Jon is glad that his boys, and the girls, who stop by earlier, are only dropping in rather than hanging out. Just a small visit before the holidays, to say hi, to steal some cake that Marinette makes (because they have to, of course), and swap presents (not to open until Christmas, which David is insistent applies to everyone, including the girls) then head back home.
When Jon casts his gaze through the place, Conner is nowhere to be seen. Which leaves four options. The bathroom, and given how Jon’s dad is also missing, Jon hopes that isn’t the case, that they leave the apartment entirely, and Jon is sure they will at least tell him when they do, Marinette’s room, which for their sakes they better not be in, or Jon’s own room. Jon doesn’t mind that. It is a lot of people in a small space with all the boys over, so he’s not surprised Conner ducks out after meeting them.
Why his dad follows, however, is a different question. Judging by the growl on Conner’s lips when Jon opens the door, it’s not something that spells peace and unity for their family.
Luckily, the two of them apparently learn their lesson from the first time, and as soon as they have Jon’s judging gaze upon them, they both duck their heads in apparent shame. Jon just sighs, closes the door behind him, crosses his arms and arches his brow.
“Clark has been avoiding me.” Conner rats out their dad quickly, then amends the statement. “Us.” Conner crosses his arms, fingers digging into his biceps. Jon tries not to wince at how Conner’s knuckles turn white. “If he doesn’t want me around, he should just say so.”
“Conner,” Clark protests, “that’s not-”
“I’m sorry.” Conner says quietly, directly to Jon. “It’s because of me that you aren’t getting along with him now, too, isn’t it?”
Jon takes a steadying breath. “No, Kon. It has nothing to do with you.”
Conner’s eyes go wide for a moment. “But-”
“I’m pissed at Dad because he kept you hidden from me for a month. And because he’s been avoiding talking about it since then.” Jon glares at his dad for emphasis. It’s almost pitiful how Superman can look so small, especially in the face of his own son. “None of that is your fault, Kon.”
“But I-”
Jon marches right up to his little brother and throws his arms around him in a big hug. “It’s not your fault.” Jon says again. “You haven’t done anything wrong, so don’t convince yourself you have.”
As Conner’s arms slowly wrap around Jon in response, Jon narrows his eyes. Casting his gaze sideways, he swears his dad is just a little closer to the door than he was. Whether he is or is not trying to sneak out, though, doesn’t matter. He freezes under Jon’s watch.
Jon separates from Conner, looks him in the eye and nods, satisfied that Conner looks a little better, and then turns fully to his dad. “And how long did you think you could get away with ignoring me?”
Clark rubs his neck awkwardly. “Jon, it’s almost time to leave. We shouldn’t-”
“What?” Jon scoffs. “Shouldn’t talk this out? Consider it a Christmas present, then.”
“You have guests over. Now isn’t the time.”
Jon taps his foot. “Kon?”
“Y-yeah?”
“Will you please go let Mom and Marinette know what’s happening? Marinette can handle the boys until they leave if we’re not out by then.” Honestly, they’ll be so distracted by Marinette’s baking that they probably won’t even notice how long this’ll take. Jon doesn’t intend for it to be long.
Conner looks between him and Clark, indecision clear on his face, but eventually he nods and scurries out the door. Good. Jon thinks. Probably better if he’s not listening, anyway. When Conner closes the door again, Jon waits just a moment before turning back to his dad. Finally, without his baby brother watching, Jon breaks down just a little. A tremor in his voice, a shake in his frame. “Why?” Jon asks. “Why would you do… any of this? Especially with Kon. Don’t you see that he needs you? I can’t- I can’t be his dad and his brother I- I’m doing what I can, but…”
Clark shakes his head sadly, shamefully. “I’m so sorry, Jon.”
“Kon deserves the apology.” Jon says through gritted teeth. “You hurt him a lot more than me.”
Clark grimaces. “But I did hurt you.” He says. “And I’m sorry. I know I should have told you about Conner as soon as we found him, I just… I was scared. He was an unknown; there was no way to know he wasn’t a threat – I couldn’t just welcome him into the family if there was a chance he’s trying to hurt us. And I especially couldn’t let him hurt you.” Jon grits his teeth, biting back every retort in his throat. The shame and sincerity in his father’s voice deserve to be listened to. “You wanted to put this life behind you, and if Conner tried to target you…” He sighs heavily and shakes his head. “I’m sorry.”
Jon’s eyes and throat sting. Still, he says, “You think I don’t know that? You think I don’t have the exact same fears? Did you ever- ever even look at Kon? He needs you. I don’t care where he came from or even if he is… programmed, or whatever, to hurt us. He’s a kid, and he needed you, and you…” Jon forces out a sharp breath and draws a new one in. “I know you don’t really understand what I’m doing. I know you don’t get the way that I’m trying to live. And I appreciate that you’re trying to protect me, but how on Earth could you think that I wouldn’t want to meet him?”
“I knew you would.” Jon’s dad protests. “That’s why I didn’t tell you. I knew you’d find him, and I couldn’t risk dragging you into this again.” His eyes shadow as he averts his gaze. “I already did that once, and because of that, you still have nightmares. Panic attacks. I hurt you, maybe permanently, so bad that you had to give up being a hero entirely, because I wasn’t a good enough father. I just… wanted to protect you. I didn’t ever want to see you… like that day on the farm.”
Jon stares at his dad, unable to utter a word. That’s what this is about? He blames himself for Jon’s trauma?
“I keep thinking about what I should have done different.” His dad continues quietly. “And I just- it seems like every option was the wrong one. I- I don’t know where I went wrong. All I ever wanted is what’s best for you. And now Conner keeps trying to… connect. And I just keep thinking that I’m going to let him down, too.”
“Dad.” Jon’s plea comes out more like a choked sob. “I never blamed you for that.”
Jon doesn’t say any more than that. Just that one small, weak little statement. He doesn’t say any more not because he has no elaboration or nothing else to say, but because no more words allow themselves to cross the threshold of his throat.
Jon might mention how he often thinks about his father’s choices, and ponders if they were really wise, or even good. He might mention how angry he gets, thinking about not just himself and Conner, but all the young heroes who fight battles even grown adults should never have to go through. He might mention how, once upon a time, he idolized Superman just as much as the most devout of Metropolis, how he wanted nothing more than to be Superman, and how nowadays it’s not that he just can’t be Superman but that he actively doesn’t want to.
But he doesn’t say it. He doesn’t say any of it, because just like saying that he still thinks about the possibility of Conner being a sleeper agent will hurt Conner to an impossible degree if he hears it, if Jon says any of that right now, any of that equally true and valid thought that lingers in his head, it will tear his father apart.
It would be possibly the most violent thing Jon will ever do. Punches and kicks hurt, but this? That’s why he won’t. That’s why he can’t. That’s why he says the thing that he can, even if it’s not enough. Because that is also true. As much as Jon doubts his dad’s decisions, as angry as he is at his own childhood of danger and strife, even when he occasionally allows that anger to be directed at his dad, Jon never has and never will blame him for it.
Jon’s trauma, everything he’s seen and been through… some of it may have been avoidable, yes, but the worst of it? The parts that haunt him? That, he thinks, was inevitable. Based on his own personality, his own dream of being just like his dad, that was never his dad’s fault. If anything, his dad has always erred on the side of caution with him. It’s only after he slips out (with or without Damian’s help) and does it anyway that Jon’s dad corrects the rules to let him do those things he would do without guidance otherwise as safely as he can.
Maybe he was too accommodating? Maybe too sentimental, too hung up on his own struggles of growing up without an outlet to use his powers? Maybe he just made mistakes? But he did his best. He kept Jon as safe as he could, and Jon has never been anything but thankful for that.
Nothing else needs to be said. “I never blamed you for that.” Jon repeats, stepping forward to hug his dad tightly. He doesn’t blame his dad for that. Not any more than he blames Marinette for being Ladybug once upon a time.
“I-” Strong arms wrap around him in return, one of the most familiar embraces Jon knows. “Thank you, Jon. That means… more than you know.”
“You don’t have to be perfect, Dad.” Jon mumbles. “I know- I know everyone expects Superman to be, but you don’t have to. I love you, and Kon just wants the chance to love you, too. That’s all.”
Clark laughs, half pride and half disbelief. “When did you grow up into such a smart young man?”
Jon laughs as well. “Marinette helped.”
Clark holds that glimmer in his eyes even as he sighs. “You’re right. I’m… I’m going to talk to Conner. I’m going to be there for him.”
“You were always there for me.” Jon says. “So, I know you will.”
Jon is pleasantly surprised by just how calm the holidays are. Unlike the first two years, he’s not stressing at all for his finals before them – he is on top of his work from day one. Conner showing up does momentarily throw his schedule off, but at this point Jon is nothing if not adaptable. He doesn’t let it affect his studies.
Of course, he does owe a lot of that to Marinette and, oddly enough, Wayzz (the little kwami is heaven sent for reminding him to stay on top of his responsibilities, honestly, especially when Marinette is too busy with her own to spare the time to help him) but he isn’t totally irresponsible on his own. Even if he were, three years of Marinette looking out for him from the beginning is more than enough to get him into good habits of his own.
He just forgets, sometimes. Marinette does, too, but when she spends too long watching television, or engrossed in a book or her sketching, Jon is happy to return the favor.
Wayzz, their ever-watchful guardian, and on occasion Tikki, are by far the most consistently responsible ones, but then they’re not the ones that actually have to do the work.
But finals come and go and Jon has to say goodbye to Marinette for the holidays and, when he does part ways with her at the airport, Jon suddenly feels so incredibly lonely that he could cry right there. It’s so stupid of him. They part with much less fanfare every other year, and it’s not as if she wasn’t important to him from the start, but… now, her plane doesn’t even take off yet and he misses her so terribly. It’s like the moment she crosses that security line, Jon is left all alone in the airport. It feels as if even the many, many people making their ways to and fro aren’t even there. He feels completely and utterly alone.
He supposes he’s just too used to her company now. He felt the same before summer, too. Too used to her hand in his, or her looping her arm around his, or just the steady beat of her heart. Now that that rhythm is gone…
Jon shakes his head and moves on. He’ll visit soon, just after Christmas like last year. They can have a romantic date like their first, and it’ll mark a full year for them. (Jon still isn’t totally sure whether their technical anniversary should be Thanksgiving, the first day back from Thanksgiving, or that day not long after Christmas, but nonetheless the holiday season has one more thing for him to celebrate.)
It’s during the holidays, sitting out on his tree and staring at the stars, that Jon realizes that next semester is the last one. Only one more semester of college, then he graduates and… then what? He laughs at himself, shaking his head. All that soul-searching, all that trouble, all that drama, and now, closing in on his last semester in school, he still has no idea what he’s truly going to do after.
It’s got to be a joke, at this point. There’s nothing to do but laugh, really. He knows he’s going to stay with Marinette, if she’ll let him, and she’s got a much more solid career plan laid out, so he’s just going to have to consult with her. At the very least, she can tell him what city he’s going to be looking for jobs in. Paris? It wouldn’t be so bad. Marinette’s friends are awesome, and it’d give Jon a good excuse to put the French he’s learning to actual use (though, if that’s the plan, he should practice with Marinette a lot more in the upcoming few months). His family will be far, yes, and it’ll be far easier for him to visit home than for everyone to visit him, but it will be pretty easy for him to visit.
Or maybe even Metropolis? Or New York? Maybe they can find another small apartment right next to the garment district. Hell, maybe they can just keep on staying in the apartment they’ve been renting for three and a half years already. (Well, Marinette won’t have FIT to work and store all her projects at, so they’ll have to get her a studio, or just a larger apartment, but they can figure that out.)
Whatever way, the question doesn’t weigh too heavily on him anymore. He’s not scared of it like nineteen-year-old Jon was. In fact, he’s excited. He can see the stars, every star, each one a possibility, but he’s narrowed down his search enough. He’s staring directly at Hercules, and once upon a time that might bother him, but not anymore. Because he’s comfortable now. He still can’t bear getting into a fight, he still has nightmares, his gut still turns at getting to close to heroism as he grew up knowing it, but… that’s not all there is to being a hero.
Hercules isn’t Perseus. The word “hero” doesn’t mean Superman, or Batman, or Wonderwoman, or any of the people who go out dispensing justice with their fists. Hero can mean anything to anyone. Marinette pulled him from a dark place, she gave him a home when he was so close to rejecting the one he had, when he was trying so hard to find one of his own. She stands with him, comforts him, reminds him to turn his light on when he’s studying on his computer after the sun goes down, brews a cup of tea for him when he needs it, or coffee if that’s what he needs instead (usually, she knows better than he does), nags him about the shoes he hasn’t forgotten to take off for a long time, makes dinner for him when his classes run later than hers so that he can focus on studying.
Marinette is, without a doubt, a hero. And even if neither of them are fond of the term, so much so that Jon will never speak it aloud, that doesn’t make the term any less apt. Jon only wishes he can find the words to tell her how ardently he loves her. Thanksgiving was a good attempt, but now that they’re together properly, especially because they’re together properly, he has to keep saying it.
(After all, he thinks, he already plans to spend his life with her, so… if they get married, he’s going to need his vows to be perfect, won’t he? But that’s thinking far too far ahead for now. No, now, he just needs to remind her how important she is.)
His most recent opportunity to do just that was when Thanksgiving came a second time. It’s a perfect time to fluster her the same way he (inadvertently) did back at last year’s Thanksgiving. It’s clumsy and inelegant, just like the first time, and he repeats a lot of what he said that time, too, but the effect it has on Marinette is just the same as well. And Jon just grins like a fool because he’s never been happier in his life. He doesn’t mess up this Thanksgiving starlight kiss. Not a chance.
Then the next semester starts, they’re back in their tiny apartment in New York, Marinette is giggling over a faux-leather jacket she makes for Conner that Jon admits works with his personality, and a pair of faux-leather pants for him that just leave him gawking at Marinette wondering if she wants him to strip in them or something. (He’s assuaged that it’s just a joke, though the thought lingers sinfully in his mind, and he’s entirely unsure how he feels about it. He does wear them, just once, because he loves her, though. She’s allowed a picture under strict confidence that Jon’s boys never ever see it, though he feels so awkward wearing them that he’s sure the picture isn’t great anyway.)
Of course, even though the pants are just a joke for Marinette’s giggles, the “gift” still starts another gift war (Motivated primarily by Jon knowing how much fabric costs. The pants aren’t real leather, thankfully, but that still can’t be a cheap joke. Jon begrudgingly adds them to his closet and wears them on rare occasions for that reason alone – they do look good, if not his usual style, especially as he slowly gets more comfortable in them – despite Marinette’s insistence that it’s unnecessary). Jon makes his grandma teach him to bake over the summer and holidays and he has recipes to shower Marinette with, so it’s a perfect opportunity to use them. This gift war eventually ends when the both of them decide they don’t want to get fat from eating baked treats all day every day. Even with them sharing with all their friends, they have a bit of a surplus. Their friends, needless to say, mourn the day this particular gift war ends.
That’s life, though, isn’t it?
Well into his final semester, Jon is frowning at the chessboard set up on their table, contemplating his next move, taking a sip of his tea (which Marinette gets him into – tea is great, actually), when his opponent says, “I am curious. Do you still believe the Girod to be an impossible ideal?”
Jon blinks at the kwami perched on the edge of the teacup on the other side of the table. Wayzz shoots him a knowing smile, which drops when Jon makes his move on the chessboard. “Yes.” Jon answers honestly. “Why?”
Wayzz hums a little, floating up higher to get a better view of the board. He moves his piece before he says, “I’m simply wondering. I never did ask; if you believe it’s impossible to achieve, why strive for it at all?”
Jon bites his lip, torn between the next chess move and his answer to the question. “Well…” Jon says, reaching for a piece but hesitating. “To me, it’s not so much that I need to… exemplify the Girod. Frankly, even if that is how people were on Krypton, I’m not a proper Kryptonian, anyway.”
“You do not feel a desire to keep Krypton’s culture alive?”
“…Not particularly.” Jon takes another sip of his tea and decides on his move. “I know I’m studying it, and it is interesting, but… I don’t know. Maybe Aunt Kara will be mad at me for saying this, but… it’s pretty much just academic to me. Despite all the powers and my heritage and all, I’ve never really had a connection to Krypton. It was destroyed before I was even born. There’s definitely value in learning about it, and I am into it as a subject for study, but I’m not going to change the way I live just because Kryptonians did something a different way. I’d never be happy just emulating history.”
“A thoughtful answer.” Wayzz says sagely. He takes his turn and returns to his own teacup to take a drink. “Then why bother with the Girod at all?”
“Because there’s value in it.” Jon says. “Even if I don’t believe it’s possible to be all those things at once, even if it’s impossible to be wholly virtuous, that doesn’t mean it’s not worth trying for, don’t you think? It… gave me direction when I needed it. Marinette helped, too, obviously, but it was something to hold on to.” Jon frowns at the board, reluctantly making his move. “Maybe I don’t need it anymore. Honestly, I can’t tell if it’s too soon or not to stop trying for it, but… the Girod gives me virtue outside of heroism. Used to be that I thought I had to be a hero, because Dad’s what’s good, and Dad taught me that being good means getting involved and helping anyone I can, and that because I have these powers, that means that I have to be a hero to be good.
“…Now that I’m thinking about it, I don’t think he really meant it that way.” Jon says. “But I was just a kid learning all that, so it was easy to confuse. The Girod was my… ethics guidelines that I can use without the need to run off and save the day all the time. Really, it was just an excuse so that I can stop calling myself a bad person for stopping hero work. But…”
Wayzz nods slowly. “There is value in it.”
“Yeah. Even if I’m not trying to live like a Kryptonian, I think there’s room in my life for truth, and justice, industriousness, peace, blah, blah, blah.” Jon waves a hand dismissively, chuckling just a little. “And hope. Hope is really important.”
“Hm.” Wayzz moves another piece. “Good thing Marinette is always carrying it around, then, yes?”
Jon’s mind immediately conjures the image of the delicate silver “S” hanging from Marinette’s neck. The symbol of hope, and also of his family. His cheeks warm, but he smiles and nods and sips his tea calmly despite that. “Yeah. It’s great.”
——-=——-
Tag List: @moonystars14 @pawsitivelymiraculous @magic-miraculous @vixen-uchiha @buticaaba @bigpicklebananatree @lozzybowe @moonlightstar64 @amayakans @theatreandcomicfreak @toodaloo-kangaroo @too0bsessedformyowngood @justcourttee​ <3
53 notes · View notes
minervacasterly · 4 years
Photo
Tumblr media
Know your place AKA Don’t dream of a better world because you aren’t going to get one unless you meet the right people!
"Dramatists and preachers never wearied of reminding their audiences of “the sweetness of unity, the fatness and substance of religion, the wine of obedience,” and the assurance that those who rebel “against the prince get unto themselves damnation.” Humility was considered the chief virtue of all ranks, and subjects were expected to hearken to the advice: “We should not look at what we cannot reach, nor long for what we should not have. Things above us are not for us.” ... The sixteenth-century gentleman, whether he lived in Madrid, Paris, or London, had a low opinion of the many-headed mob, and one and all agreed that, except for the natural leaders of society, man was “wild, without judgment, and not of sufficient experience to govern himself ... The aim of most social legislation of the century was not the welfare state, since few Elizabethans thought in terms of human well-being. The fear of social revolution induced Elizabeth as “the godly prince,” and the aristocracy as the natural leaders of society to maintain an authoritarian state. According to Sir Walter Raleigh, the gentry were “the garrisons of good order throughout the realm,” and good order rested on full bellies, cheap food, steady employment, and a society that was carefully watched over by a vigilant gentry born and educated to rule." ~The Elizabethan Era by Lacey Baldwin-Smith
If there is one thing that distinguishes the Elizabethan period from all the preceding eras, is its heavier emphasis on social status. If you were born poor, you were going to stay poor. The end! UNLESS … you were to become a pirate, and not just any pirate like a clumsy Jack Sparrow, but a good one with charisma big enough to catch the Queen’s attention who was at that point in her life when she needed to be reassured that she was beautiful and needed people she could trust, who wouldn’t betray her because they knew that if they did, all their fame and fortune would go away, to win against the dreaded Spanish empire and its Catholic allies. You had to be Han Solo or Euron Greymou who as cocky, arrogant or psycho (in the case of Euron) as they are, no one can deny that these two can pull anything off. They talk the talk and walk the walk. And Queen Elizabeth loved men like them. She had rows with the likes of Cecil, Walsingham and even Raleigh, but she kept them around because they delivered and were unapologetic about their success, be it through trickery or other foul means, like her. But then there were those at the very bottom who didn’t have the social ties to aristocrats like they did, or the good luck to marry into good families like Bess of Hardwick. What happened to them? To paraphrase from Richard II, Elizabeth I’s hero like his father and their ancestor, Edward III, “you were born poor, you are always going to be poor. Think that’s unfair? That’s too bad, that’s your lot in life, deal with or else.” In his book, Time Traveler's Guide to the Elizabethan period, Ian Mortimer also addresses this, describing the various statutes that were passed to help poor people pull themselves by their bootstraps. Unfortunately, these also hindered their economic growth, taking a shot against anyone who thought they could rise on the social ladder and become like Wolsey or Cromwell whom both risen to to the top on their merit. As Lacey Baldwin-Smith pointed out, the dramatists became the Elizabethan and then the Stuart establishments mouth-pieces, emphasizing on the need for social order, warning against those who thought they could do better than their aristocratic peers. There is a lot of irony in this since William Shakespeare wasn’t from among the poor, but he wasn’t exactly from the new elite either. His family fell back on hard times and through hard work and engineering a new form of English slang, he managed to catch the attention of the Queen as others did, becoming one of the most famous playwriters of his time. His historical plays reflect these social norms with commoners being portrayed as fat, lazy, lecherous, deceitful, who by the end of almost every play, are punished for their insatiable greed with the audience feeling nothing but pity and disgust at them. Some were better than others though, Elizabeth I for example, found the character of Falstaff of Henry IV part 1 and 2 extremely entertaining and she wasn’t the only one. Many of her peers also found him one of the greatest comedy reliefs ever written. Yes, not easy times to be with and we’ve come so far since then. But as with every era, as long as you knew which boots to lick, greased the wheels a little and married into the right family, you were fine. For more information, I recommend looking up the Statute of Apprenticeship of 1563 and the aforementioned sources.
17 notes · View notes
bltngames · 4 years
Text
SAGE 2020: Fan Games
Tumblr media
I’d hoped to have this article out a little bit sooner, but I overestimated how long it would take to write about some of these games. Whoops! Like I said when I outlined the posting “schedule” on the first day, we’re playing it fast and loose, so this is just what you get.
Today is the day I talk about fan games! And even though SAGE has “Sonic” right there in the acronym, it’s always hosted fan games from all types, so today we’ve got Mega Man, Mario, Rayman, and even fan games of fan games, if you can believe it.
Sonic Pinball Panic!
Tumblr media
Pinball is one of those things where I’ve always been obsessed with it, but never very good at it. And now, with access to digital pinball collections like Pinball Arcade and Pinball FX, I don’t actually find myself playing as much pinball as I thought I would when I was 14 years old. Still, I find myself fascinated by a good pinball table, and this honestly caught me off guard. This could very easily be an official DLC release for one of those aforementioned pinball collections and I wouldn’t even bat an eyelash (in fact, if you ask me, this is better than Pinball FX, which has always had weird ball physics). This looks, sounds, and functions exactly like a real pinball table should. My complaints are minor: for starters, the table feels kind of easy. I’ve never been a pinball wizard, but I was losing balls left and right here and it still took a good 15 minutes before I finally got a game over. Score accumulation is also pretty slow; most pinball tables will dump millions and millions of points on you, but here, it felt like a struggle just to reach the 379k I finished with. Both contribute to the fact that the table feels a little flat, like it’s missing a spark to really put it over the top. And, third, it would be nice if it had controller support. The keyboard works just fine, here (it’s just pinball, after all) but I find that the triggers on a controller feel really good with pinball flippers, and mapping the plunger to the right stick is great, too. This is a Unity game, so I wouldn’t think it’d be that hard to hook it up to the controller mapper. Still, I came away impressed.
Mega Man: Perfect Blue
Tumblr media
There are two things out there that always give me pause: fan-made Doom level packs, and Mega Man fan games. Fan made gaming content generally has problems when it comes to difficulty balancing anyway, but these games have earned a certain reputation for their difficulty, which creates a problem when you have content made by fans, for fans. This insularity means these things are usually way too hard for what I would consider “normal” people (read: casual fans and outsiders). Add on to the fact that I’d even say that there are official Mega Man games with bad difficulty balancing, and you have a recipe for frustration. Sadly, this is how I’d characterize Perfect Blue: though this introductory level isn’t impossibly hard, it’s definitely pushing that edge where it’s not very accommodating to someone who hasn’t played and finished every Classic Mega Man game ever made. It almost immediately throws you into scenarios where you have jumps you can barely reach, insta-kill spikes, and enemies that not only actively dodge your shots, but invincible enemies that launch counter attack homing missiles. And then it starts making you juggle all of this stuff, together, at the same time. None of this is insurmountable as long as you’re paying attention, but as a very casual Mega Man fan, it’s an unfriendly first impression and makes me worried about what the rest of the game is going to be like as the challenge naturally ramps up. For those hardcore Mega Man fans among you, the rest of this is solid, at least. The presentation and controls are excellent, and the new sprites are beautiful. It’s a game I’d love to enjoy when it’s done… but I’m assuming I’ll be left out in the cold. A shame, really, because there’s so much promise here.
Sonic and the Mayhem Master
Tumblr media
There’s a lot to like about this game, but there’s a part of me that really wonders if this should even be considered a Sonic fan game. Mayhem Master’s depictions of Sonic and Amy Rose are atypical to put it mildly. Here, Sonic seems to be a bookish nerd of sorts, a sidekick to Amy Rose, who has been turned into a burnt out, cigar-smoking detective. Most of the game plays out as half an adventure game, half an RPG, where you roam around the world talking to NPCs and gather clues while being assaulted by random battles. The battle system is super off-the-wall, too, perhaps taking inspirations from games like Mario & Luigi and Undertale. This means that battles aren’t passive -- you spend most of each fight dodging or nullifying incoming attacks with simplistic action-based commands. It’s weird, and different, and occasionally even a little bit overwhelming. That’s kind of the whole game, really. It’s the sort of thing that really doesn’t feel like a Sonic game at all, but it also doesn’t feel bad. The artwork is very charming, I’m interested in seeing the characters develop, and there’s plenty of worldbuilding and mystery. Would this still be as intriguing if you removed the Sonic connection, even if it’s so threadbare? That’s a hard question to answer. I know that some of my interest in this game is seeing how it spins more familiar Sonic elements into something that’s completely different. Worth checking out, for curiosity’s sake if nothing else.
Sonic and the Dreamcatcher
Tumblr media
This is a fairly brilliant little game with two unfortunate quirks. If you didn’t know, the special stages in the original Sonic the Hedgehog were inspired by an arcade game of the era called Cameltry, published by Taito in 1989. Now, Sonic’s special stages were different enough from Cameltry that it wasn’t a case of Sega outright stealing the gameplay, but there’s a clear lineage there, and it only becomes clearer when you compare the special stages in Sonic 4 Episode 1 to Cameltry (spoilers: in that game, they’re nearly identical). Dreamcatcher is also from this lineage, but is infinitely more charming than either Sonic 4 and maybe even Cameltry itself. The idea is that you must collect a specific number of blue spheres in order to reveal the Chaos Emerald, after which you have a limited amount of time to find and collect it. It’s very simple, but the presentation really sells the game’s charm. It’s just a game that looks good and sounds good, with an interesting premise executed very well. Also, you get a dedicated “& Knuckles” button to spawn infinite Knuckles to help you collect blue spheres and bash enemies. Being able to have unlimited numbers of these guys sounds like it would break the game, but once that countdown clock begins, the last thing you need is 20+ echidnas clogging up the route back to the emerald. The first quirk this game suffers from is that there’s only two levels. Parts of this have a very “game jam made in a weekend” vibe to it despite the rock-solid music, sound, and gameplay, and only having two levels contributes to that. Hopefully more are coming in the future. The other quirk? You can’t actually download this game -- it’s embedded in a webpage. I’m sure this is to make it easy to play on any platform with a web browser (phones, PCs, etc.) but I find myself greatly desiring a hard copy of this game that can live on my computer forever.
Sonic Galactic
Tumblr media
Now here’s just a good old fashioned Sonic fan game. Though it clearly takes inspiration from Sonic Mania’s aesthetics in some places, it’s clearly doing its own thing, featuring not just the core cast of Sonic, Tails, and Knuckles, but also Fang the Sniper, and even a brand new character named Tunnel the Mole. Unlike a lot of Sonic fan games at SAGE, this appears to be using something besides Clickteam Fusion, Game Maker, or Unity. Here, it’s the “Hatch Game Engine,” whatever that is. Whatever the case may be, the game runs very well and is basically indistinguishable from just playing Sonic Mania. Visuals are sharp, music’s good, the two included boss fights are surprisingly fun to fight -- everything seems to be in order. As a result, there’s not really a lot to say. This is just a good, fun game. Anything else I’d say would come off sounding like nitpicks. For example, there’s no way to set graphics options yet, so the game is stuck in 2x Windowed mode. Fang and Tunnel are cute additions, but I wonder how much utility they have as characters. Unless I missed something, Fang’s pop gun is mainly for a weak double-jump ability, and Tunnel’s ability to dig and ricochet off floors, walls and ceilings is cool, but it doesn’t have quite the universal utility of Tails’ flight or Knuckles climbing and gliding. It’ll be interesting to see how or maybe even if their abilities have a chance to grow into something special. Anyway, like I said, those are nitpicks, so try to give this a shot if you can.
Sonic Robo-Blast!
Tumblr media
Remasters seem to be a bit of a theme this SAGE, between Sonic Triple Trouble 16-bit, Sonic 2 SMS, Sonic 1 Revisited, but this is perhaps the most surprising of them all: a loving remaster of the original Sonic Robo-Blast. SRB1 was perhaps one of the first true “landmark” fan games, given that it was basically a whole entire game that people could play. It's not a stretch to say that SRB1 probably helped kickstart the fan gaming community that still survives to this day -- I certainly owe my involvement in the community to seeing SRB1 for the first time. The problem is, as historically significant as the game might be, it’s nearly impossible to go back to nowadays -- it’s much, much too dated to be any fun. This remaster completely re-envisions SRB1 as a regular Sonic game, while also pulling in gameplay elements from Sonic Robo-Blast 2. It’s a bit of a time paradox mindwarp, but it helps give it a bit more personality than just making a bog-standard 2D Sonic. It works, aided by the fact the sprites, music and overall presentation are fantastic. The only downside is the Act 2 boss, which commits the cardinal sin of taking away player agency and making you wait around far too much. Here’s hoping this gets finished, because it’s definitely on my radar now.
Super Mario Flashback
Tumblr media
This has been floating around for a few years now and I’m glad to see it’s finally starting to get some more substantial content as it moves towards becoming an actual game. That being said, this is also one of those games that’s kind of hard to talk about because it’s just… really polished. The art is incredible, it controls exactly like a Mario game, and there’s already a decent mixture of ideas at play in the demo. Anything else I’d say would sound like nitpicking -- like, for example, the backseat game designer in me wonders if maybe the game is prioritizing aesthetics a little too much. This is a wonderfully animated game, absolutely gorgeous, but some actions, like the butt-stomp and the wall kick, feel a bit sluggish, and I think it’s because they show off fancy animations. Even if it’s a split second, waiting for Mario to attach to a wall to kick off of it feels slow. Really, though, that’s an insignificant complaint. This demo is still well worth checking out.
Sonic Advance 4 Advanced
Tumblr media
This game seems like a greatest-hits of Dimps best ideas, spanning the first Sonic Advance all the way to Sonic Rush. There’s just one problem: the game seems broken. Now, my desktop PC is starting to show its age. I built it four and a half years ago, and though it can handle game like Gears of War 5 on high settings at 60fps, slowly, newer games seem to be leaving it behind. That being said, I don’t think a game like Sonic Advance 4 here should be running at what appears to be half its intended speed. It also originally launched in a teeny-tiny window (we’re talking, like, smaller than a postage stamp) and even though the options menu has a toggle for full screen mode, it doesn’t want to work. Something about this game under the hood seems to be struggling very, very, VERY hard. It’s a shame, because if this actually played at the proper speed, it seems like it might actually be an alright game, if a bit complex and busy.
Sonic 2 SMS Remake
Tumblr media
Here’s a game I was all buckled in expecting to enjoy. Like it says on the tin, this is a remake of Sonic 2 for the Master System (and Game Gear), but with wide screen visuals and huge expansions to the mechanics, roster of playable characters, and levels. On the outside it seems really impressive, and to a certain degree it is, but something about the controls feel a little off. Sonic’s heavier here than he is on the Master System, perhaps to simulate “real” Sonic physics a little more accurately, but you can also pretty much stop on a dime, and the combination of the two feels awkward. The camera also needs a lot of work, as it’s basic at best and does a poor job of letting you see what’s below (to the dev if you’re reading this: there’s actually video tutorials out there on how 2D scrolling cameras work, it might be worth looking a couple of them up). It also leans into some of the tech limitations of the Master System, like how you aren’t given any rings for boss fights (and even hiding the HUD, a move done to save on resources for the large enemy sprites). I could be picky on a bunch of other little stuff, too, like how the flight mechanics feel, but there are other games to play at SAGE and I’ve got at least two more articles to write. Needless to say, this is a solid (impressive, even) foundation but it’s missing a lot of late-stage polish to clean up the tiny little rough edges.
Rayman Redemption
Tumblr media
I tell this story every so often, but it was about three quarters of the way through Rayman 2 on the Sega Dreamcast when it struck me, suddenly: I love this game. I was being chased by a pirate ship through some rickety bridges and even though I was dying over and over and over again, I realized I had been enjoying Rayman 2 enough that I might put it in my top ten Dreamcast games. But that was 2002, and the years haven’t been so kind to ol’ Rayman. From the strangely celebrity-infused Rayman 3, to the tragedy of Rayman 4 (eventually becoming Raving Rabbids) to the endless, careless ports of Rayman 2 to every platform under the sun, one gets the impression Ubisoft maybe didn’t know what to do with Rayman. Especially now, when most of Ubisoft’s games are some form of online live service or cookie cutter open world experience (or increasingly both). But the fans know what they want. Rayman Redemption takes the original 1995 Rayman game and lovingly gives it a fresh coat of paint. The results are akin to what Taxman and Stealth did for Sonic CD in 2011, with wide screen visuals, improved controls, touched up level design, but gameplay that still feels faithful and accurate to the original experience. Except that Sega charged money for that, and here, fans have released this for free. Ubisoft’s loss, I guess. I didn’t play Rayman 1 until well after I’d finished Rayman 2, and I’ll admit, I kind of bounced off of it back then. It felt slow, and awkward, and when the difficulty ramped up, it got very hard, very quickly. Now, admittedly, I’ve only put about 30 minutes into Redemption here, but just the addition of a run button is incredibly welcome, and the retooled level design and powerup mechanics helps the game feel way less obtuse overall. It’s just a cleaner, tighter, more accessible and more polished version of Rayman.
Stay tuned for the next article: Indie games.
10 notes · View notes
marycast03 · 3 years
Text
Best Guide To Loft Conversions.
Loft Conversions And Also Extensions In Boldon, South Shields, Newcastle From Joseph James Loft Conversions.
Content
Permit Uk Building.
The Amount Of Buildings Will Be Constructed?
Hba: Standing For Home Builders.
Tumblr media
It is absolutely a diverse occupation incorporating the technical, individual and also physical. We are committed to low-energy services, yet have a pragmatic, expense driven approach to all our tasks, encouraging customers on both the capital as well as running price implications of their decisions. All our jobs are different, we help Designers, end customers as well as professionals under all kinds of range and visit. We direct customers through the constantly changing policies and suggest on the combination of renewable energy systems.
Messages of unity, strength, and working together dominate in Ford's new 'Builders' campaign spot - Automotive World
Messages of unity, strength, and working together dominate in Ford's new 'Builders' campaign spot.
Posted: Sat, 16 Jan 2021 15:00:00 GMT [source]
Expert building services might also consist of systems for microorganisms and humidity control, expert lights as well as protection, emergency power, professional gas circulation, fume cabinets, operating theatres, and so on. Building services are the systems set up in structures to make them comfortable, practical, efficient and also risk-free. Building 29|₤ 3.2 mREAD MORECASE STUDIESWe carried out a ₤ 2.4 m electrical as well as mechanical services update as part of the refurbishment of this recreation centre. At FMS, we satisfaction ourselves on our ingenious CAFM system, Clik.
Permit Uk Construction.
Abroad job or travel is readily available, with UK-qualified building services designers sought after around the world. Beginning wages for graduate building services engineers are generally approximately ₤ 26,000 to ₤ 28,000. Visualize the air filtering systems you 'd need in a tidy computer production facility. The airflow systems required to regulate bacteria and humidity in an operating theatre? What concerning protection systems at an airport terminal or in the Headquarters of MI5? Now take away the lights, heating and also air flow, the lifts and escalators, acoustics, plumbing, power supply as well as energy administration systems, the security and safety and security systems. Building Service s Engineers truly do "bring structures to life".
Clare works within the education as well as laboratory markets, leading ecological design teams with a profile of jobs throughout London. They recognized precisely what they were doing, and also every person was getting on with their own task. Our shower room currently looks amazing, as well as you can inform that it has actually been fitted by superb specialists with the best products. Specialises in all facets of Building Services, across London as well as the South of England. From CAD drawings to the setup of high specification restrooms, our groups are offered to sustain tasks from the first drawing board to supplying consumer care after conclusion. This area is focused on anyone looking to set up building services such as electrics, home heating, plumbing and also air flow.
How Many Buildings Will Be Developed?
From one of the most standard builders function, such as making great walls, total residence repair, to developing your brand-new house we can give quality experienced tradesperson at competitive rates to cater for all your building requirements. Coursework is composed of essays, reports, studies, style tasks as well as team effort. Go to guest talks, sightseeing tour, online tasks and social events with similar students in ourArchitecture Society. Obtain support to utilize computer-aided design and also modelling software in our IT laboratories. Get valuable comments on your work from students that are better in advance in their studies with the Peer Assisted Understanding network. Occupations paths include working as a consultant, layout engineering, specialist installation as well as maintenance having, as well as facilities or property monitoring.
Inform us concerning your job, and we'll signal ideal tradespeople in your area.
all things local builders liphook makes it simple to locate high quality regional tradespersons, examined by other property owners, all throughout the UK.
The very best way to know a tradesman is to listen to their customers.
Utilize our Find a Building contractor search to find a Master Contractor in your city.
FMB members are professionally vetted as well as individually examined on signing up with so that you can build with confidence when you select a Master Home builder.
As soon as your task is uploaded, you'll get feedbacks from interested tradespeople via the website.
This versatile program is aimed at graduates or experienced construction experts with a variety of histories along with Design, such as Job Management, Style, the Sciences or Mathematics. Courses are taught by experts in their fields guaranteeing that web content shows advanced knowledge in the market. MSc dissertation jobs for distance discovering students are normally carried out over one year. Need to you wish to take a pre-sessional English program to enhance your English prior to starting your level program, you must rest the test at an approved SELT supplier for the same reason. We provide our own BrunELT English test as well as have pre-sessional English language courses for pupils who do not meet needs or that wish to boost their English. You can learn more information on English programs and also examination choices through ourBrunel Language Centre. Benefit your business solutions engineering management degree consists of mandatory and also optional modules and also a 15,000-word dissertation.
Hba: Standing For House Builders.
Adrian supplies certain abilities in carbon reduction, holistic M&E asset administration, life process setting you back and also statutory compliance solutions to a wide range of clients as well as markets. Our design approach to Building Services Design is to recognize the clients quick, question the requirements and also procedure of the building and make use of innovative approaches in the style procedure. To arrive of the area, electrical experts must not only give customers with affordable prices, however additionally regularly provide the finest of job whilst giving the very best service.
Can you build a house for 150k?
It depends on the house and your budget But, in today's market, you'll be hard pressed to find a house that needs minimum fixing for under $150,000. And that's in an area where homes are more affordable. However, if you do it right, you can build a home all on your own (or maybe with a little help) for under $100,000.
We aim to encourage well-qualified, ambitious pupils to research with us as well as we provide a variety of scholarships as well as bursaries to accomplish this. Over ₤ 6 million worth of opportunities are readily available in cost and gratuity scholarships, and greater than 400 students take advantage of this assistance. The capacity to save money, boost sustainability and also lower organisational influence is important. Our up-to-date and modern course materials are provided online through the Virtual Understanding Setting. The VLE web links you with our professional academics as well as program products via video clips, webinars, posts, journals, analyses and conversation boards. Tutors will supply you, by phone, Skype or email, with academic support comparable to that gotten by our on-campus pupils.
Basic Building Products
We function under our Top quality Monitoring System to make certain styles are audited as well as inspected, valuing that all projects need us to meet programme and high quality targets. Development of all our Engineers is constant, guaranteeing we are always approximately date with innovations, systems as well as regulations. You can function towards coming to be an expertly registered building services designer with the Design Council. To do so, you must be a member of a qualified organization, in this case CIBSE.
https://lymington.trusted-builders.co.uk/ ='float:left;margin-right:10px;' src="data:image/jpeg;base64,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" width="300px" alt="home building"/>
Pick up from industry-experienced tutors as well as practicing experts who bring today concepts from their active projects. We offer a complete variety of mechanical, electric as well as public wellness solutions, constantly keeping up to day with the most up to date industry thinking, and making use of one of the most ingenious innovations. Entrance Requirements This program is an excellent progression choice from the effective conclusion of the Level 3 BTEC National Certificate/Diploma or Extended Diploma in Building And Construction or Civil Design. Choice will be given to benefit quality trainees with at the very least 2 years of sector experience. Students with appropriate sector experience will certainly likewise be thought about eligible, offering the student has actually attained a minimal grade GCSE of 4/C in both Maths and also English.
What Will Be The Possible Effect Of Council Tax Obligation For Locals, Particularly Tenants?
Every little thing you require to learn about your upkeep and responsive tasks within your reaches, 1 day a day. When on-site our engineering groups are able to instantly send records to the helpdesk staff, who in turn can report back to our customers in actual time regarding the status of their works. FMS Integrated Building Services is a full-service facilities administration firm, supplying brief and lasting maintenance agreements throughout the UK. Our agreements can be fully personalised based upon client need, with both complete facilities administration solution choices and also modular optional contracts readily available. With over 100 years of senior monitoring experience you can constantly trust us to locate an option to your demands.
Can you negotiate price with Ryan Homes?
Did you know that you can make an offer on the house you want to build with Ryan? YUP!
1 note · View note
severelynerdysheep · 4 years
Note
Hi! You recently shared a post of mine and I'd just like to clear up a few things. We British farmers are incredibly proud of our welfare standards and the quality of which we uphold our commitment to high welfare and happy lives of animals. Non-stun slaughter is actually illegal in the UK so these lambs won't be strung up and our sheep are used to protect Christmas trees not used for meat! Anymore questions please send my way, I wouldn't want false information going around!
Hi, and apologies in advance for the upcoming length of this answer, there's a fair bit to talk about. 
So first I think it's important to keep in mind that while you and other farmers can feel as proud of your actions as you would like. The truth is that you are still exploiting, abusing, and murdering sentient beings for profit. In the words of former farmer Bob Comis, “Livestock farmers, no matter what kind — from the largest, most cynical, and inhumane factory farmers to the smallest, seemingly most ethical pasture-based farmers — traffic in death. It is death that is our aim, our purpose. Death is the end. Life is the means. Money the reward.” 
And a few more quotes from former “high welfare standard” farmers on whether their animals live happy high welfare lives, putting aside for the moment that the overwhelming majority of animals exploited, abused and slaughtered in the UK are factory farmed:
“In my experience, there is no such thing as humane animal products, humane farming practices, humane transport, or humane slaughter.”
“Humane labels still designate animal lives as so inherently inferior and existentially worthless that breeding, exploiting, and killing them for completely unnecessary reasons can still be embraced, celebrated even, as “ethical” and “humane.”
“I would tell everyone, “They have a really great life, up until they no longer have one.” It makes me cringe now to type that. I wholeheartedly believed in the “humane slaughter” myth.”
“ And even worse, even though I soon learned that sheep all have individual personalities, are SMART, and definitely form bonds with one another, show joy, fear, friendship–every human emotion–I still did not make the connection.” 
 I would also like to note that this “high welfare/happy” animal farming idea is !00% a myth. In even the “highest welfare” British farms, animals are forcibly bred into existence to live their too-short lives trapped in genetically engineered bodies that are ravaged by their size and/or forced overproduction of babies and milk (or in the case of sheep, both babies and the wool they grow as a result of genetic engineering which results in many health issues for these animals) till they are either “spent” (in the case of sheep, they are “spent” from their reproductive systems being exploited or they are no longer profitable enough for their wool) or reach ”market weight” and are slaughtered for profit. This is fundamentally unjustifiable and unethical, and to use the term “high welfare” or “happy lives” to describe this is frankly outrageous and deeply disturbing. 
And let's not forget that the “high welfare” “and happy lives” these animals are living include forced impregnation, stealing babies away from mothers, routine mutilations without anesthetic, the murder of newborns and young animals, unnatural and cruel living conditions, denial of important instinctive behaviors and preferences and brutal transport and slaughter conditions. And yes, this includes in sheep farming, as I explained in my original response. And also yes, all these cruel practices take place on every farm form the biggest factory farm to the smallest, highest regulated local British family farm. 
And a great article by @acti-veg here. 
And an excerpt from a fantastic talk below: 
“We turn these living beings into data points, flowcharts, and percentages—calculate to a decimal point’s certainty the exact cost of every aspect of their lives and details for their deaths. We relegate the annual mass murder of over 3 billion day-old conscious, innocent babies to a footnote. A footnote in a study conducted for the welfare regulations we’re so graciously creating. We deem them legally sentient, deserving freedom from hunger, thirst, discomfort, pain, injury, disease, fear, distress and mental suffering, as the EU did—then use this very recognition of their capacity to feel the same emotions and sensations as we do to design—in language so disturbingly detached it’s nothing short of sociopathic—the exact manner in which we may legally violate, imprison, cut, burn, alter, and murder them.
This is how profoundly illogical our thinking is when it comes to animals. It goes against all basic human understanding. Knowing better but doing wrong anyway is worse than having no knowledge. Yet we have the audacity to hold this legislative recognition of non-human sentience on high as a giant step forward for the rights of animals. As if systematically exploiting individuals with fully admitted knowledge and comprehension of their capacity to suffer is something to commend.
Look what we offer ourselves as evidence of progress: one news report extolled the reduction in animals slipping and falling on their way to slaughter in one abattoir in one country. When we look at our actions from the other side, the perverse absurdity of our deluded self-congratulations is astounding. If you were in the place of these beings, how grateful would you feel if your captor laid down a bathmat on the ramp to your execution?
Is this really the best we have to offer? Being the most courteous murderers? The most considerate rapists? Pouring untold resources into these convoluted laws and regulations, all the while completely blind to the fact that there’s another option entirely”
The whole video:
youtube
You say that the sheep you farm are not murdered for their flesh. Are you trying to say that you don't send lambs or sheep of any age to slaughterhouses? You let them all live out their natural lifespans, caring for them till they die of old age>
And when it comes to slaughter, yes these animals are strung upsidedown to have their throats slit open. It's also not illegal to slaughter these animals without stunning in cases such as halal and kosher slaughter. But let's say that every single animal is slaughtered painlessly, this doesn't make this needless taking of life justifiable. @acti-veg has a great article here explaining why this is the case. It's important to recognize that the idea of some sort of ethical or even “humane” slaughter (which you seem to be implying is the case) is an oxymoronic marketing term designed to make people feel good about supporting something that is inherently immoral, taking the life of an innocent, sentient being for an unnecessary purpose. 
 But if we want to talk about the actual stunning of these animals for a moment, while stunning is supposed causes a temporary loss of consciousness. The MHS says that the interval between stunning and knifing can be as high as 70 seconds for sheep. Another study found that the average interval was 21 seconds. Sheep take an average of 14 seconds to lose brain responsiveness if both carotid arteries (the major arteries that supply blood to the head) are cut. UK law only requires one carotid artery to be cut and in this case, sheep take an average of 70 seconds to lose brain responsiveness. Yet an electric head-only stun only lasts between 20 and 40 seconds. This means that an estimated 4 million lambs/sheep will regain consciousness each year before they die and there is a lot of video footage showing lambs/sheep regaining consciousness as they bleed to death after being stung upside down to have their throats slit. 
And when only one carotid artery is cut, sheep are often still alive after the required 20 seconds bleed out time, which means they are literally skinned alive, in British slaughterhouses. Researchers at Bristol University found that after an electric stun, sheep have periods of being fully aware of their surroundings i.e. they can still feel fear and they are conscious whilst hanging upside down on the killing rail, bleeding to death. They could not prove whether the electricity has an immediate effect and Dr Harold Hillman, Director of the Unity Laboratory of Applied Neurobiology has stated that when animals are stunned, they actually suffer extreme pain, they are simply unable to cry out or move because the massive electric current paralyzes them. So the stunning itself, which you are promoting as being an example of “high British welfare” is itself immensely cruel. 
And I will link to some more info below for anyone reading this, my askbox is also always open if anyone has any questions. 
~ Report on the British “high welfare” sheep farming industry
~ Fully referenced fact sheet here
~ Investigation into “high welfare” UK sheep farms and another here
~ Article form the guardian
~ Stress response in sheep during handling
~ Impact of lambing on sheep
~ Lamb slaughter ages
12 notes · View notes
halfblood-fiend · 4 years
Text
Star Trek Bingo 2020: Vertical Prompt 3
Chess/”Board” Games
Show: Voyager
Words: 1,841
Rating: General Audiences
Warning(s): shenanigans
Dungeons and Bandwagons
When Giana attempts to organize her first D&D campaign onboard the Voyager, it turns out to be a bit more complicated than she thought.
Read it on AO3
We’d been going around and around for most of our lunch break. I did not think that introducing twenty-third century people to D&D would be so difficult.
After another explanation, Harry Kim stared at me with his hands folded beneath his chin for too long a while. “I don’t get it,” he said finally, picking his fork back up to resume playing with his food. “How is that supposed to be better than a holodeck program?”
“Uhhh… it’s interactive and adaptable?”” I offered. “Your DM makes the story up for you as you go.”
“An adept programmer could make the holodeck function in the same manner,” Vorik chimed in from my right. I had to keep from rolling my eyes.
 “Hey! You’re supposed to be on my side!”
He shrugged without looking at me. “I am on the side of logic.”
I ignored this, shaking my head and insisted to Harry, “There are scenarios you just can’t plan for.”
“Oh yeah? Like what?”
“Like…”
God. Like deciding to bang the first NPC you meet. Why? Eh, just ‘cause. Like deciding as a group to put on a spur-of-the-moment chili cook off to grant the deed to the town’s tavern to the winner because, obviously a chilli cook-off is the most fair way to make decisions. Or like deciding to betray your entire party for your character’s freedom, and then betraying those new allies and running off alone. Or like solving every kidnapping or murder problem by rolling the unwanted body up in a rug, and then lying to so many people about your rug selling business that your party all decide to petition the city for an actual business license, thus derailing the campaign for weeks as you all turn in your paperwork and get in touch with a real estate agent within the fantasy city in order to find a place to house your Totally-Not-Fake Rug and Carpeting Business.
But how to explain all that?
“Man… you just gotta trust me,” I sighed. “There are way too many variables to be able to make a program that will adapt to all of them. You have no way of knowing what could happen during a D&D campaign. Trust me.”
“Eh, I’m down to try,” Lyssa Campbell said. When Harry gave her a doubtful look, she shrugged. “Hey, it’s gotta be better than that poker everyone is always playing. And as long as we’re all relaxing and talking and having fun, then it sounds like it’ll be just fine.”
“Sounds like a rip off of my Grendel program,” Harry muttered. “And not even as interesting because we aren’t fighting holographic monsters. We’re just—what? —imagining everything happening?”
“Aha! I got it,” I said with a snap of my fingers, cutting off whatever he was talking about. “Dice!”
Harry raised his eyebrows and Vorik said, “Explain.”
“You can’t roll dice on the holodeck.”
“So?”
“So! Rolling the dice to try and see how well you do things is the best part!”
“If you’re telling me that’s the best part of this game, I’m really doubting how much “fun” you claim it to be.”
“Aww, come on, Harry! Let’s just try it!”
He shook his head again, but a smile started pulling at his lips. “Fine, but I’m not going to have fun and I will complain the whole time.”
“Doubt that,” I replied with a wink. “But I’ll take it for now.”
“Giana! If you can spare a moment, I have an inquiry regarding your role-playing game.”
Similar sentiments had been asked of me by most of my friends and future players, but Vorik was the last person that I had expected to have any trouble with character building. Yet here Vorik was, appearing at my shoulder before I could enter the turbolift to leave Engineering.
“An inquiry? Now is that more or less important than a plain question?”
He gave me a puzzled look as we entered the lift together and I smiled.
“Nevermind. Shoot.”
“What?”
“Ask me the question. Deck two.”
The turbolift slid into motion and Vorik began, “I was looking over the documents you sent those of us who required characters for your Dungeons and Dragons—”
I smiled at his use of the name but nodded.
“—and I noticed that ‘Human’ is among the other more fantastical races that one can play. It gave me an idea that I wished to discuss with you.”
“Oh, yeah… I mean, I wouldn’t worry about that. It’s just an old Human-made game, remember? Don’t take it too seriously. I, like, literally never actually played a Human before. That would just be like playing myself and, sure, you always kinda do that but who wants to be so obvious about it?”
Vorik blinked. “I would.”
It was my turn to ask, “What?”
“If Humans can exist in this world, then I would like to role-play as a Vulcan.”
I chewed my lip, my heart sinking because I felt like Vorik was missing the point. Here I thought he was going to do something interesting when he asked to join the party. I was excited to see what he would come up with. But, then again, it wasn’t like he role-played very much when we played Skyrim together on the holodeck either. His inflexible and aloof attitude usually confused all the Nords until I stepped in to use the “proper” language. Made him useless at price haggling.
Since he wanted to play at all, I conceded to myself, that had to be close enough. I didn’t want to totally control his play. I never liked it when my DMs had done that in the past.
He a little confused, but he got the spirit.
“Okay,” I relented, “I’ll see what I can do about homebrewing a ‘Vulcan’ stat-block for you, just…promise me one thing?”
My Vulcan companion quirked an eyebrow at me. “Yes?”
The turbolift stopped and opened its doors. I could hear the sounds of soft chatter and laughter coming from the mess hall. Whatever Neelix was cooking wafted up the corridor and smelled really promising. My stomach grumbled in response.
“Just don’t play yourself,” I said as we both stepped off the lift and the doors slid closed behind us. “If you show up with a character named ‘Vorik,’ I’m going to kick you from the game. And then, literally kick you in the shins.”
“An extreme reaction, don’t you think?”
I put up my fists as if I was gonna fight him. “Oh, I can get more extreme.”
Looking at my poor guard dubiously, he said dryly, “I’m sure. Your Human penchant for hysterics?”
“Hysterics?! Oh! Well how about your high drama, mister??”
“I do not know to what you could be referring.”
The line at Neelix’s kitchen counter was somewhat long, which gave Vorik and I plenty of time to debate the “logic” of Vulcan fashion choices back and forth. I insisted they were dramatic for no reason and Vorik tried to act like real thought went into all the high collars and zig-zagged diagonal clasps. Neelix’s pasta dish actually did look as promising as it smelled, which was a nice surprise.
“Ah, Miss Giana, I almost forgot,” Neelix gasped as I turned away, drawing me back. “Ensigns Swinn and Jurot wanted to ask you about—ah—something called a ‘character sheet’?”
I thanked him with a smile and motioned for Vorik to help me pick them out of the crowded hall at dinner hour.
The day had come to start our campaign and not a moment too soon. I was excited as all hell. I’d hardly slept at all the night before, choosing instead to expand some NPC backstories and prepare a few more monsters. Just in case.
All of my players’ character sheets were checked and filed on my PADD for reference. I couldn’t help but laugh when Vorik sent me his and I saw the name at the top of the sheet. He had listened to me and wasn’t playing himself…but I was very curious to see how Surak the monk was going to handle my adventure. I was pretty pleased with everyone’s character concepts, actually. I had a pretty balanced group.
I’d decided some time ago that a grand total of six players was all that I could conceivably handle. But that hadn’t stopped everyone else from trying to ask for a spot. Dozens of requests had flooded my inbox from all corners of the ship (Neelix’s doing, I assumed) and I had spent a good chunk of time yesterday writing personal “sorry, maybe next times.”
Even Chakotay had sent me a note! Not to, like, join or anything, but still! He mentioned that he was familiar with the old game and wanted to tell me that he thought it would be good for morale and crew unity and other things commanders cared about.
I practically sprinted away the second my shift was over, bolting to the door before Lieutenant Carey had even said goodbye.
I was the last player on duty, and my group’s attitude towards D&D had changed dramatically once they’d built their characters. They all made me promise not to keep them waiting for too long.
And speak of the devil.
The communicator badge on my chest chirped before I’d made it halfway down the corridor. Harry’s voice crackled over the comm.
“Uhhh…Giana?”
I tapped the badge to answer. “Yeah, yeah, Harry. I’m on my way as fast as I can, okay?”
“Oh… No, no. It’s not that…”
Was I hearing things, or did I detect the hum of a lot of voices in the background?
“What is it?”
He sounded uncomfortable. “I think we need to find a different venue to play. Your quarters are going to be a little cramped…” Muted voices spoke rapidly but I couldn’t catch any words. “Meet us in the Lounge instead. Vorik says he has a code and he’d grab the PADD with your notes. I made him promise not to look.”
Nervous laughter bubbled from my mouth. “Uhh…why?”
Vorik’s voice resonated over Harry’s comm. “There are thirty-six other people who would like to spectate our game. At first it did not seem inconceivable to accommodate a few of them when they asked…”
“But all of us told a couple people that they could come and now there’s thirty-six of them,” Harry finished. “Sorry, Gee…”
Thirty-six… That’s forty-two people…
My jaw actually dropped.
“Okay,” I said in a small voice. “See… S-See you all there…” I killed the line by tapping on my badge again and wobbled.
I was shaking when I boarded the turbolift.
I’d never DM-ed a game before in my life, even though I’d talked about doing so on several occasions back home. So, without experience, or my old friends to ask for tips, I was already starting out nervous.
But now?
Holy shit.
What was I gonna do??
I blinked and the turbolift doors slipped shut on me, whisking me away to an uncertain fate.
5 notes · View notes
blubberquark · 4 years
Text
Things To Think About Before You Implement Online Multiplayer
Sometimes people ask “how do I make an online multiplayer game?“ and then somebody answers “you don’t, you haven’t even made a game as simple Tetris yet“, and somebody else answers: “I never made an online game, but you should use TCP/IP. Here’s a link to the socket documentation.”
That’s just terrible. Sockets are low-level and tricky to get right.
Or maybe somebody links that poor sod to this YouTube video about how modern 3D shooter games do netcode. That’s also bad, but slightly less so. Game netcode is complicated, but not every game needs real-time shooting action.
Maybe you use Unity3D, and you just use the standard Unity networking tools that let a player host a game and automagically synchronise the state of game objects between all players. I think they changed that recently. Maybe the Unity3D multiplayer features are not at all what you need. Maybe you are in luck and you need something much simpler.
If you’re an experienced programmer, you already know how much of a hassle low-level networking can be, or you’re a beginner and would rather use a readymade networking layer for your engine. How do you evaluate which system is right for your game?
Sometimes a game can be easily made into an online multiplayer game, except for one or two features. It can help if you think about how game mechanics are interacting with online multiplayer while you design the game. If you design your game from the ground up to be easy to adapt to online multiplayer, you will have an easier time later. Multiplayer is like AI in that regard. Rather than making your AI smarter, you can also make your game world easier for simple algorithms to navigate.
This post will not teach you how to make multiplayer games. That is very much on purpose. It’s more general than that. This post is meant to make you think about what kind of multiplayer system your game needs. If you understand that, you can look at tutorials, protocols, libraries for networking, or prefab high-level multiplayer systems, and evaluate whether these are a good fit for your game.
Time Scale, Turn Structure
Real-Time: All players are in the game at the same time, seeing and interacting with each other. Waiting/standing around thinking might mean losing the initiative. Examples: Quake, StarCraft.
Turn-Based: Whichever way the turn order is decided - alternating players, active time battle, simultaneously, alternating units a la Worms - players have time to think their turn through, and don’t need to have fast reaction times. Players need for their opponents to finish their turns, but there can be a turn timer or a chess clock/byoyomi. Example: Advance Wars, Hearthstone.
Turn-Based (Play By E-Mail): This is like turn-based, except players don’t actually wait their turn inside the game. Instead they get an e-mail notification that their opponent made a move, have a couple of days to make their move, start the game, make their move, close the game, and wait for another e-mail. Example: Chess 2: the Sequel, Laser Squad Nemesis, Frozen Cortex.
Slow Real-Time: The game happens in real-time, but there is no real bad consequence for taking hours to perform an action. When you attack another player, it takes a day or so for the army to arrive. When you build a house, construction takes two hours. Many actions are instantaneous, but have half-hour cool-downs. You cannot really lose. It’s long-term and low-stakes in the short term. Examples: BattleNations, OGame, Pokemon Go.
If you’re doing real-time multiplayer, you might have to use UDP or a UDP-based networking system like ENet. If you’re making a turn-based game, you can get away with TCP, and if you’re making a slow or play-by-email game, you will be more concerned with saving game state to a database than with optimising network latency, so you can use a high-level RPC library on top of TCP or even a REST API on top of HTTPS.
This stuff is really important to figure out early: If your game is slow real-time, you probably need a database, but you don’t need any client-side prediction. It’s fine if some actions, like building a house in a city-building game, take half a second. You can hide the delay pretty easily. And when the actions by other players arrive ten seconds late and out of order, it doesn’t matter either. If you make an online city-builder game for the iPad, you don’t need the lag-reducing tricks used in Halo, but you will need to worry about saving the cities somewhere when users log off.
But imagine a one-second lag in a tennis game, or imagine your game nice and responsive, but then you hit the ball from your perspective only, and not in the view of the other player! In that case, you need something that’s both fast and accurate.
See also:
https://gafferongames.com/post/what_every_programmer_needs_to_know_about_game_networking/
Players vs World Size
Small World: The level is small, and over one play session, you will see the whole level and encounter all the other players. Examples: GangBeasts, Quake, raid dungeons in World of WarCraft.
Large World, Few or Independent Players: The world is big, and you are unlikely to encounter most players in a play session. Maybe most players are not even online. You interact only with a fraction of the world at any time. Examples: MineCraft, World of WarCraft (PvE).
Large World, Many Interacting Players: Examples: Fortnite, Destiny
In a small world, you can send everything other players do, and everything that happens everywhere to all other players.
In a large world, you can compartmentalise, or just send to each player the part of the world that he or she needs to see. Or you can have players cache the world locally. Maybe the map is static, so it can be stored locally, and maybe inventory items or crate contents can be handled server-side. Maybe mob AI runs locally if only one player interacts with a mob.
If many players interact with mobs and each other, state needs to be shared and synchronised, or actions must be handled server-side, which necessitates a round-trip. Destroying a block in Minecraft usually necessitates a round-trip, a confirmation from the server, and if you have high ping or packet loss it takes a noticeable while for the block to actually disappear. Chunks are saved or loaded from disk on the server, but also sent from the server to the client. It’s not necessary for the server to send the game state (players, mobs, items, blocks) for the whole world to all clients.
Pokemon Go has a large world, but players only interact inside arenas.
In Tetris 99, there are 99 players interacting in real time, but if somebody sends his lines half a second later, it’s not a big deal. There is a lot of state to share, but the players are mostly independent from one another.
Perspective
Shared View: All players have the same camera perspective. Example: Super Smash Bros
Fog of War: Players have the same camera perspective, but do not look at and cannot see the same things. Example: StarCraft
Different Perspectives: Players are looking from a first- or third-person perspective. Example: Quake
If all players share the same perspective, then discrepancies become very noticeable. In a shooter with different perspectives, it matters whether the shot hits from the perspective of the player who shot it. In a fighting game, everybody sees the same perspective, so a discrepancy in player positions can cause the game to look like a punch connects in the perspective of one player, while it doesn’t connect in the perspective of the other. In a game with one-hit K.O (Samurai Gun, TowerFall), such discrepancies are game-breaking.
In real-time strategy games, consistency is even more important. A single unit or a small initial tactical advantage can turn into a large material advantage quickly. You can often trade-off high lag for better consistency, and then hide the input lag behind the UI. Clicks should register in the UI immediately, even if it takes a while for the commands to be processed over the network. Usually, the game state between the players is 100% consistent, and the fog of war is calculated only locally.
In turn-based games, you never have to trade off input lag against consistency. First-person shooter netcode is necessarily very different from fighting game netcode or real-time strategy netcode.
Games like Halo or Fortnite can look different for different players and they won’t notice. A game like StarCraft must never look different for both players. It should look the same for both players, and the same as it will later look in the replay.
A game like Skullgirls will be unplayable with the slightest amount of lag. A game like Hearthstone can have a responsive UI, and just send things with a bit of lag, and it’s fine. You can’t interact with your opponent’s cards when it’s not your turn anyway.
If the game has a shared perspective, but players don’t interact directly, like in BrowserQuest, you don’t need to keep the state completely synchronised.
Connection Problems
Bandwidth: How many bits can go through the connection per second? 
Packet Loss: What fraction of packets arrives at the destination unharmed?
Latency: How long does it take for one packet to arrive?
Even high-bandwidth connections to the Internet can have high latency and packet loss, especially mobile and wireless. If you make a game, think about all three, and test how your game runs under suboptimal conditions! If the game becomes unplayable with a connection that is slow, low-bandwidth, or unreliable, consider checking and warning the player before entering a game!
High packet loss will probably lower both your bandwidth and your latency. If a player has a low ping most of the time, but lost packets introduce round-trips and lag spikes, then you need to work around that somehow.
You could send the updated player state to the server with every packet, and the updated game state to the player. This way, if one packet gets lost, and the server gets the next one, it will just take the newest state and apply that. If the older packet then arrives later anyway, it would just be discarded. You need to number your packets for this to work, but it’s easy enough to implement. But if you decide to use this method, players could hack their game client and just jump around on the map!
What do you do if there is a spike in lag, and then everything is fine again?
How do you detect that your game is running behind? If you use TCP for networking, packet loss means the packet is re-sent, and you will have to wait until the data arrives.
If you use plain UDP, you will have to deal with packet loss yourself. Both approaches have drawbacks.
What to Send
Input Data: Raw keyboard events, gamepad button presses, mouse movements, and joystick positions are sent to the server. The server decodes the input.
Abstract Actions: Commands like “(deal 5HP damage to player #7), (tell unit #5 attack F1)“
Differences: Send only the things that changed. This might necessitate a naming scheme to refer to game objects that changed and game objects that stay the same. For example: “(create Sprite #101 at (500, 0)), (update Sprite #3 position=(321, 10)), (destroy Sprite #1)“
Whole Game State: This can make sense if the whole game state is small anyway.
Maybe your server will send different data to the client than vice versa: The client could send abstract actions to the server, while the server sends back the whole game state.
This ties into the next point: If you send abstract actions to the clients, they need to apply them client-side. If you send input data to the server, the server can use it to compute the next game state, and send the game state back to the clients, or the server can bundle and relay client inputs to other clients.
If your game is something like two-payer Tetris, or Tetris 99, it might be simpler to occasionally send the state of the whole arena, instead of the movements of the falling pieces.
Simulation
Server-Side Only: The game runs on the server, and the clients don’t run code that implements the game mechanics, only things like UI, input, and rendering. Frequent round-trips might cause lag. Usually used in MUDs.
Server-Side (with Client-Side Prediction): The game runs on the server, but also on the clients. The clients simulate the game mechanics based on local game state, but the server has the final say. The clients calcualte the game state based on local inputs in order to reduce lag, but when the server data conflicts with the locally calculated game state, the server-side game state wins out. This minimises input lag, but might cause inconsistent game states. Players who lag behind have a disadvantage. Usually used in modern shooter games with cloud servers.
Client-Side (Peer-To-Peer): The game runs on every client, and every client keeps the game state of its own player. Inconsistencies happen, but game code is executed on each player’s client based on that client’s view of the world. This is susceptible to cheating. Used to be common in shooter games, and is still used in retro shooter games like Cube/Sauerbraten.
Client-Side (Lockstep): The game runs on every client, and every client has exactly the same game state at all times. If one client lags behind, the game slows down for everyone else, or that client drops out and has to re-synchronise its game state. The game state is too large to be sent over the network frequently, so only (abstract) player inputs are sent over the network. The game engine must run completely deterministically for this to work, or at least the gameplay mechanics. Things like animation and particle effects may have some nondeterminism. This method is used in real-time strategy games with lots of units, if it would take too much bandwidth to send the position of every unit during every frame.
This is not an either-or thing. Often some important but less frequently updated aspects of a game could be handled completely server-side, like quests, inventory, and player stats (especially currency and experience points), while movement and combat have client-side prediction. Some MMO games use Peer-To-Peer communication in certain areas and between friends, but server-side simulation in others.
Some games use client-side game simulation running in lockstep, but still relay all data through a central server. This way, the server can synchronise the inputs and ensure that input data data is received by all clients at the same time - if one client receives a click even one frame late, the simulations wouldn’t be running in lockstep any more!
When you are running multiple simulations in lockstep, or even doing normal client-side prediction with high-precision numeric calculations, you need to take special care to ensure that the floating point calculations on different processors and operating systems are numerically stable and deterministically reach the same results.
If you are using different floating point maths for graphics on different clients, maybe a difference in rounding results in a texel being one pixel to the left, or in different patterns of z-fighting. But if you have different floating point behaviour in gameplay code, small rounding errors can add up quickly. You can avoid such errors by always using integers internally, always using exact decimals or fractions, or by using a server-authoritative architecture with robust conflict resolution. In this case, you can have either side use whatever floating point type is fastest, but you need to send the server state to the client frequently, and provide a conflict detection or resolution method in case the client diverges too far.
If you have some things, like inventory and experience on the server, you have to think about where to draw the line. If a mob drops an item, does that happen on the client or on the server? If a player picks up an item, or uses an item from the inventory, that needs to happen on the server, or to be confirmed by the server.
Related links:
https://gafferongames.com/post/networked_physics_2004/
https://www.forrestthewoods.com/blog/synchronous_rts_engines_and_a_tale_of_desyncs/
https://www.forrestthewoods.com/blog/synchronous_rts_engines_2_sync_harder/
Metagame/Save State
Persistent State: When the players log off, the state is kept, or saved on the server, to be loaded again in the next play session. (as opposed to ephemeral state: When the game ends, ephemeral data is discarded)
Replays: Players can save and re-watch game replays.
Ladder: The server maintains win/loss stats and skill estimates for players.
Lobby, Server Browser: There is a UI to choose a server, start a game, and find or talk to players before the actual game starts.
This is not important to implement right away, but worth keeping in mind.
If your game world is living on the server, and the server is running all the time, you need to use some kind of ACID database to store the game state, or a method to regularly save savegames on the server, in case somebody in the data centre trips over the cable, or, far more likely, your server code crashes. You probably don’t need to save everything, but again, probably things like currency, XP, inventory and quest state are important, mob positions, health, mana and animation state less so.
You might want to have a “lobby“ client that lets you browse and connect to servers, chat with other players, and look up ladder statistics. Sometimes the “lobby“ client doesn’t load the full game engine, but is a regular desktop program built using a normal GUI toolkit, that lets you configure the game and find other players, before the actual game engine is started. SpringLobby is such a “lobby client“.
If your game engine is deterministic, you can just store actions or input data, and if you feed that into the engine again at the right times you have a working replay system. Otherwise you need to think about how replay would work, and what to save in a replay file.
It is especially important to keep such metagame features in mind because if you simplify your game design or deliberately cut some corners in your game design, implementing server-side persistence becomes much easier.
If your game is play-by-email, or has a significant ladder/social component, you need some server-side persistence, to store player profiles, replays of finished games, win/loss statistics, or game states of unfinished games.
It might make sense to have a lobby client while you’re developing an online game, even when you will later want to have everything in one process, one GUI toolkit, and one engine: When you’re using PyGame, you could have one TkInter program that connects to the server browser and chat system, which then launches another process that uses PyGame and no Tk.
There are advanced topics, like detecting de-synchronisation, host migration and streaming game state to late joiners, that you probably won’t need to worry about in your first game. What you need to do is to think about what kind of game you are making, and what kind of networking your game would need.
Would it be a big deal if two players see different things? How badly will lag affect gameplay? Can lag be hidden by starting actions locally before the server confirmed then? What must be computed on the server, and what can be done on the clients?
Then, and only then, can you decide to just use whatever networking comes with your game engine.
13 notes · View notes