Adapting a game state to be compatible with a new version of a game
First Claim
1. A method in a computing system for adapting saved states used with a first version of a game for use with a second version of the game, comprising:
- comparing source code for the first version of the game to source code for the second version of the game to identify changes from the source code for the first version of the game to the source code for the second version of the game;
among the identified changes, selecting those that add a new dependency on state;
for each selected change, automatically generating a state modification rule that satisfies the new dependency added by the change;
storing the state modification rules together; and
in instructions used by the second version of the game to load saved states;
loading the current saved state;
determining whether the current state is used with the first version of the game; and
if the current state is used with the first version of the game;
retrieving the stored state modification rules;
in conjunction with loading the current state, applying the retrieved state modification rules to modify the loaded state; and
identifying the loaded state as being used with the second version of the game.
3 Assignments
0 Petitions
Accused Products
Abstract
A facility for adapting states used with a first version of a game for use with a second version of a game is described. The facility compares the first and second versions of the game to identify dependencies on the state of the second version of the game not shared by the first version of the game. The facility automatically generates a rule to modify states used with the first version of the game to satisfy the identified dependency. For each of one or more states used with the first version of the game, the facility applies the generated rule to the state to adapt the state for use with the second version of the game.
-
Citations
31 Claims
-
1. A method in a computing system for adapting saved states used with a first version of a game for use with a second version of the game, comprising:
-
comparing source code for the first version of the game to source code for the second version of the game to identify changes from the source code for the first version of the game to the source code for the second version of the game;
among the identified changes, selecting those that add a new dependency on state;
for each selected change, automatically generating a state modification rule that satisfies the new dependency added by the change;
storing the state modification rules together; and
in instructions used by the second version of the game to load saved states;
loading the current saved state;
determining whether the current state is used with the first version of the game; and
if the current state is used with the first version of the game;
retrieving the stored state modification rules;
in conjunction with loading the current state, applying the retrieved state modification rules to modify the loaded state; and
identifying the loaded state as being used with the second version of the game.
-
-
2. A method in a computing system for adapting states used with a first version of a game for use with a second version of the game, comprising:
-
comparing the first and second versions of the game to identify dependencies on the state of the second version of the game not shared by the first version of the game;
automatically generating a rule to modify states used with the first version of the game to satisfy the identified dependency; and
for each of one or more states used with a first version of the game, applying the generated rule to the state. - View Dependent Claims (3)
-
-
4. A method in a computing system for analyzing a new version of a computer program, comprising:
-
comparing state data definitions of the new version of the computer program with state data definitions in a previous version of the computer program; and
if the comparison indicate that a data item moved in the state data hierarchy from an old location to a new location, generating an indication that, when state data generated by the previous version of the computer program is to be used with the new version of the computer program, the data item should be mapped from the old location to the new location. - View Dependent Claims (5, 6, 7, 8, 9, 10)
-
-
11. A computer-readable medium whose contents cause a computing system to adapt states used with a first version of a game for use with a second version of the game by:
-
comparing the first and second versions of the game to identify dependencies on the state of the second version of the game not shared by the first version of the game;
automatically generating a rule to modify states used with the first version of the game to satisfy the identified dependency; and
for each of one or more states used with a first version of the game, applying the generated rule to the state. - View Dependent Claims (14, 15, 16, 18, 19)
-
-
12. A computing system for analyzing a new version of a computer program, comprising:
-
a comparison subsystem that compares state data definitions of the new version of the computer program with state data definitions in a previous version of the computer program; and
a recommendation subsystem that, if the comparison indicate that a data item moved in the state data hierarchy from an old location to a new location, generates an indication that, when state data generated by the previous version of the computer program is to be used with the new version of the computer program, the data item should be mapped from the old location to the new location.
-
-
13. A method in a computing system for generating rules relative to a game whose code base has been revised from an old version to a new version that has new dependencies on state, comprising:
-
constructing a rule that, when applied to a game state generated by the old version of the game'"'"'s code base, will modify the game state to satisfy the new dependencies on state introduced by the new version of the game'"'"'s code base;
storing the constructed rule; and
storing an indication that the stored rule is to be applied to a game state generated by the old version of the game'"'"'s code base that are to be used with the new version of the game'"'"'s code base.
-
-
17. One or more computer memories collectively containing a game state update rule data structure, comprising:
-
(a) information usable to select one or more data items in a game state generated by a first version of game code; and
(b) information identifying a transformation on selected data items in a game state generated by the first version of game code, the transformation satisfying a dependency of a second version of game code on game state, such that, when a distinguished game state generated by the first version of game code is to be used by the second version of game code, (a) can be used to select in the distinguished game state data items to be transformed, and (b) can be used to transform the selected data items to satisfy a dependency of a second version of game code on game state.
-
-
20. A method in a computing system for applying game state modification rules to game states used by a game, comprising:
-
when a game state is loaded by a present version of the game, reading an indication of the version of the game with which the game state is compatible;
if the read indication indicates that the game state is compatible with a version of the game earlier than the present version, modifying the loaded game state by;
selecting one or more game state modification rules indicated to transform game states compatible with the version of the game indicated by the read indication into game states compatible with the present version of the game; and
applying the selected game state modification rules to the loaded state. - View Dependent Claims (21, 22, 23, 26, 27, 28, 29)
-
-
24. A computer-readable medium whose contents cause a computing system to apply game state modification rules to game states used by a game, comprising:
-
when a game state is loaded by a present version of the game, reading an indication of the version of the game with which the game state is compatible;
if and only if the read indication indicates that the game state is compatible with a version of the game earlier than the present version;
selecting one or more game state modification rules indicated to transform game states compatible with the version of the game indicated by the read indication into game states compatible with the present version of the game; and
applying the selected game state modification rules to the loaded state; and
modifying the loaded game state by modifying the indication of the version of the game with which the game state is compatible to indicate that the game state is compatible with the present version of the game.
-
-
25. A method of serializing a set of object instances residing on a heap, comprising:
-
visiting object instances residing on the heap by traversing the heap in breadth-first order;
for each object instance visited as part of the traversal, adding the class and data member values of the visited object instance to an intermediate data store; and
generating a stream representation of the set of object instances from the contents of the intermediate data store.
-
-
30. One or more computer memories collectively containing a serialized object data structure representing a plurality of object instances, comprising:
-
a first table listing, for each class represented among the plurality of object instances;
an index for the class; and
a full name of the class;
a second table listing, for each class represented among the plurality of object instances;
a class index for the class;
a full name of a superclass of the class; and
a persistent field table identifying, for each persistent field of the class, a name of the persistent field and a type or class of the persistent field;
a third table listing, for each object instance among the plurality of object instances, the index of the class of the object instance; and
a linear dump of the values of the persistent fields for all object instances in the order of the third table. - View Dependent Claims (31)
-
Specification