U.S. Pat. No. 6,955,602

TEXT ENTRY WITHIN A VIDEO GAME

AssigneeZi Technology Corporation LTD

Issue DateMay 15, 2003

Illustrative Figure

Abstract

A user composes a message within a video game paradigm by hitting targets in the video game environment which are associated with message component candidates such as letters, words, and phrases. Each of the message component candidate has a relative likelihood of selection predicted according to language usage in general and specifically of the user and according to the context of any portion of the message already composed. Message component candidates which are more likely to be selected by the user are associated with targets or other objectives of the video game environment which are more easily achieved. For example, more likely message components are associated more frequently and more centrally located and slower moving targets.

Description

DETAILED DESCRIPTION In accordance with the present invention, objectives such as targets408–410(FIG. 4) and targets508(FIG. 5) of video games are associated with message components which are selected by a user through conventional video game playing techniques to compose a message. The message components associated with video game objectives are generated according to respective likelihoods of each message component being selected next as determined by predictive analysis of a message under construction, e.g., message404(FIG. 4) or message504(FIG. 5). Consider screen view402(FIG. 4) of construction of a message404in accordance with the present invention. A video game sequence includes a rocket406which is navigated by the user using conventional video game play techniques and in a manner described more completely below. Objectives of the video game text entry mechanism ofFIG. 4include letters408, each of which is a candidate for being appended to message404, and words410, each of which is a candidate for automatic word-completion in message404. The user selects letters408or words410for inclusion in message404by either flying the rocket through such letters and words or by firing simulated weapons of rocket406at such letters and words. To assist the user in relatively efficient construction of message404, objectives representing more likely selections of the user are positioned so as to be easier to select. Screen view402includes a “sweet spot” region412, i.e., a region which is generally more central to the user's focus and therefore a more readily accessible region for the user. The most likely candidates for continuation of message404are made to appear within region412. In this example, region412is slightly elevated and to the right of the center of screen view402. In the illustrative example shown inFIG. 4, message404begins, “Hel . . . ” According to predictive analysis which is described more completely below, likely candidates for the next letter include “1,” “i,” and “p.” In addition, ...

DETAILED DESCRIPTION

In accordance with the present invention, objectives such as targets408–410(FIG. 4) and targets508(FIG. 5) of video games are associated with message components which are selected by a user through conventional video game playing techniques to compose a message. The message components associated with video game objectives are generated according to respective likelihoods of each message component being selected next as determined by predictive analysis of a message under construction, e.g., message404(FIG. 4) or message504(FIG. 5).

Consider screen view402(FIG. 4) of construction of a message404in accordance with the present invention. A video game sequence includes a rocket406which is navigated by the user using conventional video game play techniques and in a manner described more completely below. Objectives of the video game text entry mechanism ofFIG. 4include letters408, each of which is a candidate for being appended to message404, and words410, each of which is a candidate for automatic word-completion in message404. The user selects letters408or words410for inclusion in message404by either flying the rocket through such letters and words or by firing simulated weapons of rocket406at such letters and words.

To assist the user in relatively efficient construction of message404, objectives representing more likely selections of the user are positioned so as to be easier to select. Screen view402includes a “sweet spot” region412, i.e., a region which is generally more central to the user's focus and therefore a more readily accessible region for the user. The most likely candidates for continuation of message404are made to appear within region412. In this example, region412is slightly elevated and to the right of the center of screen view402.

In the illustrative example shown inFIG. 4, message404begins, “Hel . . . ” According to predictive analysis which is described more completely below, likely candidates for the next letter include “1,” “i,” and “p.” In addition, predictive analysis has determined that it is probable that the user intends to specify the word, “Hello.” Accordingly, objectives408representing letter “l,” “i,” and “p” and an objective410representing the word “Hello” are presented to the user for selection in region412.

It is possible that the user intends to append an unlikely candidate to message404. Accordingly, unlikely candidates are also periodically presented to the user, albeit not as frequently as more likely candidates. To make the text entry interesting—as is expected by video game players—the location, trajectory, and timing of appearance of objectives408–410is randomized. However, more likely candidates are weighted such that their location is more likely within region412, they tend to appear more frequently, and they tend to pass by rocket406more slowly. It's possible that a very likely candidate will appear outside of region412and pass very quickly relative to other objectives. However, such would be relatively unlikely due to probability weights given to likely candidates—likely candidates will more often appear frequently within region412and passing slowly. Conversely, unlikely candidates are weighted such that they tend to appear less frequently, tend to appear further outside region412, and tend to pass more quickly.

