WO2014027103A1 - Traitement dynamique de données - Google Patents

Traitement dynamique de données Download PDF

Info

Publication number
WO2014027103A1
WO2014027103A1 PCT/EP2013/067190 EP2013067190W WO2014027103A1 WO 2014027103 A1 WO2014027103 A1 WO 2014027103A1 EP 2013067190 W EP2013067190 W EP 2013067190W WO 2014027103 A1 WO2014027103 A1 WO 2014027103A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
conversation
profile
tier
branch
Prior art date
Application number
PCT/EP2013/067190
Other languages
English (en)
Inventor
Sebastian COMAN
Brian COLIN
Livio QUINTAVALLE
Kaleb PHILLIPS
Original Assignee
Truly Social Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Truly Social Ltd. filed Critical Truly Social Ltd.
Publication of WO2014027103A1 publication Critical patent/WO2014027103A1/fr

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/47Controlling the progress of the video game involving branching, e.g. choosing one of several possible scenarios at a given point in time
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/825Fostering virtual characters
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5375Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for graphically or textually suggesting an action, e.g. by displaying an arrow indicating a turn in a driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/67Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5553Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history user representation in the game field, e.g. avatar
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6027Methods for processing data by generating or executing the game program using adaptive systems learning from user actions, e.g. for skill level adjustment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/63Methods for processing data by generating or executing the game program for controlling the execution of the game in time
    • A63F2300/632Methods for processing data by generating or executing the game program for controlling the execution of the game in time by branching, e.g. choosing one of several possible story developments at a given point in time
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/807Role playing or strategy games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8082Virtual reality

