Current Generation Games Analysis Technical Discussion [2023] [XBSX|S, PS5, PC]

Status
Not open for further replies.
New patch for Jedi Survivor coming this week, consoles tomorrow, PC a bit later on in the week.


STAR WARS Jedi: Survivor™​

Patch Notes​


The latest patch (Patch 4) for Star Wars Jedi: Survivor arrives this week. Here’s our expected timeline for rolling out the patch:
  • PlayStation 5 and Xbox Series X | S: Patch expected to deploy Tuesday, May 9.
  • PC: Patch expected to deploy as soon as possible this week. Keep an eye for the latest updates via the @EAStarWars Twitter account.
Patch 4 Details
Here are the fixes you can expect with this patch:
  • (PC only) Updated occlusion behavior for raytracing, reducing idle time stalls.
  • (PC only) Updated streaming budgets that will help alleviate traversal hitching.
  • (PC only) Performance improvements for some VFX.
    • Coming soon to console
  • (PC only) Updated data handling when toggling raytracing, improving non-raytraced performance.
  • (PS5 only) Fixed an HDR value mismatch that would cause HDR setups to display incorrectly for PS5 users.
  • Fixed various save state errors.
  • Fixed a streaming issue that causes some streaming scenarios to end on a black screen.
  • Fixed an issue where one of the vents did not properly activate in Stone Spires.
  • Audio fix for a narrative moment where music was behaving incorrectly.
  • Fixed lightsaber marks not displaying correctly in some scenarios.
  • Fixed a scenario where the player could enter a progression blocked state in the Lucrehulk.
  • Fixed an elevator to prevent the player from falling through it and entering a progression blocked state.
  • Fixed a bug where Rayvis would become unbeatable.
  • Fixed a severe animation issue that would break a late game narrative sequence.
  • Fixed a collision bug where players can get stuck inside a Meditation Chamber.
  • Added a note explaining that some of BD-1’s abilities are not available while in combat.
  • Improved text scrolling.
  • Minor text translation fixes.
  • Various crash fixes.
More work continues
Additionally, here are a few known issues we’re currently investigating and working on for future patches.
  • (PC only) Improving performance on newer i7 and i9 CPUs that have efficiency cores.
  • (PC only) General performance improvements to improve both CPU and GPU utilization while reducing idle time, both with and without raytracing.
  • (PC only) Improving some hitching which can be attributed to streaming raytracing data, assets, and a gap in our prebuilt shaders.
  • Various bug fixes.
  • And more!
Be on the lookout for future patches across all platforms. Let us know if you run into any further issues and thank you again for your continued support.
 
imho a lot of the problem with today's Software development is that most new devs are not learning systems development, and dealing with low level problems.
Outside of games 98% of those problems are solved, and there just isn't a lot of development going into this level of programming any more.
With graduates learning java, python, lua, as the core game dev languages, and maybe a light sprinkling of C/C++ they are really only equipped for high level work, not building and optimizing low level code. How many mid-level devs could write code to do DMA to a specific device? How many even understand the various complexities of virtual memory and page mapping, Hell How many senior devs understand that stuff? let alone trying to also understand the new complexities of DX12/ Vulkan on top of all of this.

I'm still surprised there isn't a "easy mode" shim for DX12, that does a lot of the resource management, in a DX11 style that would be familiar to a lot of existing game devs.
Then again SDK work is HARD!
 
imho a lot of the problem with today's Software development is that most new devs are not learning systems development, and dealing with low level problems.
Outside of games 98% of those problems are solved, and there just isn't a lot of development going into this level of programming any more.
With graduates learning java, python, lua, as the core game dev languages, and maybe a light sprinkling of C/C++ they are really only equipped for high level work, not building and optimizing low level code. How many mid-level devs could write code to do DMA to a specific device? How many even understand the various complexities of virtual memory and page mapping, Hell How many senior devs understand that stuff? let alone trying to also understand the new complexities of DX12/ Vulkan on top of all of this.

I'm still surprised there isn't a "easy mode" shim for DX12, that does a lot of the resource management, in a DX11 style that would be familiar to a lot of existing game devs.
Then again SDK work is HARD!

There seems to be some belief that webgpu can fill the void of a modern api that's easier to learn and use, while still giving you performance near native apis. You can use it to write applications that are not on the web, and it basically sits on top of the native api for that system, so on top of DX12 in windows. https://forum.beyond3d.com/threads/webgpu.63258/
 
