Image: Steam

Valve has patented a new “instant play” feature for Steam that would allow impatient users to play games before they’re finished downloading. The idea isn’t exactly revolutionary, as similar systems have already been implemented in other platforms and clients such as Xbox, PlayStation, Origin, and Battle.net, but it should be a welcome addition in light of the ridiculously large file sizes that more and more PC games weigh in at these days.

It isn’t clear when (or even if) Valve will enable this feature in Steam, but the patent abstract sheds a little light into how it’ll work. The feature seems to leverage telemetry to enable “instant play” of video games.

Client machines running game executables of a video game(s) may utilize a file system proxy component that is configured to track read operations made by the game executable during a game session, to generate access data based on the tracked read operations, and to report the access data to a remote system. This telemetry approach allows the remote system to collect access data reported by multiple client machines, to catalogue the access data according to client system configuration, and to analyze the access data to generate data that is usable by client machines to implement various game-related features including, without limitation, “instant play” of video games, discarding of unused blocks of game data to free up local memory resources, and/or local prefetching of game data for reducing latency during gameplay.

What’s really neat is that game developers may not have to do any additional work to enable instant play for games distributed on Steam. “[…] the technique of the process 800 is game agnostic, meaning that a game developer doesn’t need to do any work to allow for the instant play 128 feature; rather, it is a value add for all games on a video game distribution platform that distributes video games to a heterogenous population of client system configurations.”

Source: FPO (via Pavel Djundik)

Don’t Miss Out on More FPS Review Content!

Our weekly newsletter includes a recap of our reviews and a run down of the most popular tech news that we published.

Join the Conversation