Definitions

  • Implementations of the current subject-matter relate to a computer-implemented method, a system and an apparatus for a virtual environment and in particular to enhancing the user experience by tailoring the virtual environment to the user.
  • a virtual environment a user can experience via an arcade station, a computer or other electronic device.
  • a virtual world can be downloaded via the internet or an intranet or can be installed on the device from a media such as a disk. It may also be implemented in permanent form as hardware, most usually on an arcade station.
  • the user can experience a virtual world which may represent the real world to a greater or lesser degree.
  • This sort of simulation of the environment around us can be used for many purposes such as game play, social or business networking and as a teaching means.
  • One of the most well-known uses for a virtual environment is in combat-type games but games involving social interaction are also very popular.
  • the design of such games is a complex, highly-skilled task. This is because the characters must appear to behave and move in a real, human sort of way. Thus their physical movement must be such that they interact with fixed objects and other characters in a way that would be expected of a real person.
  • the game engine must include a physics engine, implemented either in hardware or software, that performs calculations to simulate movement of an object, taking into account rigid body dynamics, soft body dynamics, fluid dynamics and collision between objects.
  • the implementation must be in real-time, although for the purposes of a game or other of the uses mentioned above, it need not be as accurate as a high-precision physics engine of the sort used in scientific and movie applications, since the main aim is quick response and perceptual correctness. This is usually achieved by means of a dedicated microprocessor that can process data to make the necessary calculations for movement of objects and people, for example using a mesh representation or by finite element analysis.
  • the microprocessor must also handle softer effects such as hair and clothing simulation.
  • NPCs non-player characters
  • a user's avatar can be important for the purposes of simulating social interaction, since a player may choose to interact with characters of a particular appearance, or indeed, may choose the appearance of their own avatar to create a particular impression.
  • sound effects including environmental sound effects and character speech can also be provided to facilitate simulated social interaction.
  • computer-simulated characters are created either from a stock selection of
  • AI artificial intelligence
  • the creation and behavior of an NFC may be controlled for particular types of interaction with a user's avatar or objects in the environment.
  • the AI used does not have a genuine "learning" ability as performed by high-performance AI engines because the game engine can be queried to provide relevant data, thus bypassing the need to learn to carry out certain reactions to certain types of events. Instead, it provides the illusion of a real person, for example by applying certain predetermined rules to information received such that the character appears to be reacting to events and players' avatars. The output of such rules is applied to a graphics engine such that the user sees the behavior at the graphical user interface (GUI) in the form of visual and or sound effects, including text-based effects.
  • GUI graphical user interface
  • a computer- implemented method for a virtual environment comprising: maintaining a profile of the user; enabling a user to engage in a conversation by selecting a branch from multiple branches of a first tier of a conversation tree, each branch belonging to one or more of a plurality of categories; and in dependence on the one or more categories to which the selected branch belongs, selectively updating the user's profile.
  • the method may further comprise selecting a second one of multiple further tiers of the conversation tree to present to the user based on at least one of the updated user profile and information associated with the selected branch.
  • the method further comprises: enabling a user to select a branch from multiple branches of the second tier of the conversation tree, each branch belonging to one or more of a plurality of categories; in dependence on the one or more categories to which the selected branch belongs, selectively updating the user's profile; and based on at least one of the updated user profile and information associated with the selected branch, either selecting a third one of multiple further tiers of the conversation tree to present to the user or terminating the
  • the categories are indicated by one or more flags associated with the branches.
  • updating the user's profile comprises incrementing or decrementing a counter associated with a part of the profile.
  • the user profile can comprise a database of personality traits, wherein the database comprises at least one pair of entries associated with first and second opposing personality traits and the counter is one of a first and second counter provided in relation to each entry of the at least one pair respectively.
  • the method can further comprise determining the value of the first and second counters, the higher of the two values indicating a bias of the user towards one of the first and second personality traits.
  • the method further comprises creating multiple conversation trees; and storing the created trees in an accessible database.
  • enabling the user to select a branch from a first tier of a conversation tree can comprise: deploying a character to a user's virtual world with which the user can have a conversation; selecting, based on at least a part of the user's profile, a conversation tree from the multiple stored conversation trees; displaying a first character dialogue string of a first tier of the selected conversation tree; and displaying multiple branches of the first tier of the conversation tree from which the user can select a branch.
  • the method further comprises maintaining profiles of multiple users, indexed by a user identification.
  • the user profile and conversation tree are maintained remote from the user and access to the virtual world is via a network.
  • the user's profile can be also updated in response to any one of: achievement of a goal by the user; progress of the user in a social situation; information provided by the user; receipt of a message from another user; purchase of a real or virtual item by the user; and termination of conversation in which user is participating.
  • the presenting to the user is implemented using one or more characters, the method further comprising: selecting, based on a user's profile, a character to deploy into the user's virtual world; and controlling the selected character to present to the user a conversation element associated with the first tier of the conversation tree, the conversation element being further associated with a plurality of possible branches for the user to select following the presentation.
  • a character can be created having one of: predetermined characteristics; characteristics having regard to a user's profile; and characteristics based on a user's profile.
  • the characters can be controlled, based on at least one of the updated user profile and a selected branch, to present other types of information to the user, including one of text-based feedback on conversation branches selected; visually-animated feedback on conversation branches selected; a suggestion as to a place to visit in the virtual world; suggestions as to actions to be taken by the user to interact in the virtual world; information on other users 1 avatars; and information on other user's interactions in the game.
  • the method further comprise providing an avatar-interface for a user in the virtual environment, wherein the user profile is associated with the avatar and wherein the selecting by the user is through the avatar.
  • a computer program product comprising executable instructions which are arranged, when executed to perform operations comprising: maintaining a profile of the user; enabling a user to engage in a conversation by selecting a branch from multiple branches of a first tier of a conversation tree, each branch belonging to one or more of a plurality of categories; and in dependence on the one or more categories to which the selected branch belongs, processing information to enable selective updating of the user's profile.
  • the operations may further comprise selecting a second one of multiple further tiers of the conversation tree to present to the user, based on at least one of the updated user profile and information associated with the selected branch.
  • the operations further comprise: enabling a user to select a branch from multiple branches of the second tier of the conversation tree, each branch belonging to one or more of a plurality of categories; in dependence on one or more categories to which the selected branch belongs, selectively updating the user's profile; and based on at least one of the updated user profile and information associated with the selected branch, either selecting a third one of multiple further tiers of the conversation tree to present to the user or terminating the
  • the categories are indicated by one or more flags associated with the branches.
  • updating the user's profile comprises incrementing or decrementing a counter associated with a part of the profile.
  • the user profile can comprise a database of personality traits, wherein the database comprises at least one pair of entries associated with first and second opposing personality traits and the counter is one of a first and second counter provided in relation to each entry of the at least one pair respectively.
  • the operations can further comprise determining the value of the first and second counters, the higher of the two values indicating a bias of the user towards one of the first and second personality traits.
  • the operations further comprise: creating multiple conversation trees; and storing the created trees in an accessible database.
  • enabling the user to select a branch from a first tier of a conversation tree can comprise: deploying a character to a user's virtual world with which the user can have a conversation; selecting, based on at least a part of the user's profile, a conversation tree from the multiple stored conversation trees; causing display of a first character dialogue string of a first tier of the selected conversation tree; and causing display of multiple branches of the first tier of the conversation tree from which the user can select a branch.
  • the operations further comprise maintaining a profile of multiple users, indexed by a user identification.
  • the user profile and the conversation tree are maintained remote from the user and access to the virtual environment is via a network connection.
  • the user's profile can be also updated in response to any one of: achievement of a goal by the user; progress of the user in a social situation; information provided by the user; receipt of a message from another user; purchase of a real or virtual item by the user; and termination of conversation in which user is participating.
  • the presenting to the user is implemented using one or more characters, the operations further comprising selecting, based on the user's profile, a character to deploy into the user's virtual world; and controlling the selected character to present to the user a conversation element associated with the first tier of the conversation tree, the conversation element being further associated with a plurality of possible branches for the user to select following the presentation.
  • the operations can further comprise creating the one or more characters in the virtual world having one of: pre-determined characteristics; characteristics having regard to a user's profile; and characteristics based on a user's profile.
  • the operations can further comprise controlling the one or more characters to present other types of information to the user, including one of text- based feedback on conversation branches selected; visually-animated feedback on conversation branches selected; a suggestion as to a place to visit in the virtual world; suggestions as to actions to be taken by the user to interact in the virtual world; information on other users' avatars; and information on other user's interactions in the game.
  • an apparatus comprising: a user interface module capable of receiving instructions from a user and generating instructions for presentation of information to a user in the virtual environment; a profile database arranged to store profile data relating to the user; a conversation database arranged to store one or more conversation trees each comprising multiple tiers, wherein each tier comprises one or more character dialogue strings associated with multiple branches and wherein each branch belongs to one or more of a plurality of categories; a conversation engine arranged to select a first tier for presentation to the user via the user interface module, such that the user can engage in a conversation by selecting a branch from multiple branches of the selected tier of the conversation tree; and an updating module arranged to, in dependence on the one or more categories to which the selected branch belongs, selectively update the user's profile.
  • the conversation engine may be further arranged to, based on at least one of the updated user profile and information associated with the selected branch, select a second tier of the conversation tree for presentation to the user and wherein the updating module is further arranged to, in dependence on the one or more categories to which the selected branch belongs, selectively update the user's profile.
  • the conversation engine is further arranged to, based on at least one of the updated user profile and the selected branch, either select a third one of multiple further tiers of the conversation tree to present to the user or terminate the conversation.
  • the conversation database is further arranged to store one or more flags in association with at least some of the one or more branches, wherein each flag indicates a category to which the branch belongs.
  • the apparatus further comprises a counter module in communication with a part of the user profile and which can be incremented or decremented by the updating module in accordance with the category to which a selected branch belongs.
  • the profile database can be arranged to store profile data comprising a table of personality traits, which table comprises at least one pair of entries associated with first and second opposing personality traits and wherein the counter comprises first and second counters for the first and second entries of each pair.
  • the apparatus further comprises a display module arranged to cause display of a first character dialogue string of the first tier of a conversation and of the multiple branches of the first tier.
  • the apparatus can further comprise a character module for creating one or more characters of one or more types : a stock character having predetermined characteristics, created by reference to stored or received information; a user-specific character having characteristics suitable for interaction with the user, created having regard to the stored user's profile; and a user's avatar having characteristics determined by mapping from a user's stored profile.
  • the user interface is arranged to provide a created avatar to the user via the user interface module for use in selecting branches
  • the profile database is arranged to store profile data relating to the user such that the profile data is associated with the avatar.
  • a database comprising a conversation tree having multiple tiers, at least one tier comprising one or more character dialogue strings each having multiple selectable branches, wherein each of the multiple branches is connected to a character dialogue string of another tier.
  • Requests for access to the database and sending of information back to the user's terminal can be secured by one or more of: password protection; and encryption.
  • the computer program product may comprise instructions which, enable requests for access to the database and sending of information back to the user's terminal to be secured by one or more of: password protection; and encryption.
  • the visually-animated feedback may comprise one or more of: facial expressions of one or more of the characters; physical movement of one or more of the characters; and provision of a visual meter indicating a player's level of attainment of a particular attribute.
  • the providing of an avatar-interface may comprise providing choices to the user regarding the avatar characteristics; receiving user responses to the choices; creating an avatar based on the user's choices; and placing the avatar in the virtual world environment. Aspects of the avatar may be manipulated in response to user inputs, including appearance and particulars of dialogue strings presented.
  • the method or computer program product operations may comprise storing, in association with a user's profile, a conversation or partial conversation in which a user has participated and enabling subsequent retrieval of the stored conversation.
  • a retrieved conversation may be exported to a platform outside the virtual environment or to another user within the virtual environment.
  • the apparatus may be arranged to perform these actions.
  • the method or operations of the computer program product may form part of a game played by a user.
  • the apparatus may be used to provide a game or part of a game to be played by a user.
  • Fig. 1 shows an overview of multiple users connected to a computer-implemented apparatus on which a game is run;
  • Fig. 2 shows diagrammatically a conversation tree as used in the invention
  • Fig. 3 is a screen shot showing presentation of multiple conversation responses to a user
  • Fig. 4 shows diagrammatically the various contents of a memory associated with the game
  • Fig. S shows a visual representation of parts of an exemplary conversation tree, showing examples of flags used in the tree and their connection to an NPC and a player;
  • Fig. 6 shows a visual representation of details of a user's profile
  • Fig. 7 shows a schematic representation of an apparatus on which the game could be stored, run and controlled.
  • Fig. 8 is a flow chart showing operation of features of the invention.
  • like reference numerals indicate like parts.
  • the present invention provides a virtual environment in which a user can interact with features and characters in the virtual environment.
  • the virtual environment is a social game environment but the technical manipulation to suit the user would be equally applicable to other types of virtual environment, for example training for other activities involving social interaction such as for teaching or business purposes.
  • the general challenge of the game is for the user to improve their social interactions by making choices when interacting with other characters, and then receiving an indication of the consequence of the choices made.
  • this process is assisted by dynamic control and updating of the game in dependence on the choices made by the user and other characteristics of the user.
  • Figure 1 shows a high-level view of a system 1 within which the game is delivered to user devices.
  • three exemplary user devices a personal computer 2, a mobile device 4 and a tablet 6.
  • These devices are merely exemplary and it will be understood that the game can be ported to similar devices, provided they have a suitable client application to provide a viewer and to enable connection to some sort of network via which they can receive the necessary data.
  • the network used is the internet 8 but other types of network such as an intranet could be the transport medium.
  • An apparatus 10 is provided on which the core computing operations of the game are run and from which the necessary data is sent to users via the internet 8.
  • the apparatus 10 acts as a server which can communicate with multiple user devices and run an independent game for each user.
  • an aspect of the invention allows data sharing between the independent games, as will be explained below.
  • the apparatus 10 may in practice comprise multiple servers to enable large numbers of user devices to run the game.
  • the apparatus 10 is shown as having a separate memory 12 as this may or may not be in the same physical location as the apparatus 10. It will be appreciated that the memory 12 could be incorporated in the apparatus 10. It will further be appreciated that the memory 12 could be provided by multiple memories which may be in different physical locations. It will be understood that the apparatus 10 is able to port the game to multiple user devices and that this is not limited to the number or type shown in figure 1.
  • the game may be run as a direct download on the device or, alternatively, may be accessed when the user is connected to an existing social network such as Facebook. In other words, the game can be accessed via a link provided within the Facebook or other website.
  • the user's device will be a "thin" client merely providing the visible on-screen graphics and user interface, whilst any local processing is done by the Facebook website.
  • This access method could be applied to any user device on which the game is being played but is particularly advantageous when the user device has limited storage, such as in a mobile telephone.
  • the game of this embodiment is a social role-playing game about personal relationships.
  • One aim is to enable players to develop relationships with on-line characters, which may or may not represent real people.
  • the game includes challenges, particularly challenges to improve one's ability to interact successfully with other people (in the form of on-line characters).
  • Players are rewarded in dependence on their level of attainment, either with various points systems or by gaining the ability to acquire virtual or non-virtual items.
  • the game includes a visual backdrop designed to simulate a real world environment and therefore comprises various locations. Some locations are outside and can be particular towns or cities or locations of interest. The location may include one or more streets or the outside of a particular building such as a cinema. Other locations are inside particular rooms or buildings, for example the inside of a bar or a character's house.
  • the game also includes various NPCs. These may be characters purchased from a third party and imported into the game. However, in view of the nature of the game, most of the characters are custom-designed to provide a wide variety of appearances and personality types of both genders.
  • the game was developed on the 3D Unity Professional game engine provided by Unity Technologies.
  • This engine assists development of the technical aspects of a game by providing short-cuts to full programming for creating certain graphic effects.
  • it supports a physics engine to provide the game developer with a means for character movement and collision. It allows integration with the above-mentioned world and character-creation engines and enables the game to be run.
  • a user is represented by an avatar, which the user can customize themselves as is known in the art. This customizing can be done when the user joins the game for the first time and also at other times should the user desire.
  • a user may choose to customize his or her avatar to represent his or her own appearance and personality or it may be quite different from the actual user.
  • characters are used in the game and appear to the user from time to time. These characters may be commercially-available characters which can be purchased or licensed and then written into the game. However, one feature of this embodiment of the invention is to provide characters which are custom-designed. These fall into three types:
  • User-targeted characters are custom-designed for interaction with a particular user. Thus their appearance and personality may be chosen to appeal to a particular user or to provide the user with a particular type of interactive experience. Details of how this is achieved will be provided below.
  • User-based characters are custom-designed based on characteristics of a particular user. Thus their appearance will reflect information on a user's appearance that the user has provided to the game and their personality will reflect that of the user. Details of how the personality is captured will be provided below. Such characters can be deployed by the game engine into the individual game of another user in order to simulate an interaction between two real-life users.
  • FIG. 2 shows diagrammatically an exemplary conversation tree 14 which is used in operation of the invention.
  • the tree 14 comprises multiple tiers 16.
  • the first tier resides at the top of the tree and is labeled 16a, the second tier sits beneath it and is referenced as 16b.
  • 16a the first tier resides at the top of the tree and is labeled 16a
  • 16b the second tier sits beneath it and is referenced as 16b.
  • the tree 14 has 5 tiers descending down the page, and thus 16e is the final tier, signifying multiple endings to a conversation.
  • 16e is the final tier, signifying multiple endings to a conversation.
  • the conversation tree could have a different number of tiers.
  • each tier comprises a prompt 18, all of which are depicted as numbered circles (two are labeled by way of example) and one or more branches 20 (several are labeled by way of example) emanating from the prompt 18.
  • the prompts 18 represent a dialogue string presented to the user by a character.
  • the branches 20 represent possible responses to each prompt 18.
  • each prompt 18 has four branches 20 emanating from it, which represent four possible user responses to the prompt 18.
  • the first tier 16a of the tree 14 is an initial prompt by a character of one of the types described above.
  • the prompt is represented on a GUI, for example as a speech bubble associated with the character.
  • This tier gives rise to four branches, 20a, b, c & d. These branches are response options and also appear to the user on screen in the form of text, for example in speech bubbles.
  • An exemplary screen shot of this is shown in figure 3, in which a character 22 which presented the prompt is still visible to the user in one region of the screen and the four prompts 20a, b, c & d are shown, each in its own speech bubble, in another region of the screen. It will be appreciated that the layout of the screen could be varied as desired.
  • next prompt 18 is number 2 on the left hand side of the second tier 16b of the tree. If the user selects either of the second two responses 20c or 20d, the next prompt 18 is number 3 on the right hand side of the second tier 16b of the tree. Thus the chosen response can lead to one of two next character prompts 18. Following selection of a branch by the user, the next character prompt will be displayed on screen, for example as a speech bubble emanating from the character 22. The next tier of the tree has three possible prompts 18. If the user received prompt 2, he would then be shown four response options 20e, f, g or h to prompt 2.
  • next prompt is number 4 on the left hand side of the third tier of the tree. If he chooses either the second or third response 20f or 20g, the next prompt is number 5 in the middle of the tree. If he chooses the fourth response 20h, the next prompt is number 6 on the right hand side of the tree.
  • prompts 5, 6 or 7 there are four possible prompts, numbers 7, 8, 9, 10, that the user can be navigated to in dependence on the response chosen.
  • each of the prompt numbers 5, 6 and 7 has a branch connection to each of the four prompt numbers 7, 8, 9, 10.
  • the final tier of the tree has five prompts, numbers 11, 12, 13, 14, 15 but any one of prompt numbers 7, 8, 9 and 10 can only lead to four of these five prompts because the user is still given four possible response options.
  • Prompt numbers 7 & 8 are connected to prompt numbers 11, 12, 13 & 14 and prompt numbers 9 & 10 are connected to prompt numbers 12, 13, 14 and 15.
  • the prompts 18 are arranged such that the more skillfully a user chooses his responses, the closer to the left hand side of the tree the user will be navigated.
  • the game comprises multiple conversation trees which can be deployed to a user. This arrangement is described further below.
  • the skill level of a user's response choices can be based on various criteria.
  • One such criteria is how the response choices fit into a particular Myers-Briggs personality type.
  • the Myers-Briggs psychometric test aims to put people into one of a number of personality categories in accordance with their psychological preferences.
  • the test identifies four opposing pairs of personality traits, as set out in Appendix 1.
  • the various possible combinations of these eight traits gives rise to sixteen possible personality types, each represented by four letters, where each letter represents the stronger of an opposing pair of the four pairs of personality traits.
  • sixteen pairs of characters have thus been named as each representing one of these personality types, a male and a female forming each pair.
  • An explanation of these characters is set out in Appendix 2, together with an indication as to compatibility with other personality types.
  • the user-targeted characters mentioned above can be created to reflect one of the sixteen personality types, although of course this is not essential. At a minimum it is desirable to provide 32 user-targeted characters, a male and a female of each personality type. Of course, it is possible to have more than this number of characters with each personality type, having different appearances. It can further be understood from Appendix 2 that a skill level of the user's responses can be assessed based on their compatibility with the Myers-Briggs personality type of the NPC with which the user is in conversation.
  • the dynamic nature of the game is facilitated by an on-going assessment of a user's personality type, based on the same Myers-Briggs criteria. This is achieved by an on-going analysis of the responses 20 that the user chooses within the conversation trees 14 that he or she participates in. In order to facilitate the analysis, the branches of the conversation tree are categorized in association with flags. The structure and operation of the conversation trees and flags will now be explained. Whilst a conversation tree has been represented diagrammatically in figure 2, the multiple conversation trees 14 are in practice stored as multiple text files in a database. Associated with each response 20 is a pointer as to which prompt to go to next, although this can be overridden, as will be explained by way of example below.
  • the various flags are also stored as menus in a database so that they can be added to conversation trees before or during running of the game.
  • a database storing a profile of each user, in this particular embodiment, referenced by their Facebook ID, although this is not essential.
  • FIG. 4 shows an overview of the various databases within the memory 12, which in practice may be implemented as relational databases.
  • flag types 84 each of which may comprise multiple flags. Each type of flag is represented by one file, with sample flag formats shown.
  • Permanent connections exist to store the history of a user's game play, for example, a user may have interacted with several NPCs and a record of this, together with any conversations held between them, is stored. It is also desirable to store a record of which conversation trees 14 have been presented to each user so that the user's interest can be maintained by always presenting them with a new conversation that they have not participated in previously. Dynamic associations are created as the game is played, as will be explained in more detail below.
  • the possible flags used in this embodiment are set out in more detail in Appendix 3.
  • the flags are written into the game in particular locations so that a particular action may be taken as appropriate.
  • Various of the flags can be associated with the conversation trees, the NPC files and/or the user files.
  • the flags are explained under nine different headings, each of which indicates a type or sub-type of flag (for example, there are several different sub-types of game state flags). Different types of flag can be used to categorize user responses and for other purposes.
  • Appendix 3 refers in some places to the likes and dislikes of NPC characters and their feelings to user-selected responses - these parameters are determined based on the personality type on which an NPC is based and a presumption about how a real person of that personality type would react. Some examples of use of these flags will now be explained.
  • FIG. 5 A sample of some of the possible connections between some of the databases and files in the memory 12 is shown diagrammatically in figure 5.
  • This figure shows part of the first conversation tree 14(1), specifically the first tier 16a and parts of the second tier 16b and the fifth tier 16e. Also shown is a data file representing character number 20, Jan (see Appendix 2) and a user profile for a first user (#1).
  • the first tier of the conversation tree is represented by a table 26a in which the first column 28 is an identifiable and searchable text file for the first prompt and the possible responses 20a-d.
  • the actual text is not shown but it will be appreciated that e.g. "Response 20b" indicates a text string of the actual words shown in a speech bubble as visible to the user plus an ID string that is used to identify the response.
  • Associated with the Response 20a is the number 2 in a pointer field 29, indicating that the next prompt to go to if the Response 20a is chosen is Prompt 2 of the second tier 16b of the conversation tree 14(1).
  • Emanating from the Response 20a is an arrow 30, which represents a pointer and this leads to "Prompt 2" of the second tier 16b of the conversation tree 14(1), in accordance with the designation in the pointer field 29 for the Response 20a.
  • the second tier 16b of the conversation tree is represented by a second table 28.
  • the number 2 is also shown in the pointer field 29 as associated with the Response 20b, since, as can be understood from figure 2, this is also the next prompt following selection of the Response 20b.
  • a second arrow 32 emanates from the Response 20b, and also represents a pointer to "Prompt 2" of the second tier 16b of the conversation tree 14(1).
  • the tables 26a and 26b will be relational databases, linked by a pointer system, as is known in the art.
  • Arrows 32 and 34 respectively are shown emanating from the Responses 20c and 20d respectively. These represent pointers to the Prompt 3 of the second tier 16b of the conversation tree but the table representing this part of the second tier 16b is omitted for clarity. However, arrows 32 and 34 provide an indication of the destination of pointers associated with this prompt.
  • a table 26c is shown to represent the Prompt 11 of the fifth tier of the conversation tree 14(1). Since this is one possible end to the conversation, no responses are listed in this table.
  • the data file representing the female character J is shown as having various fields. The first field is the name of the character, Jan. The second field is a flag that indicates her occupation. The next four fields show which of the Myers-Briggs personality trait pairs she has been created to have and the fifth field shows an emotion that she can display i.e. an indication to alter the facial expression and body language of the character, Jan, in certain circumstances. It will be appreciated that there could be many other fields in such a data file, including fields representing aspects of her appearance, but these are omitted for clarity.
  • Part of a database in which the profile of the user #1 is stored is shown as having a number of fields. These are Facebook ID (used to identify the user), gender, age, personality type, skills, likes, dislikes, NPC relationships and game stage reached. It will be appreciated that there could be many other fields in such a data file, some of which could relate to further information provided by a user, but these are omitted for clarity.
  • One important set of data which is stored in the user profile although this is not essential to the invention, is data relating to the user's avatar as custom-designed by the user.
  • the Prompt 1 is associated with the flag «UP_TS_actress». This type of flag is explained in section 4 of Appendix 3 and indicates than NPC character number 20, Jan (see Appendix 2) has been created to be an actress. This information is stored in the associated profile of Jan and can be woven into a prompt of a conversation if desired. The connection is shown by an arrow 36 from the second field of Jan's character file to the row of the table 26a in which the Prompt 1 is stored, such that a mention of Jan being an actress can be included in the Prompt 1.
  • the Response 20a is stored in association with three flags, «UP_PT_I», «UP_PT_J» and «UP_PT_K».
  • This response is put into three categories, all of which are personality-related.
  • the initiation of this implementation is indicated by an arrow 38 from the row of the table in which the Response 20a is stored to the "Personality Type" field in the user #l's profile table.
  • This type of flag is explained in Section 3a) of Appendix A, from which it can be understood that they indicate a personality trait.
  • the last letter indicates one of the eight types of Myer-Briggs personality traits. Details of the updating of the profile of the user #1 in response to these flags will be explained below with reference to figure 6.
  • the Response 20b is stored in association with the flag «UP_humor». Thus this response is designated as belonging to one category.
  • This type of flag is explained in Section S of Appendix 3 as representing one of a number of skill attributes of the user #1 , in this case "humor”.
  • An arrow 40 runs from the Response 20b to the "Skills" field in the user #1 's profile. Thus in the event that the user #1 selects the Response 20b, this flag is used to add the skill of "humor” to that field in the profile.
  • the Response 20c is stored in association with two flags, «UP_LIKE_14» and «gs_info» and thus belongs to two categories.
  • the first of these is of the type described in Section 7 of Appendix 3 and is used as an indication that a user who selects this prompt likes Cooking and Dining.
  • an arrow 42 is shown connecting the location of the table 26a in which this flag is stored to the "Likes" field of the profile of the user #1.
  • the second of these flags is a game state flag, as detailed in Section 8 of Appendix 3 and indicates that there has been an exchange of information between the user #1 and the NPC Jan.
  • An arrow 44 is shown linking the location of the table 26a in which this flag is stored to the "NPC relationships" field of the profile of the user #1.
  • the Response 20d is stored in association with the flag ⁇ UP_DONT_22». Thus this response falls into one category.
  • This flag is of the type described in Section 7 of Appendix 3, as indicating a user who does not like animals.
  • An arrow 46 runs from the location of the table 26a in which this flag is stored to the "Dislikes" field of the profile of the user #1.
  • the Response 20e has two flags stored in association with it, «GS_LO_l l» and «gs_date». The first of these is of a type described in Section 1 of Appendix 3 and indicates an override of the pointer associated with the Response 20e.
  • a pointer associated with the Response 20e would point to Prompt number 4 of the conversation tree 14(1) and this is the next prompt that the user would be shown if he selects the Response 20e.
  • the «GS_LO_l l» flag signifies an override to this pointer such that the next prompt presented to the user is the Prompt number 11, which, as can be seen from figure 2, is a terminating prompt.
  • this override is used because selection of this Response indicates a high skill level of the selecting user in directing the conversation in a positive way.
  • the second flag is another example of the type described in Section 8 of Appendix 3 and indicates that this response has generated a future virtual meeting between the user and the NPC character with which they are in conversation. Both these flags are shown connected to the profile of the user #1 by an arrow 48, directed to the "NPC Relationships" field of the profile.
  • the Response 20f has no flags associated with it and therefore is categorized as not causing any updating of the profile of the user #1.
  • the Response 20g is categorized by the flag «UP_DONT,7» stored in association with it, which indicates a dislike of TV. This flag is shown connected to the "Dislikes" field of the profile of the user #1 by an arrow SO.
  • the Response 20h has the flag «GS_HO_10» associated with it. This response is thus in contrast to the Response 20e because it indicates a poor selection on the part of the user as being incompatible with or even offensive to the NPC, in this case Jan. This flag also overrides a pointer associated with the Response 20e which would ordinarily direct the conversation to the Prompt number 6. Instead, this flag directs the conversation to the Prompt number 10, thus skipping the third tier 16c of the conversation tree 14(1). This flag is shown connected to the "NPC Relationships" field of the user #1 's profile by an arrow referenced as 52. • The Prompt 11 has two flags stored in association with it.
  • the first of these is GS_S2, which indicates that the user has completed stage 2 of the game.
  • the stages of the game can be delineated as desired but typically include a requirement to attain a particular level of multiple parameters. For example, a player will be awarded points in dependence on their skill at selecting "good” responses from the selections offered and for establishing themselves in the virtual community. Some examples of these can be viewed in figure 3, towards the top of which are shown meters for "energy”, "level” and “hugs”. The meters are visible indications of a number of points gained in each of these parameters.
  • the "level” meter represents the stage that a player is currently playing in, whilst the "hugs” meter represents the skill that they have attained during conversational interactions.
  • the "energy” meter represents the quantity of game-specific currency that the player currently possesses - this currency is awarded for certain actions and or can be purchased with real money.
  • the game can be arranged to progress a user to the next stage or level when certain values of such parameters have been attained, or on the basis of other requirements.
  • the second flag is «gs_over» which indicates the end of the conversation. All prompts in the 5 th tier of a conversation tree carry this flag so that the conversation can be terminated. As an alternative, this flag could be placed in one of the branches in the previous tier 16d, such that the conversation finishes with a user response.
  • a connection between the Prompt 11 in the table 26c is shown by an arrow pointing to the "Game Stage" field of the profile of the user #1.
  • the user's profile can be selectively updated in dependence on whether a chosen response is categorized by having any or no flags associated with it.
  • the specific nature of any updating is dependent on any particular flags that are associated with it.
  • the override flags e.g. «GS_LO_X»
  • the override flags could alternatively be used to stop a conversation from terrninating. If placed with, say, one of the responses 20 to the Prompt 9, an override flag could be used to go back to, for example the Prompt 6, so as to give the user #1 a prolonged opportunity to engage with the character, Jan.
  • These flags could carry a name of a place or person (e.g. an NPC or a real user), stored with the character file of an NPC to indicate that that NPC should mention the particular place in a prompt.
  • more than one NPC can use a same conversation tree with merely the name place customized to the particular NPC for that prompt.
  • multiple conversation trees 14 can be stored, which differ only in a specific location or name mentioned in one prompt or response.
  • a particular place or person name can be put into a conversation in dependence on a particular name stored with an NPC or in a user's profile.
  • the required word can be stored as a text file, together with an indication as to the conversation or NPC to which this word relates and where it is to be used.
  • Figure 6 shows again the profile of the user #1, in an expanded format which shows sub-tables for some of the fields in the basic profile as shown in figure S.
  • the expansions shown are purely exemplary and diagrammatic and it will be appreciated that other fields could be provided in the user profile and that various sub-tables of various formats could be associated with some or all of the fields.
  • figure 6 shows in more detail the "Personality Type" field associated with the user #1.
  • This table includes eight counters 56, one provided for each Myers-Briggs personality trait i.e. E, I, S, N, T, F, J and P. For each of the eight personality traits, its respective counter 56 indicates the score that the user #1 has attained in that trait.
  • These counters 56 are incremented or decremented in response to a user selecting a response that carries a "personality-related" flag of the type set out in Section 3 a) or b) of Appendix A. Examples of these flags are shown in figure 5 as being associated with the Response 20a, as explained above.
  • the final row 58 of the table shows which of the two personality traits of each pair currently carries the higher score attributed to the user #1.
  • This row 58 thus indicates four of the eight personality traits, and thereby its fields together indicate which of the sixteen Myers-Briggs personality types the user #1 is currently considered to belong to.
  • the final row 58 of the "Personality Type" table is dynamically adjusted each time the user #1 selects a response which carries a personality-related flag. Such a flag could have the format as shown in Section 3 of Appendix 3 of either format a) or format b).
  • the current personality type of the user #1 is ESTP (equating to personality I) and this is the type contained in. the current profile of the user #1 as current following their latest response selection.
  • a historical record of personality types that a user has migrated through can also be stored if desired.
  • the next field of the user #1 's profile shown in figure 6 is the "Skills" field.
  • the view shown in figure 6 reflects the latest skill which would be acquired should the user select the Response 20b.
  • this field contains a sub-field for the skill "humor” and a numerical field associated with it.
  • further sub-fields are created or populated and stored as part of the user profile each time a user selects a response associated with another «UP_X» flag.
  • a numerical field representing a count for instances of display of each skill is also created and populated in association with each sub-field.
  • the "Skills" field will contain multiple sub-fields, each with a corresponding counter.
  • the next field of the user #1 's profile shown in figure 6 is the "Likes" field.
  • the view shown in figure 6 reflects the latest hobby/interest which would be included in this part of the profile should the user select the Response 20c.
  • this field contains a sub-field for the interest "Cooking-Dining” (interest number 14).
  • interest number 14 the interest number 14
  • this field would likely, after the user has been playing the game for a while, contain multiple sub-fields, one for each "like” that has been indicated by selection of responses carrying a flag of the type «U_LIKE,X».
  • this field can be added to as the user participates in further conversations.
  • the next field of the user #1 's profile shown in figure 6 is the "Disikes" field.
  • the view shown in figure 6 reflects the latest hobby/interest which would be included in this part of the profile should the user select the Response 20d and the Response 20g.
  • this field contains a sub- field for the interests "TV” (interest number 7) and "Animals” (interest number 22). If only one of these responses were selected, only one corresponding field would be populated. Again, this field would likely, after the user has been playing the game for a while, contain multiple sub- fields, one for each "dislike" that has been indicated by selection of responses carrying a flag of the type «U_DONT,X». Thus this field can be added to as the user participates in further conversations.
  • the last field of the user #l's profile shown in figure 6 is the "NPC Relationships" field.
  • this field has a sub-field for the NPC character Jan.
  • a first entry 60 which has been populated in response to the user selecting the Response 20c and indicates that the user and the NPC Jan have exchanged information.
  • the entry 60 could either be populated with this specific information or have associated with it a link to either the corresponding field in the "Likes" section of the user profile and/or to the relevant flag in the flags database.
  • a second entry 62 which has been populated in response to the user selecting the response 20e.
  • This entry indicates that the user and Jan have agreed to go on a virtual date and this information can be accessed to implement the date in the future.
  • the final entry 64 is a status of this information and in this case is shown as "current”.
  • the "NPC relationships" field can maintain a record of historical interactions between the user and NPC characters and the final entry 64 could alternatively be recorded as "historic” i.e. "not current” as appropriate.
  • figure 6 shows possible updates to the various fields of the user's profile, should the user select particular responses. It will be further understood that in reality, when participating in a single conversation, not all the responses can in fact be chosen and thus at the end of the conversation 14(1) the fields would not all be updated as shown in figure 6. However, the fields shown are updated through multiple conversations in accordance with particular responses chosen and the examples shown can be extrapolated to understand this principle. It should be noted that in this embodiment the user selects responses such that it appears that his avatar is selecting the response, although this is not essential for operation of the invention.
  • FIG 7 is a schematic representation of some of the components which could form part of a server on which the game is run and the necessary data processed and stored. It will be understood by those skilled in the art that the various components shown could be arranged differently and/or have a different arrangement of connections between them and could have a degree of overlap in their functions but they are shown as various modules to aid understanding of the processing of data involved in implementing features of the game as described above. It will also be understood that various of the features described could be implemented in hardware or software or a mixture of both.
  • a user interface module 66 Within the apparatus 10 on the side which can be understood rom figure 1 as being representative of the connection to the network 8, there is shown a user interface module 66.
  • the conversation engine 68, the display module 70 and the controller 72 are also all connected to each other.
  • the controller 72 comprises a processor and has a local memory 76 available to it
  • the controller 72 is further connected to an updating module 78, a counter module 80 and a character module 82.
  • the conversation engine 68 is connected to the updating module 78.
  • the updating module 78 is connected to the counter module 80.
  • the conversation trees 14, the flags database 84, the user profile database 86 and the NPC characters database 88 are shown in more detail in figure 4. All four of these items are all connected to each other. As explained with reference to figure 4, the memory 12 is shown as separate from the apparatus 10 but could form part of it if desired.
  • the conversation engine 68 is connected to the conversation tree database 14 and the NPC characters database 88.
  • the updating module 78 is connected to the player profiles database 86.
  • the character module 82 is connected to the NPC characters database 88.
  • the apparatus 10 has the central controller 72 to manage all the various operations and the other modules and carry out data processing.
  • the controller 72 optimizes running of the apparatus 10 to process and transfer data in an efficient manner. For example, the controller can schedule operations in order of importance in response to requests from the various other modules. It is likely that the various modules will have some coding and decoding functionality but the controller 72 is used for any major processing.
  • the controller 72 may make use of the local memory 76, which comprises RAM and/or cache memory, for storing blocks of data to be processed.
  • the user interface module 66 acts as the means by which data and instructions are sent out to a user over the network 8 and by which user input is received.
  • the user interface module 66 is capable of receiving and transmitting data associated with a plurality of players at any one time or at multiple times.
  • the data can be segmented for transmission and reassembled such that data streams associated with multiple users can be interleaved, as is known in the art.
  • the user interface module 66 receives data and instructions from the conversation engine 68 regarding conversations to present to the user and is able to receive and decode selections received back from the user and pass those to the conversation engine 68 for processing.
  • the user interface module 66 also receives data and instructions from the display module 70 as to what to send out to the users for display. This data and instructions can be used by a display driver on the user's local terminal to display the backdrop to the game, the characters and the conversation bubbles etc.
  • the display module 70 receives data and instructions via the controller 72 but may also receive information directly from the conversation engine, regarding conversations to be displayed.
  • the conversation engine 68 operates in conjunction with the conversation trees database 14 and the NPC characters database 88.
  • the conversation engine 68 carries out some or all of the following functions:
  • Selecting a conversation tree to present to a particular user This may be done by a randomized selection from the conversation tree database 14 and/or with reference to the historical record stored with the user's profile as to which conversation trees have previously been deployed to the user. For example, it may be desirable to select a conversation tree that the user has not been presented with before, so as to maximize the user's enjoyment of playing the game. Other aspects of the user's profile could also be used to select a conversation, for example selecting those which might appeal to a user of a particular age. It is important that integrity of the data stored in the memory 12 is maintained and so an encryption is used between the conversation engine 68 and the memory 12 to avoid hacking of the data. Similarly, such precautions are taken between the counter module 80 and the profiles database 86, as well as between the character module 82 and the NPC database 88. This is particularly important if the memory 12 resides off- site from the apparatus 10.
  • figure 7 shows a connection between the counter module 80 and the updating module 78 - this enables the counter module 80 to pass the results of counter increments and decrements to the updating module 78 for the updating module 78 to carry out the actual user profile updating.
  • the character module 82 is used for creating NPCs and arranging storage of NPC data in the NPC database 88. Should new characters be created during the game, the character module can instruct storage of the data details of such characters.
  • user-targeted characters can be created with the data profile of a particular user in mind, for example for particular compatibility with a user. This could be done by querying the Personality Type field of a user's profile and creating an NPC of a compatible personality type, and/or with reference to other fields of the user's profile such as Likes and Dislikes. Such characters can then be deployed into the virtual world of that user.
  • the user profile information can be used to create a user-based character having characteristics modeled on a particular user. Again, such characters can then be deployed into the virtual world of another user, allowing that user to interact with a character that represents a real other user.
  • the character module 82 controls deployment of stock characters into users' games. This can be done in conjunction with access to the user profiles database 86 so that such stock characters can be arranged to inform one user about a character's previous actions within the virtual world.
  • These types of interaction are in real time for the user to whom they are being presented and are implemented using stored data. Thus the user experiences an illusion of real time interaction with another player but in fact reported actions about the other player could have happened many hours previously.
  • the process begins at step 90 and can start with one of two processes. If the user is new to the game he or she opens a new account to register with the game (step 90a). If the user is an existing user he or she logs back into the game having been logged out (step 90b). At step 92 the user provides basic personal information. This is either for the purposes of secure login of an existing user (step 92b) or for a new user to provide information to allow creation of an account (step 92a). At step 94, an account is created for a new user and a corresponding profile created in the profile database 86 (step 94a). For an existing user the user profile is amended to store a record that the user has logged in at the date and time in question and, if appropriate, to update user details should they have changed.
  • a conversation tree is selected and the first tier of the selected tree is presented to the user. It should be understood that the 'Tirst tier" may not necessarily be the first tier as shown by way of example labeled as number 1 in figure 2.
  • the term "first tier" refers merely to the first tier presented to the user and it may or may not be the first tier as stored in the file for that tree.
  • the user selects a response 20.
  • the conversation engine 68 analyzes the response to determine whether or not it has a flag associated with it.
  • step 102 the next prompt is presented to the user at step 104.
  • the conversation engine 68 determines whether the presented prompt is flagged as a conversation end (e.g. prompts 11, 12, 13, 14 or 15 in figure 2). If not, the process loops to step 100 where the user selects a response. If it is flagged as a conversation end, the conversation terminates at step 108. However the process continues at step 110 to determine whether or not the user is still logged in. If not, the process ends at step 112. If the user is still logged in, the process loops back to step 96 and either the same or a different NPC is deployed to interact with the user. Step 96 may occur after some time delay, for example if the user is busy with other activities e.g. travel or purchasing activities.
  • the conversation engine determines whether one of the flags is an override flag. If not, the process loops to step 104 where the next prompt as indicated by the pointer in the conversation tree database is presented to the user. If one of the flags is an override flag, at step 118 the conversation engine overrides the pointer at step 118 and then the next step is to determine whether the prompt which is now to be presented is flagged as a conversation end (step 120). If not, the process loops back to step 100 where the user provides a response.
  • step 122 the conversation terminates at step 122. However the process continues at step 124 to determine whether or not the user is still logged in. If not, the process ends at step 126. If the user is still logged in, the process loops back to step 96 and either the same or a different NPC is deployed to interact with the user.
  • conversations which a user has with NPCs are stored in a queriable and retrievable manner as part of, or in association with, the user's profile.
  • the conversation can be retrieved from the memory 12, for example with reference to the NPC identity and a date time, and sent via the user interface to the user's device.
  • the conversation could be made available for the user's Facebook contacts to view.
  • the above-described apparatus in figure 7 relates generally to an apparatus owned or rented by an owner or licensee of the game.
  • the owner can control participation of multiple users in the game.
  • some of the modules and processing operations could be performed at the user's end. Indeed, should the game be purchased in a format for running on a non-web-enabled platform, all the processes and storage would take place locally, for example on a user device such as an arcade game. Thus the described method could run on a user device without the need for a web interface.
  • Embodiments of the invention provide improvements over prior art games which do not store a user profile comprising fields relating to choices made by the user, which can be updated as a result of those choices. It will be understood that the use of an avatar for making such choices is not essential. Whilst override flags have been used in the above-described embodiment to "jump" tiers of a conversation tree, such omitting of some tiers could be done for other reasons, for example based on aspects of a previous encounter with the NPC with which the conversation is taking place.
  • a “tree” could be much larger, comprising dialogues which are not associated with other dialogues and the conversation presented to the user could be more random in nature. In other words it could resemble an array of dialogues.
  • the "branches” do not necessarily need to be user responses but could be questions posed by the user - thus a "tier” could be defined as multiple branches and multiple NPC responses. Additionally, the percentage of responses in a tree or in an array which carry flags and/or trigger an update could be varied as desired.
  • One or more aspects or features of the subject-matter described herein can be realized in digital electronic circuitry, integrated circuitry, specially designed application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) computer hardware, firmware, software, and/or combinations thereof.
  • ASICs application specific integrated circuits
  • FPGAs field programmable gate arrays
  • These various aspects or features can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, including the exemplary processor 74.
  • the programmable system or computing system may include the clients (user devices) and servers such as the apparatus 10. As previously explained, a client and server are generally remote from each other and typically interact through a communication network such as the network 8.
  • client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
  • These computer programs which can also be referred to as programs, software, software applications, applications, components, or code, include machine instructions for a programmable processor, and can be implemented in a high-level procedural and/or object- oriented programming language, and/or in assembly/machine language.
  • 3D Unity Professional is written in C++ and C# aspects of the data management may be implemented in other code, such as structured query language (SQL) and extensible mark-up language (XML).
  • machine-readable medium refers to any computer program product, apparatus and/or device, such as for example magnetic discs, optical disks, memory, and Programmable Logic Devices (PLDs), used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal.
  • machine-readable signal refers to any signal used to provide machine instructions and/or data to a programmable processor.
  • the machine-readable medium can store such machine instructions non-transitorily, such as for example as would a non-transient solid- state memory or a magnetic hard drive or any equivalent storage medium.
  • the machine-readable medium can alternatively or additionally store such machine instructions in a transient manner, such as for example as would a processor cache or other random access memory associated with one or more physical processor cores.
  • one or more aspects or features of the subject-matter described herein can be implemented on a computer having a display device, such as for example a cathode ray tube (CRT) or a liquid crystal display (LCD) or a light emitting diode (LED) monitor for displaying information to the user and a keyboard and a pointing device, such as for example a mouse or a trackball, by which the user may provide input to the computer.
  • a display device such as for example a cathode ray tube (CRT) or a liquid crystal display (LCD) or a light emitting diode (LED) monitor for displaying information to the user
  • a keyboard and a pointing device such as for example a mouse or a trackball
  • feedback provided to the user can be any form of sensory feedback, such as for example visual feedback, auditory feedback, or tactile feedback; and input from the user may be received in any form, including, but not limited to, acoustic, speech, or tactile input.
  • Other possible input devices include, but are not limited to, touch screens or other touch-sensitive devices such as single or multi-point resistive or capacitive trackpads, voice recognition hardware and software, optical scanners, optical pointers, digital image capture devices and associated interpretation software, and the like.
  • the subject-matter described herein can be embodied in systems, apparatus, methods, and/or articles depending on the desired configuration.
  • the implementations set forth in the foregoing description do not represent all implementations consistent with the subject-matter described herein. Instead, they are merely some examples consistent with aspects related to the described subject-matter.
  • further features and/or variations can be provided in addition to those set forth herein.
  • the implementations described above can be directed to various combinations and sub-combinations of the disclosed features and/or combinations and sub-combinations of several further features disclosed above.
  • the logic flows depicted in figure 8 and described herein do not necessarily require the particular order shown, or sequential order, to achieve desirable results. Other implementations may be within the scope of the following claims.
  • Sensing S or Intuition (N).
  • Dav-to-Dav - Do we prefer an organized, purposeful, and structured environment, or are we more comfortable with a flexible and casual setting? In dealing with the outside world, do you prefer to get things decided or do you prefer to stay open to new information and options?
  • ROMANTIC IDEALS Practicality & Responsibility - A - B - M - N
  • ROMANTIC IDEALS Practicality & Responsibility - B - A - M - N
  • ROMANTIC IDEALS Idealism & Empathy - C - G - O - H
  • ROMANTIC IDEALS Competence & Results - D - M - H
  • ROMANTIC IDEALS Flexibility & Tolerance - E - 1 - O - F
  • ROMANTIC IDEALS Spontaneity & Flexibility - F - E - 1 - J
  • ROMANTIC IDEALS Idealism & Understanding - G - C - K - O
  • ROMANTIC IDEALS Self Control & Insight - D - P - L - C
  • ROMANTIC IDEALS Self Gratification & Dramatic Impact- l - L -J - F - E - C
  • ROMANTIC IDEALS Self Gratification & Dramatic Impact- J - 1 - F
  • ROMANTIC IDEALS Idealism & Understanding - 0 - K - G
  • ROMANTIC IDEALS Honesty & Flexibility - P - H - 1
  • ROMANTIC IDEALS Practicality & Decisiveness - M - P - A - N
  • ROMANTIC IDEALS Thoughtfulness & Practicality - M - N - B
  • ROMANTIC IDEALS Empathy & Efficiency - O - E - K - G
  • ROMANTIC IDEALS Practicality & Resourcefulness - P - M - H - L
  • This Flag says that the Response will go to the stated result unless the NPC is Very Attracted to the Player, in which case it goes to an alternate more positive prompt instead. This should be used when a somewhat ambiguous negative response could be interpreted as positive by an NPC who is really enthralled by the Player.
  • the field "X" is replaced with a particular number in a particular conversation to indicate the # of the alternate positive response.
  • This Flag says that the Response will go to the stated result unless the NPC dislikes the Player, in which case it goes to an alternate negative prompt instead. This should be used when a somewhat ambiguous positive response could be interpreted as negative by an NPC who really dislikes the Player.
  • the field "X" is replaced with a particular number in a particular conversation to indicate the # of the alternate negative response.
  • Stage Flags The game can then recognize each time a Stage has been completed and can give advice to Players based on the type(s) of Stages with fewer completions.
  • the database will Model the Player's Personality based on Responses that demonstrate an attitude or mindset indicative of one of the 16 CAST - Personality types (A through P) ... Any responses that are from one (or more) specific CAST Types are flagged accordingly.
  • the database entry for a user will keep track of a set of RPG (Role Playing Game) Attributes, which will be used to measure and quantify Character compatibility.
  • RPG Role Playing Game
  • a Response that warrants an addition to a Player's RPG Skill set includes the appropriate Flag.
  • the player's skill set can also be updated outside of the Conversations as well.
  • the Attributes of the Player's RPG Skill Set are:
  • the database entry relating to each user or NPC will keep track of a set of Interests which can be flagged as Liked / Disliked by EITHER the NPC or the Player.
  • Flags are used when the conversation suggests that the user and NPC have mutually changed their relationship. For example, a conversational exchange in which both agree to get together sometime in the future would indicate that they EXCHANGED INFO. These Flags are linked with either a Target Prompt or Player Response to signal a mutually agreeable game state change. The possible flags are:

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

