• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Sony patents Suspending State of Cloud-based Legacy Applications (PlayStation Remix)

R

Rösti

Unconfirmed Member
On the 29th of June, 2012, Sony Computer Entertainment Inc. filed a patent for methods providing developers to "quite easily" create mini-games within cloud-based, emulated legacy titles. It's called "Suspending State of Cloud-based Legacy Applications", and was published today, the 2nd of January, 2014, via the USPTO Patent Application Full-Text and Image Database (AppFT).

Source: http://appft.uspto.gov/netahtml/PTO/search-bool.html
Document number 20140004957

Abstract

A snapshot of an emulated game may be generated by a snapshot generator. At some point during the emulation of the emulated game, a snapshot generator delivers a suspension request to an emulator. Once the suspension request is received, the emulator will suspend the emulated title. The emulator generates a snapshot of the emulated game by recording the current state of all devices being emulated. The snapshot is then delivered to the snapshot generator. It is emphasized that this abstract is provided to comply with the rules requiring an abstract that will allow a searcher or other reader to quickly ascertain the subject matter of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.

FIELD OF THE DISCLOSURE

[0005] The present disclosure is related to video game emulation. Among other things, this application describes a method and apparatus for emulating a video game that includes generating snapshots that can be used for incorporating new content into the emulated video games.

Now, PlayStation Remix may not be the best name for this, but what is presented seems similar to that of NES Remix although not as elaborate perhaps. It took me a few reads to understand what this is all about. As it mentions cloud-based applications, I assume it has something to do with Gaikai.

BACKGROUND OF THE INVENTION

[0006] Finding new ways to play preexisting video games can increase the longevity of older games. Instead of replaying the same level or completing the same missions repeatedly, gamers often desire new challenges when replaying legacy games. In response to this need, game designers have begun to produce mini-games. Within a mini-game, the gamer can be instructed to complete new objectives or challenge their friends for high scores in a format that was not originally designed into the legacy game. Further, since the mini-game is derived from a legacy game, the gamer already knows the characters and basic components of the game, and is therefore more likely to play the mini-game.

[0007] Mini-games often do not begin at traditional starting points that were used in the original game. For example, the mini-game may begin near the end of a level, just prior to facing a final opponent, or the boss of the level. A boss is an enemy-based challenge which is found in many video games. Bosses are generally seen at the climax of a particular section of the game, usually at the end of a stage or level. Due to the climactic nature of fighting a boss, mini-game designers may choose to use this section of the game as their starting point. In order to make the mini-game more challenging than the original version, the game designer may also want to limit the number of lives a player may use, or change other game parameters such as the amount of health the main character has remaining Other game scenarios may be chosen as starting points for a min-game. For example a mini-game may begin with the game player being the batter in a baseball game where there are two outs in the bottom of the ninth inning and the batter's team is down by one run.

[0008] However, in order to generate mini-games that start with these specific circumstances a game designer must reverse engineer the underlying code in each game and then rewrite the code to enable the mini-game to start under these specific conditions. This process is time consuming and expensive, because it may require multiple engineers to redevelop a single legacy game. Additionally since mini-games are shorter than full-length games, there is a need to produce mini-games in larger quantities.

[0017] In order to create mini-games without reverse engineering and recoding a game designer may rely on the use of triggers and snapshots to provide information needed for the mini-games without having to dig into the code of the legacy game. Triggers are further described in commonly assigned co-pending application Ser. No. 61/666,628 (Attorney Docket Number SCEA12004US00) filed the same day as the present application and entitled "DETERMINING TRIGGERS FOR CLOUD-BASED EMULATED GAMES". The mini-games may be made by providing an emulator with game inputs that bring the emulated game to a certain point where the mini-game will begin. A snapshot may be generated according to aspects of the present disclosure and that point may be used as the used as the starting point in the future mini-game. Thereafter, triggers may be generated in order to provide new experiences for the game. Game designers may then develop a script and combine it with the snapshot and triggers to produce the mini-game. Therefore, in order to design mini-games in this manner, there is a need in the art for a method of quickly generating snapshots.

[0018] A snapshot may be a recorded description of the state of every device being emulated at a designated time during the emulation according to an aspect of the present disclosure. A snapshot may be generated by a snapshot generator. First the snapshot generator delivers game inputs to an emulator. The emulator receives the game inputs and proceeds to emulate the game according to the game inputs. At some point during the emulation, the snapshot generator delivers a suspension request to the emulator. Once the suspension request is received, the emulator will suspend the emulated title at the next point in time at which all devices being emulated are in a steady state. As used herein, steady state means that there are no asynchronous activities occurring in the emulator. At this steady state, the emulator generates a snapshot of the emulated game by recording the current state of all devices being emulated. The snapshot is then delivered to the snapshot generator.