Accordingly, the otherwise mundane task of typing a message to a competing user becomes a wild virtual flight through a meteor belt of letters and words in which the user composes a message by flying through such letters and words or by blasting them with virtual weapons of rocket406.

FIG. 5shows a similar text entry mechanism implemented in a different video game paradigm, namely, the now ubiquitous first-person shooter video game paradigm. Message504is analogous to message404(FIG. 4) and objectives508(FIG. 5) are virtual soldiers to be shot by the user with gun506. Each objective508is associated with a letter510or a word512. In the first-person shooter paradigm, objectives508don't move as quickly through screen view502. Accordingly, to expedite composition of message504, letters510and words512associated with each objective508change periodically. Variables of candidates which are randomized and weighted according to likelihood of selection by the user include (i) frequency of association with an objective508, (ii) duration of association with an objective508, and (iii) virtual proximity to the user of the objective508with which the candidate is associated. Accordingly, candidates which are more likely to be selected by the user tend to be associated more frequently and for longer durations with objectives508which appear closer to the user. From the user's perspective, unlikely letters and words appear less frequently, more briefly, and further away on the chests of objectives508. The user appends selected letters510or words512by shooting the objective508on whose chest the selected letter or word appears.

Other video game paradigms can be used to associate message component candidates with game objectives. For example, automobile race games can have items on the road and the user can select message components associated with such items by driving through and/or over them. Such items can be, for example, items of trash lying in the street or simply graphical representations of the message component candidates themselves. Another example includes a skate park or snowboarding video game paradigm in which objectives can be rails, steps, jumps, ramps, etc.—skating or snowboarding trick objectives, each of which is associated with a respective candidate message component. Of course, exhaustive listing herein of all game paradigms with which message component candidates can be feasibly associated for message composition in accordance with the present invention is not practicable. It should be appreciated that the particular game paradigm in which message composition is embedded as described herein is not particularly central to the message composition mechanism described herein.

In this illustrative embodiment, screen views402and502are produced on a television104(FIG. 1) by a video game device102. Video game device102is responsive to signals generated by a user by physical manipulation of a game controller106. Video game device102is also capable of communication with other video game devices and other computers and/or electronic devices through a wide area network108, which is the Internet in this illustrative embodiment.

Video game device102is a special purpose computer which plays video games in the form of computer programs. In alternative embodiments, video game device102can be generally any device which can be used for messaging and for video game play, such as a general purpose computer executing a video game program or a mobile computing device such as a personal digital assistant (PDA) or a mobile telephone with video game play capability. In such other embodiments, television104can be replaced by a display built into or otherwise associated with video game device102.

Video game device102is of the same architecture as most computers available today and is shown in greater detail inFIG. 2. Video game device102includes one or more microprocessors202, each of which retrieves data and/or instructions from memory204and executes retrieved instructions in a conventional manner. Memory204can include generally any type of computer-readable memory such as randomly accessible memory (RAM), read-only memory (ROM), and persistent storage media such as magnetic and/or optical disks. Video games are typically published in the form of removable storage media such as optical disks or memory cartridges and memory204includes any devices which are capable of accessing such removable storage media and any such removable storage media itself.

Microprocessor202and memory204are connected to one another through an interconnect206which is a bus in this illustrative embodiment. Interconnect206is also connected to one or more user input devices208, one or more output devices210(FIG. 2), and network access circuitry212. Input devices208include, for example, game controller106(FIG. 1). Output devices210include television104(FIG. 1). Network access circuitry212can be generally any network connection such as a modem or any type of ethernet network adapter for example.

Memory204includes a message composer220, a message delivery agent222, a game engine224, a prediction engine226, and a predictive database228. In this illustrative embodiment, message composer220, message delivery agent222, game engine224, and prediction engine226are each all or part of one or more computer processes executed by processors202from memory204. Predictive database228is a collection of organized data which is accessible by prediction engine226.