L'invention concerne un procédé mis en œuvre par ordinateur pour un environnement virtuel, consistant : à maintenir un profil de l'utilisateur ; à autoriser un utilisateur à entrer dans une conversation par sélection d'une branche parmi de multiples branches d'un premier niveau d'un arbre de conversation, chaque branche faisant partie d'une ou plusieurs catégories parmi une pluralité de catégories ; et, et en fonction de la ou des catégories à laquelle la branche sélectionnée appartient, à mettre à jour sélectivement le profil de l'utilisateur.
PCT/EP2013/067190 2012-08-16 2013-08-16 Traitement dynamique de données WO2014027103A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261684098P 2012-08-16 2012-08-16
US61/684,098 2012-08-16

Publications (1)

Publication Number Publication Date
WO2014027103A1 true WO2014027103A1 (fr) 2014-02-20

Family

ID=49036578

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2013/067190 WO2014027103A1 (fr) 2012-08-16 2013-08-16 Traitement dynamique de données

Country Status (1)

Country Link
WO (1) WO2014027103A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018004845A1 (fr) * 2016-05-17 2018-01-04 LiveTales LLC Remise de contenu narratif, basée sur un message interactif, à l'aide d'un réseau de communication, et système auteur de type informatique associé, pour le contenu narratif
CN111282279A (zh) * 2020-02-05 2020-06-16 腾讯科技(深圳)有限公司 模型训练的方法、基于交互式应用的对象控制方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997012350A1 (fr) * 1995-09-27 1997-04-03 All Of The Above Procede et appareil de modulation emotionnelle
JP2004033690A (ja) * 2002-07-03 2004-02-05 Square Enix Co Ltd ビデオゲーム装置、記録媒体およびプログラム
US20100267450A1 (en) * 2009-04-21 2010-10-21 Mcmain Michael P Method and device for controlling player character dialog in a video game located on a computer-readable storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997012350A1 (fr) * 1995-09-27 1997-04-03 All Of The Above Procede et appareil de modulation emotionnelle
JP2004033690A (ja) * 2002-07-03 2004-02-05 Square Enix Co Ltd ビデオゲーム装置、記録媒体およびプログラム
US20100267450A1 (en) * 2009-04-21 2010-10-21 Mcmain Michael P Method and device for controlling player character dialog in a video game located on a computer-readable storage medium

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018004845A1 (fr) * 2016-05-17 2018-01-04 LiveTales LLC Remise de contenu narratif, basée sur un message interactif, à l'aide d'un réseau de communication, et système auteur de type informatique associé, pour le contenu narratif
US10361982B2 (en) 2016-05-17 2019-07-23 Daybreak Game Company Llc Interactive message-based delivery of narrative content using a communication network
US10608974B2 (en) 2016-05-17 2020-03-31 Daybreak Game Company Llc Computer-based authoring tool for narrative content delivered by an interactive message-based delivery system
CN111282279A (zh) * 2020-02-05 2020-06-16 腾讯科技(深圳)有限公司 模型训练的方法、基于交互式应用的对象控制方法及装置
CN111282279B (zh) * 2020-02-05 2021-05-07 腾讯科技(深圳)有限公司 模型训练的方法、基于交互式应用的对象控制方法及装置

