U.S. Pat. No. 10,363,481

SYSTEM FOR MULTI-USER COMMUNICATIONS USING DISCRETE VIDEO GAME PLATFORMS

AssigneeNintendo Co., Ltd.

Issue DateJune 30, 2016

Patent Arcade analysis Read the full post

U.S. Patent No. 10,363,481: System for multi-user communications using discrete video game platforms

U.S. Patent No. 10,363,481: System for multi-user communications using discrete video game platforms

Issued July 30, 2019, to Nintendo Co. Ltd
Filed June 30, 2016 (claiming priority to August 21, 2001)

Overview:

U.S. Patent No. 10,363,481 (the ‘481 patent) relates to player characters having and visiting unique player environments through coupling hardware, allowing nonplayer characters (“NPCs”) to move in and out of the environments and some NPCs to become accessible. The ‘481 patent details a game-playing system with several game-playing devices, each device having instructions for establishing and running a unique gaming environment, including resident characters, determined (at least in part) by random data. Game data is stored on a physically moveable handheld object (a “memory card”), coupleable to individual game-playing devices.

When a first game-playing device is executing the game software, it is configured to present a first gaming environment. When executing the game, the first game-playing device reads character-related data from at least one memory card to activate an avatar in the first gaming environment, usable in the environment, on the condition it is coupled to at least one memory card.

The game-playing device modifies the character data, consistent with player interactions with the software, and writes the modified data onto at least one memory card. The avatar is made unavailable in the first gaming environment in response to a decoupling of at least one memory card from the device, but can become available upon recoupling. The game playing device still allows interaction with the first gaming environment despite a memory card being no longer coupled.

A second game-playing device executing the game software presents a second gaming environment, different from the first. In response to at least one memory card being coupled to the second game-playing device after the modified character-related data has been written on said memory card, the game-playing device reads the modified data to activate the avatar in the second gaming environment, now with modified attributes. The modified character-related data is further modified consistent with the player’s interactions with the software.

Successive coupling involving at least one memory card enables another character, different from the avatar, to be available in the gaming environments of the coupled-to game-playing devices without player knowledge of at least the initial transfer.

The ‘481 patent relates to Animal Crossing for the GameCube, specifically visiting other players’ towns and the moving in and out of characters.

The ‘481 patent also includes the Gyroid/Haniwa face Easter egg, which is a replacement face for an avatar if it is loaded while “out of town” or the character-associated memory card is not plugged in.

Nowadays, when one wants to visit their friend’s Animal Crossing village (or island as in Animal Crossing: New Horizons), they simply need to connect to the internet and enter a friend code (or a Dodo code) to make a quick trip. The GameCube version, on the other hand, had two memory card slots which could be used for village visiting. To visit a friend’s village, you would simply plug the memory card associated with their village into memory card slot B, load into your village as normal (with the normal memory card associated with your village in slot A), and hop on the train in your village to check out their town. If the friend would try to load into their village, on their GameCube without the memory card, their character would load with the dreaded Gyroid face.

Every time players would visit each other’s worlds, villagers would move from one village to the other. This was really upsetting to some young players, so subsequent versions have grown less and less harsh about villagers moving. It is also possible that the enabling of characters not previously available in the ‘481 patent relates to Blanca, who appears only on the train in between villages, as well as new villagers or existing villagers from a friend’s village moving in.

With Nintendo discontinuing Wi-Fi service for the Nintendo DS and Wii, Animal Crossing: Wild World and Animal Crossing: City Folk, no longer have multiplayer, making the GameCube Animal Crossing one of the only older installments in the series still offering the ability to visit friends’ worlds. This method of game sharing has made it one of the most long-lasting!

 

Abstract:

A multi-user video game with communications capabilities allows players to communicate with one another via simulated mail, leaflets and conversations. Different installations of the game on different discrete video game playing platforms may be unique or different depending upon random or other data available at the platform. For example, different installations may have different subsets of characters, different landscapes, or the like. Player characters from one virtual environment or village may visit another virtual environment or village and return home to his or her resident environment or village. Non-player characters may move from one virtual environment or village to another—thereby providing an ever-changing variety of characters. Communications between different game playing platforms can be provided via portable memory devices, portable game playing devices, or conventional communications means such as networks.

 

Illustrative Claim:

  1. A game-playing system comprising:

a plurality of game-playing devices, each game-playing device being configured to execute, using a processor thereof, game software, the game software including instructions to establish a unique gaming environment for the game-playing device on which it is being executed, the respective gaming environments each including resident characters and being based at least in part on random data; and

at least one physically movable, portable handheld object including non-volatile read/write memory that tangibly stores game character-related data usable in connection with the game software, the at least one object being intermittently coupleable to individual ones of the game-playing devices, wherein the at least one object is not a game-playing device in the plurality of game-playing devices;

wherein a first game-playing device from the plurality of game-playing devices executing game software thereon is configured to present a first gaming environment and, consistent with player-interaction with the game software being executed thereon:

read character-related data from the at least one object to activate an avatar in the first gaming environment, the avatar having attributes defined at least in part by the read character-related data and being usable in the first gaming environment conditioned on the at least one object being coupled to the first game-playing device,

modify the character-related data,

write the modified character-related data to the at least one object, and

make the avatar unavailable in the first gaming environment, responsive to decoupling of the at least one object from the first game-playing device, the first game-playing device still permitting player-interaction with the first gaming environment even though the at least one object is no longer coupled thereto;

wherein a second game-playing device from the plurality of game-playing devices, different from the first game-playing device, executing game software thereon, is configured to present a second gaming environment that is different from the first gaming environment and:

responsive to the at least one object being coupled to the second game-playing device after the modified character-related data has been written to the at least one object, read the modified character-related data from the at least one object to activate the avatar in the second gaming environment, the avatar now having modified attributes defined at least in part by the read modified character-related data and now being usable in the second gaming environment conditioned on the at least one object being coupled to the second game-playing device, and

further modify the modified character-related data, consistent with player-interaction with the game software being executed on the second game-playing device;

wherein the at least one object is manufactured to include a human-perceivable visual appearance that correlates with how the avatar is to be displayed in the gaming environments presented by the respective game-playing devices;

wherein successive coupling operations involving the at least one object enable a further character, different from the avatar, to be made available in the gaming environments of successively coupled-to game-playing devices without human game-player knowledge of at least the initial transfer to the at least one portable object.

Illustrative Figure

Abstract

A multi-user video game with communications capabilities allows players to communicate with one another via simulated mail, leaflets and conversations. Different installations of the game on different discrete video game playing platforms may be unique or different depending upon random or other data available at the platform. For example, different installations may have different subsets of characters, different landscapes, or the like. Player characters from one virtual environment or village may visit another virtual environment or village and return home to his or her resident environment or village. Non-player characters may move from one virtual environment or village to another—thereby providing an ever-changing variety of characters. Communications between different game playing platforms can be provided via portable memory devices, portable game playing devices, or conventional communications means such as networks.

Description

DETAILED DESCRIPTION FIG. 1shows an example illustrative non-limiting implementation of a multi-user dialog gaming environment100defined by a plurality of home video game platforms50. In the example non-limiting implementation, each home vide game platform50includes a main unit that is connected to a suitable display56such as a home color television set and is also connected to a user input device such as for example a handheld controller52. In the example illustrative non-limiting implementation shown, players interact with each of the home video game platforms50by operating controls on handheld controller52to cause an interactive real-time video game to be displayed on display56. In an illustrative exemplary non-limiting implementation, each of handheld video game platforms50is programmed using a replaceable mass storage device such as for example an optical disk62storing executable video game software. This video game software programs the various video game platforms50to play particular video games. In the example illustrative non-limiting implementation, each of the discrete video game platforms50is programmed to play the same overall multi-user dialog role-playing video game. In more detail, in an example non-limiting implementation, each of the players H purchases or otherwise obtains an optical disk or other mass storage device62(not shown inFIG. 1) that contains the particular role-playing game, and inserts this mass storage device into his or her home video game platform50in order to play the role playing game. In accordance with one aspect of the illustrative exemplary non-limiting implementation, random or other data (e.g., based upon a real-time clock, exact delay time between operations of the handheld controller52, or the like) available at the home video game platform is used by the role-playing video game to set up and define a local virtual environment202. For example, random data available at setup time at home video game platform50(1) is used to set up a virtual environment202(1) associated, for ...

DETAILED DESCRIPTION

FIG. 1shows an example illustrative non-limiting implementation of a multi-user dialog gaming environment100defined by a plurality of home video game platforms50. In the example non-limiting implementation, each home vide game platform50includes a main unit that is connected to a suitable display56such as a home color television set and is also connected to a user input device such as for example a handheld controller52. In the example illustrative non-limiting implementation shown, players interact with each of the home video game platforms50by operating controls on handheld controller52to cause an interactive real-time video game to be displayed on display56. In an illustrative exemplary non-limiting implementation, each of handheld video game platforms50is programmed using a replaceable mass storage device such as for example an optical disk62storing executable video game software. This video game software programs the various video game platforms50to play particular video games.