Message composer220provides an interface by which a user of video game device102can compose messages for delivery to another user through Internet108. Message delivery agent222implements a message delivery protocol by which the composed message is delivered to the other user. Examples of messages delivery protocols include the known short message service (SMS), simple mail transport protocol (SMTP), post office protocol (POP), Internet message access protocol (IMAP), and various instant messaging protocols that are currently available.

Game engine224provides a video game user interface framework in which message composer220can interact with the user to compose a message in a video game context. In the illustrative context of screen view402(FIG. 4), game engine224processes the movement of rocket406, letters408, and words410through a simulated three-dimensional space environment. Game engine224controls such simulated movement in accordance with signals received from game controller106in response to physical manipulation by the user. In addition, game engine224controls simulation of weapons firing from rocket406in accordance with such signals received from game controller106. Game engine224also simulates dramatic explosion of letters408and words410upon successful selection of such letters and words, e.g., either by hitting them with a simulated weapon or by flying rocket406through them.

In the illustrative context of screen view502(FIG. 5), game engine224renders and simulates motion of objectives508in the form of humanoid soldiers in futuristic body armor. Game engine224also processes three-dimensional projections and view transformation in accordance signals received from game controller106—such as turning left or right and moving forward or backward. As letters510or words512are selected by the user, e.g., by shooting the associated one of objectives508. Upon successful shooting of an objective508by the user, game engine224renders simulation of the shot objective dying a particularly agonizing death—preferably with significant blood and gore and, in some embodiments, simulation of spontaneous humanoid combustion.

Prediction engine226(FIG. 2) analyzes any previously specified letters and/or words of a message being composed to predict likely candidates for subsequent letters to be appended to the message by the user and/or candidates for word-completion. In the illustrative context of screen view402(FIG. 4), message404includes the text, “Hel,” and prediction engine226has selected as likely candidates the letters, “l,” “i,” and “p” and has determined that a likely word intended by the user is “Hello.” Similarly, in the illustrative context of screen view502(FIG. 5), message504includes the text, “The board meeting ha,” and prediction engine226has selected as likely candidates the letters, “d” and “s” and has determined that a likely word intended by the user is “has.”

Predictive database228is used by prediction engine226to both determine and assess relative likelihoods of potential candidates of intended letters and word completions. In one embodiment, prediction engine226uses predictive database228to assess relative likelihoods of potential candidates of intended letters and word completions in the manner described in commonly-owned and copending U.S. patent application Ser. No. 10/360,537 filed Jan. 14, 2003 by Roland E. Williams and Robert B. O'Dell and entitled “Text Entry Mechanism for Small Keypads” and such description is incorporated herein by reference.

The manner in which message composer220implements user-controlled message composition is illustrated by logic flow diagram300(FIG. 3). Loop step302and step320define a loop in which each word of a message intended to be entered by the user is processed according to steps304–318. In each iteration of the loop of steps302–320, the particular word of the message being processed is sometimes referred to as the subject word.

Loop step304and step316define a loop in which each component of the subject word is processed according to steps306–314. In each iteration of the loop of steps304–316, the particular component being processed is sometimes referred to as the subject component. A component can be any part of a message entered by the user including, for example, letters, groups of multiple letters, syllables, words for automatic completion of the subject word, and phrases for automatic completion of the subject word and automatic inclusion of additional subsequent words.

In step306, message composer220(FIG. 2) requests that prediction engine226provide candidate message components with associated relative likelihoods of being selected by the user. In response, prediction engine226determines possible candidate message components in the manner described above and ranks those message candidates in descending order of likelihood of selection by the user. In an alternative embodiment, prediction engine226can also provide a quantified likelihood of selection by the user. In the first iteration of the loop of steps302–320, there are no previously entered characters or words of the message being composed. In subsequent iterations, prediction engine226uses previously entered characters and/or words of the message being composed to predict candidate message components according to the context of the partially formed message.

Message composer220provides the candidate message components and associated relative likelihoods of selection by the user to game engine224. In step308(FIG. 3), game engine224(FIG. 2) creates objectives, e.g., objectives508, with which message components can be associated. The objectives are create in accordance with a video game environment, sometimes referred to as the subject video game environment. In the illustrative example of screen view502(FIG. 5), objectives508are futuristic soldiers in a first-person shooter video game environment.

