4 ms·
Almost impossible and also rather impractical. What each game should care about are the high level details of its game state. Things like "In what map am I loca
by davesque 5y ago
Almost impossible and also rather impractical. What each game should care about are the high level details of its game state. Things like "In what map am I located and at what coordinates?" The game engine for each game basically represents a compression algorithm of sorts to decode the meaning of a few concise details like that. If you prefer to represent that information with the raw bytes and bits of internal processor and memory state, you're choosing a hugely inefficient and clunky encoding.
- eropple 5y agoYou're assuming a lot of things in the pursuit of a perfectly spherical game, here. If it were that simple, one might think developers would already do similar. And some do. But a lot of games have issues with this approach, particularly when negotiating data that is partially owned by the engine and that which is owned by game logic.
- mmis1000 5y agoIn reality, make game state transferable takes huge efforts. When you are writing a program, there are a lot of states, some of them are visible to code, some of them are not, some of them are about game logic, some of them are tight to machine physical states. And you are almost not going to separate them unless specifically designed it to. And that is called save system. But the problem of save system is: that is slow to load, because you need to initialize everything from ground up. All the textures, stage data, enemy entities will need to be reloaded even it is technically fine to reuse all of them. And that is what xbox do(I think steam is unlikely to copy that?) The idea of quick resume is to sacrifice storage spaces, just store everything(even things tight to hardware) to skip the initialization process for fast loading, which is completely opposite for what steam want to do. Until now, only xbox implemented that (on same machine only)
- vlovich123 5y agoYou’re talking about transferring many GBs of video textures and other GPU state between GPU vendors. Even across a USB3.0 interface this seems slower and an order of magnitude more difficult than just providing a mechanism to manage the save state more effectively. Look at the stuff PS5 and UE5 are doing with instant high res loading instantaneously. These are more tractable problems (in the past games like HL, which was written by Valve, show that it’s possible to have seamless instantaneous loading)
- dathinab 5y agoFor quick resume on the same device, assuming no OS update was done, dumping memory might work. But I just can't see it working across OSes. Maybe if you limited it to same ARCH (or even vendor, AMD here) and dump everything but use some tricks wrt. GPU state? (And also not dumping OS discardeable caches, no idea if that is used by games though).