[0027] By way of example, a legacy game 106 may be any game that is not compatible with a target platform. By way of example and not by way of limitation, the legacy game 106 may have been designed to be played on Sony Computer Entertainment's PlayStation console, but the target platform is a home computer. By way of example, the legacy game 106 may have been designed to be played on a PlayStation 2 console, but the target platform is a PlayStation 3 console. Further, by way of example and not by way of limitation, a legacy game 106 may have been designed to be played on a PlayStation console, but the target platform is a hand held console such as the PlayStation Vita from Sony Computer Entertainment.

The images aren't very exciting (apart from Sheet 3 perhaps), but I include them anyway:

27asls.png


38hscx.png


4x0smg.png


59vsui.png


BRIEF DESCRIPTION OF THE DRAWINGS

[0010] FIG. 1 is a schematic diagram of a snapshot generator and an emulator communicating over a network according to an aspect of the present disclosure.

[0011] FIG. 2 is a flow diagram illustrating a method of producing a snapshot for an emulated game according to an aspect of the present disclosure.

[0012] FIG. 3A is a schematic diagram illustrating the process of the snapshot generator delivering legacy game input data to the emulator according to an aspect of the present disclosure.

[0013] FIG. 3B is a schematic diagram illustrating the process of the snapshot generator delivering a legacy game suspension request to the emulator, and in response the emulator delivers the snapshot to the snapshot generator.

[0014] FIG. 4A is a block diagram describing the instructions for how the snapshot generator generates a snapshot according to an aspect of the present disclosure.

[0015] FIG. 4B is a block diagram describing the instructions for how an emulator generates a snapshot according to an aspect of the present disclosure.
 
This sounds like a possible way to get past any portions of a game that require skilled timing or reflexes (a problem for Gaikai) by being able to dynamically substitute a minigame in their place.
 
By reading it I figured it meant that it would stop the game and add something into it out of nowhere, like you're walking on a road and the game stops it and adds something absolutely weird like an out of nowhere monster or something and then it resumes playing.
Seeing what everyone is talking about above I clearly have no idea how to read these things. So it's a save state patent?
 

benny_a

extra source of jiggaflops
QTEs have now retroactively ruined every game that was ever made.
But what if you could add QTEs to games that don't have them?

Or add easier QTEs for games that have too hard QTEs? Think of the possibilities.

Edit: When I pressed quote the post was different, now it's just redundant and unfunny. :-(
Now I'm just spamming this thread.
 
When the Gaikai thing is unveiled I'm going to laugh mega hard at the people who thought it'd be a magic bullet for the backwards compatibility problem.
 
I'm confused as to what this even means... am I gonna be able to save Aeris now or what?

Seriously though... I never got why PS1 classics never had any save state options in them on PS3. What's up with that?
 

Timeaisis

Member
It's a save state patent for proprietary Sony games/devices. The patent further makes it clear the save state can be used for "incorporating new content into the emulated video games." Probably by means of like a "wrapper" game with a built-in emulator that swaps between emulation and new content. Probably similar to how NES Remix plays.

It's all just tech that's been out there, Sony is just putting a few things together to make a patent out of it (save states, cloud saves, emulation "hacking").

EDIT: I also think this whole thing has something to do with their PS Classics strategy. If the PS4 can't emulate PS1 or 2, they can use this technology to make a even higher-level layer to wrap their emulated game in. Potentially, this means that Gaika wouldn't be the only solution to PS1 classics on PS4. But that is to be seen.
 

WalkMan

Banned
Is this like an abstraction level above the emulation? So I can augment old games with additional features and query the game state as a developer? Seems to me this holds potential strength in instrumenting older games in a variety of ways. The most familiar right now is to compare to NES remix. But if we think outside the box, a developer can utilize gaikai to create a game overlay to grab from several PSone games underneath, so in this way the game isn't a standalone package but instruments from several gaikai sources. It's a new methodology in game development basically. Games as sources of media streams rather than standalone.
 

nasanu

Banned
By reading it I figured it meant that it would stop the game and add something into it out of nowhere, like you're walking on a road and the game stops it and adds something absolutely weird like an out of nowhere monster or something and then it resumes playing.
Seeing what everyone is talking about above I clearly have no idea how to read these things. So it's a save state patent?

No, its just the general level of comprehension is not quite up to par. You got it, it not just about cloud saves, it is a hell of a lot more than that.
 

Timeaisis

Member
So you think Sony will have TWO could based gaming services? Or did you just miss the whole cloud based bit?