In step310(FIG. 3), game engine224(FIG. 2) configures the objectives according to respective likelihoods of selection for respective associated message components. As described above, objectives508have associated characteristics such as their location within screen view502and the duration of association of a particular message component with each objective508. Game engine224selects candidate message components and selects other characteristics, such as which objective508and the duration of association, according to respective likelihoods of selection. For example, more likely candidates are associated with closer objectives508more often and for longer durations than are less likely candidates.

In step312(FIG. 3), game engine224(FIG. 2) receives user-generated input signals by which the user selects specific ones of the associated objectives. Game engine224determines selection of an objective using conventional video game techniques. For example, in the context of screen view402(FIG. 4), game engine224controls virtual flight of rocket406through a virtual three-dimensional space and controls virtual trajectories of virtual weapons in accordance with the user's physical manipulation of a user input device such as game controller106. Game engine224(FIG. 2) also compares the virtual trajectories to virtual positions of letters408and word410to determine if a letter or word is hit by a virtual weapon. Since the entire environment is virtual and controlled by game engine224, game engine224is able to determine whether a particular objective is successfully selected by the user.

In the context of screen view502(FIG. 5), game engine224also controls the entire virtual environment, including a virtual gun506and virtual soldiers as objectives508and their relative orientation, and is similarly readily able to determine if a virtual bullet hits a virtual soldier in a fatal manner to determine whether the user has selected the particular objective508. In some embodiments, merely wounding any of objectives508both selects that objective508and freezes association of a word512or character510such that the user can select the associated message component again. Thus, a user can enter “www” by wounding an objective associated with the letter “w” twice before killing the associated objective. While it may be particularly entertaining for game engine224to simulate obliteration of a limb upon mere wounding of any of objectives508, such might inhibit the emphasis of a word or thought by replicating the same character extensively as is popular in currently used text messaging systems. For example, a user might compose a message such as “You are sooooooooooooooo lucky!” to elongate and emphasize the word, “so.” In a preferred embodiment, enough of each objective508should remain after being wounded that the user can compose such elongated words by repeatedly wounding that objective without killing the objective.

In step314, game engine224(FIG. 2) reports to message composer220which message component has been selected by the user and message composer220appends the selected message component to the message being composed. Thus, as the user achieves objectives, e.g., by shooting, flying through, driving over, etc. those objectives, associated message components are incorporated into the subject message and the subject message is updated as shown as messages404and504in respective screen views402and502. If the selected message component is a single character, the character is appended to the subject word. If the selected message component is a word or phrase, the word or phrase is interpreted by message composer220to be completion of the subject word.

After step314, processing transfers through step316to loop step304in which steps306–314are repeated until the subject word is complete. The user is provided with a user interface mechanism by which the user can indicate that the subject word is completed. One such mechanism already described is selection of a word, e.g., word410, as a word-completion message component. In addition, pressing of a predetermined button on game controller106(FIG. 1) can indicate a complete word has been entered. Yet another user interface mechanism by which a user can indicate a completed word is to include non-alphanumeric characters in the candidate message components from which the user can select and such non-alphanumeric characters can include punctuation, including a space character which delimits complete words.

Upon indication by the user that the subject word is complete, processing transfers from loop step304to step318in which message composer220appends the completed word or phrase the the subject message.

After step318, processing transfers through step320to loop step302in which the next word of the message intended by the user is processed in the manner described above. Game engine312also provides a mechanism by which the user can indicate that the intended message is completely specified and accurately represented, e.g., as message404in screen view402. Such a user interface mechanism can be a designated button on game controller106(FIG. 1), for example.

When the user has indicated that the message is complete, processing transfers from loop step302to step322in which message composer220passes the completed message to message delivery agent222. Message delivery agent222sends the message through Internet108to a recipient designated by the user. The recipient can be designated in any of a number of manners. The recipient can be implicitly identified as the sender of a message to which the user is replying or can be the particular opponent a game recently or currently played by the user. The user can also select from a list of known contacts using a video game paradigm in the manner described above with respect to message components.