14 Comments

  1. [QUOTE=”Uvilla, post: 41654, member: 397″]
    I thought ps4 already did this
    [/QUOTE]
    Lots of things can do this, but mostly only if the developer implements it. Battle.net, Xbox, etc have long let you start playing a game without having downloaded the entire thing, but that’s only if the developer choses to support that particular API. Even on Steam, some games have their own patcher/downloader that can implement this feature (very common on MMOs, and some larger distributor titles like Ubisoft), even though you purchased the game via Steam, your really only getting the downloader files from Steam and then the game itself is updated and downloaded from that separate patcher — it can’t be kept up to date via Steam when using that mechanism.

    Steam is doing this across the board – you could optimize for it, but you don’t have to do anything special for it to work as a developer. It will work to some extent with all titles.

  2. These features usually end up being another source of potential problems. Just install the whole game properly, I can wait two more minutes. I’ve had games with similar features act up before.

  3. [QUOTE=”MadMummy76, post: 41660, member: 1298″]
    These features usually end up being another source of potential problems. Just install the whole game properly, I can wait two more minutes. I’ve had games with similar features act up before.
    [/QUOTE]
    For some (many?) folks, including up until recently myself, it isn’t a couple of minutes.

    It’s a couple of days.

  4. [QUOTE=”MadMummy76, post: 41660, member: 1298″]
    These features usually end up being another source of potential problems. Just install the whole game properly, I can wait two more minutes. I’ve had games with similar features act up before.
    [/QUOTE]
    I feel the same way, but it’s a good option to have for the majority of people who are still on a poor internet connection.

  5. I think it is an interesting thing. Also I think that they could do something interesting with older games as well. For instance I picked up a older game that simply will not play on my system it can not handle as many cores as I have and the developer is beyond done with it. Imagine if Steam came up with a ‘launcher’ for older games that could simply create a virtual space for that game with the appropriate number of threads to play the game.

    It would be a rather simple thing to do with a sort of custom virtualbox setup. And it would be a big win to those that don’t know how to do that properly anyway.

  6. [QUOTE=”Grimlakin, post: 41676, member: 215″]
    I think it is an interesting thing. Also I think that they could do something interesting with older games as well. For instance I picked up a older game that simply will not play on my system it can not handle as many cores as I have and the developer is beyond done with it. Imagine if Steam came up with a ‘launcher’ for older games that could simply create a virtual space for that game with the appropriate number of threads to play the game.

    It would be a rather simple thing to do with a sort of custom virtualbox setup. And it would be a big win to those that don’t know how to do that properly anyway.
    [/QUOTE]
    Doesn’t GOG provide this in some respect?

  7. [QUOTE=”Grimlakin, post: 41676, member: 215″]
    I think it is an interesting thing. Also I think that they could do something interesting with older games as well. For instance I picked up a older game that simply will not play on my system it can not handle as many cores as I have and the developer is beyond done with it. Imagine if Steam came up with a ‘launcher’ for older games that could simply create a virtual space for that game with the appropriate number of threads to play the game.

    It would be a rather simple thing to do with a sort of custom virtualbox setup. And it would be a big win to those that don’t know how to do that properly anyway.
    [/QUOTE]
    May I ask what game is it? never experienced such a problem before.

  8. [QUOTE=”Stoly, post: 41685, member: 1474″]
    May I ask what game is it? never experienced such a problem before.
    [/QUOTE]
    It was Prototype 2. You literally have to disable cores to get it to work on a high core count system.

  9. [QUOTE=”Grimlakin, post: 41690, member: 215″]
    It was Prototype 2. You literally have to disable cores to get it to work on a high core count system.
    [/QUOTE]
    Maybe GOG will have some flags that lets this game work? I’ll reinstall it and link it through GOG to see if they can make it work. That would be kinda awesome.

  10. [QUOTE=”Grimlakin, post: 41691, member: 215″]
    Maybe GOG will have some flags that lets this game work? I’ll reinstall it and link it through GOG to see if they can make it work. That would be kinda awesome.
    [/QUOTE]
    No dice.

  11. So, if I understand this correctly, they are using data from clients to determine the order in which game assets are accessed, and prioritize the ones needed early, while tricking the game into believing all the assets are already there to allow it to start, pending the download of the rest? That’s nice I guess. I wonder what happens when it gets it wrong. A game goes to load an asset, and it hasn’t been fetched yet. Would it freeze pending completion of the download?

    I mean, I probably wouldn’t use it, just in case. I’d prefer making perfectly sure everything is completely ready for maximal performance before starting the game, but I also have gigabit internet, so even the largest games on Steam would finish downloading in just over 20 minutes, so I can afford to be patient.

    I guess this would be nice if you happen to have a slow internet connection.

    Other than that, it seems mostly pointless.

  12. [QUOTE=”Zarathustra, post: 41697, member: 203″]
    A game goes to load an asset, and it hasn’t been fetched yet. Would it freeze pending completion of the download?
    [/QUOTE]
    While I personally wait for games to completely finishing installing before I play them, friends of mine have dabbled in launching games that haven’t finished installing yet on consoles (and this includes installing games from disc as well as downloads). In the case of one fighting game I saw, you couldn’t choose from all the characters and stages cuz they weren’t all installed yet (but on the character selecting screen it would show you which characters were still being installed with progress meters). Some games will tell you what features are missing when you launch them before they’ve finished installing. I’ve also seen partially-installed console games exhibit performance issues and glitches. Games can run kinda wonky. I seem to recall cases where stuff like certain music tracks don’t get played cuz they haven’t been installed yet. I know these games have to have a certain minimum amount of data installed before you are even given the option to launch it before full installation is completed. How well it all works depends on each individual game, and how the developers implemented the feature. Of course that’s with the normal setup I’ve seen on consoles and some PC game launchers, not this fancy-@ss way Steam is planning on doing it. Steam is taking an interesting approach, I am curious to see how well it works.

    [QUOTE=”Armenius, post: 41675, member: 180″]
    …it’s a good option to have for the majority of people who are still on a poor internet connection.
    [/QUOTE]
    [QUOTE=”Zarathustra, post: 41697, member: 203″]
    I guess this would be nice if you happen to have a slow internet connection.
    [/QUOTE]
    Yeah I guess I hadn’t realized that this is probably a very useful option for people who have sh1t internet, where it takes them days to download games of the kinds of sizes we see today.

    Unrelated, but speaking of options like launching games before they’ve finished installing, one option I have not made much use of in the past decade is remote installations. Like when I’m away from home and telling Steam or one of my consoles to start downloading and installing a game. I’ve used this feature like maybe 2 or 3 times in the past. I think every single time was when I was at work, hoping the game would finish installing by the time I got home. I know some consoles automatically install your games (and keep your games up-to-date) if you have the system in standby mode, but the only system I ever leave in standby/sleep mode is the Switch. All the other consoles that support such a future I usually turn them completely off when I am not using them. This topic is not relevant to this thread, but I was reminded of remote installation features, and I’m curious if anyone else has ever used such a thing, on any platform.

    [QUOTE=”Stoly, post: 41685, member: 1474″]
    never experienced such a problem before.
    [/QUOTE]
    Games like [I]UT1[/I], [I]UT2K4[/I], [I]Far Cry 1[/I], and [I]Riddick: EFBB[/I] tend to get confused and lose performance (or straight-up crash) if they detect 2 or more CPU cores/threads. [I]UT1[/I] used to, but they fixed it in a patch. Same for [I]Unreal 1[/I] I believe. I think [I]UT2K4[/I] mighta gotten fixed too. [I]Quake 3[/I] I think was another game where you had to limit the amount of cores the game would see and use in order to get it to work properly/optimally. I wanna say Gearbox’s original [I]Halo 1[/I] port as well. [I]HL2[/I] got a patch to make it more multi-core aware. It’s an issue I’ve had to deal with, and have been wary of, ever since dual-core CPUs came out. It usually happens with games that came out before dual-core CPUs were a thing. I know I’m missing some games, but back in the 2000s this was definitely an issue friends and I ran into quite a few times. Around the time when Threadripper came out, I recall hearing about quite a few modern games getting confused by and crashing/not running when they saw 24+ CPU threads (like I think some Codemasters racing games).

    When I need to set CPU affinity for a game and specifically pick which cores and threads a game will run on, instead of doing it in Windows Task Manager every single time the game launches, I use THG [I]Task Assignment Manager[/I]. I’m sure there are better programs for that these days, cuz that program is old as sh1t, but it works for me and does what I need it to do, so I’ve never tried using anything else. You can set affinity on a per-game basis, and it saves those settings. Only thing is the program has to be running in the background before you launch the game. I rarely have to use that program anymore though. Some old games I should probably be setting CPU affinity for, but I still don’t bother to do that. Usually only if a game is having noticeable issues will I try setting CPU affinity, after looking the game up to see if it has issues with multiple cores/threads (and if so, what the thread limit is). Oh yeah, I also recall that with some games, you can modify their config file(s) to help them better deal with CPUs that have too many threads. Don’t remember the specifics on any games where I did this, but I seem to recall that being a thing.

    [QUOTE=”Grimlakin, post: 41690, member: 215″]
    It was Prototype 2.
    [/QUOTE]
    And that was a 2012 game, so multi-core CPUs had already been out for a while. The devs should’ve accounted for that from the get-go. According to the PC Gaming Wiki, [I]Prototype 2[/I] needs to be limited to 8 CPU threads or less. I did play that game back in the day (never finished it, but I did finish the first game), but I don’t remember what year I played it in. I know I didn’t have a CPU that had 8 threads back then, so I wouldn’t have needed to set affinity for that game’s executable. So yeah I wasn’t aware that was one of the games that doesn’t like too many CPU threads.

Leave a comment