Abstract:
A player encounters a challenge present in a video game without succeeding thereat and requests contextual help from a service by way of a guide. The guide gathers a current context of the game including the encountered challenge and calls to the service with the gathered current context for such contextual help. The service compiles a list of entries based on the gathered current context and returns the compiled list of entries to the guide. Each entry in the list has been authored by a player of the game and includes information purportedly relevant to succeeding at the encountered challenge as represented by the current context. The player receives the compiled list of entries from the service by way of the guide, reviews same, and resumes playing the game and in doing so employs the gathered information in an effort to succeed at the challenge.

Description:
BACKGROUND 
       [0001]    The present invention relates to video games, and particularly relatively complex video games such as video games played from consoles or the like. As may be appreciated, such complex video games are not necessarily intended to be completed so much as experienced. Accordingly, each such relatively complex video game includes multiple challenges, characters, objects that can be acquired, scenes, and the like that collectively form a universe that is hopefully of interest to a player of the game. As a result, a player of the game experiences high play value in connection with such a video game by exploring the universe of such game, by encountering new challenges within such universe, and by triumphing or otherwise overcoming such challenges. Notably, although such a video game may offer points for overcoming such challenges, the points may actually be of little actual value to the player as compared with the experience. 
         [0002]    The perceived value of the points may increase measurably, however, when the player of the game participates with other players in playing the game in a multi-player context, or when comparing the player wishes to compare oneself with other players, among other things. Accordingly, it is known that the video game may be communicatively coupled to a service or the like to which multiple copies of the game are also communicatively coupled. By so doing, the player of the game may compare the points obtained thereby with the points obtained by other players at other copies of the game. Additionally, communities of such players may be established, where players may communicate with each other regarding the game as well as other games and other matters. As should be understood, one topic of particular interest to such players may be overcoming challenges within the context of the game, and accordingly such players may create discussions on the service about the game, including the challenges therein. 
         [0003]    One particular instance of such a service is the XBOX LIVE service as provided by MICROSOFT Corporation of Redmond, Washington with regard to the XBOX game-playing console. As may be understood, each player having such an XBOX console may subscribe to the LIVE service and may communicatively couple the console thereof to such LIVE service, typically by way of an Ethernet condition to a high-speed Internet connection. As coupled, the player may play any of several XBOX video games and while doing so communicate with the LIVE service regarding the game being played, or regarding other games, or even regarding non-game issues. Thus, the player may set up a group of on-line friends and be informed when any such friend is coupled to the service, may exchange mail and other communications with such friends, and may perform many other functions. In addition, a developer of a particular XBOX game may establish a site or the like at the LIVE service that is dedicated to the particular game, where the site includes promotional materials, tips, background, and other game-related materials. 
         [0004]    Inasmuch as a complex video game is typically very challenging to play, it would seem appropriate that a developer of the game that has a corresponding site at a service such as the Live service would have help information at such site. Thus, if a player playing the game was unable to overcome a particular problem, obstacle, challenge or the like (hereinafter, ‘challenge’), the player could access the service by way of the console and in particular the site for the game at the service, and obtain such help information as needed. However, providing such help could represent a significant burden to the developer, both in the time and effort needed to develop help information relating to all possible challenges, and in allowing the user to search for such help information based on the challenge at issue. As a result, such help information is not often provided by way of the service, or if provided is not provided in a satisfactory manner. 
         [0005]    Accordingly, a need exists for a method and mechanism for providing help information regarding a challenge in a complex video game by way of a service communicatively coupled to the console on which the game is being played. In particular, a need exists for such help information that is provided as entries in a directory or database associated with the service by way of players of the game, and that is searchable. Moreover, a need exists for such help information that is searched at the direction of a player at a console on which the game is being played based on a present context of the game at the console. 
       SUMMARY 
       [0006]    The present invention leverages a service related to and accessible from a game playing console and a community of players that create player-generated game help entries. The service receives a help request from a player playing the game at a console, where the help request includes a present context of the game, identifies entries believed to be relevant based on such context, and returns such search results including the identified entries in an ordered manner. The player reviews at least some of the identified entries and in doing so information relating to popularity and/or satisfaction with such entries is gleaned and returned to the service. Thus, entries at the service can be scored, and the scores can be used during future searches to order search results. 
         [0007]    An entry as newly provided to the service by a player can at least preliminarily be scored based on a rating of the providing player with regard to the game. Such rating may be based on points accumulated by the providing player, an amount of time spent by the providing player playing the game, scores of other entries from the providing player, whether the providing player has personally experienced the challenge to which the provided entry relates, and the like. Additionally, a providing player can include within an entry captured content from the game, including screenshots, video clips, annotations thereof, and the like. 
         [0008]    In the present invention, then, a player encounters a challenge present in a video game without succeeding thereat, accesses a service access guide that is in communications with a game service, and requests contextual help from the service by way of the guide. In response, the guide gathers a current context of the game including the encountered challenge and calls to the service for such contextual help. The call includes the gathered current context of the game, and the service receives the call from the guide including the gathered current context of the game and based thereon compiles a list of entries and returns the compiled list of entries to the guide. Each entry in the list has been authored by a player of the game and includes information purportedly relevant to succeeding at the encountered challenge as represented by the received current context of the game. The player receives the compiled list of entries from the service by way of the guide, reviews same, and resumes playing the game and in doing so employs the gathered information in an effort to succeed at the challenge. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0009]      FIG. 1  is a block diagram of an example computing environment in which example embodiments and aspects may be implemented. 
           [0010]      FIG. 2  is a block diagram showing a system for providing player-authored contextual help in accordance with various embodiments of the present invention. 
           [0011]      FIG. 3  is a flow diagram showing key steps performed in connection with the system of  FIG. 2  in accordance with various embodiments of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0012]    Turning now to  FIGS. 2 and 3 , in a typical user scenario, a player  10  is playing a video game  12  on a corresponding console  14  to which the game  12  is loaded ( 301 ). Player  10  in doing so encounters a particular challenge but thus far has not succeeded at the challenge (i.e., has not been able to get past the challenge) ( 303 ). Note here that the game  12  and console  14  may be any appropriate game and console as long as such game and console are appropriately provisioned with the functionality necessary as set forth herein. Note too that the challenge may also be any appropriate challenge, and can include most any situation where the player has to figure out how to take some action. Thus, the challenge may be epic, such as a fight or battle with a character, may be mundane, such as how to acquire an object or maneuver a certain way, or may be somewhere in between, such as how to make a character go to sleep, among other things. 
         [0013]    After trying to solve the challenge multiple times, player  10  selects a service access guide  16  at the console  14  ( 305 ). As may be appreciated, such a guide  16  may be hardware and/or software at the console that allows the user to access a service  18  such as that which was set forth above. Thus, the guide  16  may include appropriate communications functionality necessary to communicate with the service  18 , as well as a user interface to facilitate interaction between the player  10  and the service  18 . Such a guide  16  and service  18  are generally known and therefore need not be set forth herein in any detail other than that which is provided. Accordingly, such guide  16  and service  18  may be any appropriate guide and service. In the context of an XBOX console  14 , then, the guide  16  is accessed by actuating a button on a game controller (not shown), after which a video representation of the guide  16  is displayed alongside the game  12 , which may or may not be automatically paused. The user then employs the guide  16  as necessary and/or desired to access information from the service  18  regarding the game  12 , as will be set forth in more detail below. 
         [0014]    Note here that the service  18  in the context of the XBOX console  14  is the XBOX LIVE service  18 , which as was set forth above is appropriately communicatively coupled to such console  14  by way of a network connection such as the Internet. Inasmuch as multiple player  10  at multiple consoles  14  are also coupled to such a service  18 , players  10  may communicate with each other by mail or messaging by way of the service  18 , and may establish communities or the like regarding particular games  12  and other matters. As should be understood, one topic of particular interest to such players  10  may be overcoming challenges in a game  12 , and accordingly such players may create discussions on the service about the game  12 , including the challenges therein. 
         [0015]    Upon selecting the guide  16  at the console  14 , such guide  16  establishes a connection with the service  18  if not already present and then opens a viewer in the display upon which the game  12  is being viewed. The player  10  then selects contextual help from the viewer ( 307 ), after which the guide  16  requests such contextual help from the service  18  ( 309 ) and in response thereto the service  18  returns a list  20  of relevant help entries  22  which the guide  16  presents in the viewer or in another viewer in the display ( 311 ). Inasmuch as the help is contextual, the guide  16  as part of the request for contextual help as at  307  includes information regarding a current context of the game  12  and the player  10  thereof. As will be set forth in more detail below, such current context is based at least in part on tags associated with objects in connection with the game  12 , and whether each tag is active such that the player  10  is currently associated with such object. 
         [0016]    The entries  22  in the returned list  20  may include entries  22  relating to items possessed by the player  10  in the context of the game  12 , recently and/or currently encountered challenges in the context of the game  12 , recently and/or currently visited locations in the context of the game  12 , and the like. As may be appreciated, each entry  22  is from a database or the like within which all entries  22  relating to the game  12  are stored, where such database maybe resident at the service  18  or at least accessible and searchable by the service  18 . Generally, each entry  22  may be about most any topic relating to the game  12 , although it is expected that most entries  22  would relate to overcoming or succeeding at challenges that can be encountered in the game  12 . Accordingly, such entries  22  might include some level of information necessary to overcome a particular challenge, or perhaps information on how to find a particular challenge. Significantly, each entry  22  in the list  20  is ordered by the service  18  based on a pre-determined weight assigned to the entry  22  based at least in part on perceived relevance to the current context of the game  12  so that entries  22  in the list  20  are ordered in descending perceived relevance. 
         [0017]    Thus, the player  10  with the returned list  20  of entries  22  selects the first entry  22  in the list  20 , upon which the guide  16  obtains the selected entry  22  from the service  18  and presents same in the viewer or in another viewer in the display. Significantly, each entry  22  is written by an authoring player  10  and not by the developer of the game  12 , thus freeing the developer from having to do so, and also allowing each entry  22  to contain as much or as little information as the authoring player  10  cares to provide, and further allowing multiple entries  22  to be written regarding the same subject. 
         [0018]    Note here that each entry  22  may be categorized based on any factor, such as a relevant amount of information provided (i.e., hints only, detailed information, etc.), and the selecting player  10  may select corresponding categories to filter the entries  22 . For example, if the selecting player  10  only wants hints, only the entries  22  categorized as hints only are presented. The selecting player  10  may modify such filtering as necessary or desired, such as for example if none of the presented entries  22  seem to be of help. 
         [0019]    Note too that each entry  22  as written by an authoring player  10  may include screen shots and/or video clips of the game  12  and annotations thereto as provided by such authoring player  10 . As may be appreciated, such authoring player  10  may employ the guide  16  thereof to capture such screen shots and/or video clips from the game  12 , and also to annotate same such as for example with an electronic grease pencil. Additionally, the authoring player  10  may employ the guide  16  thereof to add audio commentary and/or video to the entry  22  authored thereby. 
         [0020]    Note further that each entry  22  as provided by the service  18  may be marked with special indicia as necessary or appropriate. For example, one indicia may be employed when a friend of the selecting player  10  has recommended the entry  22  or found the entry to be useful, helpful, or the like. Another indicia may be employed to signify that the authoring player  12  has experienced the challenge to which the entry  22  relates. Thus, the selecting player  10  can view such indicia as a seal of approval, or at least as an indication that the entry  22  deserves special attention. 
         [0021]    Upon reviewing a number of the entries  22  in the returned list  20 , then ( 313 ), the selecting player  10  hopefully has gathered enough information regarding how to succeed at the challenge which prompted the request contextual help request from such selecting player  10 . Such selecting player  10  may then resume playing the game  12  and in fact employ such gathered information to succeed at the challenge, hopefully ( 315 ). 
         [0022]    At some point, and perhaps upon reflection, the selecting player  10  may decide that a particular selected entry  22  was not helpful. In such a case, the selecting player  10  may employ the guide  16  to connect to the service  18 , access the particular entry  22 , and contribute a rating thereto ( 317 ). Such rating could be a simple positive or negative, could be scaled from 0 to 10, or the like. As may be appreciated, the service  18  employs such rating when calculating the aforementioned pre-determined weight for the entry  22  in response to a future request. Thus, such weight is also based at least in part on ratings as provided by other players  12 . 
         [0023]    The selecting player  10  may also decided that he or she would like to author his or her own entry  22  regarding a challenge ( 319 ). Such an authored entry  22  may be based on a previous entry  22  or may be entirely new. In any case, the now-authoring player  10  may either access the service  18  by way of the guide  16  of the console  14 , or may employ an appropriately networked personal computer or the like, especially if the guide  16  is not amenable to authoring. Such an authored entry  22  will itself be provided with a weight to order same in lists  20  that include such authored entry  22 . If especially good, the authoring player  10  may in fact receive an award in connection with the game  12 , such as extra game points, extra expert points, or the like. 
         [0024]    As was alluded to above, various objects in the game  12 , such as challenges, creatures, items, etc., may be tagged with a unique ID or the like. Accordingly, each time such an object is encountered or experienced by a player  10  playing the game  12 , the corresponding tag thereof may be pushed onto a stack or the like. Additionally, each such tag may have a corresponding counter and such counter may be incremented when the tag is pushed. As should be understood, then, the counters identify a relative popularity of each object, and such information may be provided to the service  18  by way of the guide as necessary and/or appropriate. 
         [0025]    More significantly, a certain number of tags on the top of the stack or the like may be employed to represent the current context of the game  12  when the guide  16  requests contextual help from the service  18 , as was set forth above. Thus, the guide  16  can send the tags to the service  18  along with the request for help as at  309 , and the service  18  may employ the sent tags when compiling the list  20  of entries  22  to be returned. For example, the service  18  may employ the corresponding ID of each sent tag to locate entries  22 , assuming that such entries  22  at the service  18  are appropriately locatable based on such IDs. Alternately, each ID may correspond to a text string that is employed when the service  18  performs a text search of entries  22 . 
         [0026]    In response to a request for contextual help from a guide  16 , the service  18  may not immediately return a list  20  of entries  22 . Instead, the service may compile a contextual table of contents (TOC)  24  based on the tags included with the request. Thus, the TOC  24  identifies subjects of possible interest to the player  10 , who in response can select a particular subject from the TOC  24 . The guide  16  then notifies the service  18  regarding the selected subject, and the returned list  20  of entries is complied to be relevant to such subject. 
         [0027]    When developing the game  12 , a developer should provide the service  18  with a base TOC  26  for the game  12 . Such base TOC  26  may provide links to base entries  22 , each of which corresponds to a tag. Accordingly, the developer can at least highlight areas he or she believes is important or will require help. Thus, an authoring player  10  that authors an entry  22  can specify that the authored entry  22  is to be linked to one or more particular base entries  22 , and in so doing at least implicitly allows the authored entry  22  to be located based on the ID of the tag. 
         [0028]    At least initially, an authored entry  22  has little if any information associated therewith that can be employed to provide a weight therefor. Accordingly, such an initial weight may be derived based on the authoring player  10 . In particular, such an initial weight may be based at least in part on a number of points accumulated by the authoring player  10 , be they game points, expert points, or the like, whether the authoring player  10  has experienced the challenge to which the authored entry  22  relates, an average weight value of other entries  22  authored by the authoring player  10 , and the like. 
       Exemplary Computing Arrangement 
       [0029]      FIG. 1  shows an exemplary computing environment in which example embodiments and aspects may be implemented. The computing system environment  100  is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality. Neither should the computing environment  100  be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment  100 . 
         [0030]    Numerous other general purpose or special purpose computing system environments or configurations may be used. Examples of well known computing systems, environments, and/or configurations that may be suitable for use include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, embedded systems, distributed computing environments that include any of the above systems or devices, and the like. 
         [0031]    Computer-executable instructions, such as program modules, being executed by a computer may be used. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Distributed computing environments may be used where tasks are performed by remote processing devices that are linked through a communications network or other data transmission medium. In a distributed computing environment, program modules and other data may be located in both local and remote computer storage media including memory storage devices. 
         [0032]    With reference to  FIG. 1 , an exemplary system includes a general purpose computing device in the form of a computer  110 . Components of computer  110  may include, but are not limited to, a processing unit  120 , a system memory  130 , and a system bus  121  that couples various system components including the system memory to the processing unit  120 . The processing unit  120  may represent multiple logical processing units such as those supported on a multi-threaded processor. The system bus  121  may 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. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus (also known as Mezzanine bus). The system bus  121  may also be implemented as a point-to-point connection, switching fabric, or the like, among the communicating devices. 
         [0033]    Computer  110  typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer  110  and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CDROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer  110 . Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media. 
         [0034]    The system memory  130  includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM)  131  and random access memory (RAM)  132 . A basic input/output system  133  (BIOS), containing the basic routines that help to transfer information between elements within computer  110 , such as during start-up, is typically stored in ROM  131 . RAM  132  typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit  120 . By way of example, and not limitation,  FIG. 1  illustrates operating system  134 , application programs  135 , other program modules  136 , and program data  137 . 
         [0035]    The computer  110  may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,  FIG. 1  illustrates a hard disk drive  140  that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive  151  that reads from or writes to a removable, nonvolatile magnetic disk  152 , and an optical disk drive  155  that reads from or writes to a removable, nonvolatile optical disk  156 , such as a CD ROM or other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. The hard disk drive  141  is typically connected to the system bus  121  through a non-removable memory interface such as interface  140 , and magnetic disk drive  151  and optical disk drive  155  are typically connected to the system bus  121  by a removable memory interface, such as interface  150 . 
         [0036]    The drives and their associated computer storage media discussed above and illustrated in  FIG. 1 , provide storage of computer readable instructions, data structures, program modules and other data for the computer  110 . In  FIG. 1 , for example, hard disk drive  141  is illustrated as storing operating system  144 , application programs  145 , other program modules  146 , and program data  147 . Note that these components can either be the same as or different from operating system  134 , application programs  135 , other program modules  136 , and program data  137 . Operating system  144 , application programs  145 , other program modules  146 , and program data  147  are given different numbers here to illustrate that, at a minimum, they are different copies. A user may enter commands and information into the computer  20  through input devices such as a keyboard  162  and pointing device  161 , commonly referred to as a mouse, trackball or touch pad. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit  120  through a user input interface  160  that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB). A monitor  191  or other type of display device is also connected to the system bus  121  via an interface, such as a video interface  190 . In addition to the monitor, computers may also include other peripheral output devices such as speakers  197  and printer  196 , which may be connected through an output peripheral interface  195 . 
         [0037]    The computer  110  may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer  180 . The remote computer  180  may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer  110 , although only a memory storage device  181  has been illustrated in  FIG. 1 . The logical connections depicted in  FIG. 1  include a local area network (LAN)  171  and a wide area network (WAN)  173 , but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet. 
         [0038]    When used in a LAN networking environment, the computer  110  is connected to the LAN  171  through a network interface or adapter  170 . When used in a WAN networking environment, the computer  110  typically includes a modem  172  or other means for establishing communications over the WAN  173 , such as the Internet. The modem  172 , which may be internal or external, may be connected to the system bus  121  via the user input interface  160 , or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer  110 , or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,  FIG. 1  illustrates remote application programs  185  as residing on memory device  181 . It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used. 
         [0039]    Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.