Similar Documents

Publication Publication Date Title
Shi et al. Game factors and game‐based learning design model
US10725607B2 (en) Enhanced system and method for providing a virtual space
Weber et al. Measuring interactivity in video games
Adamou Games and Gamification in Market Research: Increasing consumer engagement in research for business success
Weber Designing engaging experiences with location-based augmented reality games for urban tourism environments.
Park et al. Catch me if you can: effects of AR-enhanced presence on the mobile game experience
Bastos et al. Synesthesia: A study on immersive features of electronic games
Cunningham Unbeatable? Debates and Divides in Gender and Video Game Research.
WO2014027103A1 (fr) Traitement dynamique de données
Valera‐Aranguren et al. Building a pervasive social gaming experience using SocialPG
Turkay The effects of customization on player experiences in an extended online social game: A mixed method study
Abbasi et al. Personalized gamification in E-learning with a focus on learners’ motivation and personality
Ahmad et al. Game Design Issues, Trend and Challenges (UTeM Press)
Ferro Gamification with Unity 5. x
Nguyen Human computer interaction in game design
Fortes Tondello Dynamic Personalization of Gameful Interactive Systems
Turpin Simulating disempowerment: The rhetoric and reception of social realism in video games
Kolomainen Website as a content marketing tool for Virtual Reality arcades
Kougioumtzian et al. Blazing fire or breezy wind? A story-driven playful experience for annotating dance movement
Hutson Jr Gamification of Education and Learning: Heuristic Elements, Player Types, and Learning Outcomes for Art History Games
Benedicta Generation Examination: A Phenomenological Study of Generation X Women and Mobile Games
Trinh Gamifying the web service for the brainwolk walking meeting
Xin Interactivity as a Predictor of Mobile Gaming Stickiness: An Exploratory Study Based on the Theory of Interactive Media Effects
Platov et al. Involvement in virtual reality based game learning
Qi Rulemaking as Play: A Transdisciplinary Inquiry about Virtual Worldmaking

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13753310

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 11.06.2015)

122 Ep: pct application non-entry in european phase

Ref document number: 13753310

Country of ref document: EP

Kind code of ref document: A1