No. I think anything streaming is going to run on Gaika. Just because they are using the cloud for save states doesn't mean it's streaming.

What I mean by Gaika not being the only solution, is that potentially with this technology you can have a save state from a PSOne classic on your PS3...say FFVII, and "transfar" it to your PS4 by means of cloud based storage. Your PS4 (even though it can't technically emulate PS1 games) can then use this save state to incorporate into it's own game. Potentially, that "game" could just be remake or PS4 version of a PSOne classic to begin with.
 
If the "mini games" are able to alter the state of the generated snapshot, this is a perfect way to insert microtransactions into old games without code changes.

Running low on health? Wanna buy some?
 

gofreak

GAF's Bob Woodward
I thought more interesting about the patent was that it got into some very specific details about various latency saving techniques while using emulation of a target processor, with some PS2 specifics cited:

According to additional aspects of the present disclosure in a cloud-based emulation of legacy games it is desirable to run threads independently while reducing latency because the games are going to be served over the cloud. It is desirable to reduce latency within each instance of a game and to reduce latencies when there are multiple instances of the same game on a given server. One source of latency is due to the fact the emulation of the GPU is not currently synchronized with emulation of everything else. Buffering a lot of commands before GPU starts can produce 15 to 30 ms of latency. In order to fix this, the emulator may save time by running things in parallel. For example, the emulator may run GPU emulation in parallel with the CPU emulator. Nominal GPU latency variance may be 20-30 ms. There is also an encoder latency, which has to start about 6 ms after GPU. However, 20 ms of latency may be saved by actually delaying the start of the GPU until after the CPU has processed the first few sets of frames. Certain types of CPU (e.g., the EE on the PS2) may finish the processing of these frames in 10-12 ms. By buffering the CPU output and waiting until it is done before sending the output to the GPU the GPU can be provide with a lot of work that can be run in parallel with the CPU's processing of the next group of frames.

So while Sony has publicly name-checked PS3 games thusfar, I reckon it won't be very long before PSX and PS2 games are on the system. It seems like they've been investigating the technicalities already and they always seemed, perhaps, the easier target anyway.
 

Andrefpvs

Member
Isn't this kind of similar to how they wanted to implement trophies into older titles?

Maybe it's that?

I think their patent to implement trophies in older games (PS1 games, etc) had more to do with RAM monitoring and disk access triggers: Sony Patent Application - Trophies in past-gen trophy-less titles

Which I thought was REALLY interesting. And some games, like RPGs (Final Fantasy VII trophies, anyone?), wouldn't be hard to implement trophies into, just check variable states at all times and trigger the trophies.


This new patent appears similar, but I think it involves modifying the snapshot as it is sent to the player? Unless I missed something.
 

Alx

Member
Abstract

A snapshot of an emulated game may be generated by a snapshot generator. At some point during the emulation of the emulated game, a snapshot generator delivers a suspension request to an emulator. Once the suspension request is received, the emulator will suspend the emulated title. The emulator generates a snapshot of the emulated game by recording the current state of all devices being emulated. The snapshot is then delivered to the snapshot generator.

I hate patent speak so much. Repeating the same words over and over but in different ways, it feels like it's written by Rain Man.
 

VanWinkle

Member
When the Gaikai thing is unveiled I'm going to laugh mega hard at the people who thought it'd be a magic bullet for the backwards compatibility problem.

There are probably five people on earth at the most who think Gaikai will be a completely backwards compatibility solution.

Although I have no idea why you even brought that up in this thread.
 
This sounds like a possible way to get past any portions of a game that require skilled timing or reflexes (a problem for Gaikai) by being able to dynamically substitute a minigame in their place.

Or times when your connection is chopping up/lagging, kicking you to a mini-game rather than the main menu.
 

Brannon

Member
Wouldn't it be easier to find a way to meet with the guys that made PCSX2 and put custom wrappers on each game? Surely it would be cheaper and easier to do and deal with than the Gaikai/Onlive type of solution. Surely the hardware is powerful enough to handle the emulator?

Yeah, yeah, legal issues out the ass but...

Dreams.
 

viveks86

Member
This is really interesting. Looks like we aren't just looking at plain vanilla emulation. I wonder where this fits in their roadmap for Gaikai.
 

False

Member
Couldn't they add advertising into the streaming game with this as well, like every streaming service out there?
 

omonimo

Banned
I want to play backward game on my console, not in the cloud server. I hate when server not work. But it's ot.
 

rbanke

Member
Software patents has come down to: "If we don't, someone else will, so do it to see if we can" and a lot of shit goes through.

Also if they don't they might not be able to use it because someone else did. The whole patent system needs a deep overhaul.
 
Top Bottom