In the example illustrative non-limiting implementation, each of the discrete video game platforms50is programmed to play the same overall multi-user dialog role-playing video game. In more detail, in an example non-limiting implementation, each of the players H purchases or otherwise obtains an optical disk or other mass storage device62(not shown inFIG. 1) that contains the particular role-playing game, and inserts this mass storage device into his or her home video game platform50in order to play the role playing game. In accordance with one aspect of the illustrative exemplary non-limiting implementation, random or other data (e.g., based upon a real-time clock, exact delay time between operations of the handheld controller52, or the like) available at the home video game platform is used by the role-playing video game to set up and define a local virtual environment202. For example, random data available at setup time at home video game platform50(1) is used to set up a virtual environment202(1) associated, for example, with a village defined within a virtual country, forest or world. This village virtual environment202(1) may have a number of dwelling places204, player characters206, non-player characters208, and objects210defined within it. Because these various dwelling places, characters206,208and objects210are defined in part by data or information supplied by the system50, the virtual environment202(1) will be unique to the specific home video game platform50(1) and associated player H(1). Similarly, different virtual environments202(2),202(N) may be defined by any number of additional home video game platforms50(2), . . .50(N) and associated players H(2), . . . H(N).

In the example, illustrative exemplary non-limiting implementation, each home video game platform50is capable of playing a role playing game within the corresponding virtual environment the home video game platform sets up and defines. Thus, in a single or multi-player mode, each home video game platform50allows its corresponding player(s) H interact with a corresponding virtual world202. For example, the player H can define his or her own personalized alter ego (“avatar”) player character206. This player character206can have particular personality, appearance and other characteristics that are defined and specified by the player H. The player H can, for example, customize the appearance of the player character206by importing and defining graphics used for the player character's clothing or accessories.

Once the player H has defined a corresponding player character206, the player may control his or her player character206to move through and explore the virtual environment202. In the course of moving through and exploring the virtual environment, the player character206may meet other characters such as, for example, non-player characters208defined by the game. The player character206may communicate with the non-player characters208and carry on conversations with them. The player character206may also customize his or her dwelling204, gather objects210, and do a variety of other activities (e.g., fishing, gathering food, hunting, writing songs, stories or poetry, or the like). In the example non-limiting implementation, all of these activities are simulated and controlled locally by the player H's own local home video game platform50.

The home video game platform50may make use of local, non-volatile writable storage (e.g., flash memory within a video game or other memory cartridge, battery-backed random access memory within a memory expansion port, mass storage within a writable mass storage device, etc.) to store the various parameters developed during game play between one game play session and another. In this way, the player H can play the role playing game on a succession of different days over the course of weeks or months. Each time the game is started, it recalls previously stored data to maintain a historical record of the player H′s prior game playing experiences (e.g., objectives accomplished, objectives lost, interactions with other characters, objects located, etc.).

In accordance with one aspect provided by the illustrative non-limiting implementation, non-player characters208“remember” their interactions with player characters206. For example, suppose that during a particular game playing session, player character206had a conversation with non-player character208about a particular subject. In the illustrative exemplary non-limiting implementation, the non-player character will remember some aspect of this conversation (this is accomplished by home video game platform50recording, in writable non-volatile memory, the content of the conversation and other events surrounding it). During a subsequent game playing session that may be weeks or months later, when the player character206again meets the non-player character208, the non-player character may recall and discuss the previous conversation it had with the player character. This provides a high degree of realism and authenticity and makes the game playing experience more enjoyable.

In the illustrative exemplary non-limiting implementation, the passage of time within virtual game environment202is synchronized (via a real-time clock operating within home video game platform50and or by other means) to the actual time, day and date within the real world. Thus, for example, if player H plays the role playing game in the winter months, the landscape within virtual environment202might be snow covered or decorated with Christmas lights. If the player H plays the role playing game in the summer months, the virtual game environment202may simulate heat and growing plants and vegetables. Similarly, if the player H plays the role playing game in the Fall, the game may simulate Fall by having the trees within the virtual environment202change colors and make the weather colder.

While in the example non-limiting implementation each home video game platform50is capable of playing the illustrative role playing game in an entirely stand-alone mode without communicating any data to any other home video game platform, game play is made more interesting, varied and fun by providing data communications capabilities allowing different home video game platforms50to communicate data with one another concerning the role playing game. In the exemplary illustrative non-limiting implementation, home video game platforms50may be but are not necessarily “networked” together in the traditional sense. In particular, in one illustrative example, home video game platforms50are not connected to any interactive network such as the Internet, nor do they need to be so connected in order to play the role playing game provided by the exemplary non-limiting implementation. While the role playing game could make use of conventional network connections, such network connectability is not required in order to play the illustrative role playing game described herein.

In more detail, the exchange of a limited amount of data between the various portable home video game platforms50may be used to permit virtual characters and/or objects to travel between the associated virtual game environments202. For example, it is possible for a player character206originating in the virtual game environment202(1) defined by home video game platform50(1) to travel to and visit the virtual game environment202(2) defined by another home video game platform50(2). Since the virtual game environment202(2) set up by home video game platform50(2) is different from the virtual game environment set up by home video game platform50(1), allowing player H(1) and his associated player character206to visit the other virtual game environment202(2) will be very interesting. The player H(1) will have become familiar with his own virtual game environment202(1), so visiting a different virtual game environment will be fun. Moreover, the player H(1) through his player character206may have been searching for a number of different objects or meet a number of non-player characters208in order to fulfill certain objectives or quests, but may have been unable to locate certain such objects or characters because they do not exist in his own associated virtual game environment. However, such objects or characters may be found in a different virtual game environment202(2). In accordance with the illustrative non-limiting implementation, the player character206may bring objects210with him or her when he visits a different virtual game environment202(2), and similarly may bring objects from the other virtual game environment (and a record of characters he or she met there) back with him or her to the home virtual game environment202(1).

In accordance with a further aspect of the illustrative non-limiting implementation, non-player characters208may also move between virtual game environments202. For example, a particular non-player character208originally inhabiting virtual game environment202(1) and having experienced events and met player characters206within that virtual game environment may move to a different virtual game environment202(2). For example, there may be hundreds of different non-player characters208that the role-playing video game can support and define. However, in one exemplary non-limiting implementation, only a small subset of those non-player characters208(e.g., on the order of a dozen or so) may inhabit or reside in any given virtual game environment instance202. This means that different virtual game environment instances202will be inhabited by different non-player characters208—making a visit to a different virtual game environment that much more interesting. However, to further increase the interest level, non-player characters208can move from one virtual game environment instance202to another in the preferred, exemplary non-limiting implementation. Generally, the preferred exemplary non-limiting implementation causes the non-player characters208to trade locations (i.e., when one non-player character moves out of a particular virtual game environment instance202, another moves in in its place). However, in certain circumstances in the preferred exemplary non-limiting implementation, it is possible for one non-player character208to move in without replacing another non-player character (e.g., if there are already too few non-player characters within the particular virtual game environment instance202). In any event, a constantly changing cast of non-player characters208increases the level of interest of game play, and also encourages players to establish an ever-widening network of friends who are playing the game. This effect further increases the level of interest and excitement, and also encourages increased sales of the game as more people become interested in participating.

In the example non-limiting implementation, a non-player character208may move from one virtual game environment instance202to another while retaining its memories of the original game environment. The non-player character208once it is moved to the new virtual game environment202(2) may, for example, have conversations with player characters206in the new virtual game environment about its experiences and the player characters206it met in the virtual game environment(s)202(1) it formerly resided in. This provides a high degree of real life simulation and realism, and also adds a substantial amount of interest to the game play.

In accordance with yet a further aspect of the illustrative non-limiting implementation, mail can be sent between virtual game environments202in order to permit a player character206in one virtual game environment to communicate with a player character in another virtual game environment202(2). One illustrative non-limiting implementation supports only a single player at a time at each home video game platform50, so such recorded communication between players H can be important in allowing players to coordinate efforts with one another as well as to exchange information about the game play or other matters.

As shown inFIG. 1, any number of virtual game environments202(1),202(2), . . .202(N) can be established using associated home video game platforms50(1),50(2), . . .50(N). Each individual virtual game environment202can be unique, but they are all compatible with one another in the sense that it is possible to exchange data between them to provide certain types of sharing or transfer or virtual game environment characteristics from one environment instance to another. Increased numbers of instances of virtual game environments202may provide an increased level of interest and excitement in the game play because of the increased possibilities of sharing different non-player characters208between the various environments. For example, each individual virtual game environment202may have only a certain number of non-player characters out of a much wider assortment of possible characters—but different instances of the virtual game environment202will have different active subsets of non-player characters. Therefore, an increased total number of virtual game environments202that are being used to share data means an increased overall variety of total active non-player characters208within an associated community of players H.

Example Illustrative Techniques for Exchanging Data Between Home Video Game Platforms50and Associated Virtual Game Environments

As explained above, it is helpful to the operation of the exemplary illustrative non-limiting implementation herein that the various home video game platforms50be networked together in the sense that they are able to exchange and communicate data to one another. It is not necessary or essential to the preferred exemplary illustrative non-limiting implementation that any sort of a networked, central game server be provided to control the operations of the various home video game platforms50. Rather, in the illustrative non-limiting implementation, game play is distributed throughout a collection of stand-alone, essentially autonomous home video game platforms50each of which is able to play the role play game independently without requiring any input or other data from any other home video game platform or other source. However, as discussed above, game play becomes much more varied and interesting if it is possible to exchange data between the various home video game platforms50, since this allows characters, objects, mail, and other information to pass between the different instances of virtual game environment202.