imho a lot of the problem with today's Software development is that most new devs are not learning systems development, and dealing with low level problems.
Outside of games 98% of those problems are solved, and there just isn't a lot of development going into this level of programming any more.
With graduates learning java, python, lua, as the core game dev languages, and maybe a light sprinkling of C/C++ they are really only equipped for high level work, not building and optimizing low level code. How many mid-level devs could write code to do DMA to a specific device? How many even understand the various complexities of virtual memory and page mapping, Hell How many senior devs understand that stuff? let alone trying to also understand the new complexities of DX12/ Vulkan on top of all of this.

I'm still surprised there isn't a "easy mode" shim for DX12, that does a lot of the resource management, in a DX11 style that would be familiar to a lot of existing game devs.
Then again SDK work is HARD!
Pretty sure this, or a variant of it, is coming.
 
Assuming all of that is true (which I doubt since there are many critical systems that are likely more complex than video game software) it still points to poor management. Video games have the luxury of not having to be precise in essentially any aspect. The margin of error in capturing the environment (mouse clicks, controller input) and producing output (small graphical artifacts are unnoticeable) is huge yet these guys are frequently blowing past it. If you know you’re building something complex then you need to allocate sufficient time and resources to do it right.

Imagine if every other commercial SpaceX rocket exploded. They couldn’t exactly brush it off by saying rocket science is hard.
1) I am not brushing it off by saying it's hard! Things have gotten bad and need to be fixed. The issue is identifying where the problems lie and what fixes are possible. To understand that, you need to understand gamedev and I don't think any armchair analysts can have any idea of that without trying. There's a reason why after 30 years of software engineering theories and strategies, gamedev is still flaky, and it's not because the people involved are inherently lazy dumbasses.

2) In explaining gamedev, understand there's different types of hard. Software development is spectacularly hard because the systems are unpredictable and uncontrollable.

If SpaceX designs around a part, and then that's not available, they source another part. They then have all the documentation and specs on that part, and the certification so they know it'll work within defined limits and tolerances. It's engineering; it's known quantities.

Now we all know nothing in life every goes that smoothly and Shit Happens, but AFAICS software operates on a whole other level.

In a game, you send code to the API with no idea what it's doing. You can't even know - it's too complex. You don't even know the lanugage you are using necessarily because the latest updates to c# or whatever have changed this, that and the other. You keep refering to the every-changing online dooucmentation and hope its comprehensive, which it isn't. You just trust the IHV to maintain a driver that can deal with your code. And they in part are writing around an OS they have no control over. And then there are constant updates that break things. Apple rolled out an update to Metal that plain worked differently and broke code. There's no way to solve these issues other than to Sherlock Holmes the shit out of what's happening. And the pace of change and cost of development means you cannot operate software at the same level of industrial engineering as other complex systems. If you stay outside of the complexities of game dev and stick to app development within the textbook industrial, you stand a chance. Gamdev always exceeds predictions and then the run away to try and pull it all together at the end, not unlike a theatrical production where the whole thing is falling apart at the Dress Rehearsal, hits impossible errors from nowhere that snowball issues.

eg. In a play, someone forgets their lines, you can ad lib. You can recover on the fly. Many jobs, you can shoe-horn a fix in. Gamedev can't, and the hotfixes just pile junk and weigh the whole thing down.

It's not a pissing contest with gamedevs laying claim to "our job is the hardest in the world". It's trying to understand how epic problems arise, especially consistently recurring ones. "How can devs let this happen?" Well, let's actually find out instead of just saying they suck and should do better. Where do you even lay the blame - the game studio, the OS, the GPU company? All of them? Who has to make the fix and how? Education? What needs to be taught when? What needs financing? What's the cost and where's the money coming from?
 
Last edited:
@Shifty Geezer just so you know, some of us have decades of experience developing complex software for much more critical systems than video games. You may be preaching to the choir ;)
You should try making a videogame -- I don't doubt that many, many jobs are more important, but very few are more complex -- this isn't just high performance code in a giant code base with a million features, it's all of that attatched to a massive amount of changing state, and that state is the whole point of the program, not something you can avoid.

I'm still surprised there isn't a "easy mode" shim for DX12, that does a lot of the resource management, in a DX11 style that would be familiar to a lot of existing game devs.
Then again SDK work is HARD!
I mean, there are translation layers -- not exactly the same thing, but they don't work great because the complexity is integral to getting good performance. If you thought developing on dx12 was hard, imagine developing on a subset of dx12 that doesn't cover your use case and behaves inscrutably under the hood.
 