In step324, message composer220clears the message such that a new message can be specified subsequently.

The above description is illustrative only and is not limiting. Therefore, this description is merely illustrative, and the present invention is defined solely by the claims which follow and their full range of equivalents.

Claims

  1. A method for creating a message from signals generated by a user, the method comprising: determining two or more message component candidates;determining a relative likelihood of selection by the user of each respective one of the message component candidates;associating each of the message component candidates with a respect objective in an interactive game environment which simulates a three-dimensional game space;receiving the signals generated by the user in accordance with the game environment;determining that the signals represent achievement of a selected one of the objectives within the interactive game environment;and including the one of the message component candidates which is associated with the selected objective in the message.
  1. The method of claim 1 wherein the message component candidates include individual character message component candidates.
  2. The method of claim 1 wherein the message component candidates include whole-word message component candidates.
  3. The method of claim 1 wherein the message component candidates include multiple-word phrase message component candidates.
  4. The method of claim 1 wherein associating comprises: associating each of the message component candidates with the respective objective according to the respective relative likelihood of selection of the message component candidate.
  5. The method of claim 5 wherein each objective has a virtual location in the simulated game space which is mapped to a location in a display viewable by the user.
  6. The method of claim 6 wherein association of the message components with the respective objectives is weighted such that message component candidates with higher relative likelihoods of selection tend to be associated more frequently with respective objectives whose virtual locations are mapped to a more accessible region of the display.
  7. The method of claim 7 wherein the more accessible region includes the center of the display and excludes the perimeter of the display.
  8. The method of claim 8 wherein the more accessible region includes more of the display to the right of center than to the left of the center.
  9. The method of claim 8 wherein the more accessible region includes more of the display above center than below center.
  10. The method of claim 7 wherein the more accessible region is mapped from a virtual location which is within a predetermined proximity of a virtual location of the user in the simulated game space.
  11. The method of claim 5 wherein association of the message components with the respective objectives is weighted such that message component candidates with higher relative likelihoods of selection tend to be associated more frequently with respective objectives.
  12. The method of claim 5 wherein association of the message components with the respective objectives is weighted such that message component candidates with higher relative likelihoods of selection tend to be associated more frequently with respective objectives for longer durations of time.
  13. The method of claim 1 wherein determining that the signals represent achievement of a selected one of the objectives within the interactive game environment comprises: determining that the signals represent firing of a simulated weapon within the interactive game space in such a manner that the simulated weapon hits the selected one of the objectives within the interactive game environment.
  14. The method of claim 1 wherein determining that the signals represent achievement of a selected one of the objectives within the interactive game environment comprises: determining that the signals represent navigation of a simulated vehicle within the interactive game space in such a manner that the simulated vehicle collides with the selected one of the objectives within the interactive game environment.
  15. A computer readable medium useful in association with a computer which includes a processor and a memory, the computer readable medium including computer instructions which are configured to cause the computer to create a message from signals generated by a user by: determining two or more message component candidates;determining a relative likelihood of selection by the user of each respective one of the message component candidates;associating each of the message component candidates with a respect objective in an interactive game environment which simulates a three-dimensional game space;receiving the signals generated by the user in accordance with the game environment;determining that the signals represent achievement of a selected one of the objectives within the interactive game environment;and including the one of the message component candidates which is associated with the selected objective in the message.
  16. The computer readable medium of claim 16 wherein the message component candidates include individual character message component candidates.
  17. The computer readable medium of claim 16 wherein the message component candidates include whole-word message component candidates.
  18. The computer readable medium of claim 16 wherein the message component candidates include multiple-word phrase message component candidates.
  19. The computer readable medium of claim 16 wherein associating comprises: associating each of the message component candidates with the respective objective according to the respective relative likelihood of selection of the message component candidate.
  20. The computer readable medium of claim 20 wherein each objective has a virtual location in the simulated game space which is mapped to a location in a display viewable by the user.
  21. The computer readable medium of claim 21 wherein association of the message components with the respective objectives is weighted such that message component candidates with higher relative likelihoods of selection tend to be associated more frequently with respective objectives whose virtual locations are mapped to a more accessible region of the display.
  22. The computer readable medium of claim 22 wherein the more accessible region includes the center of the display and excludes the perimeter of the display.
  23. The computer readable medium of claim 23 wherein the more accessible region includes more of the display to the right of center than to the left of the center.
  24. The computer readable medium of claim 23 wherein the more accessible region includes more of the display above center than below center.
  25. The computer readable medium of claim 22 wherein the more accessible region is mapped from a virtual location which is within a predetermined proximity of a virtual location of the user in the simulated game space.
  26. The computer readable medium of claim 20 wherein association of the message components with the respective objectives is weighted such that message component candidates with higher relative likelihoods of selection tend to be associated more frequently with respective objectives.
  27. The computer readable medium of claim 20 wherein association of the message components with the respective objectives is weighted such that message component candidates with higher relative likelihoods of selection tend to be associated more frequently with respective objectives for longer durations of time.
  28. The computer readable medium of claim 16 wherein determining that the signals represent achievement of a selected one of the objectives within the interactive game environment comprises: determining that the signals represent firing of a simulated weapon within the interactive game space in such a manner that the simulated weapon hits the selected one of the objectives within the interactive game environment.
  29. The computer readable medium of claim 16 wherein determining that the signals represent achievement of a selected one of the objectives within the interactive game environment comprises: determining that the signals represent navigation of a simulated vehicle within the interactive game space in such a manner that the simulated vehicle collides with the selected one of the objectives within the interactive game environment.
  30. A computer system comprising: a processor;a memory operatively coupled to the processor;and a message entry module (i) which executes in the processor from the memory and (ii) which, when executed by the processor, causes the computer to create a message from signals generated by a user by: determining two or more message component candidates;determining a relative likelihood of selection by the user of each respective one of the message component candidates;associating each of the message component candidates with a respect objective in an interactive game environment which simulates a three-dimensional game space;receiving the signals generated by the user in accordance with the game environment;determining that the signals represent achievement of a selected one of the objectives within the interactive game environment;and including the one of the message component candidates which is associated with the selected objective in the message.
  31. The computer system of claim 31 wherein the message component candidates include individual character message component candidates.
  32. The computer system of claim 31 wherein the message component candidates include whole-word message component candidates.
  33. The computer system of claim 31 wherein the message component candidates include multiple-word phrase message component candidates.
  34. The computer system of claim 31 wherein associating comprises: associating each of the message component candidates with the respective objective according to the respective relative likelihood of selection of the message component candidate.
  35. The computer system of claim 35 wherein each objective has a virtual location in the simulated game space which is mapped to a location in a display viewable by the user.
  36. The computer system of claim 36 wherein association of the message components with the respective objectives is weighted such that message component candidates with higher relative likelihoods of selection tend to be associated more frequently with respective objectives whose virtual locations are mapped to a more accessible region of the display.
  37. The computer system of claim 37 wherein the more accessible region includes the center of the display and excludes the perimeter of the display.
  38. The computer system of claim 38 wherein the more accessible region includes more of the display to the right of center than to the left of the center.
  39. The computer system of claim 38 wherein the more accessible region includes more of the display above center than below center.
  40. The computer system of claim 37 wherein the more accessible region is mapped from a virtual location which is within a predetermined proximity of a virtual location of the user in the simulated game space.
  41. The computer system of claim 35 wherein association of the message components with the respective objectives is weighted such that message component candidates with higher relative likelihoods of selection tend to be associated more frequently with respective objectives.
  42. The computer system of claim 35 wherein association of the message components with the respective objectives is weighted such that message component candidates with higher relative likelihoods of selection tend to be associated more frequently with respective objectives for longer durations of time.
  43. The computer system of claim 31 wherein determining that the signals represent achievement of a selected one of the objectives within the interactive game environment comprises: determining that the signals represent firing of a simulated weapon within the interactive game space in such a manner that the simulated weapon hits the selected one of the objectives within the interactive game environment.
  44. The computer system of claim 31 wherein determining that the signals represent achievement of a selected one of the objectives within the interactive game environment comprises: determining that the signals represent navigation of a simulated vehicle within the interactive game space in such a manner that the simulated vehicle collides with the selected one of the objectives within the interactive game environment.

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