Tumgik
#honestly don't remember this being an issue on my old laptop at all
alackofghosts 6 months
Text
i bought the new laptop for dt specs so i wasn't super worried, but the things xiv does to the fans of this thing. i don't understand
12 notes View notes
devsgames 10 months
Text
Game Optimization and Production
I wanted to write a bit of a light primer about optimization and how it relates to game production in the event people just don't know how it works, based on my experience as a dev. I'm by no means an expert in optimization myself, but I've done enough of it on my own titles and planned around it enough at this point to understand the gist of what it comes down to and considerations therein. Spoilers: games being unoptimized are rarely because devs are lazy, and more because games are incredibly hard to make and studios are notoriously cheap.
(As an aside, this was largely prompted by seeing someone complaining about how "modern" game developers are 'lazy' because "they don't remember their N64/Gamecube/Wii/PS2 or PS3 dropping frames". I feel compelled to remind people that 'I don't remember' is often the key part of the "old consoles didn't lag" equation, because early console titles ABSOLUTELY dropped frames and way more frequently and intensely than many modern consoles do. Honestly I'd be willing to bet that big budget games on average have become more stable over time. Honorable mention to this thread of people saying "Oh yeah the N64 is laggy as all hell" :') )
Anywho, here goes!
Optimization
The reason games suffer performance problems isn't because game developers are phoning it in or half-assing it (which is always a bad-faith statement when most devs work in unrealistic deadlines, for barely enough pay, under crunch conditions). Optimization issues like frame drops are often because of factors like ~hardware fragmentation~ and how that relates to the realities of game production.
I think the general public sees "optimization" as "Oh the dev decided to do a lazy implementation of a feature instead of a good one" or "this game has bugs", which is very broad and often very misguided. Optimization is effectively expanding the performance of a game to be performance-acceptable to the maximum amount of people - this can be by various factors that are different for every game and its specific contexts, from lowering shader passes, refactoring scripts, or just plain re-doing work in a more efficient way. Rarely is it just one or two things, and it's informed by many factors which vary wildly between projects.
However, the root cause why any of this is necessary in the first place is something called "Platform Fragmentation".
What Is Fragmentation
"Fragmentation" is the possibility space of variation within hardware being used to run a game. Basically, the likelihood that a user is playing a game on a different hardware than the one you're testing on - if two users are playing your game on different hardware, they are 'fragmented' from one another.
As an example, here's a graphic that shows the fragmentation of mobile devices based on model and user share. The different sizes are how many users are using a different type of model of phone:
Tumblr media
As you can tell, that's a lot of different devices to have to build for!
So how does this matter?
For PC game developers, fragmentation means that an end-user's setup is virtually impossible to predict, because PC users frequently customize and change their hardware. Most PC users potentially have completely different hardware entirely.
Is your player using an up-to-date GPU? CPU? How much RAM do they have? Are they playing on a notebook? A gaming laptop? What brand hardware are they using? How much storage space is free? What OS are they using? How are they using input?
Moreover PC parts don't often get "sunsetted" whole-cloth like old consoles do, so there's also the factor of having to support hardware that could be coming up on 5, 10 or 15 years old in some cases.
For console developers it's a little easier - you generally know exactly what hardware you're building for, and you're often testing directly on a version of the console itself. This is a big reason why Nintendo's first party titles feel so smooth - because they only build for their own systems, and know exactly what they're building for at all times. The biggest unknowns are usually smaller things like televisions and hookups therein, but the big stuff is largely very predictable. They're building for architecture that they also made themselves, which makes them incredibly privileged production-wise!
Fragmentation basically means that it's difficult - or nearly impossible - for a developer to know exactly what their users are playing their games on, and even more challenging to guarantee their game is compatible everywhere.
Benchmarking
Since fragmentation makes it very difficult to build for absolutely everybody, at some point during development every developer has to draw a line in the sand and say "Okay, [x] combination of hardware components is what we're going to test on", and prioritize that calibre of setup before everything else. This is both to make testing easier (so testers don't have to play the game on every single variation of hardware), and also to assist in optimization planning. This is a "benchmark".
Usually the benchmark requirements are chosen for balancing visual fidelity, gameplay, and percentage of the market you're aiming for, among other considerations. Often for a game that is cross-platform for both PC and console, this benchmark will be informed by the console requirements in some way, which often set the bar for a target market (a cross-platform PC and console game isn't going to set a benchmark that is impossible for a console to play, though it might push the limits if PC users are the priority market). Sometimes games hit their target benchmarks, sometimes they don't - as with anything in game development it can be a real crap shoot.
In my case for my games which are often graphically intensive and poorly made by myself alone, my benchmark is often a machine that is approximately ~5 years old and I usually take measures to avoid practices which are generally bad and can build up to become very expensive over time. Bigger studios with more people aiming at modern targets will likely prioritize hardware from within the last couple years to have their games look the best for users with newest hardware - after all, other users will often catch up as hardware evolves.
This benchmark allows devs to have breathing room from the fragmentation problem. If the game works on weaker machines - great! If it doesn't - that's fine, we can add options to lower quality settings so it will. In the worst case, we can ignore it. After all, minimum requirements exist for a reason - a known evil in game development is not everyone will be able to run your game.
Making The Game
As with any game, the more time you spend on something is the more money being spent on it - in some cases, extensive optimization isn't worth the return of investment. A line needs to be drawn and at some point everyone can't play your game on everything, so throwing in the towel and saying "this isn't great, but it's good enough to ship" needs to be done if the game is going to ship at all.
Optimizing to make sure that the 0.1% of users with specific hardware can play your game probably isn't worth spending a week on the work. Frankly, once you hit a certain point some of those concerns are easier put off until post-launch when you know how much engagement your game has, how many users of certain hardware are actually playing, and how much time/budget you have to spend post-launch on improving the game for them. Especially in this "Games As A Service" market, people are frequently expecting games to receive constant updates on things like performance after launch, so there's always more time to push changes and smooth things out as time goes on. Studios are also notoriously squirrelly with money, and many would rather get a game out into paying customer's hands than sit around making sure that everything is fine-tuned (in contrast to most developers who would rather the game they've worked on for years be fine-tuned than not).
Comparatively to the pre-Day One patch era; once you printed a game on a disc it is there forever and there's no improving it or turning back. A frightening prospect which resulted in lots of games just straight up getting recalled because they featured bugs or things that didn't work. 馃槵
Point is though, targeted optimization happens as part of development process, and optimization in general often something every team helps out with organically as production goes on - level designers refactor scripts to be more efficient, graphics programmers update shaders to cut down on passes, artists trim out poly counts where they can to gradually achieve better performance. It's an all-hands-on-deck sort of approach that affects all devs, and often something that is progressively tracked as development rolls on, as a few small things can add up to larger performance issues.
In large studios, every developer is in charge of optimizing their own content to some extent, and some performance teams are often formed to be dedicated to finding the easiest, safest and quickest optimization wins. Unless you plan smartly in the beginning, some optimizations can also just be deemed to dangerous and out-of-reach to carry out late in production, as they may have dependencies or risk compromising core build stability - at the end of the day more frames aren't worth a crashing game.
Conclusion
Games suffer from performance issues because video game production is immensely complex and there's a lot of different shifting factors that inform when, how, and why a game might be optimized a certain way. Optimization is frequently a production consideration as much as a development one, and it's disingenuous to imply that games lag because developers are lazy.
I think it's worth emphasizing that if optimization doesn't happen, isn't accommodated, or perhaps is undervalued as part of the process it's rarely if ever because the developers didn't want to do it; rather, it's because it cost the studio too much money. As with everything in our industry, the company is the one calling the final shots in development. If a part of a game seems to have fallen behind in development it's often because the studio deemed it acceptable, refused to move deadlines or extend a hand to help it come together better at fear of spending more money on it. Rarely if ever should individual developers be held accountable for the failings of companies!
Anywho, thanks for reading! I know optimization is a weird mystical sort of blind spot for a lot of dev folks, so I hope this at least helps shed some light on considerations that weigh in as part of the process on that :) I've been meaning to write a more practical workshop-style step-by-step on how to profile and spot optimization wins at some point in the future, but haven't had the time for it - hopefully I can spin something up in the next few weeks!
87 notes View notes
obaewankenope 3 years
Text
I remember in college (16-18yrs old) my ancient history professor put my name in for the AQA Extended Project Qualification without asking me and told me about it afterwards. I was 17, clearly Gifted from the outset, and she pegged me as the student in her class who'd do the work for it because she Expected It Of Me.
The thing is, she didn't mean any of it cruelly or meanly. She genuinely thought it was a good thing, that I'd enjoy it, and that it would be a good challenge for me when I was clearly more than capable of completing the coursework and classwork she set with ease.
And she wasn't wrong. But she didn't ask me and I ended up having to spend several months working on this thing around existing classes, home life being a mess, my own mental health being a wreck, and not one teacher realised I had any problems at all.
I had to fill out a journal regularly of Community Work I did like packing bags and stuff to show "community mindset", research my chosen subject, create draft proposals for it, speak to tutors outside of class time to hash it out, attend extra classes on civics and stuff for the qualification and so much more it was unreal.
I had to write a 5k paper on my subject topic, deliver a presentation, proposal, display board for the examiners to look at and ask me questions about which I had to answer and not feck up at the time.
As well as keep my grades up.
And the worst thing. Thee worst thing. It was easy.
It was easy because I could focus on that rather than my mental health, than my home life, than my relationship issues, than all those other things I should have been working on but didn't have the time because I didn't want to disappoint my tutor who signed me up for this whole thing without asking me because she believed in me.
And I aced the thing. I genuinely did.
I aced my classes, except sciences because well something had to give and definitions of things were what I kicked out of my head at the time (I no longer can tell you how to calculate speed and velocity correctly rip).
I was the gifted kid from childhood who was compared to her struggling brother with his adhd and his learning difficulties and behavioural problems, who was well behaved and polite and smart and not a problem in the classroom ever (except when I chose to be).
And that bullshit dragged with me into university where, honestly, I burned myself up. I established a routine sure, but the first week of uni I had a full on emotional breakdown bc I locked myself out of my room and my drunk flatmates all consoled me because everything, and I mean everything, just came down on me at that moment.
I picked myself back up, went to classes and passed everything. Even stats. Though not really because honestly I just didn't get what the tutor was saying and she didn't explain once.
(And I felt so ashamed of that stats class result, it was hilarious. Especially when I had to redo it in the summer which was just horrid for this Gifted Kid to suddenly be struggling).
I have two degrees, an undergraduates and a masters, I have 5 a-levels and 2 as levels. I have all the gcses my school offered that I took and didn't fail any of them.
I am smart. But I struggled so much in university. Not for taking notes, I used my laptop and relied on the tutors power points to add info to, but with everything else because I hadn't been given support where I needed it.
I am superficial and charming on the surface because I have spent a lifetime masking all my problems and troubles and being the good student who doesn't cause trouble even when they want to just get up and scream. The depths of me are seen more online than in person because y'all don't expect me to be charming and to smile and to express social cues I had to consciously learn on my own because not one adult thought I needed help there.
This is the curse of being a gifted kid.
Especially one who gets diagnosed at 28 with adhd who could have done so much more at 22 on adhd medication because things would have been easier. Help would have been available.
Because when you're just Autistic. When you have Aspergers. When you're High Functioning. You're just Smart And Awkward and written off as fine.
I suffered so much for no reason other than a flawed system that overworks its employees, doesn't fund the things it should fund enough, and leaves kids like me, who show accelerated growth in quantifiable areas of statistical measurement but who need help with other areas, to suffer alone.
There's a reason so many Gifted kids end up diagnosed as neurodivergent. It's because we're smart in one way that means everything else about us is ignored.
The Problem Kids I saw in high school (11-16) were some of the smartest kids I've ever met. But because they struggled with maths, with spelling, with reading, and other things, they got ignored, or babied, or told off when they got bored and grew tired of being ignored and not praised like the Gifted Kids at least got.
One of those kids, Tom, he genuinely was so smart. He wrote a whole ass English paper the day before it was due and he got an amazing mark because he had actually listened to me explaining stuff next to him in class, even when he fucked around throwing erasers about, or doodling, and I went through things in a way he understood because that helped me too.
Like.
He's Gifted. He's smart. But he got called a Problem Kid because of disruptive behaviour. Because he drew attention to himself, good or bad, because he didn't want to be ignored and because the subject didn't Interest Him.
I learned a lot in school because I loved learning. That's why I did well. I loved to just soak up knowledge. I still do. The fact that the knowledge I enjoyed learning was information relevant to standardised tests is the only, The Only, reason I got labelled as Gifted and not Problem or Ignorant.
My mother is smart. She loves horses. She Loves To Learn About Horses. Always has. School for her was a story of Not Trying, Not Paying Attention, Not Able To Understand. Because it didn't Interest her. It didn't engage.
But she's Gifted too.
She's forgotten more about horses than I'll ever know. And I know a lot.
Intelligence isn't just MENSA tests and pattern recognition and that bs used to evaluate how smart someone is in a psychological assessment.
Intelligence, true intelligence, is being able to share what you know with others in a way they can understand. That's true intelligence.
And I know a lot of Gifted Kids, Problem Kids, Ignorant Kids, Daydreamers, and Drop-Outs who are intelligent because of that fact alone.
So fuck the lack of support for gifted kids and other kids. Fuck the idea that kids can be categorised as smart and not smart. Fuck the mentality that if you're not good at your countries language and maths that you're "stupid". Fuck it all.
We're all fucking geniuses and I won't have anyone tell y'all different.
And we support each other as a result. Got that.
544 notes View notes
k-s-morgan 3 years
Note
Hi, I remember you mentioning that the TGSTLTH update was going to come around late January. Obviously things had changed since then, and the time frame has changed, so I was wondering: do you have a rough date estimate for the update? Also, are you planning on spacing all three chapters out, or publishing them within a few days of each other? (Just as a side note: I don't mean to pressurize you by asking - I'm absolutely elated at the idea of a triple update (and from Sebastian's POV as well - those are my absolute favourite), so I wouldn't care if the chapters came tomorrow or even six months from now)
Stay safe!
Hello! The first chapter is going to be done today, I have just a few last scenes to write. The issue now is that I need to get the first half of this chapter out of my old broken laptop. It's still being repaired, but I was told it should take just a few more days. Then I'll re-read & edit everything and I'll finally post it :D
The second part should come in about a month after the first one is done.
And thank you so much both for your patience and your wishes! I honestly feel like I have the best readers in the world. I appreciate it a lot.
19 notes View notes