You should try making a videogame -- I don't doubt that many, many jobs are more important, but very few are more complex -- this isn't just high performance code in a giant code base with a million features, it's all of that attatched to a massive amount of changing state, and that state is the whole point of the program, not something you can avoid.

I wouldn’t know where to start. The math and science of 3D rendering is fascinating and it’s one of the reasons I got into this hobby in the first place.

However the software engineering side of things isn’t quite as exotic. Games don’t have a monopoly on complex state management, integration of disparate frameworks and libraries or high performance. This is especially true for people who rely on massive middleware like UE that take care of a lot of the plumbing.

The example of calling an api and trusting it to do the right thing is the definition of modern software development. Video games are hard but developers aren’t starting from scratch every time. They’re not re-inventing rasterization, texture filtering, shadow mapping or z buffering. They’re mostly building on concepts and frameworks established by others over many years. Just like every other software engineering problem.

Should we blame complexity for shadows disappearing in Redfall when you look at them? It’s not like the game is using some new fancy shadow rendering method. There’s no excuse for that kinda stuff.
 
Should we blame complexity for shadows disappearing in Redfall when you look at them? It’s not like the game is using some new fancy shadow rendering method. There’s no excuse for that kinda stuff.
Does that not point you towards the complexity of gamedev then? If it's all so straight-forward, how come such simple things go wrong? Surely the shadows disappeared in testing, the devs found the offending line immediately because it's obvious what the problem is based on software engineering principles, and they fixed it. The fact 'simple' problems exist among common bread-and-butter elements of games either shows all game developers are chumps, or it doesn't work as simply as you'd think.

Here's an example that comes to mind because it was posted recently:

One line of code to fix audio drop-outs. Audio's easy, right? Why would there be any issues ever? And notice how much time and effort was needed to identify the problem. That's the case with so many bugs, which puts pressure on time, which can lead to hacky solutions, which can result in more bugs.
 
Does that not point you towards the complexity of gamedev then? If it's all so straight-forward, how come such simple things go wrong? Surely the shadows disappeared in testing, the devs found the offending line immediately because it's obvious what the problem is based on software engineering principles, and they fixed it. The fact 'simple' problems exist among common bread-and-butter elements of games either shows all game developers are chumps, or it doesn't work as simply as you'd think.

Here's an example that comes to mind because it was posted recently:

One line of code to fix audio drop-outs. Audio's easy, right? Why would there be any issues ever? And notice how much time and effort was needed to identify the problem. That's the case with so many bugs, which puts pressure on time, which can lead to hacky solutions, which can result in more bugs.


Not in this case no. What it points to is that smart people also make dumb mistakes. Game software isn’t special in this regard. Clearly hundreds of developers including one man armies have figured out how to render a shadow map from a static light against static geometry in UE4. What this points to is an unforced error that should have 100% been caught before the game shipped.
 
Last edited:
Lol. Damn. That shouldn’t happen.
They need to close their instant switch titles to save a bit more. I suspect they forgot to account for that
Instant switch titles (or quick resume) does not work like this. If a game is paused the memory content will be saved to the SSD, nothing remains in memory.
But some games still have problems when they resume from memory.
Maybe some fixed memory addresses or timing issues... who knows.
AC Valhalla needed a long time that they fixed the save game issue that was there due to quick resume. It could happen back than that the game could no longer sync the Savegames but always fetched then from the cloud when started. If the sync did not work the game also didn't really save the game to the SSD and your whole Savegames was broken (lost about 13 boring hours because of that bug back than).
 
Last edited:
Xbox Series S showing an out of VRAM error message!
People complaint about poor PC ports, but publishers shipping code for games on consoles where it's possible to run out of VRAM to the point where the game/engine doesn't manage it and the Xbox just errors-out is a new low. o_O

Really, Borderlands developers, you don't know how much VRAM a Series S has? 🤔
 
People complaint about poor PC ports, but publishers shipping code for games on consoles where it's possible to run out of VRAM to the point where the game/engine doesn't manage it and the Xbox just errors-out is a new low. o_O

Really, Borderlands developers, you don't know how much VRAM a Series S has? 🤔
In defence of them, lot of developers complained about XSS hardware limitations at launch and how problematic would have been turn around it.
 
Last edited:
Status
Not open for further replies.
Back
Top