Generally, each home video game platform50in the exemplary illustrative non-limiting implementation includes some amount of writable storage capability. This writable storage capability is used to provide a “memory” for the virtual game environments202set up by execution of the role-playing game on the various home video platforms50. Such non-volatile memory recording the game environment202parameters, the characteristics of the player characters206, the personalization of the environment and associated dwellings204, the set of non-player characters208and objects210defined within that particular instance of the virtual game environment, and the history and experiences of the various characters206,208are preferably stored at the end of (or during) each game play session in non-volatile storage NVS (seeFIG. 2) so they are available during the next game play session. This non-volatile storage NVS contents is also used to maintain the customization and uniqueness of a given virtual game environment202.

In the example non-limiting implementation, some subset of the data within the non-volatile storage NVS associated with one instance of virtual game environment202may be exchanged (i.e., shared or transferred) with another virtual game environment. If the entire non-volatile storage NVS contents associated with one virtual game environment202(1) were transferred and used by another virtual game environment202(2), that other virtual game environment202(2) might lose its uniqueness (as would the original virtual game environment292(1)) because the states of the two virtual game environments could become identical. Therefore, in accordance with an aspect provided by the exemplary illustrative non-limiting implementations, some of the non-volatile storage NVS contents are not transferred between virtual game environments202. Rather, only a subset of the non-volatile storage NVS contents is exchanged or transferred between virtual game environments202.

In accordance with a further aspect provided by an illustrative non-limiting implementation, some subset of data within non-volatile storage NVS may be transferred permanently to another virtual game environment202and deleted from the NVS associated with the original virtual game environment. Other data is shared only temporarily. Still other data is not shared but remains within the originating virtual game environment. Such different techniques for sharing, exchanging and/or transferring data are used to allow player characters206to temporarily visit other virtual game environment instances202and subsequently return “home” to their own virtual game environment while allowing certain non-player characters208, objects210, and letters or mail to be transferred between virtual game environments so that they start out in one virtual game environment and move to another virtual game environment without being both virtual game environments simultaneously.

The particular mechanism used to provide data communications between different video game platforms50and associated virtual game environments202depends on the storage and other capabilities of the particular video game platforms50. For example, one type of commonly known video game platform stores video game programs within portable, interchangeable video game cartridges. Such cartridges typically include read-only memory for storing video game software, and also include read/write semiconductor memory (e.g., so-called “flash” random access memory, electrically erasable programmable read only memory, etc.) allowing data to be written into the game cartridge and stored there in non-volatile form for later retrieval. Such video game platforms may also include additional non-volatile storage in the form of, for example, an expansion memory module that can be plugged into the handheld controller52or other port on the video game platform50. Such a memory storage architecture can be used to facilitate exchange of data between virtual game environment instances202in the preferred exemplary non-limiting implementation. As one example, the video game cartridge including its associated internal flash memory might define an associated instance of a virtual game environment202, but might not necessarily be used for sharing data between virtual game environment instances202. In such an architecture, portable non-volatile memory modules that are plugged into handheld controllers52or other ports on the home video game platform50might be used to store data to be exchanged or shared with another virtual game environment instance202. In such an exemplary arrangement, data can be shared between home video game platforms50and associated virtual game environment instances202by a player H physically carrying a portable non-volatile memory from one video game platform50to another and coupling the non-volatile storage to the other home video game platform in order to share the data with it.

Other home video game platform50configurations may provide portable semiconductor writable memory devices such as, for example, memory cartridges, memory cards, or memory strips that can be used to transfer data between home video game platforms. In still other home video game platform50configurations, magnetic disk, magnetic tape, magnetic stripe or other portable writable memory may be available to read data from and write data to. In still other home video game platform50configurations, it may be possible to transfer a limited amount of data from one home video game platform to another manually (e.g., by displaying codes on the display56of the originating home video game platform and manually inputting these codes into the receiving home video game platform. In still other configurations, writable optical disks or other types of optical memories may be used to transfer data. The exemplary illustrative non-limiting implementations herein are intended to cover all such variations.

One example data sharing arrangement is illustrated inFIGS. 3A-3E. Referring toFIG. 3A, a player H(1) uses his own video game platform50(1) to play the role playing game and to create an instance of a virtual game environment202(1). After performing a data save onto a portable memory M coupled to the home video game platform50(1), the player H(1) removes the portable memory from his own home video game platform (seeFIG. 3B) and takes it to a friend's house (seeFIG. 3C). At the friend's house, the player H(1) inserts the memory M into his friend's home video game platform50(2). The player H(1) and/or his friend H(2) may now play the role playing game using the friend's instance of virtual game environment202(2) into which characters, objects and information originating in the original instance of the role playing virtual game environment202(1) have been shared or injected (seeFIG. 3E). Similarly, the friend's home video game platform50(2) may write certain data onto the portable memory M which, when returned to the original home video game platform50(1) and coupled to the original instance of the virtual game environment202(1), may share or inject characters, objects, or other information originating in the second virtual game environment202(2) into the first virtual game environment202(1).

While the physical transportation of a removable, non-volatile memory M from one virtual game environment instance202(1) and associated home video game platform50(1) to another virtual game environment instance202(2) and associated home video game platform59(2) is a practical and convenient way to exchange and transfer data, other data exchange techniques are also possible. For example, as shown inFIG. 4, it would be possible to intermittently connect the respective home video game platforms50to an electronic mail or other data exchange network N such as for example the Internet, a gaming network, a telephone network, a server or non-server based data communications capability, or by other interconnection means, to allow data to be shared by transmitting it in an electronic mail or other format between the two video game platforms. It would also be possible to post such data on a central server via such a network N for later download by other home video game platforms over the same or different network. In still another example arrangement, it might be possible for a limited amount of data to be exchanged between virtual game environment instances202by having players H manually input codes via controllers52or other user input devices.

In still another exemplary arrangement illustrated inFIGS. 5A-5C, the player H can download data from his or her home video game platform50into an intermittently-connectable portable video game platform AGB. Portable video game platform AGB may include, for example, user controls and a liquid crystal display and be battery powered so as to allow portable game play. The user may be able to play a limited form of the role playing game and/or customize certain data using the portable game player AGB (seeFIG. 5B), and may transport the portable video game platform to a friend's house for use in sharing data between virtual game environment instances200. The portable gaming platform AGB thus may become a repository for data exchanges between the two video game platforms50.

Example Detailed Data Structures

FIG. 6shows an example illustrative data structure DS used to support an exemplary virtual game environment202in one illustrative exemplary non-limiting implementation. TheFIG. 6exemplary data structure DS may be stored in a non-volatile storage FR consisting, for example, of a one megabyte flash ROM within a game cartridge. In this example implementation, a smaller non-volatile random accessory memory (battery backed) RANI may also be inserted into a game controller52or other port to receive and share data. In the example implementation, data structure DS includes two buffers B(1) and B(2). These two buffers B(1), B(2) are used to store virtual game environment202data in a double-buffering arrangement (e.g., one buffer may be written to while the other is read from, thereby preventing loss of data while not requiring extensive amounts of random access memory during active game play).

In the exemplary illustrative non-limiting implementation shown, each buffer B stores the following data:“field goods” data section302,living animal data section304,memory information data section306,player data section308,stock of moving animal data section310.

In the illustrative exemplary non-limiting implementation, the field goods data section302, the living animal data section304and the player data section308define the variable characteristics of the virtual game environment202. For example, the field data section302defines topographic and field good data to define the overall layout of the virtual game environment instance202and the objects that are within it. The non-player character data section304defines the various non-player characters208within the virtual game environment instance202. The player data section208defines the various player characters206within the virtual game environment instance202as well as the layout of dwellings204associated with each player character206(e.g., the furniture and other goods that are present in the various rooms and the like).

In the example non-limiting implementation, the “field goods” data section302stores records of goods within the instance of virtual game environment202. In the exemplary non-limiting implementation, this data section302may, for example, contain thirty blocks each consisting of 16×16 units—with each good being stored within one unit. Thus, in the exemplary illustrative non-limiting implementation, there may be 16×16×30 different goods (e.g., objects) uniquely defined within each virtual game environment instance202.

In an example illustrative non-limiting implementation, the living animal data section304may store data associated with player characters206. In the exemplary non-limiting implementation, data section304may store records representing up to a certain number (e.g., fifteen) different player characters206. Thus, each virtual game environment202may provide up to fifteen different player characters206—providing enough memory for seven different players H and various associated information (one per character).

In the exemplary illustrative non-limiting implementation, the player data section308stores data associated with each of four players H, and information including, for example:name of player,name of player's virtual game environment instance202(e.g., village name),contents of letters from other players,date of last conversation,melody of the village (virtual game environment) associated with the last conversation,other data.

In the exemplary illustrative non-limiting implementation, the player data section208stores additional information about each player including, for example:player's objects,amount of money possessed by the player,location of each object (furniture, loans, etc.),other flags,other data.

In the exemplary illustrative non-limiting implementation, the moving animal data section310stores data associated with non-player characters208that originated from other virtual game environment instances202and have traveled to the current virtual game environment. In the illustrative exemplary non-limiting implementation, non-player characters208that originated from other virtual game environments202appear at next game play. Accordingly, when associated data is first transferred, it is stored within the data section310in the exemplary non-limiting implementation before being introduced into the current virtual game environment.

In the exemplary illustrative non-limiting implementation shown inFIG. 6, the portable memory M is used to transfer data between home video platforms50and associated virtual game environment instances202. In the exemplary illustrative non-limiting implementation, this data to be transferred may include, for example:player data312(except for “home data,” which remains within the memory FR and is not transferred in the exemplary illustrative non-limiting implementation),moving animal data314(e.g., non-player characters208that are originating from data section204but are being transferred from one virtual game environment instance202to another),communications data316(e.g., letter contents of letters being written from a player character206inhabiting one virtual game environment instance202to a player character inhabiting another virtual game environment.

FIG. 7shows, in more detail, the contents of an exemplary player data section308. In the exemplary illustrative non-limiting implementation, the memory information for each of seven players308(1)-308(7) may each include:a name record320specifying the name of the player and an identifier of the player's native virtual game environment instance202(e.g., native village),the contents of any received letter data section333,the date of latest conversation and melody of the virtual game environment at that time (record324),record of friendship level326.

FIG. 8explains in schematic form how the various data within theFIG. 6data structures are used in an exemplary illustrative non-limiting implementation of a role playing game. In theFIG. 8example, player characters206associated with up to four players H may “reside” in a given virtual game environment202(e.g., village) and share the data associated with that virtual game environment. These four players H may, in one illustrative non-limiting implementation, play one at a time but not simultaneously. However, in another variation, they may play video game platform50simultaneously through use of four independent handheld controllers52.

A player character206originating from another virtual game environment instance202may visit a different virtual game environment instance by having the data associated with that player character206being stored and presented in the portable data section312. Note that this player character206is not resident within the virtual game environment instance202because his or her data is not stored as “home” data in the FR storage. However, this player character206may interact with the virtual game environment instance202he or she is visiting, and may collect and gather objects from that virtual environment that he or she may bring “home” to his or her “home” virtual game environment instance202.

In the exemplary non-limiting implementation, a non-player character208that moves from one virtual game environment instance202to another has its data transferred from the “home” data section304to the portable data section314. As shown inFIG. 8, such moving animal data is injected into the virtual game environment instance202at the time the game is next started. Thus, a newly moved in animal “settles” into the new virtual game environment instance202at the time of next game play initialization. In the exemplary illustrative non-limiting implementation, non-player characters208that move to other virtual game environment instances202maintain their memory information and remember the player characters206they have met in the past. In one illustrative exemplary non-limiting implementation, the non-player characters208may remember the last seven player characters206they have come into contact with.

In the exemplary non-limiting implementation, letters and other communications316may be injected into a virtual game environment instance202. Similarly, letters from one virtual game environment instance202may be send out via the portable memory RAM for communication to another virtual game environment instance.

FIGS. 9A-9B and 10show schematically how, in one exemplary illustrative non-limiting implementation, a non-player character208may move from one virtual game environment instance202to another. In the exemplary non-limiting implementation, whenever a player H begins playing the game, one non-player character208is randomly selected as planning to move. However, whether or not this non-player character208that has been selected as possibly moving to a different virtual game environment instance202actually does move depends on some additional conditions in the exemplary non-limiting implementation. In particular, a moving admission flag needs to be available in order for a non-player character208to move. This moving admission flag is available if there is enough room within the portable memory M to accommodate the moving character, for example. As shown inFIG. 9A, data may be written from the “home” storage FR to the portable storage M based upon such conditions.

In the exemplary non-limiting implementation, if the player who began playing the game is a non-resident player character206, then the player data is loaded from the portable memory M. If there is moving non-player character208data within this portable memory M, then such data is loaded into the virtual game environment instance202as non-player character208data moved in from outside of the current virtual game environment. Player data and moving non-player character data within the “home” storage FR should be maintained to prevent the virtual game environment instance202from losing its uniqueness and/or the history of its resident player characters206.

In the exemplary illustrative non-limiting implementation, if a non-player character208is planning to move and this has been newly selected, the non-player character208sends a letter notifying the resident player characters206of the non-player character208′s forwarding address. In the exemplary illustrative non-limiting implementation, the “change of address” notice includes a request to the resident player characters206to send the moving non-player character208notes from time to time. In the exemplary illustrative non-limiting implementation, when a player character206is sent a letter from a non-player character208who is planning to move, the contents of the letter is copied into the memory area of the non-player character who is planning to move. If multiple letters are being sent, only the last letter is retained in the exemplary illustrative non-limiting implementation.

If any player characters206go on a visit to a different virtual game environment instance202after saving associated data into the “home” memory area FR, the player data and data representing non-player characters208who are planning to move is stored into the portable memory M and the associated player data and the non-player character208data of non-player characters planning to move are deleted from the “home” data storage area FR. In this way, a particular character exists in only one virtual game environment202at a time. Thus, once a player character206had its data stored within the portable memory M, this player is “outside” of the originating virtual game environment instance202(seeFIG. 9A). Similarly, the data representing non-player characters208that are moving into the current virtual game environment instance202are written into the “home” memory storage area FR and deleted from the portable memory storage area M (seeFIG. 10B).

If a player character206originates from outside of the current virtual game environment instance202, there is no need to copy this player data into the “home” game storage area FR. Rather, this data remains in the portable game storage area M so that it can be returned to its originating virtual game environment instance202. At the time that player character data206is stored into the portable memory M, any non-player characters208that are planning to move are also stored into the portable memory device. In the exemplary illustrative non-limiting implementation, any non-player characters208stored within the portable memory M that have moved from another virtual game environment instance202may at this time be read from the portable memory M and stored into the “home” storage FR.

In the exemplary illustrative non-limiting implementation, if a resident player character206is the player character who has started game play and the portable memory M contains data associated with a non-player character208that is to move into the virtual game environment instance202, then a special check is performed. In particular, in the exemplary illustrative non-limiting implementation, a player character206resident in a particular virtual game environment202may not always save data into the portable memory M at the end of each gaming session. Accordingly, a non-player character208that is planning to move into the current virtual game environment instance202may not yet be able to do so because there may not be enough room to let this non-player character move in. More specifically, in the exemplary illustrative non-limiting implementation, only a certain limited number (e.g., fifteen) non-player characters208may be admitted into a virtual game environment instance202at any one time. Accordingly, one of the non-player characters208may need to move out of the current virtual game environment instance202before a new one can move in. In the exemplary illustrative non-limiting implementation, this issue is handled as shown inFIG. 10. In particular, data of a non-player character208planning to move is stored into the portable memory M as if this non-player character had already moved out. However, messages informing the player character residents206of the impending move are not dispatched until the non-player character208has actually been transferred to a different virtual game environment instance202and another non-player character208has been stored in its place in the portable memory M to move into the current virtual game environment instance. In this way, non-player characters208are constantly moving between virtual game environment instances202—thus maintaining a high level of interest and variability in the game play. At the same time, the particular protocol shown inFIG. 10is used to prevent one non-player character208from actually moving out of a virtual game environment instance202until it has actually been transferred to another virtual game environment instance and replaced by a different non-player character.

In the exemplary illustrative non-limiting implementation, the contents of the temporary memory M are retained until rewritten in a correct fashion in order to prevent data from being lost in the case where a player H shuts down the game system without correctly quitting the game and allowing it to run through the game save sequence. However, it is important to monitor whether the temporary memory M is inserted into the video game platform50at time of game play, since it is possible that a player might try to pull the temporary memory M out in the middle of game play and replace it with a new temporary memory device in order to provide copying of temporary memory device contents. In the exemplary illustrative non-limiting implementation, if the temporary memory M is removed from the portable video game system50in the middle of game play, game play will halt until the same portable memory M is reinserted (thus preventing copying of data that might result in “cloning” certain non-player characters208so they could exist in multiple different virtual game environments202simultaneously).

Example Message Delivery and Distribution

In the example and illustrative non-limiting implementation, players H may not necessarily simultaneously be playing within a given virtual game environment202, but may wish to exchange information with one another via messaging capabilities. In the exemplary non-limiting implementation, the virtual game environment202models a postal delivery system for the distribution of mail. As shown inFIG. 11A, any given player character206may author and distribute mail to other resident or non-resident player characters. As shown inFIG. 11, a letter L may be addressed to a particular player (e.g., player P3), or it may be addressed to all players (e.g., in the form of leaflets). The post office PO may have a capacity to accept only a limited number of letters (e.g., when five letters are already held at the post office, a sixth letter might not be accepted). In the exemplary non-limiting implementation, the post office PO delivers the letters to mailboxes MB1, MB2, MB3, MB4associated with corresponding player characters P1, P2, P3, P4at certain predetermined delivery times.

In the example non-limiting implementation, a “post office” building is defined as a certain location within the virtual game environment202. In the example non-limiting implementation, a non-player character208is assigned to operate as a postal office clerk to run the post office. In one example non-limiting implementation, there may be two different non-player characters208who serve as postal office clerks—one may work during a daytime shift and another may work during a nighttime shift. The postal clerk non-player character208delivers mail and leaflets to each player character206′s mailbox MB. The post office clerk may make these deliveries at predetermined real times during the day (e.g., once in the morning and once in the evening at specific times). Between delivery times, the postal clerk non-player character208may hold the letters and leaflets in the post office PO.

In the example non-limiting implementation, a maximum of a certain number of letters (e.g., five) can be held by the post office PO at any one time. More than this predetermined number of letters cannot be held. If a player attempts to send an additional letter through the post office PO when the post office already holds its capacity of letters, the non-player character208postal clerk may turn down receipt through a conversation and ask the player character206to return later. In the example non-limiting implementation, when the post office holds a letter, the letter is held and stocked once irrespective of whether the letter is addressed to a player character206or to a non-player character208. If the mailbox MB of a particular player to whom a letter is addressed is full, no new letters can be sent to that player until the player reads the mail in his mailbox. The non-player character208postal clerk may also refuse receipt of letters having an address that does not exist in a particular virtual game environment instance202. In the example, non-limiting implementation, the post office PO continues to hold letters that are not deliverable for some reason.

In the example non-limiting implementation, the non-player character postal clerk delivers mail at regular delivery times. However, in the example non-limiting implementation, once a predetermined maximum number of letters is being held by the post office PO, the postal clerk makes a special delivery. If the postal clerk non-player character refuses receipt of a new piece of mail, the postal clerk non-player character is sent out when a player leaves the post office. Because a letter addressed to a player is accepted while it is still being determined whether any space remains in the post office PO in one illustrative non-limiting implementation, a situation that letters more than the number that are deliverable end up being accumulated will probably not happen very often.

In the example illustrative non-limiting implementation, if the particular virtual game environment202is not in session (e.g., the player H is not playing the game) at the time the next mail delivery is scheduled, the mail delivery is made during an initial part of the next game session. Thus, the preferred illustrative non-limiting implementation saves the time of the last mail delivery so it can be referenced later during a subsequent game session.

It is possible for non-player characters208to move from one virtual game environment202to another while a letter addressed to the non-player character is still being held at the post office PO pending delivery. In the example illustrative non-limiting implementation, a special delivery is made to deliver a letter being held for a non-player character208at the time the non-player character gets ready to leave the virtual game environment instance202to travel to another virtual game environment instance.

FIG. 11Bshows the example where the total number of letters in the mailbox and held by the post office PO is already at a maximum. At that point, a new letter to a given address will not be accepted (in the example shown, the mailbox has one empty space and the post office PO holds one letter—therefore the space is full). In the example illustrative non-limiting implementation shown inFIG. 11, if the total number of pieces of mail being held by the post office is less than a predetermined maximum number (e.g., ten letters), then a letter will be accepted.

FIG. 12shows an example arrangement of how mail may be delivered within a virtual game environment202. In the exemplary illustrative non-limiting implementation, either leaflets or letters may be delivered. Leaflets may be delivered by storing leaflet data into predetermined storage areas. In the exemplary illustrative non-limiting implementation, data storage areas for storing leaflet data t be delivered may be divided into two different areas:everyday leaflet delivery,event leaflet deliver.

Leaflets announcing upcoming events may be stored once in the event leaflet box. Everyday leaflets that are to be delivered to particular players may be stored in the everyday leaflet box. Leaflets stored in each leaflet box are delivered to the associated player's mailbox at the same time as mail delivery. If the player's mailbox does not have enough space, then the mail is held in the exemplary illustrative non-limiting implementation. The exemplary implementation maintains flags for the two leaflet boxes in order to keep track of which players have received delivery of which leaflets. This permits delivery retries (e.g., in the case that a player's mailbox was full such that leaflet delivery was impossible). In the exemplary illustrative non-limiting implementation, delivery is repeatedly tried until it is completed. After a particular leaflet has been delivered to all resident player characters206, the associated leaflet data is deleted from the leaflet delivery boxes. In the exemplary non-limiting implementation, if new leaflet data must be stored even though old leaflet data remains to be delivered, the new leaflet data takes priority and the old leaflet data is erased.

Referring toFIG. 13, leaflets and letters are delivered by the postal clerk non-player character208simultaneously at predetermined real times (e.g., 9 AM and 5 PM). When mail and leaflets are being delivered, this may be indicated within a virtual game environment202by animating the appearance of a mail delivery character (e.g., a pelican postman) that appears if the player character206is within his or her dwelling204. If the player character206is not at home, then the software simply “delivers” the mail into the player's mailbox (and may animate a “full” mailbox or raise a flag so that when the player returns home, he or she will see that mail has been delivered).

In one exemplary illustrative non-limiting implementation, even if the player character206is not within his or her dwelling place204when the postman arrives to deliver mail, the postman may go to the home of a player who is at home at the time. SeeFIG. 13. Even if a postman could walk around blocks other than the player's home for mail delivery (e.g., around ten minutes), it is desirable to have the postman remain for a while because this gives a player character206a chance to have a conversation with the postman. Therefore, the software may take precautions to ensure that the player character206is not distracted by other non-player characters208while the postman non-player character is in the environs.

In the exemplary illustrative non-limiting implementation, when the postman appears, he goes first to the mailbox of the player character206who is playing the game, and then delivers all of the resident player character mail at the same time. In the exemplary illustrative non-limiting implementation, the player character may raise a red flag on each dwelling place204after making his rounds to indicate that mail has been delivered.

An additional means of convenient communication between player characters206may involve the use of a centralized bulletin board (e.g., a posting board at the center of a virtual village). In the exemplary illustrative non-limiting implementation, a bulletin board may be disposed at a predetermined geographic location within the virtual game environment instance202. A certain predetermined maximum number of entries may be written onto the bulletin board. In the exemplary illustrative non-limiting implementation, the content of each bulletin board entry may be, for example, ninety-six letters (sixteen letters per line on each of six lines) plus the date of entry (year, month, day, for example). In the exemplary illustrative non-limiting implementation, a bulletin board window may be displayed if a certain predetermined data input is performed by a player H using the handheld controller52. In the exemplary illustrative non-limiting implementation, to post a bulletin board message, the player H needs to input the text message (e.g., using a virtual keyboard or the like) and the game software supplies the date and time automatically. In the exemplary illustrative non-limiting implementation, entry to the bulletin board is performed from the first page to the last. When a new entry is input after all fifteen pages are already written, the oldest page may be removed, the previous second page may become the new first page, and so on (seeFIG. 14). In the exemplary illustrative non-limiting implementation, when a player views the bulletin board window, the last page entry is displayed and the player may then scroll through the various entries as desired. In the exemplary illustrative non-limiting implementation, there is no need to sort bulletin entries based on date and time because they are maintained in storage in the proper sequence as described above.

Example Flowcharts

FIGS. 15A-15Fare together an example flowchart of a main game routine provided by an exemplary illustrative non-limiting implementation. The exemplary flowchart ofFIGS. 15A-15Fmay be embodied in software that executes on each of the various video game platforms50.

Referring toFIG. 15A, upon starting the game a select screen appears to allow the player H to perform a player select sequence (block502). The routine next checks the embedded real time clock's activity to determine whether the clock is working (block504). In one exemplary illustrative non-limiting implementation, home video game platform50includes an internal real time clock that keeps track of the current time and date. However, if home video game platform50does not include an internal real time clock then it may be desirable to provide such functionality as an accessory (e.g., within a game or other cartridge). In still other implementations, it is possible to prompt the user to input the time and date at the beginning of each game play and to use standard timer functionality as part of a microprocessor to keep track of real time.

If block504determines that there is a problem with the real time clock, a character appears on the screen and informs the user that the clock has a problem and asks the user what he wants to do (block506). The user can choose to restart at a later time (block508), or may choose to activate a counter to be used instead of the real time clock in order to keep track of the passage of time in the current game play session (block510). If the user chooses to activate a counter, then the software prompts the user to input the current time and date (block512), and game play may proceed after a fade out (block514). As mentioned above, in some home video game platforms50without any hardware real time clock capability, the functionality provided by blocks510,512may be used as a default.

The preferred exemplary and illustrative implementation routine then checks to determine whether a virtual game environment202has already been set up (block516). If virtual game environment has already been set up (“yes” exit to block516), then the current game play session uses that already-defined virtual game environment and proceeds to the portion of routine shown inFIG. 15C. However, if no virtual game environment202has yet been established (“no” exit to block516), then this is the first time the game has been played and a virtual game environment needs to be established—so program flow proceeds to the steps shown inFIG. 15B.

Referring toFIG. 15B, to set up an initial game play and associated virtual game environment202(block518), the user is stepped through a series of prompts that allows the user to select a number of initialization variables. For example, the user may select whether or not to set such variables (block520), and then may be stepped through sound selection criteria (block522,524), character language selection criteria (block526,528), and approval criteria (block530,532,534). Once these initialization variables have been set, the game may proceed to a starting sequence (block536). In one exemplary illustrative non-limiting implementation, the game shows on display56demonstration of an inside of a train to simulate the player traveling by train to the virtual game environment202such as a village in a forest (block538). The program flow may then return to theFIG. 15Asequence.

Referring toFIG. 15C, once the game has been initialized appropriately a welcome screen may be displayed (block540), and then in the exemplary illustrative non-limiting implementation, the routine asks the player what he or she wants to do—either set certain settings or to proceed with game play (block542). If the player requests the ability to change certain settings (setting exit to block542), the routine asks the player to specify the setting to be changed (blocks544,546), and may provide a variety of functionality to allow the player to set various parameters (blocks548,550,552,554,556,558) in order to set sound settings, language, etc. On the other hand, if the player selects a prompt to change the virtual environment202(D exit shown inFIG. 15C), then control is transferred to the portion of the routine shown inFIG. 15Dthat gives the player the chance between removing the entire virtual game environment202(block560), removing a particular player character206and associated dwelling204(block562), and changing the clock setting (block564). If the user selects to remove the entire virtual game environment (block560), then the exemplary routine asks the player to confirm (block566) and will not delete the virtual game environment in the absence of such confirmation (block568). If the user does confirm his or her request to remove the entire virtual game environment202(“yes” exit to block566), then the routine removes all stored data defining the virtual game environment and reinitializes (blocks570,572,574).

If the user chooses to remove a particular player character206(block562), then the routine checks whether more than one player character dwells in the virtual game environment202. If only one player character206remains, then the program indicates an error message stating that it cannot remove the last inhabitant (block576). On the other hand, if more than one player character206inhabits the virtual game environment202so that one character can be removed without deleting all remaining player characters, then the routine asks which player character is to be removed (block578). In the exemplary illustrative non-limiting implementation, the routine will refuse to remove a player character206who is not at home (it would be disconcerting for the player H to try to return home with his player character206only to discover that someone else had expelled him from the virtual game environment202in his or her absence) (block s580,582). If the player character206is at home, then the routine asks the user to confirm removal (block586) and, upon receiving such confirmation, will delete the player character206(blocks588,590,592).

If the user selects the prompt to change the current real time clock setting (block564), then the routine prompts the user for the current date and time (block594) and effects this change (blocks596,698).

Referring toFIG. 15E, the routine next determines whether a portable memory M is connected to the home video game system50(block602). If no portable memory M is connected, it is possible to proceed with game play using the permanently present memory FR, and the routine transfers control to the steps shown inFIG. 15F(“not connected” exit to block602). Similarly, if a portable memory M is connected to home video game system50but there is no data stored in the portable memory, then game play proceeds using the permanently resident memory FR (“no” exit to block604). On the other hand, if a portable memory M is inserted into the home video game system50and it contains player data (“yes” exit to decision block604), then game play will proceed using the player character206stored within the portable memory M (block606). In this instance, the routine determines whether the player character206is a resident of the virtual game environment202or is just a visitor (block608). If a player character206is a resident (“resident player” exit of decision block608), then this indicates that the player character previously traveled to another virtual game environment and is now returning to the current virtual game environment202(block610). However, it is also possible that the player character206intended to leave to visit another virtual game environment202but has not yet done so. Decision block612performs this test. If the player character206has in fact visited another virtual game environment202(as indicated by data stored within the portable memory M), then the game routine welcomes the player character206home (block614), prepares to reset the game by making the player character resident once again (block616), and may perform a graphical sequence before restarting the game with the player resident (block618). If the player character206has not yet visited another virtual game environment202, the game routine prompts the use what he or she wants to do (block620) and may proceed to either run the game without using the data stored in the temporary memory M or to run the game using the data stored in the temporary memory (blocks622,624).

In the case of when a player character206has left the virtual game environment202to visit another instance of the virtual game environment and then has returned home, exemplary illustrative non-limiting implementation permits different save options (e.g., when quitting the game, a save is possible both at home and at the railroad station simulation). When saving at home, the virtual game environment202and associated player character data308are updated and the player data within the portable memory M is then deleted. If the player character206is to remain at the railroad station construct rather than entering back into the virtual game environment202, then the data within the permanent memory FR can be updated and the player character data312may then be copied into the portable memory M to thereby allow the player character206to make another journey.

In the case that the player character206present in a portable memory M is not a resident player (“not resident player” exit to block608), this indicates that a player character has come to visit the virtual game environment instance202(block626). In this case, the game routine displays a welcome message (block628), and prepares to reset and start game play beginning from the railroad station construct through which the player character returns into the virtual game environment (blocks630,632).

As also shown inFIG. 15E, if the portable memory M is initially connected to the home video game platform50and then is removed during the middle of game play, game play halts until the portable memory device is inserted and read and write operations are completed (block634). Once the portable memory M is then removed (block636), game play can start from the beginning (block638).

FIG. 15Fshows a flowchart of exemplary steps used when there is no portable memory M connected to the home video game system50and/or the data within such a portable memory device is not to be used for the current game play session. Referring toFIG. 15F, in this mode of operation, the game play is based on data resident within the permanent resident memory FR and not within the portable memory M (block640). In this case, the game routine asks the user to identify which of four possible player characters204are associated with the user (block642). In the case of initial game play, an initial routine is run to allow a new player to be defined (blocks644,646,648). If the specified player is not a new player character206, then the game routine checks whether a specified player is at home or not at home (decision block650). If the player character206is at home, the game may reset beginning at a “start from home” initialization point and the game play may proceed showing the player character206coming out of his dwelling202in the exemplary non-limiting implementation (blocks652,654,656).

In the exemplary non-limiting implementation, if the player character206is not at home (i.e., he or she is out visiting another virtual game environment202) (“not at home” exit to decision block650), then the game routine asks the user whether he or she wishes to play even though his or her player is not at home (block658). The user may choose to not play (block660), or he or she may choose to play anyway (blocks662,664,666).

In the case where the specified player is outside of the virtual game environments202and game proceeds, the exemplary illustrative non-limiting implementation removes all of the player's objects other than letters in order to provide copy protection.

As described above, a prepare to reset is performed at various points of the game routine (blocks646,654,664). In such instances, exemplary illustrative non-limiting implementation embeds a random cryptogram into the associated player data. This random cryptogram data is then saved. By deleting stored cryptogram codes when the user quits the game in normal mode, irregular quitting can be detected. If the game routine detects that an irregular termination of the game has occurred, the game routine may display a message at the next game session start warning the user against irregular termination.

In the example illustrative non-limiting implementation, when a user plays the game beginning with the player character204associated with the user being at home (i.e., resident within the virtual game environment202), there are two possible game termination conditions:the player character206can remain at home at the conclusion of the game play session; orthe player character206can leave the virtual game environment202in order to visit another virtual game environment instance.

In the example illustrative non-limiting implementation, when saving the player character within the current virtual game environment202, the associated player data308is updated within the permanently associated memory FR and then the player data is deleted from the portable memory312. On the other hand, when the player character206is to go on a visit to another virtual game environment instance202, the permanent storage FR is updated and then the associated player character data314is copied into the portable memory M.

FIGS. 16A-16Dare together a flowchart of exemplary program control steps performed by the preferred non-limiting implementation video game in the case that a player character206wishes to leave the virtual game environment202. In the example non-limiting implementation, the player character206is queried by a non-player character208and asked whether the player character is a resident of the virtual game environment (i.e., village) (block702). If the player character is a resident (“resident” exit to block702), the player character204is prompted as to whether he or she intends to leave the virtual game environment (block704). Similarly, if the player character206is a non-resident and approaches the railroad station or other entrance/exit to the virtual game environment202, the player character206is prompted as to whether he or she wishes to return home to his own virtual game environment (block706). In response to these prompts, if the player character is not going out or returning home, then play may continue and the conversation ends (block708). Otherwise, this means that the player character206is either a resident who is leaving on a visit to another virtual game environment instance202, or is a visiting player character who is leaving the virtual game environment instance202to return to his or home virtual game environment (blocks710,712). In either case, the exemplary illustrative non-limiting implementation game routine checks the data within the portable memory M (block714) or at least attempts to do so. If there is no portable memory M attached (as tested for by decision block716), then the user is prompted to insert a portable memory device so it can be used to store player data (block718). If, on the other hand, the video game system50detects a technical error or it is unable to communicate with a portable memory M, the error routine shown inFIG. 16Bmay be performed to attempt to make a repair (see blocks720-728). In the case that the portable memory M is different from the one that was initially connected to the home video game system50at the time that the game play was begun, the game routine in the exemplary illustrative non-limiting implementation requests the user to insert the same portable memory M as was previously inserted—thereby preventing copying and/or cloning of data (block730). Other error conditions at this point include if there is already player character206data312in the portable memory M; if there is insufficient storage capacity in the portable memory device to insert additional data; and if the maximum number of data entries (e.g., mail messages or the like) have already been inserted into the portable memory device (see exit points3,4,5shown inFIG. 16A).

Referring toFIG. 16D, if additional data cannot be recorded because of a lack of storage capacity in the portable memory M or if maximum number of data entries have already been recorded into the portable memory device (entry points “4” and “5”, respectively), then the user is asked whether he or she wants to adjust the contents of the portable memory M (blocks732,734). If there is not further capacity, then the save routine is stopped and the player character206is told that he cannot leave at this time (block736). Otherwise, the user may be given the option to clean out some of the data within the portable memory M to provide room for the player character data (block738).

Referring toFIG. 16C, the user may be prompted for permission as to whether or not to overwrite certain data within the portable memory M if there is other player data already in the portable memory device (blocks740,742,744). Then (or if there is no error condition to begin with), the exemplary illustrative non-limiting implementation game end routine begins the process of saving pertinent data to the portable memory M beginning at block746. During this save data process, if the portable memory M is removed from the home video game system50before data save has completed, the exemplary game end routine interrupts processing until the portable memory device has been reinserted (block748). Such checking is performed continually in the exemplary illustrative non-limiting implementation until all data has been saved.

To begin the data save process, the exemplary game routine first checks whether a train construct has arrived at the station construct to provide a transport for the data (block746). If not, then the game routine performs various preparation steps before saving any data (block750). The exemplary game end routine then begins saving data (block752) and associated processing (block754). Data error writing conditions are checked and exception messages are generated in response (block756). In the example illustrative non-limiting implementation, the exemplary game play routine then displays a train arriving at the station to pick up the passengers, and the game play then fades out as the train departs from the station to create an illusion that the player characters206are really going on a journey to another virtual game environment instance202(blocks758,760,762,764).

FIGS. 17A and 17Bare together a flowchart of an exemplary routine used to allow non-player characters208to move from one virtual game environment instance202to another. In this example illustrative non-limiting implementation, the routine first checks whether moving is possible or not, as explained above (decision block802). If moving is possible, then the exemplary routine determines whether the non-player character208that is planning to move should be permitted (block804). For example, if the number of remaining non-player characters208is extremely small, it may be that no non-player character208will be permitted to leave—although additional non-player characters208may be accepted into the virtual game environment instance202. Thus, in certain conditions, new non-player characters208can be accepted from other virtual game environment instances202without releasing current non-player characters208in return in the exemplary illustrative non-limiting implementation.

Assuming that the non-player character208will be permitted to leave the virtual game environment instance202, the routine determines or selects which non-player character208should be selected to move (block806), and then generates a notice letter informing the player characters206that this non-player character208is going to move (block808). General game play then occurs (block810). In the example non-limiting implementation, after the conclusion of general game play, a test is performed to determine whether to save the non-player character208associated data into the permanently-associated memory FR or into the portable memory M (i.e., whether the non-player character is to move into the current virtual game environment instance202or whether it is to move out of it) (decision block812). If the non-player character208is moving into the current virtual game environment (“cartridge” exit to decision block812), then the exemplary game routine tests whether the non-player character208planning to move already exists and whether the number of non-player characters already resident are at a maximum (decision blocks814,816). Failing either of these tests will prevent the non-player character208from becoming resident in the current virtual game environment instance202. However, assuming there is sufficient room and the same non-player character208is not already resident, then blocks818,820are preformed to move the non-player character planning to move into a hidden data area and deleting the original non-player character that was planning to move. Space is also reserved within the virtual environment202in which to place the new non-player character (block822), and the contents of the permanently associated memory FR are updated accordingly (block824).

In the case where the non-player character208is planning to move out of the current virtual game environment instance202(“move out” exit to decision block812), the exemplary game routine performs a test to determine whether this non-player character208is already resident in the temporary memory M (decision block826).

Assuming the test of decision block826passes, the exemplary game routine moves the non-player character208into the temporary memory M and deletes the corresponding entry from the permanently associated memory device FR (blocks828,830). In the example non-limiting implementation, additional player data may then be moved into the temporary memory M if desired (block832), a place is reserved for an additional non-player character208that may wish to become resident in the virtual game environment instance202(block834), the game routine prepares information indicating that the player data is a visitor (block836), and then the contents of the permanently associated memory FR are updated appropriately (block838).

FIGS. 18A-18Care together a flowchart of an exemplary game routine used by player characters206to define a dwelling place204. In the exemplary non-limiting implementation, a player character206finds and furnishes a dwelling place204by speaking to a particular “caretaker” character. In the exemplary non-limiting implementation, virtual game environment202includes several kinds of dwelling places204including vacant dwelling places and already occupied dwelling places. In the example non-limiting implementation, the caretaker welcomes the player character206(block902) and then displays a message (block904) asking the player character how the caretaker can help the player character (block906). If the player character206responds that he or she does not need any help, the home occupying routine ends (decision block910, block912). Otherwise, the caretaker checks whether he or she has an inventory of any dwelling places204that are vacant—and will indicate that there is no vacant dwelling place available if there are no dwelling places left (block914). Otherwise, the caretaker may proceed to show the player character206the various vacant dwelling places that are available so that the player character can choose one of the dwelling places if he or she so desires (blocks916,918).

FIG. 18Bshows a routine that may be performed to purchase a dwelling place and to edit the items that are within the dwelling place204—thereby allowing the user to customize a dwelling place or other environment for his or her player character206. See blocks920-940.

Referring toFIG. 18C, shown there is a flowchart of steps that may be used to store new dwelling place or other data into the permanently associated memory FR (see blocks942-964).

Example Quests

In one example illustrative non-limiting implementation of a role playing video game provided in accordance with this non-limiting implementation, player characters206may be assigned or can volunteer for quests to satisfy certain objectives. While quests are relatively common in adventure-type games, the communication and discrete different instances of the virtual game playing environment202provided by an exemplary illustrative non-limiting implementation creates additional opportunities for quests. As one example, a player character206may undertake a quest to bring borrowed goods to a non-player character208that has moved to a different virtual game environment instance202. For example, suppose that a player character206borrows or finds goods owned by a particular non-player character208—and then, the non-player character moves to a different village or other virtual game environment instance202without bringing the goods along with it. In the example non-limiting implementation, a player character206may volunteer or undertake to bring such goods to the non-player character208who has subsequently moved to a different village. In this example non-limiting implementation, conditions involved in creating the quest include there being at least one space existing in the player's goods space302available, and that there be information stored within the home memory space FR indicating that a non-player character208has moved out. In that case, the player character206may be given a reward if he or she returns such goods to the non-player character208. For example, when the quest is achieved, certain goods may be given to the player character206, for example:money (probability 40%),carpets or other variety of goods available at a general store (probability 20%),wallpaper (or other similar variety of goods available at the general store) (probability 20%),furniture (or other similar variety of goods) (probability 20%),

In order to prepare for the quest, the illustrative game stores secretly the data of the recently moved out non-player character208into an appropriate space within the memory FR. Non-player character information208which should be stored may include necessary information for specifying the non-player character when delivering the goods to it (e.g., a name and native country of the non-player character plus for example a secret identifier). This information is updated whether or not the player character206was the character that brought the non-player character208to the other village. In the illustrative exemplary non-limiting implementation, it is sufficient if there is only a single number of spaces available for storing this information.

Upon confirming that the non-player character208has moved out and that the information concerning the quest is correct, the exemplary game software determines the target non-player character. Then, the game in the exemplary illustrative non-limiting implementation randomly determines an object that will be said to have been left behind by the non-player character208. This object may be specified in a table of borrowed objects, for example.

The game then, in the example illustrative non-limiting implementation, asks the player character208to deliver the object to the moved-out non-player character208. In the example illustrative non-limiting implementation, the non-player character delivery information may be deleted upon completion of the quest in order to prevent overlapping quests from being created. If the player206succeeds in delivering the object to the non-player character, then the game gives money or other goods to the player character206as a reward.

In the example illustrative non-limiting implementation, the game software creates a table for the goods to be delivered in the quest. If a quest is created, then goods are randomly selected from that table and used. Such goods may include, for example, a guitar, a video, a picture book, a compact disk, a pocket Pikachu, a GAME BOY, glasses, a pocketbook, a clock, a comic book, or any other object. Different messages may be used to start the quest, to complete the quest, and to allow the player character206to give up on the quest without completing it.

While the technology herein has been described in connection with exemplary illustrative non-limiting implementations, the invention is not to be limited by the disclosure. The invention is intended to be defined by the claims and to cover all corresponding and equivalent arrangements whether or not specifically disclosed herein.

Claims

  1. A game-playing system comprising: a plurality of game-playing devices, each game-playing device being configured to execute, using a processor thereof, game software, the game software including instructions to establish a unique gaming environment for the game-playing device on which it is being executed, the respective gaming environments each including resident characters and being based at least in part on random data;and at least one physically movable, portable handheld object including non-volatile read/write memory that tangibly stores game character-related data usable in connection with the game software, the at least one object being intermittently coupleable to individual ones of the game-playing devices, wherein the at least one object is not a game-playing device in the plurality of game-playing devices;wherein a first game-playing device from the plurality of game-playing devices executing game software thereon is configured to present a first gaming environment and, consistent with player-interaction with the game software being executed thereon: read character-related data from the at least one object to activate an avatar in the first gaming environment, the avatar having attributes defined at least in part by the read character-related data and being usable in the first gaming environment conditioned on the at least one object being coupled to the first game-playing device, modify the character-related data, write the modified character-related data to the at least one object, and make the avatar unavailable in the first gaming environment, responsive to decoupling of the at least one object from the first game-playing device, the first game-playing device still permitting player-interaction with the first gaming environment even though the at least one object is no longer coupled thereto;wherein a second game-playing device from the plurality of game-playing devices, different from the first game-playing device, executing game software thereon, is configured to present a second gaming environment that is different from the first gaming environment and: responsive to the at least one object being coupled to the second game-playing device after the modified character-related data has been written to the at least one object, read the modified character-related data from the at least one object to activate the avatar in the second gaming environment, the avatar now having modified attributes defined at least in part by the read modified character-related data and now being usable in the second gaming environment conditioned on the at least one object being coupled to the second game-playing device, and further modify the modified character-related data, consistent with player-interaction with the game software being executed on the second game-playing device;wherein the at least one object is manufactured to include a human-perceivable visual appearance that correlates with how the avatar is to be displayed in the gaming environments presented by the respective game-playing devices;wherein successive coupling operations involving the at least one object enable a further character, different from the avatar, to be made available in the gaming environments of successively coupled-to game-playing devices without human game-player knowledge of at least the initial transfer to the at least one portable object.
  1. The system of claim 1 , wherein execution of the game software on the second game-playing device is further configured to cause the second game-playing device to: write the further modified character-related data to the at least one object;and make the avatar unavailable in the second gaming environment, responsive to decoupling of the at least one object from the second game-playing device.
  2. The system of claim 2 , wherein execution of the game software on the first game-playing device is further configured to cause the first game-playing device to: read, responsive to the at least one object being coupled to the first game-playing device after the further modified character-related data has been written to the at least one object, the further modified character-related data from the at least one object to re-activate the avatar in the first gaming environment, the avatar now having further modified attributes defined at least in part by the read further modified character-related data and now being usable in the first gaming environment conditioned on the at least one object being coupled to the first game-playing device.
  3. The system of claim 3 , wherein: the game character-related data is updatable in response to each successive visit to a different gaming environment, the avatar is a player character, and the respective gaming environments correspond to different and unique instances of a common game provided by the game software being executed by the respective game-playing devices.
  4. The system of claim 4 , wherein players operate the plurality of game-playing devices and the avatar is player-controllable by the player of the game-playing device to which the at least one object is coupled.
  5. The system of claim 1 , wherein players operate the plurality of game-playing devices and the avatar is player-controllable by the player of the game-playing device to which the at least one object is coupled.
  6. The system of claim 6 , wherein the avatar is providable only in the virtual environment presented by the game-playing device to which the at least one object is coupled.
  7. The system of claim 1 , wherein the avatar is providable only in the virtual environment presented by the game-playing device to which the at least one object is coupled.
  8. The system of claim 1 , wherein the first and second game-playing devices are different types of game-playing systems.
  9. The system of claim 1 , wherein the game software being executed on the first game-playing device is configured to enable a first set of functionality with respect to the avatar, and the game software being executed on the second game-playing device is configured to enable a second set of functionality with respect to the avatar, the first and second sets of functionality being different from one another.
  10. The system of claim 1 , wherein the at least one object is a portable memory device.
  11. The system of claim 1 , wherein the respective gaming environments correspond to different and unique instances of a common game provided by the game software being executed by the respective game-playing devices.
  12. The system of claim 1 , wherein the respective gaming environments correspond to different and unique instances of a shared virtual environment.
  13. The system of claim 1 , wherein the game character-related data comprises character-identifying data.
  14. The system of claim 1 , wherein the game character-related data further comprises objects and/or experiences related to the avatar.
  15. The system of claim 1 , wherein the game character-related data is updatable in response to each successive visit to a different gaming environment.
  16. The system of claim 1 , wherein the avatar is a player character.
  17. The system of claim 1 , wherein the avatar is a non-player character.
  18. The system of claim 1 , wherein the game software is configured to enable the avatar to interact with other game characters in a common game environment.
  19. A game-playing system comprising: a plurality of game-playing devices, each game-playing device being configured to execute, using a processor thereof, game software, the game software including instructions to establish a unique gaming environment for the game-playing device on which it is being executed;and at least one physically movable, portable handheld object including non-volatile read/write memory that tangibly stores game character-related data usable in connection with the game software, the at least one object being coupleable to and decoupleable from individual ones of the game-playing devices, wherein the at least one object is not a game-playing device in the plurality of game-playing devices;wherein each game-playing device from the plurality of game-playing devices executing game software thereon is configured to present its respective gaming environment and, consistent with player-interaction with the game software being executed thereon: read character-related data from the at least one object to activate an avatar in the respective gaming environment, the avatar having attributes defined at least in part by the read character-related data and being usable in the respective gaming environment conditioned on the at least one object being coupled to the respective game-playing device, modify the character-related data, write the modified character-related data to the at least one object, and make the avatar unavailable in the respective gaming environment, responsive to decoupling of the at least one object from the respective game-playing device, the respective game-playing device still permitting player-interaction with the respective gaming environment even though the at least one object is decoupled therefrom;wherein the at least one object has a visual appearance that correlates with how the avatar is to be displayed across gaming environments presented by the game-playing device from the plurality of game-playing devices that are executing the game software thereon;wherein the game character-related data is updatable on the at least one object in response to each successive coupling to a game-playing device;and wherein successive coupling operations involving the at least one object enable a game object, different from and unrelated to the avatar, to be made available in the gaming environments of successively coupled-to game-playing devices without human game-player knowledge of at least the initial transfer to the at least one portable object.
  20. A game-playing device, comprising: a processor configured to execute game software including instructions to establish a unique gaming environment for the game-playing device;and circuitry configured to enable the game-playing device to couple to and decouple from at least one physically movable, portable handheld object including non-volatile read/write memory that tangibly stores game character-related data usable in connection with the game software, wherein the at least one object also is coupleable to and decoupleable from individual ones of a plurality of other game-playing devices that are different from the game-playing device, and wherein the at least one object is not a game-playing device in the plurality of game-playing devices and is not the game-playing device;wherein the game-playing device is configured to present the gaming environment established thereon and, consistent with player-interaction with the game software being executed thereon: read character-related data from the at least one object to activate an avatar in the gaming environment established on the game-playing device, the avatar having attributes defined at least in part by the read character-related data and being usable in the gaming environment conditioned on the at least one object being coupled to the game-playing device, modify the character-related data, write the modified character-related data to the at least one object, and make the avatar unavailable in the gaming environment established on the game-playing device, responsive to decoupling of the at least one object from the game-playing device, the game-playing device continuing to permit player-interaction with the gaming environment even though the at least one object is no longer coupled thereto;wherein the at least one object includes a visual appearance that correlates with how the avatar is to be displayed in the gaming environments;wherein the game character-related data is updatable on the at least one object in response to successive couplings to the game-playing device and the other game-playing devices;wherein successive coupling operations involving the at least one object enable a further character, different from the avatar, to be made available in gaming environments provided by successively coupled-to game-playing devices;and wherein the further character is made available in the gaming environments of the successively coupled-to game-playing devices by copying, rather than moving, the further character to the gaming environments of the successively coupled-to game-playing devices, the further character being independently operable in the gaming environments.
  21. The device of claim 21 , wherein each of the other game-playing devices from the plurality of other game-playing devices is configured to execute game software thereon, is configured to present a respective gaming environment that is different from the gaming environment of presented by the game-playing device, and: responsive to the at least one object being coupled thereto after the modified character-related data has been written to the at least one object, read the modified character-related data from the at least one object to activate the avatar in the gaming environment being presented thereon, the avatar now having modified attributes defined at least in part by the read modified character-related data and now being usable in the respective gaming environment conditioned on the at least one object being coupled to the respective other game-playing device;further modify the modified character-related data, consistent with player-interaction with the game software being executed on the respective other game-playing device;write the further modified character-related data to the at least one object;and make the avatar unavailable in the respective gaming environment, responsive to decoupling of the at least one object from the respective other game-playing device.
  22. The device of claim 21 , wherein players operate the game-playing device and each of the plurality of other game-playing devices, and the avatar is player-controllable by the player of the device to which the at least one object is coupled.
  23. The device of claim 21 , wherein the avatar is providable only in the virtual environment presented by the device to which the at least one object is coupled.
  24. The device of claim 21 , wherein the respective gaming environments correspond to different and unique instances of a common game provided by the game software being executed by the respective game-playing devices.
  25. The device of claim 21 , wherein the respective gaming environments correspond to different and unique instances of a shared virtual environment.
  26. The device of claim 21 , wherein the game character-related data comprises character-identifying data.
  27. The device of claim 21 , wherein the game software is configured to enable the avatar to interact with other game characters in a common game environment.
  28. A non-transitory computer readable storage medium comprising instructions for a game software that, when executed by a processor of a game-playing device, control the game-playing device to: establish a unique gaming environment for the game-playing device;enable the game-playing device to couple to and decouple from at least one physically movable, portable handheld object including non-volatile read/write memory that tangibly stores game character-related data usable in connection with the game software, wherein the at least one object also is coupleable to and decoupleable from individual ones of a plurality of other game-playing devices that are different from the game-playing device, and wherein the at least one object is not a game-playing device in the plurality of game-playing devices and is not the game-playing device;and present the established gaming environment and, consistent with player-interaction with the game software being executed: read character-related data from the at least one object to activate an avatar in the established gaming environment, the avatar having attributes defined at least in part by the read character-related data and being usable in the established gaming environment conditioned on the at least one object being coupled to the game-playing device, the avatar resembling a human-perceivable graphical aspect of the at least one object;modify the character-related data, write the modified character-related data to the at least one object, and make the avatar unavailable in the established gaming environment, responsive to decoupling of the at least one object from the game-playing device, but continuing to facilitate player-interaction with the established gaming environment;wherein the game character-related data is updatable on the at least one object in response to successive couplings to the game-playing device and the other game-playing devices;wherein successive coupling operations involving the at least one object enable a further character, different from the avatar, to be made available in gaming environments provided by successively coupled-to game-playing devices;and wherein the further character is made available in the gaming environments of the successively coupled-to game-playing devices by copying, rather than moving, the further character to the gaming environments of the successively coupled-to game-playing devices.
  29. The non-transitory computer readable storage medium of claim 29 , wherein players operate the game-playing device and each of the plurality of other game-playing devices, and the avatar is player-controllable by the player of the device to which the at least one object is coupled.
  30. The system of claim 1 , wherein the at least one object is a memory card that includes an image that correlates with how the avatar is to be displayed in the gaming environments presented by the respective game-playing devices.
  31. The system of claim 31 , wherein the image includes an animal.
  32. The system of claim 1 , wherein the further character is made available in the gaming environments of the successively coupled-to game-playing devices by copying, rather than moving, the further character to the gaming environments of the successively coupled-to game-playing devices.
  33. The system of claim 20 , wherein the at least one object is a memory card that stores information that correlates with how the avatar is to be displayed in the gaming environments presented by the respective game-playing devices.
  34. The system of claim 34 , wherein the information that correlates with how the avatar is to be displayed in the gaming environments represents an animal.
  35. The system of claim 1 , wherein the further character is made available in the gaming environments of the successively coupled-to game-playing devices by copying, rather than moving, the further character to the gaming environments of the successively coupled-to game-playing devices, the further character being independently operable in the gaming environments.
  36. The system of claim 1 , wherein: successive coupling operations involving the at least one object enable a game object, different from and unrelated to the avatar, to be made available in the gaming environments of successively coupled-to game-playing device without human game-player knowledge of at least the initial transfer to the at least one portable object.

Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.