U.S. Pat. No. 8,727,883
MESSAGING SERVICE FOR VIDEO GAME SYSTEMS
AssigneeNintendo Co., Ltd.
Issue DateJanuary 25, 2006
Illustrative Figure
Abstract
A messaging system includes a web server computer and at least two video game systems. Each game system is configured to connect to the web server computer via the Internet and to communicate status data indicative of an activity engaged in by a user thereof. The web server computer generates a session file indicative of user status and the status of each of two or persons on a buddy list of the user.
Description
DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS The present invention is described in the context of exemplary embodiments. However, the scope of the invention is not limited to the particular embodiments described in the specification. Rather, the description merely serves to illustrate the principles and characteristics of the present invention. Those skilled in the art will recognize that various modifications and refinements may be made without departing from the spirit and scope of the invention. FIG. 1Aprovides an illustration of a network1in which the messaging service described herein may be implemented. Network1includes game systems10connected via communications circuits12(e.g., modems, network interfaces, etc.) to a wide area network16such as the Internet. Game systems10typically execute applications in a non-multi-tasking manner, i.e., applications run one at a time. Although communications circuits12are shown inFIG. 1as being external to game systems10, it will be appreciated that these circuits may be provided internally to the game system or embodied as cartridges, cards, or other such circuits removably attachable to a port or bay of the game systems. Also connected to wide area network16is a network server14. Among other things, network server14stores games that may be played by users of the network. These games may be one player games or multi-player games. The multi-player games may involve competition between two or more users or may involve competition between a user and a server-generated opponent. Network server14also provides the messaging service described in greater detail below. Thus, in the network ofFIG. 1A, the network provider may use the network server to provide the messaging service. The present invention is not limited to the messaging service being provided by the network provider and/or by using the network server. For example, a messaging service provider may work out an arrangement with the network provider to provide a messaging service using the network server. ...
DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS
The present invention is described in the context of exemplary embodiments. However, the scope of the invention is not limited to the particular embodiments described in the specification. Rather, the description merely serves to illustrate the principles and characteristics of the present invention. Those skilled in the art will recognize that various modifications and refinements may be made without departing from the spirit and scope of the invention.
FIG. 1Aprovides an illustration of a network1in which the messaging service described herein may be implemented. Network1includes game systems10connected via communications circuits12(e.g., modems, network interfaces, etc.) to a wide area network16such as the Internet. Game systems10typically execute applications in a non-multi-tasking manner, i.e., applications run one at a time. Although communications circuits12are shown inFIG. 1as being external to game systems10, it will be appreciated that these circuits may be provided internally to the game system or embodied as cartridges, cards, or other such circuits removably attachable to a port or bay of the game systems. Also connected to wide area network16is a network server14. Among other things, network server14stores games that may be played by users of the network. These games may be one player games or multi-player games. The multi-player games may involve competition between two or more users or may involve competition between a user and a server-generated opponent. Network server14also provides the messaging service described in greater detail below. Thus, in the network ofFIG. 1A, the network provider may use the network server to provide the messaging service.
The present invention is not limited to the messaging service being provided by the network provider and/or by using the network server. For example, a messaging service provider may work out an arrangement with the network provider to provide a messaging service using the network server. Also, a messaging service provider separate and independent from the network provider may provide the messaging service using a messaging service server that is separate from the network server as shown inFIG. 1B. That is, whileFIG. 1Ashows a network server that provides both game services and the messaging service, these services may in fact be provided by separate servers, i.e., a network server16and a messaging service server18as shown inFIG. 1B. Although the description below is with reference to the arrangement shown inFIG. 1Ain which the messaging service is provided by a network provider using network server14, the description is also readily applicable to these other arrangements including the arrangement shown inFIG. 1B.
What follows are descriptions of two game systems that may be used as the game systems10shown inFIGS. 1A and 1B. The descriptions of these game systems are provided by way of illustration, not limitation, and it will be readily recognized that other game systems may be used in a network such as the networks shown inFIGS. 1A and 1B.
FIG. 2shows a game console system50that may constitute one of the game systems10shown inFIGS. 1A and 1B. Video game system50that includes a main console52, a video game storage device54, and handheld controllers56aand56b(or other user input devices). Video game system50may be, for example, the N64® video game system. Main console52is connected to a conventional home color television set58. Television set58displays three-dimensional (3-D) video game images on its television screen60and reproduces stereo sound through its speakers62aand62b.
Video game storage device54is typically in the form of a replaceable memory cartridge insertable into a slot64on a top surface66of console52. A wide variety of alternative semiconductor, optical and magnetic program storage media such as CD ROMs, DVDs, floppy disks, and the like may be utilized. Video game storage device54may, for example, comprise a plastic housing68encasing a printed circuit board70. Printed circuit board70has an edge72defining a number of electrical contacts74. When the video game storage device54is inserted into main console slot64, the cartridge electrical contacts74mate with corresponding “edge connector” electrical contacts within the main console. This action electrically connects the storage device printed circuit board70to the electronics within main console52. At least a memory76is disposed on printed circuit board70within storage device housing68. Memory76includes a read only memory (ROM) and possibly a read/write memory (e.g., an EEPROM). The ROM stores instructions and other information pertaining to a particular video game. The ROM of a memory76for one game cartridge storage device54may, for example, contain instructions and other information for an adventure game while the ROM of a memory76of another storage device54may contain instructions and information to play a car race game, an educational game, etc. To play one game as opposed to another game, the user of video game system50need only plug the appropriate storage device54into main console slot64—thereby connecting the storage device's memory76(and any other circuitry it may contain) to console52. This enables a computer system embodied within console52to access the information contained within the ROM of memory76, which information controls the console computer system to play the appropriate video game by displaying images and reproducing sound on color television set58as specified under control of the ROM game program information.
Data may be written to and read from a read/write memory of memory76by the computer system embodied within console52. This data may include, but is not limited to, game scores and game levels.
The user may connect up to four controllers to corresponding connectors (sockets)80a-80don main unit front panel82. Two controllers56aand56bare shown inFIG. 2. Controllers56aand56bmay take a variety of forms. For example, each of controllers56aand56bshown inFIG. 2include various function controlling push buttons such as84a-cand an X-Y switch86used, for example, to specify the direction (up, down, left or right) that a player-controllable character displayed on television screen60should move. Other controller possibilities include joysticks, mice pointer controls and a wide range of other conventional user input devices.
In use, a user selects a storage device54containing a desired video game, and inserts that storage device into console slot64(thereby electrically connecting memory76and other cartridge electronics to the main console electronics). The user then operates a power switch88to turn on the video game system50and operates controllers56aand/or56bto provide inputs to console52and thus control video game play. For example, depressing one of push buttons84a-cmay cause the game to start playing. Moving directional switch86may cause animated characters to move on the television screen60in controllably different directions. Depending upon the particular video game stored within the storage device54, these various controls84a-cand86on the controllers56aand56bcan perform different functions at different times. If the user wants to restart game play from the beginning, or alternatively with certain game programs reset the game to a known continuation point, the user can press a reset button90.
Additional details of game system50may be found in U.S. Pat. No. 6,022,274 the contents of which are incorporated herein.
FIGS. 3A,3B and3C show a portable (hand-held) color-display game system110that may be used as one of the game systems10shown inFIGS. 1A and 1B. Game machine110displays game characters in color on a color liquid crystal display (LCD)116when a color-ready game cartridge112is selectively inserted into a game cartridge slot118(seeFIG. 3C). The color LCD116displays characters using a plurality of different colors if the color-ready game cartridge112is inserted into the game system110. Game system110may also be configured to receive monochrome game cartridges (not shown) and to display monochrome characters on LCD116. Game system110may, for example, be a GameBoy® Color game system.
With reference toFIG. 4, game system110includes color LCD116as described above. Color LCD116is formed as a dot matrix display and is driven by LCD drivers122and124to display color images on its screen. LCD driver122selectively drives, for example, the rows of the dot matrix display and LCD driver124selectively drives, for example, the columns of the dot matrix display. LCD drivers122,124are supplied with color image signals from a color display processing circuit128included in a central processing unit (CPU)126.
CPU126further includes a CPU core130that is connected to an internal read only memory (ROM)132and an internal random access memory (RAM)134. Internal RAM134is used as a work memory of CPU core130. CPU126further includes a basic oscillator136. Basic oscillator136is formed of, for example, a quartz oscillator, and supplies an oscillating signal to a programmable frequency divider138. Programmable frequency divider138divides the oscillating signal from basic oscillator136in accordance with frequency division data from CPU core130, and supplies a divided signal as a clock of CPU core130.
A connector140is connected to CPU126by an appropriate bus. Game cartridge112is selectively attachable to connector140. Game cartridge112is preferably in the form of a replaceable memory cartridge insertable into game cartridge slot118of game system110. Game cartridge112may comprise a plastic housing that encases a printed circuit board. The printed circuit board has a connector defining a number of electrical contacts. When game cartridge112is inserted into game cartridge slot118of game system110, the cartridge electrical contacts mate with corresponding “edge connector” electrical contacts within game system110. This action electrically connects the printed circuit board contained within the plastic housing to the electronics within game system110. In this example, the printed circuit board of game cartridge112at least includes a read-only memory (ROM)142and a read/write memory (e.g., SRAM)146. ROM142stores instructions and other information pertaining to a particular video game. The ROM for one game cartridge112may, for example, contain instructions and other information for an adventure game while the ROM of another game cartridge112may contain instructions and other information for a car race game, an educational game, etc. To play a game, a user of game system110need only plug the appropriate game cartridge into game cartridge slot118of game system110—thereby connecting the cartridge's ROM142(and any other circuitry it may contain) to game system110. This enables the game machine circuitry to access information contained within ROM142(and read/write memory146), which information controls the game system to play the appropriate video game by displaying images and reproducing sound as specified under control of the ROM game program information. Read/write memory146is used to store data such as game backup data.
CPU126is supplied with operation signals from operating keys148a-148e. Operating key148ais used, among other things, to move a game character displayed on color LCD116in four directions, that is, upward, downward, right and left. Operating key148bis a select key that is used for, for example, game mode selection and the like. Operating key148cis a start key that is used to start playing the game or to temporarily stop the progress of the game. Operating keys148d,148eare push-button switches. By pushing operating keys148d,148e, it is possible to cause various motions of the game characters displayed on color LCD116, for example, a weapon use, a jump and the like. Operating keys148a-148eare disposed in a forward surface of game system110as shown inFIG. 3B. A key matrix (not shown) is provided for sending CPU126the operation signals from operating keys148a-148eas controller data.
Batteries (not shown) (e.g., 2 AA batteries) provide power for game system110. A power indicator LED119(seeFIG. 3B) may dim as the batteries lose their charge, thereby providing a visual indication to the user that new batteries are needed. Game system110may also be configured for connection to an AC adapter to permit extended use without batteries.
In accordance with the game program, character data supplied from game cartridge112and the controller data from operating keys148a-148e, CPU126executes data processing and writes display data into a display RAM152, using an extended RAM150when necessary. The display RAM152has two banks, that is, a first bank and a second bank, and has, as a whole, a storage area that is greater than the display area of color LCD116, thereby enabling a scrolling display upward and downward and/or rightward and leftward on the screen of color LCD116. As a result of the data processing by CPU126, sound signals to be output are adjusted in level by volume control154and amplifier156, and then outputted to a speaker158and/or an earphone jack160. Sound signals output from speaker158and/or earphone jack160include game sound effects, voices and music.
Generally speaking, to use game system110to play a game, a user selects a game cartridge112containing a desired video game, and inserts that game cartridge into game cartridge slot118of game system110, thereby electrically connecting ROM142and other cartridge electronics to game system110. The user then operates a power switch121(seeFIG. 3B) to turn on game system110and operates operating keys148a-148eto control video game play. For example, depressing operating key148cmay cause the video game to start playing. Actuating operating key148amay cause animated characters to move on color LCD116in controllably different directions.
Additional features of game system110may be found in application Ser. No. 09/321,201, filed May 27, 1999, and application Ser. No. 09/454,607, filed Dec. 7, 1999, the contents of which are incorporated herein in their entirety.
In one illustrative implementation of the present invention, the program contained in storage device54and the program contained in cartridge112each includes program code for a messaging service client. Various features of the messaging service are described below.
User Registration
When the program code for the messaging service client is executed for the first time upon appropriate inputs from a user, the messaging service client prompts the user via the display of the game system to input his/her account username (e.g., Johnsmith). The username may be input using an input device associated with the game system. In the case of a game console such as the game console shown inFIG. 2, an on-screen keyboard may be provided and the game controls are usable to select characters from the on-screen keyboard to input the username. In another implementation, a separate keyboard may be connected to the game console. In the case of a portable game system such as the portable game system shown inFIGS. 3 and 4, an on-screen keyboard may be used to input the username. In the event that a household has more than one user, multiple usernames may be stored. In this case, the messaging service client may be configured with a screen that allows a user to select an appropriate one of a plurality of usernames before going online.
Game network server14maintains a list of registered usernames. The usernames are checked to confirm that a particular user is a registered user of the messaging service prior to granting that user access to the messaging service. If a user cancels his/her account, network server14updates the list of registered usernames list to reflect the change.
User Profile
The messaging service client provides the user with an opportunity to create a user profile that is stored in the memory of network server14. As mentioned below, a copy of this profile may be (but is not required to be) maintained locally at the game system. The user profile may contain any desired user-specific information including, but not limited to, an alias, first name, last name, gender, age, city, state, favorite game, favorite food, favorite sport, hobbies, recommended URL and notes.FIG. 5illustrates an example user profile for John Smith.
If desired, users may also be given an opportunity to indicate high scores and other accomplishments achieved on the game network or on stand-alone games. Users may also be provided with the capability of including in their profiles customized faces (images) made up of various user-selected features (e.g., a particular nose, mouth, mustache, etc.) in order to enhance the “persona” of the user. These customized faces may be included with messages. Users may even be provided with the capability of including in their profiles digital images of their own faces generated, for example, using a digital camera such as the one described in U.S. application Ser. No. 09/430,169, the contents of which are incorporated herein.
Buddy List
The messaging service client allows the user to create a list (“buddy list”) of other users (“buddies”) with whom he/she wishes to remain in contact. This buddy list is stored by network server14and a copy may also be stored locally. When a user (“connecting user”) connects to the game network, he/she is connected to network server14and is logged in by the messaging service as being online and as being engaged in a particular activity on a particular type of game system. For example, the user may be logged in as playing Pokemon® Pinball on a GameBoy® Color portable game system. In another example, the user may be logged in as browsing the Internet. In addition to being logged in, the messaging service on network sever14determines whether the connecting user has a buddy list. If so, network server14determines the status of the buddies on this buddy list (e.g., which buddies are currently online and the activities in which these buddies are engaged). The user can if desired view a listing showing which of his/her buddies are online and the activities in which those buddies are engaged. The connecting user and his/her buddies can then communicate with each other on an individual basis and private chat sessions can be set up. These chat sessions are typically text-based, but it also possible to set up voice over Internet sessions between two users. Network server14periodically updates the status of the buddies on the buddy list to reflect buddies that have gone offline, are playing different games, have come online, etc.
Significantly, as long as a user is connected to network server14, that user can connect to his/her buddies even if the user is engaged in an activity different than the activities of his/her buddies. Thus, for example, the messaging service provides for instant messages between one user browsing the Internet and another user playing a game. The messaging service also provides for instant messages between one user playing game A and another user playing game B. Of course, browsing and game-playing are merely illustrative and it will be recognized that the messaging service described herein may be used to provide instant messages between users of other applications such as productivity applications.
Before a user can add another user to his/her “buddy” list, the new buddy must approve the addition. Thus, the messaging service notifies the new buddy to request the new buddy's approval for addition onto the user's buddy list. Access is granted or denied only after the new buddy accepts or declines his/her addition to the buddy list. During the approval process, the messaging service identifies whether or not the new buddy is a registered user of the service.
If the buddy accepts, his/her username remains on the buddy list. If the buddy declines, he/she is removed from the buddy list. If the messaging service determines that the new buddy is not a registered user, the name is removed from the list and the messaging service prompts the user to check the spelling of the name.
As an example, a first user may request that a second user join her list. Network server14sends a message to the second user extending an invitation to the second user to join the first user's buddy list. The second user may accept or decline the invitation. If the second user accepts, the second user is added to the first user's buddy list. Also, at this time, the first user is preferably added to the second user's buddy list.
At any time, a buddy can elect to remove his/her name from another user's buddy list. In this case, the user is notified and the name of the buddy is removed from his/her buddy list.
View Association List
The messaging service client enables a user to access network server14to view which other users have included him/her on their buddy list. At any time, a user can remove his/her name from another user's buddy list. In this case, the other user is notified and the user's name is removed that particular list.
Block List
In the event that a user does not wish to be notified of a request to be placed on some other user's buddy list, the messaging service client enables the user to access network server14to add the name of that other user to a Block List listing the usernames of those other users that he/she does not wish to hear from.
User Preferences
The messaging service client enables a user to set and modify certain preferences at any time.
Profile
The user can set a preference to determine whether (1) everyone can see his/her user profile, (2) only buddies can see his/her user profile, (3) or no one can see his/her user profile. The administrator of the messaging service may also provide certain limitations on the access to user profiles by users of the messaging service in order to protect user privacy.
The profiles may also specify how much information may be provided to any or all buddies on his buddy list. This specification may be made by a user, a user's parent or guardian or an administrator of the messaging service. This feature may be provided to, among other things, protect the amount of online information that is available to others about children. Thus, for example, a user may specify in his profile that a particular buddy cannot see what the user is doing. That is, the user my specify that a particular buddy may know that the user is online, but not be able to determine the activity in which the user is engaged. The user may also specify that a particular buddy can know only certain activities in which the user is engaged (e.g., playing a particular game or games).
Access
The user can set a preference to determine whether (1) everyone can search for him/her, (2) only allow buddies to search for him/her, or (3) no one can search for him/her. The administrator of the messaging service may also provide certain limitations on searching for other users in order to protect user privacy.
Status
The user can set his/her status to be (1) available—able to send/receive messages, (2) invisible—online, but not able to send/receive messages, (3) busy—online, able to send, but not receive messages. A user can, for example, broadcast a message that he/she is online but does not want to be interrupted. A busy icon may be used to notify others that the user is online, but does not want to be bothered. A user can also be invisible; such a user is online and can determine what his/her buddies are doing, but the buddies don't know that the user is there.
Rules
A user can create a list of rules that can be selectively turned ON or OFF. For example, a user may have an Auto Reply rule that can be turned ON or OFF. When the user sets his/her status to busy, the Auto Reply rule may be invoked to generate a personal auto reply message that automatically informs a message sender of the user's status.
Alerts
Alerts may be audible and/or visual and include:Message Alerts that alert a user when a new message is receivedE-mail Notification Alerts that alert a user when his/her mailbox receives a message. That is, a user's e-mail service may be configured to send a notification to the messaging service client when an e-mail message is received by the e-mail service. The notification may include an identification of sender. The user can set a preference determining whether the messaging service client generates an audible and/or visual alert upon receipt of such a notification. In response to the alert, a user can if desired launch an e-mail client to read the e-mail message. The e-mail server may be separate from the game network server and/or the messaging service server.Buddy Signs On Alerts that alerts a user when any buddy (or some particular buddy) signs on.Buddy Signs Off Alerts that alert a user when any buddy (or some particular buddy) signs off.Reminder Alerts that remind a user of some event or activity (e.g., “Television program X starts in 5 minutes.”)Autostart Alerts alert the user that the messaging service client starts whenever the user goes online
A user accesses the game network via the communications circuit12connected to the user's game system10. Communications circuit12may, for example, be a modem connected to a port (e.g., PCMCIA, USB, serial, and the like) of the game machine. If desired, the modem may include an associated memory. This memory may be used to store, among other things, a dialer, a browser, an e-mail client, an address book (e.g., telephone numbers for point-to-point communications, ISP access, etc.) and the like. The memory may also be used to store a user's profile, buddy list, and/or preferences and, in some cases, some or all of the program code for the messaging service client. Updates and changes may be made to the information in this memory. Profile, buddy list and/or preference information that is also stored in memory of network server14may be updated to reflect any “off line” updates or changes the next time the user accesses the server. Some of the memory may also be used as a cache. For example, if during game play the message from another user forwards an URL, the cache may be used to store the URL until the user can conveniently pause or stop game play.
The present invention is not limited to any particular allocation of program code and data to specific memories provided that the program code and data is accessible to system components as needed to implement the functionality described herein. Thus, for example, the dialer may be part of program code stored in a game cartridge. If the game system has access to external storage such as a hard drive or an optical disk, the dialer, browser, address book, etc. may be stored using this external storage.
Access to the game network may be initiated when the user uses a cartridge having program code that includes code for the messenger service client. The cartridge may, for example, be a cartridge such as cartridge54used with the game system50shown inFIG. 2or a cartridge such as cartridge112used with the portable game system110shown inFIGS. 3A-3Cand4. In addition to the code for the messaging service client, the cartridge contains program code executable by the processing circuitry of the game system for playing a game or for browsing the Internet. When the user logs onto the network (e.g., via the user's Internet service provider), the messaging service client is automatically initiated if “Autostart” is enabled in the user's preferences. In a manner transparent to the user, the messaging service client contacts the server providing the messaging service (e.g., network server14) and reports the identity and status of the user (e.g., username and what game the user is playing on what type of machine). The messaging service generates a session file on network server14to manage the status of the user and the user's buddies. Each time a buddy logs on, logs off, changes activities, etc., the messaging service updates the session file. The messaging service client is configured to permit a user to access network server14to ascertain the status of his/her buddies. Alternatively or additionally, this status information may be periodically communicated to the messaging service client and stored (e.g., in a memory associated with the modem) for immediate or subsequent display on the display associated with the game system.
The interface for the messaging service may take many different forms and the present invention is not limited in this respect. The interface is generally dependent upon the activity in which the user is currently engaged. For example, one interface may be provided if the user is browsing the Internet and another different interface may be provided if the user is playing a game. The interface should not create an obtrusive or unfriendly feel.
The interface may include a master control panel indicating the status of all the buddies on a user's buddy list based on the status information maintained by network server14. A user may access this control panel to determine the status of the buddies on his/her buddy list. A user may also designate in his/her preferences that a message be automatically generated when the status of particular buddy changes. Thus, the user may designate that a message be generated whenever user B goes online and/or whenever user B goes offline and/or whenever user B plays a particular game, etc.
Each of the game systems includes an input device(s) that is usable by a user to create messages. In the case of a game console, an on-screen keyboard may be used and the game controls are usable to select characters from the on-screen keyboard to create messages. In another implementation, a separate keyboard (not shown) may be connected to the game console. In still another implementation, the input device may be a microphone to enable voice over IP communications. Voice over IP may be implemented within the messaging service.
In the case of a portable game system, an on-screen keyboard may be used to create messages. If voice input is supported, a microphone may also be used.
The messaging service may be configured to support quick macro messages to help speed up conversations. The user can then create several messages that are accessible by pressing a button or key, or a sequence of buttons and/or keys. These macro messages might be common phrases such as “Do you want to challenge me?”, “How are you doing?”, or “I'm signing off, good-bye.”
The messaging service client may be configured to provide users the option of remembering a username that he/she would like to add to his/her buddy list. This feature may be used, for example, if a user meets someone in a chat room and then wants to add that someone to his/her buddy list. As noted above, approval must be given by the buddy before he/she can be added to the user's buddy list. The messaging service client can also be configured to permit broadcast messages to be sent to two or more buddies on a buddy list.
As described above, a messaging service client may be included as part of applications executed by the game systems to allow messages to be communicated between users. The messaging service client allows two systems connected to the network server to each know that the other is online and permits private conversations between these parties. When the messaging service client is initiated, it notifies the network server that the user is online and the network server then determines the status of the user's buddies. The user can then review the status of his/her buddies. This status information may be accessed via an icon during game play and may be displayed before starting the game.
Among other things, the messaging service of the present invention enables users to let their friends know they are playing particular games without making pre-arrangements (e.g., via an e-mail saying “I'm playing game X on Tuesday night at 8.”) The messaging service marks a user's location in the network world and permits other selected users to see what the user is doing (e.g., playing a particular game on a particular game machine, browsing the web, etc.) The messaging service permits private chats to be set up, even if users are engaged in different activities (e.g., playing different games).
It is preferable that the messaging service not interfere with game playing, particularly in the case of fast-action games. If there is sufficient bandwidth, some portion of this bandwidth may be dedicated to messaging service data. In situations where no dedicated bandwidth for messaging service data is available, the messaging service data is allocated bandwidth when this data can be “fit in” without affecting game playing. Thus, game playing data should take precedence over the message service data.
In addition, it is desirable that messages not be presented to the user in an intrusive manner. For example, messages may be presented to the user as the user is going from one game level to another. Alternatively or additionally, an indicator (e.g., a flashing envelope or a flashing microphone) may be displayed to indicate to the user that a message has been received.
Other Example Compatible Implementations
Certain of the above-described system components could be implemented as other than the home video game console system or hand-held system configurations described above.
An emulator system, for example, might include software and/or hardware components that emulate or simulate some or all of hardware and/or software components of the system for which the application software was written. For example, the emulator system could comprise a general-purpose digital computer such as a personal computer, which executes a software emulator program that simulates the hardware and/or firmware of the system. The emulator could also comprise a personal digital assistant (PDA) that simulates the hardware and/or firmware of the system. An emulator may execute the game software so that a particular game functions and/or appears somewhat differently from how it functions and/or appears on its intended platform. Thus, the emulator may show a color game in monochrome or a play a game without its accompanying sound. Emulation as used herein is intended to include emulation that results in these and other such differences in functions and/or appearance.
Some general purpose digital computers (e.g., IBM or MacIntosh personal computers and compatibles) are now equipped with 3D graphics cards that provide 3D graphics pipelines compliant with DirectX or other standard 3D graphics command APIs. They may also be equipped with stereophonic sound cards that provide high quality stereophonic sound based on a standard set of sound commands. Such multimedia-hardware-equipped personal computers running emulator software may have sufficient performance to approximate the graphics and sound performance of the system. Emulator software controls the hardware resources on the personal computer platform to simulate the processing, graphics, sound, peripheral and other capabilities of the portable game machine platform for which the game programmer wrote the game software. Similarly, PDAs running emulator software may have sufficient performance to approximate the graphics and sound performance of the system.
FIG. 6Aillustrates an example overall emulation process using a host platform1201, an emulator component1303, and a game software executable binary image provided on a storage medium1362. Host1201may be a general or special purpose digital computing device such as, for example, a personal computer, a laptop computer, a palm-top computer, a video game console, a portable game machine, a personal digital assistant, an internet appliance, a set-top box, or any other platform with sufficient computing power. Emulator1303may be software and/or hardware that runs on host platform1201, and provides a real-time conversion of commands, data and other information from storage medium1362into a form that can be processed by host1201. For example, emulator1303fetches “source” binary-image program instructions intended for execution by portable game machine110from storage medium1362and converts these program instructions to a target format that can be executed or otherwise processed by host1201.
As one example, in the case where the software is written for execution on a platform using a specific processor and the host1201is a personal computer using a different (e.g., Intel) processor, emulator1203fetches one or a sequence of binary-image program instructions from storage medium1362and converts these program instructions to one or more equivalent Intel binary-image program instructions. The emulator1203also fetches and/or generates graphics commands and audio commands, and converts these commands into a format or formats that can be processed by hardware and/or software graphics and audio processing resources available on host1201. As one example, emulator1303may convert these commands into commands that can be processed by specific graphics and/or or sound hardware of the host1201(e.g., using standard DirectX, OpenGL and/or sound APIs).
FIG. 6Billustrates one example emulation host system1201suitable for use with emulator1303. System1201includes a processing unit1203and a system memory1205. A system bus1207couples various system components including system memory1205to processing unit1203. System bus1207may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. System memory1207includes read only memory (ROM)1252and random access memory (RAM)1254. A basic input/output system (BIOS)1256, containing the basic routines that help to transfer information between elements within personal computer system1201, such as during start-up, is stored in the ROM1252. System1201further includes various drives and associated computer-readable media. A hard disk drive1209reads from and writes to a (typically fixed) magnetic hard disk1211. An additional (possibly optional) magnetic disk drive1213reads from and writes to a removable “floppy” or other magnetic disk1215. An optical disk drive1217reads from and, in some configurations, writes to a removable optical disk1219such as a CD ROM or other optical media. Hard disk drive1209, magnetic disk drive1213, and optical disk drive1217are connected to system bus1207by a hard disk drive interface1221, magnetic disk drive interface1223, and an optical drive interface1225, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer-readable instructions, data structures, program modules, game programs and other data for personal computer system1201. In other configurations, other types of computer-readable media that can store data that is accessible by a computer (e.g., magnetic cassettes, flash memory cards, digital video disks, random access memories (RAMs), read only memories (ROMs) and the like) may also be used.
A number of program modules including emulator1303may be stored on the hard disk1211, removable magnetic disk1215, optical disk1219and/or the ROM1252and/or the RAM1254of system memory1205. Such program modules may include an operating system providing graphics and sound APIs, one or more application programs, other program modules, program data and game data. A user may enter commands and information into personal computer system1201through input devices such as a keyboard1227, pointing device1229, microphones, joysticks, game controllers, satellite dishes, scanners, or the like. These and other input devices can be connected to processing unit1203through a serial port interface1231that is coupled to system bus1207, but may be connected by other interfaces, such as a parallel port, game port, Fire wire bus or a universal serial bus (USB). A monitor1233or other type of display device is also connected to system bus1207via an interface, such as a video adapter1235.
System1201may also include a modem1154or other network interface means for establishing communications over a network1152such as the Internet. Modem1154, which may be internal or external, is connected to system bus123via serial port interface1231. A network interface1156may also be provided for allowing system1201to communicate with a remote computing device1150(e.g., another system1201) via a local area network1158(or such communication may be via wide area network1152or other communications path such as dial-up or other communications means). System1201will typically include other peripheral output devices, such as printers and other standard peripheral devices.
In one example, video adapter1235may include a 3D graphics pipeline chip set providing fast 3D graphics rendering in response to 3D graphics commands issued based on a standard 3D graphics application programmer interface such as Microsoft's DirectX 7.0 or other version. A set of stereo loudspeakers1237is also connected to system bus1207via a sound generating interface such as a conventional “sound card” providing hardware and embedded software support for generating high quality stereophonic sound based on sound commands provided by bus1207. These hardware capabilities allow system1201to provide sufficient graphics and sound speed performance to play software stored in storage medium1362.
An emulator1303used to provide some or all of the features of the video game system described above may also be provided with a graphic user interface (GUI) that simplifies or automates the selection of various options and screen modes for games run using the emulator. In one example, such an emulator1303may further include enhanced functionality as compared with the host platform for which the software was originally intended.
FIG. 6Cillustrates another example emulation host system1201′ suitable for use with emulator1303. The emulation host system inFIG. 6Cis generally configured along the lines of a personal digital assistant such as those available from Palm Inc., Handpsring, Inc. and Sony and running an operating system such as Windows CE, EPOC or PalmOS. Typically, such personal digital assistants provide capabilities for a diary/scheduler, to-do lists, phone/address books and the like. System1201′ includes a processing unit1503and memory1505. A system bus1507couples various system components including memory1505to processing unit1503. Memory1505includes read only memory (ROM) and random access memory (RAM). Memory1505may also include external memory in the form of memory cards or memory sticks inserted into a suitable port provided in the housing for the components of system1201′. A touch-sensitive display screen (e.g., a touch-sensitive liquid crystal display screen)1509is also connected to system bus1507via an interface1511. Inputs via touch-sensitive screen1509are typically made using a stylus. Other input devices1513such as pushbuttons, switches, pointing devices and the like are also connected to system bus1507via an interface1515. The input devices may also include external keyboards or game control devices (e.g., joystick, game controller). The input devices may be used as game controls (e.g., starting the game, character movement, character action, etc.) when system1201′ is used with emulator1303. Games may be written to memory1505using communication circuit1521which may take the form of a modem for downloading the game from the Internet, for example, or of a cradle (e.g., a USB cradle) for connecting system1201′ to a personal computer.
One or more speakers1517are connected to system bus1507via an audio interface1519to output sounds. A communication circuit1521is connected to system bus1507via a communications interface1523to permit communication with other devices. By way of illustration, communication circuit1521may, for example, be a modem and communications interface1523may be a serial port. Generally speaking, communication circuit1521may be configured for wired or wireless communication in accordance with any conventional communication protocol. A power supply1525provides power for the components of system1201′.
Any patent documents mentioned above are hereby incorporated by reference into the present application.
Although the present invention has been described and illustrated in detail, this description is for illustrative purposes only and is not to be construed as limiting the present invention.
Claims
- A non-transitory portable memory medium having stored thereon an application executable by processing circuitry of a video game system connected to a communication network, the application comprising both video game program code for a video game and messaging service program code for a messaging service for communicating messages to other messaging service users connected to the communication network, whereby the messaging service is accessible when the application is executed by the processing circuitry of the video game system in a non-multi-tasking mode.
- The non-transitory portable memory medium according to claim 1 , wherein the portable memory medium comprises an optical memory medium.
- The non-transitory portable memory medium according to claim 1 , wherein the portable memory medium comprises a magnetic memory medium.
- The non-transitory portable memory medium according to claim 1 , wherein the portable memory medium comprises a semiconductor memory medium.
- The non-transitory portable memory medium according to claim 1 , wherein the video game system is a hand-held game system, and the portable memory medium is adapted for operative coupling to the hand-held game system.
- The non-transitory portable memory medium according to claim 1 , wherein the video game system is a video game console connected to a television, and the portable memory medium is adapted for operative coupling to the video game console.
- The non-transitory portable memory medium according to claim 1 , wherein the communication network is the Internet.
- The non-transitory portable memory medium according to claim 1 , wherein the messaging service program code includes a user registration routine for registering a user as a user of the messaging service.
- The non-transitory portable memory medium according to claim 1 , wherein the messaging service program code includes a user profile routine for creating a user profile.
- The non-transitory portable memory medium according to claim 9 , wherein the messaging service program code further includes a preferences routine for setting access limitations to the user profile.
- The non-transitory portable memory medium according to claim 9 , wherein the user profile includes a customized image comprising user-selected features.
- The non-transitory portable memory medium according to claim 9 , wherein the user profile includes a digital image of the user.
- The non-transitory portable memory medium according to claim 1 , wherein the messaging service program code includes a buddy list routine for creating a user buddy list.
- The non-transitory portable memory medium according to claim 13 , wherein the messaging service program code further includes a preferences routine for setting a buddy sign-on alert to provide an alert to the user when a buddy on the buddy list signs onto the messaging service.
- The non-transitory portable memory medium according to claim 13 , wherein the messaging service program code further includes a preferences routine for setting a buddy sign-off alert to provide an alert to the user when a buddy on the buddy list signs off the messaging service.
- The non-transitory portable memory medium according to claim 1 , wherein the messaging service program code includes a preferences routine for setting a message alert to provide an alert to the user when a message is received.
- The non-transitory portable memory medium according to claim 1 , wherein the messaging service program code includes an auto-start routine for automatically logging the user into the messaging service.
- The non-transitory portable memory medium according to claim 1 , wherein the messaging service program code includes a start routine for logging the user into the messaging service as being engaged in a particular activity on the video game system.
- A video game system, comprising: processing circuitry for executing applications in a non-multi-tasking mode;a communication circuit that, in use, connects the video game system to a communication network;and a connector that, in use, connects to a portable storage medium storing an application that comprises both video game program code for a video game and messaging service program code for a messaging service for communicating messages to other message service users connected to the communication network, whereby the messaging service is accessible when the stored application is executed by the processing circuitry in the non-multi-tasking mode.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.