Register a SA Forums Account here!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
  • Post
  • Reply
Nov 8, 2020

You can't always compare the techniques and technology used for web development with game development. Same goes for any other industry, such as high-frequency trading. The requirements for each are completely different.

Gamedev almost always optimizes for speed. You have to manage IO, physics, audio, gameplay logic, and rendering for a frame generally within 32 or 16 ms. These are often parallelized, but no single system can take more than that without affecting the experience. Size is also still a concern too, and it also indirectly affects speed. Hardware improves over time, but most games are bound by consoles and generally there's more and more stuff that has to fit into the game every year.

There are a lot of 'solved problems' in gamedev, but the tradeoff for generalized solutions is usually a sacrifice in speed and customizability. AAA games have very specific requirements which heavily depend on the game, which is why you might see a studio roll their own physics engine when Havok exists.

Binary serialization is generally preferred because it's faster and smaller than any other method. It's (slightly) harder to implement and harder to debug than something like Json, but it's rarely a major source of bugs beyond format/versioning changes. It has a side benefit of obfuscation, but that's rarely a concern since any dedicated individual can crack it.

As to how this particular bug arose, it's hard to say. It sounds like it's a problem with the way the crafting system is saving out and loading rather than with the actual act of saving and loading. 8 MB is smaller than many textures, so I doubt it's just the size causing the slowdown/corruption.

As to how this slipped though, shipping any game is a minor miracle given the constraints. It's possible that QA didn't test the specific scenario, or that it was found but some producer decided against fixing it since there were 100 other things on fire. Or maybe it was a bug introduced by fixing another bug at the 11th hour.


Nov 8, 2020

dads friend steve posted:

I get that for games that “continually save” (I’m thinking like Dark Souls here) you’d need to be mindful of save performance, but what about games like Disco Elysium where saves are either manual via menu or autosave on area entrance/exit? Do those have more freedom to trade off performance for simplicity?

In my experience, performance vs. simplicity tradeoffs usually happen when it's clear that the performance is necessary. If a section of code is profiled and it's causing performance issues, that's usually when it gets optimized at the cost of readability/maintainability. Some tradeoffs are made before perf becomes an issue, but generally those are patterns that are understood by most game programmers or are known to be a necessity (eg. multi-threading).

Binary serialization is common enough that I would think all engines support it to some degree. The necessity of using it for saves probably depends more on how much stuff you're saving and how tolerant the system/players are to save and load times than the frequency of the saves, though that's probably also a concern.

Shruggoth fucked around with this message at 06:21 on Dec 21, 2020

Nov 8, 2020

DreadCthulhu posted:


What keeps programmers locked in the industry as opposed to switching to web dev or anything else outside of entertainment that might pay more, have shorter hours and more stable employment? Is that because it's hard to leave games once you've worked in them for a while due to a specialized programming skillset that doesn't obviously translate to anything else? Or is it the appeal of the kind of ultra-creative people you end up working with? Or is it because after many years the honeymoon of working on a game still hasn't worn off, and it still sounds much much better than working on accounting software solution n.75634? What keeps people from taking a job at a FAANG or a hip up-and-coming Series B startup instead?

Or, are software dev jobs in games no longer a grind, and actually much more competitive in the marketplace, and actually with decent work life balance? I met a few Riot devs a while back here in LA and they seemed to have an amazing quality of life. But that's possibly because League is less of a game and more of a service, like a Salesforce or a Gmail, and the studio doesn't live an die by every new release it cranks out every few years? It's possible Riot is an outlier here.

This actually makes me realize that when I used to hire devs for a web dev startup some time ago, I would never see people with game development experience. And I've looked at thousands of software dev resumes and interviewed hundreds of them personally.. I'm assuming it was a form of self-selection, where programmers with that skillset and experience weren't going to suddenly start slinging CRUD web apps, due to either unfamiliarity or disinterest in anything outside of entertainment. You'd think I would have at least run into people who wrote the backends for games, but I don't recall any at all.

People want to work in games because it's fun. You get to work with creative, driven people on an entertainment product that lots of people will (ideally) enjoy. It's also much easier to identify with the customer than it is with a generic CRUD app, and you may even be the target audience. Game programming in particular is fun since you're solving relatively unique problems that don't occur in many other programming domains, or at least not to the degree they do in game programming.

From what I can tell, the quality of life working in the industry has on average improved from the days of EA spouse, but it's still not on par with the rest of tech. Compensation in particular is still low in comparison, but I would guess that job supply/demand is a large factor.

Some people might feel too specialized to switch domains and I've heard some people say they could not imagine themselves doing anything else, but I don't think the majority of programmers feel locked in. I've heard the average game industry career length is only 3-5 years, which is about as long as I lasted. I'm not sure I would have left if the pay was better though.

You probably don't see many people from games because it's a smaller industry and most probably aren't jumping to webdev.

Nov 8, 2020

It's important to distinguish between bad press and a bad launch. Just because something is unpopular in games media/reddit/whatever doesn't mean it's commercially unsuccessful or didn't later become popular. Players who pay attention to things outside of the game are generally a minority from what I've seen.

It seems to me that people were disappointed with the Diablo mobile/Artifact announcements due to the way expectations were set up, since they were alternate genres initially marketed at their 'core' audiences. No one cares that there's a mobile game for Fallout or Elder Scrolls, for example.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply