4 ms·
Predicatively caching assets will absolutely still happen, but the critical point is that it has to happen less; if developers had to "predict" the next 20 seco
by 013a 6y ago
Predicatively caching assets will absolutely still happen, but the critical point is that it has to happen less; if developers had to "predict" the next 20 seconds of viewports a player may see on a hard drive, an SSD may drop that to 1 second, or slightly more or less depending on what is expected to happen next in the scene. Not only is this strictly fewer assets, but its far, far easier to predict, which improves the accuracy of the predictions and thus lowers cached assets further.
Which brings me back to that 150MB in 1 frame number; that's not saying that nothing is being predicatively cached; its saying that some N frames are being predicatively cached, but if the developers make an intentional or unintentional cache miss, recovery from that miss is far, far faster.
Imagine you're walking down a grimy hallway; the player opens a door, and walks out into a sun-drenched paradise. 98% of players will just walk down the hallway and open the door, so the developers have a problem: They should definitely be predicatively loading the assets for the paradise outside, but should they also load the assets for the hallway behind the player? Most players won't turn around. If they throw out some of those assets behind the player, that could make more room for the paradise that's coming. Could have more particles, more bloom, higher res textures, all good things. Today, the answer to that question is usually Yes; if those hallway assets get de-loaded, the frame drops would be too huge if a player decides to turn around. Or, more commonly, its Yes (But): Maybe we could build a bend in the hallway, or put a second door behind the player, so if they turn around the immediate assets we'd need to load would be less, and we'll have more time to load what's further behind them if we need to.
With an SSD, that answer may be No; if they can load at 8 GB/s, they know the maximum turn speed of the player, the math is more likely to work out that they can actually just throw away those assets, or never build that bend in the hallway. If they end up needing them, maybe the framerate will drop from 60fps to 45fps for a couple seconds; that's still faster than nearly every game from current gen.
Technical limitations like IO bandwidth and latency have guided the development of games for generations, all the way to the very artistic design we take for granted as being the "vision" of some creative leader on the development team. You're playing Halo; you drop down a ledge; you can't climb back up the ledge to go backward. It feels real, we don't question it, but really that ledge is only there because an engineer needed a checkpoint to make sure the player couldn't go backward, so they could de-load some assets. Simple as that. Its not driven by artistry (though, it could be); its driven by technology and its limitations (learning about these "checkpoint ledges" is a "I can't un-see that" moment for many people; checkpoints are everywhere in many boundary-pushing games. Even the hyper-recent FF7R uses them all over, often like "duck underneath this pipe" or "squeeze through these boxes"; they usually let you go back, but it takes several seconds in a confined area, which gives the game more time to load the next area. Same concept).
With an SSD, maybe a creative designer says "lets put a ledge there, we want to keep the player moving forward". But it'll be an artist making that call, not an engineer.
This is also why this generation is significant even for PC gamers! What we're talking about isn't at a technical level; its not faster load times, its not higher framerate, its fundamental changes to the game design itself which were necessary for games running on consoles. It didn't matter that your $3,000 PC had a 970 Pro NVME SSD; Assassins Creed Odyssey was designed to run on a PS4, and it doesn't. But, now that everyone has an SSD, even PC games will benefit because the game will be designed under the assumption that its alright to load multi-gigabytes per second of assets from the cold storage. This "SSD-by-default" will get built into game engines which power games across every platform. And sure, we'll see the biggest benefits on the PS5 and with its exclusives, as its SSD and hardware decompress pipeline is far-and-beyond more powerful than anything PC gamers or the Series X has, but everyone will benefit none-the-less.
- rasz 6y agoBut there is nothing new here. Its not like developers avoided streaming assets and now somehow will do it. We have 7 years of Full hardware support in current gen consoles and plenty of games using it. ps4 - Partially Resident Textures, x1 - Tiled Resources https://blogs.windows.com/windowsexperience/2014/01/30/directx-11-2-tiled-resources-enables-optimized-pc-gaming-experiences/ https://blogs.windows.com/windowsexperience/2014/01/30/direc... Here is another example, 6 year old Far Cry 4 with custom implementation https://www.youtube.com/watch?v=SVPMhGteeuE https://www.youtube.com/watch?v=SVPMhGteeuE
- 013a 6y agoThen why do even modern games still use these map and character movement tricks? According to you, this problem should be solved! Because its not solved. Games have only gotten bigger; assets are bigger than ever. Having a hard drive in every console actually helped a ton, because the hard drive/memory bandwidth is larger than the disk/memory one, but it didn't help enough. There's no way around the fundamental bandwidth at the hardware: If a game needs a gigabyte of assets for the next major scene transition, it will probably need to use tricks to make sure that scene transition takes longer than, say, 10 seconds (50-100MB/s is a typical read rate). Checkpoints; stall sections which slow the player down; limiting the top speed of the character or (especially) vehicles; slow opening doors (think Dark Souls/Bloodborne); vestibules between two doors with an adjustable length based on expected load time... They use technical tricks on the hard drive, copying commonly used assets all around the platter to reduce seek times. I've even heard it said by a developer that "we'd be fine in this transition if the game gets installed to the inner edge of the platter, but on the outer edge the load will take too long"; that's how close modern games run against hardware limitations. The software in play hasn't changed. Duh. We're not talking about the software, we're talking about the SSD.