Simulating communication of information between characters
The gossip network mechanism simulates information flow among characters using knowledge and communication factors, enhancing game realism and immersion by dynamically determining NPC access to information, addressing the complexity of large-scale character interactions.
Patent Information
- Application Number
- GB2023016366
- Authority / Receiving Office
- GB · GB
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-10-26
- Publication Date
- 2025-04-30
AI Technical Summary
Simulating the communication of information between a large number of characters is complicated, particularly in contexts like computer games, where it is difficult to determine which characters have access to specific information in a realistic and immersive manner.
A gossip network mechanism is employed to simulate information flow, using knowledge and communication factors for each character, updated based on interactions and proximity, with optional machine learning to generate and maintain these relationships.
Enhances the realism and immersion of game interactions by accurately determining which NPCs have access to certain information, allowing for dynamic NPC responses and quests based on their knowledge, addressing the complexity of large-scale character information dissemination.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
The present technique relates to the field of data processing. In various contexts, it can be useful to be able to simulate the communication of an item of information between characters. For example, a computer game may provide a more immersive experience if some characters (e.g. such as non-player characters, NPCs, interacting with a player character) have access to information that other characters do not have access to. It can thus be useful to be able to simulate the flow of information from certain characters to certain other characters to determine which characters do or do not have access to the information. Simulating the communication of information can also be useful in other situations, for example to model communication between real people. However, simulating the communication of information can be complicated, particularly where the number of characters and / or the number of pieces of information are large. Examples of the present technique are set out in the claims. Embodiments of the present technique will now be described by way of example with reference to the accompanying drawings, in which: Figure 1 illustrates an example apparatus for simulating communication of an item of information; Figure 2 is a flow diagram illustrating an example method for simulating communication an item of information; Figure 3 illustrates an example of an interaction between a player character and a nonplayer character; Figure 4 illustrates an example of a gossip network; Figures 5 and 6 illustrate how a character’s knowledge factor can be updated; and Figure 7 illustrates an entertainment system. Methods and systems are disclosed for simulating communication of an item of information. It will be appreciated that any of these methods can, in some examples, be implemented by a computer executing instructions of a computer program. Such a computer program can be stored on a computer-readable storage medium, such as a transitory medium or a non-transitory medium. Examples of the present technique will now be described with reference to the Figures. Examples of the present technique provide mechanisms for generating, maintaining and / or using a “gossip” network, that forms as characters (e.g. non-player characters, NPCs, in a video game) with knowledge / gossip interact with or come within the radius of other characters. Figure 1 illustrates an example apparatus 100 for simulating communication of an item of information between characters. For example, the characters could be characters (e.g. NPCs) in a video game, or characters in a film or television program, or they could be representations of real people. As shown in the figure, the apparatus may comprise storage circuitry 102 to store information 104 indicative of a gossip network (which may be referred to as a “social-link network,” a “gossip network” or simply as a “network”). The apparatus also comprises access circuitry 108 to access, in the storage circuitry 102, the information 104 indicative of the gossip network. Note that, while the storage circuitry 102 is illustrated in Figure 1 as part of the apparatus 100 (e.g. it could be integrated storage circuitry), in other examples the access circuitry 108 may be arranged to access the information indicative of the gossip network in external storage circuitry (e.g. the storage circuitry 102 could be external storage circuitry, and the apparatus 100 may communicate with the external storage circuitry via a wired or wireless connection). The apparatus 100 also comprises processing circuitry 106 to maintain the network. For example, the processing circuitry may comprise a central processing unit (CPU) or other type of processing unit capable of performing data processing. The processing circuitry 106 is arranged to determine, in dependence on the gossip network, whether a given character has access to the item of information. Hence, in this way, the apparatus is able to simulate communication of the item of information between characters, and to use this simulation to determine whether a particular character has access to the information. Figure 2 is a flow diagram illustrating an example of a method (e.g. a computer-implemented method) for simulating communication of an item of information between characters. As shown in the figure, the method comprises steps of: • maintaining 200 a gossip network; • accessing 202, in storage circuitry, information indicative of the gossip network; and • determining 204, in dependence on the gossip network, whether a given character has access to the item of information. The method of Figure 2 may, for example, be performed using dedicated hardware such as the apparatus 100 shown in Figure 1. However, in other examples, the method may be performed by a general-purpose computer, under the control of a computer program comprising instructions which, when executed on the computer, cause the computer to perform the method. Such a computer program may be stored on a computer-readable storage medium, which may be transitory or non-transitory. As explained above, examples of the present technique provide mechanisms for determining or predicting whether a given character has access to a given item of information. This could be useful in a number of different settings, but one particular scenario in which this could be useful is in computer games. For example, during a computer game, a player character 300 may interact with a nonplayer character (NPC) 302. An example of such an interaction is illustrated in Figure 3, which shows an image 304 that might be displayed in response to a player controlling their character 300 to interact with the NPC 302. During an interaction between a PC and an NPC, the characters may engage in dialogue (spoken and / or displayed using subtitles). Often, dialogue spoken by the PC 300 is in the form of a set of options selectable by the player, while the NPC’s dialogue is based on a set of stored responses, which may be selected in dependence on the options selected by the player. Alternatively (or in addition) to engaging in dialogue, the interaction may involve the NPC performing one or more actions, such as attacking the PC or fleeing / hiding from the PC. Alternatively (or in addition), the interaction may involve the NPC offering one or more side-quests to the PC. Examples of the present technique can be used to make encounters between the PC and NPCs more immersive, by enabling the interaction to be modified in dependence on whether the NPC is determined to have access to a particular item of information. For example, dialogue between the PC and the NPC could be modified in dependence on whether the NPC has access to the item of information - for example, if the NPC knows that the PC recently defeated a powerful opponent, they may offer the PC congratulations. Alternatively (or in addition), actions taken by the NPC may be modified in dependence on whether the NPC has access to the item of information - for example, if the NPC knows that the PC recently attacked an innocent bystander, the NPC may be more likely to flee or attack the PC. Alternatively (or in addition), quests offered by the NPC may be modified in dependence on whether the NPC has access to the item of information - for example, if the NPC knows that the PC recently defeated a powerful opponent, the quests offered to the PC may be more difficult. The actual responses chosen are a matter for the individual games and NPCs therein. Modifications such as these can make the game more enjoyable and immersive. However, the inventors of the present technique recognise that it can be difficult to simulate the communication of information - particularly when a large number of characters are involved - in a manner that is realistic. The apparatus of the present technique, however, provides a mechanism for more accurately simulating the way in which information spreads between characters, by utilising a gossip network that indicates knowledge factors for various characters. Figure 4 illustrates an example of information indicative of a gossip network. In this example, the gossip network is represented as a table, but it will be appreciated that the information may be stored in a different format. For example, the knowledge factor(s) for a given character could instead be stored alongside other attributes or assets associated with the character. The table shown in Figure 4 comprises a plurality of entries, each configured to store a character identifier (Character ID) 400 and a knowledge factor 402. The character identifier 400 identifies a particular character associated with that entry - for example, in the case of a video game, each character identifier may be associated with a different NPC. The knowledge factor 402 indicates a likelihood that the associated character has access to a given item of information. For example, there may be a separate knowledge factor for each of a plurality of different items of information. In this particular example, each knowledge factor is a value between 0 and 1 that indicates a probability that the associated character has access to a given item of information - for example, character A has a knowledge factor of 0.8, indicating that there is an 80% chance that they are aware of the item of information. The processing circuitry can then determine whether the associated character has access to the information by comparing the knowledge factor to some threshold. For example, if the threshold is 50% (or 0.5), then character A would be determined to have access to the item of information (since 0.8 >0.5), whereas characters B and C would not. It will, of course, be appreciated that the threshold need not necessarily be 0.5, and instead some other threshold could be considered. Moreover, it will be appreciated that it is not essential for the knowledge factors to be represented as probabilities, and other forms could be used instead. For example, the knowledge factor could instead be a parameter that can take one or two options: a first value indicating that the character does have access to the information, and a second value indicating that the character does not have access to the information. In the example of Figure 4, the gossip network also indicates various communication factors for each character, where a communication factor indicates a likelihood that an associated character will transmit an item of information to another character. In particular, the gossip network shown in Figure 4 indicates a transmission factor 404 for each character. The transmission factor is an example of a communication factor, and indicates a likelihood that the associated character will pass on the item of information to another character during an interaction with the other character. In this particular example, the transmission factor 404 takes the form of a probability between 0 and 1. Representing the transmission factor in this way can be helpful, because it can provide a simple mechanism for determining whether the associated character passes on the item of information in an interaction. An example of how this may work is shown in Figure 5, in which character A 500 interacts with character B 502. In this example, since the knowledge factor and the transmission factor are represented as fractions, it is possible to calculate a “likelihood of transmission” of the information from character A to character B by multiplying character A’s knowledge factor and transmission factor: Likelihood of transmission from A->B = 0.80* 0.75 = 0.60 Character B’s knowledge factor can then be updated based on the likelihood of transmission. For example, B’s new knowledge factor could be calculated based on the probability that: B knows AND the information is transmitted from A to B; OR B knows AND the information is not transmitted from A to B; OR B does not know AND the information is transmitted from A to B. Therefore: New knowledge factor = 0.0 * 0.6 + 0.0 * 0.4 + 1.0 *0.6 = 0.0 + 0.0 + 0.6 = 0.6 So, in this example, the processing circuitry updates B’s knowledge factor to 0.6 after the interaction. Note that one could also calculate an updated knowledge factor for character A as a result if this same interaction; however, in this particular example, there would be no update to character A’s knowledge factor because character B starts with a knowledge factor of 0. Returning to Figure 4, the gossip network in this example also indicates a proximity factor 406 for each character. The proximity factor is another example of a communication factor and represents a likelihood of a given character passing information onto another character when the two characters come within a predetermined distance of one another but do not interact with one another. In this particular example, the proximity factor is represented as a fraction between 0 and 1. Optionally this proximity factor may require a threshold period of time within that predetermined distance, and further optionally the proximity factor may be increased as a function of duration. Figure 6 illustrates an example of how the proximity factor can be used to calculate an update to character C’s knowledge factor in response to character C coming within a predetermined distance of character B. This example assumes that the interaction between characters A and B (Figure 5) has already taken place, and thus character B has an updated knowledge factor of 0.60. As shown in Figure 6, character B 502 has come within a predetermined distance of character C. In this situation, a likelihood of transmission of the item of information from character C to character B can be calculated by multiplying character C’s knowledge factor by character C’s proximity factor. Therefore: Likelihood of transmission (C -> B) = 0.4 * 0.1 = 0.04 The update to character B’s knowledge factor can then be calculated as follows: B’s new knowledge factor - probability that: B knows AND the information is transmitted from C to B; OR B knows AND the information is not transmitted from C to B; OR B does not know AND the information is transmitted from C to B. Therefore: New knowledge factor = 0.6 * 0.04 + 0.6 * 0.96 + 0.4 * 0.04 = 0.616 A similar calculate can also be performed for transmission from B -> C: Likelihood of transmission (B -> C) = 0.6 * 0.30 = 0.18 New knowledge factor = 0.4 * 0.18 + 0.4 * 0.82 + 0.6 * 0.18 = 0.508 Note that, in an alternative example, the knowledge factor for one of the characters in a situation where two characters interact or come into a predetermined distance of one another may only be updated if the knowledge factor of the other character exceeds some threshold. Each of the knowledge factor, the transmission factor and the proximity factor may be pre-computed (e.g. by game designers or using a machine learning algorithm) or based on some pre-computed base value. Alternatively (or in addition) each of these factors could be calculated or updated based on any of a number of factors, including (for example): • one or more traits associated with the character - for example, a character associated with a trait indicating they are particularly talkative or gossipy may be more likely to communicate information with another character; • a character backstory associated with the character - for example, the backstory of a particular character may indicate that they have a particular relationship with another character which might make them more likely for information to be communicated between them (e.g. friends / family members / etc.); • an amount of in-game time passed since the item of information first became available - for example, it may be considered more likely that a particular character is aware of a given piece of information if more in-game time has passed. In addition, some in-game events may be more widely “seen” by characters than other events. For example, an event that takes place in a crowded location may be relatively widely seen, whereas an event that takes place in a remote location may not be as widely seen. Therefore, in some examples of the present technique, certain events can be identified as “widely seen”, and the knowledge factors for some or all characters corresponding to the widely seen event may receive a boost. Note that, although Figure 4 shows a transmission factor and a proximity factor associated with each character, this is not essential. In other examples, there may only be a knowledge factor defined for each character, or a knowledge factor and one (but not both) of the transmission factor and the proximity factor. Hence whilst the table of Figure 4 shows a knowledge factor for a particular item of knowledge, and then tracks that for multiple characters, alternatively an equivalent table may be for a specific character (and associated with them) and track knowledge factors for multiple items of knowledge. Hence character A may have different knowledge factors for a plurality of different items of knowledge, and modify or gain new entries when they interact with or come into proximity with other characters as discussed previously. In effect, characters may then transmit and / or receive potentially multiple items of information when they encounter other characters based on their respective knowledge lists. Hence the network can be maintained either as a knowledge-item oriented network adding characters to a table for a knowledge item (as per Figure 4) or a character-oriented network adding knowledge to a table for each participating character. Hence the ‘gossip network’ may comprise one or more knowledge-item oriented records, and / or one or more character-oriented records, as appropriate. In either case, the ‘likelihood of transmission’ described elsewhere herein may more simply be treated as a multiplication factor; hence knowledge of the item is transmitted between characters, but the knowledge factor for the recipient is reduced by the likelihood of transmission factor. Hence in the case of Figure 5, Character A has a knowledge factor of 0.8 for a particular knowledge item and a transmission factor of 0.75 for interactions, and so will add a knowledge factor of 0.8 x 0.75 = 0.6 to character B’s knowledge factor for that knowledge item. Whether character B functionally behaves as if they know about that item will then depend on whether their knowledge factor exceeds a predetermined threshold, as described elsewhere herein. Character B may then stay in proximity to character C (optionally long enough) to transmit the knowledge on to them; with a knowledge factor of 0.6 and a transmission factor of 0.33, this would add a knowledge factor of 0.2 to character C. Hence in this case, if the threshold for acting as if they know the knowledge item is 0.5, then characters A and B would act as if they know, but character C would not. In this sense the ‘likelihood of transmission’ alludes to the resulting behaviours of the characters, but is not indicative of a literal decision to transmit or not transmit the information. However, if character C encounters several other characters that similarly transmit the same knowledge to character C, so that they receive several more +0.2 (or other) increments to their knowledge factor, then their total may in due course exceed the example threshold of 0.5 and so they will then act as if they know the knowledge item. This enables the gossip network to model direct channels of communication (e.g. interaction and / or relatively high knowledge factor transfer) and also a groundswell of rumour that can influence certain members of a community (e.g. via proximity to several instances of a knowledge item with individually lower knowledge factor transfers that accumulate). As noted elsewhere herein, modifications to this general approach may include for example not transmitting a knowledge item if one’s own knowledge factor is below a threshold value - for example character C, when they have a knowledge factor of 0.2, may not transmit the knowledge to others. The threshold may be the same as the threshold for behaving as if the character knows the information item, or may be a lower value. In effect this simulates the degree of certainty that character has in the gossip and hence whether it is worth spreading. As noted elsewhere herein, the value of the knowledge factor may optionally reduce with time, to model characters either forgetting the information, or treating it as old news not worthy of spreading as gossip. This and / or the threshold for transmission can serve to cause a piece of gossip to die out over time and / or distance, which may be of help to the player character if the gossip is negative about them, or may mean they have to act more quickly or within certain geographical constraints if the gossip is positive about them. Clearly also a knowledge factor may be adjusted by other means; for example if the knowledge is about a crime committed by the player in the game, the knowledge factor may be reduced to zero (or equivalently the knowledge item and associated records) may be deleted if the user pays a fine or bribe ingame, or in some other way acts to lift the penalty. Optionally, and as noted elsewhere herein, transmission factors and proximity factors may be global values and hence not require explicit storage, and / or may vary with character (e.g. some characters are more prolific / effective gossips), knowledge (e.g. some types of knowledge are more likely to be gossiped about), and / or with other circumstance (e.g. difficulty level, in-game alertness level, character class, and the like). References to characters transmitting the knowledge will be understood to refer to a process of calculating a new knowledge factor for a recipient character when the criteria for a communication opportunity has been met (e.g. interaction or proximity), as described elsewhere herein. Optionally, to avoid characters effectively transmitting the knowledge to each other multiple times (a particular risk in a video game if certain characters have fixed paths or behaviours), a character may have N fields for receiving a given knowledge item, and add a character ID to each field when they are told about that knowledge item. Hence for example character C may create a new entry for the knowledge item imparted by character B above, and identify character B in a first field; then if they encounter character B again they won’t add a further 0.2 to the knowledge factor for the knowledge item; by contrast if they encounter character A, they will add to the knowledge factor (assuming a communication opportunity occurs) and then identify character A in another field, and so-on. Optionally a character may then stop adding to their knowledge factor after N encounters that modify it. Finally, whilst references to characters assume non-player characters that may actively respond to the player character (or instigate behaviour) in response to knowledge of an item or lack thereof, a special class of non-player character may for example be a notice board or other fixed dissemination point within the virtual environment. This is not necessarily interactive but acts as like a character for the purposes of transmitting gossip. In some particular examples, the processing circuitry of the present technique may be configured to execute a machine learning (ML) algorithm to create and / or maintain the network. The ability to simulate the communication of information in this way can be beneficial in a video game, because it can help to make the game more immersive for a player. For example, it can be beneficial to be able to modify an NPC’s dialogue or actions dependent on whether that NPC knows about some event involving the player character. However, to make the game more immersive and realistic, it is useful to limit the number of NPCs who know about a certain event. For example, the town elder in the next town over is likely to have heard about something that the player did, because it is likely that the town elder from one town (where the event happened) would have a relationship with the town elder in the next town over. On the other hand, a random villager on another continent is unlikely to have heard about many player actions. However, determining which NPCs in a game do or don’t have access to a particular piece of information can be complicated, especially as the number of NPCs and / or the size of the world they inhabit and / or the complexity of the game increases. Using ML to generate a gossip network addresses this problem by providing an explainable chain of relationships that explains why a certain character does or does not know about something that happened in-game. The supervised learning model is trained using labelled training data to learn a function that maps inputs (typically provided as feature vectors) to outputs (i.e. labels). The labelled training data comprises pairs of inputs and corresponding output labels. The output labels are typically provided by an operator to indicate the desired output for each input. The supervised learning model processes the training data to produce an inferred function that can be used to map new (i.e. unseen) inputs to a label. The input data (during training and / or inference) may comprise various types of data, such as numerical values, images, video, text, or audio. In this example, the input data may be data relating to game assets, signals received by the processing circuitry and outputs from processing of the game state, for example. Raw input data may be pre-processed to obtain an appropriate feature vector used as input to the model - for example, features of an image or audio input may be extracted to obtain a corresponding feature vector. It will be appreciated that the type of input data and techniques for pre-processing of the data (if required) may be selected based on the specific task the supervised learning model is used for. Once prepared, the labelled training data set is used to train the supervised learning model. During training the model adjusts its internal parameters (e.g. weights) so as to optimize (e.g. minimize) an error function, aiming to minimize the discrepancy between the model’s predicted outputs and the labels provided as part of the training data. In some cases, the error function may include a regularization penalty to reduce overfitting of the model to the training data set. The supervised learning model may use one or more machine learning algorithms in order to learn a mapping between its inputsand outputs. Example suitable learning algorithms include linear regression, logistic regression, artificial neural networks, decision trees, support vector machines (SVM), random forests, and the K-nearest neighbour algorithm. Once trained, the supervised learning model may be used for inference - i.e. for predicting outputs for previously unseen input data. The supervised learning model may perform classification and / or regression tasks. In a classification task, the supervised learning model predicts discrete class labels for input data, and / or assigns the input data into predetermined categories. In a regression task, the supervised learning model predicts labels that are continuous values. In some cases, limited amounts of labelled data may be available for training of the model (e.g. because labelling of the data is expensive or impractical). In such cases, the supervised learning model may be extended to further use unlabelled data and / or to generate labelled data. Considering using unlabelled data, the training data may comprise both labelled and unlabelled training data, and semi-supervised learning may be used to learn a mapping between the model’s inputs and outputs. For example, a graph-based method such as Laplacian regularization may be used to extend a SVM algorithm to Laplacian SVM in order to perform semi-supervised learning on the partially labelled training data. Considering generating labelled data, an active learning model may be used in which the model actively queries an information source (such as a user, or operator) to label data points with the desired outputs. Labels are typically requested for only a subset of the training data set thus reducing the amount of labelling required as compared to fully supervised learning. The model may choose the examples for which labels are requested - for example, the model may request labels for data points that would most change the current model, or that would most reduce the model's generalization error. Semi-supervised learning algorithms may then be used to train the model based on the partially labelled data set. The apparatus 100 described in the above examples could, in particular examples, be an entertainment device. For example, Figure 7 shows an example of an entertainment system 1200 comprising an entertainment device 1202. The entertainment device 1202 is a computer or console. The entertainment device 1202 comprises a central processor (CPU) 1204. The entertainment device 1202 also comprises a graphical processing unit or GPU 1206. The GPU can be physically separate to the CPU, or integrated with the CPU as a system on a chip (SoC). The entertainment device also comprises RAM 1208. Further storage is provided by a disk 1210. The entertainment device may transmit or receive data via one or more data ports 1212, such as a USB port, Ethernet® port, Wi-Fi® port, Bluetooth® port or similar, as appropriate. It may also optionally receive data via an optical drive 1214. Audio / visual outputs from the entertainment device are typically provided through one or more A / V ports 1216, or through one or more of the wired or wireless data ports 1212. An example of a device for displaying images output by the entertainment system is a head mounted display (HMD) 1218, worn by a user 1220. Where components are not integrated, they may be connected as appropriate either by a dedicated data link or via a bus 1222. Interaction with the system is typically provided using one or more handheld controllers (1102, 1102A), and / or one or more VR controllers (1102A-L.R) in the case of the HMD. The entertainment device 1202 is an example of the apparatus 100 described above, in which the central processor 1204 is an example of the above-describe processing circuitry and the data port 1212 is an example of the communication circuitry. Examples of the present technique are set out in the following clauses: (1) An apparatus for simulating communication of information between characters, the apparatus comprising: access circuitry to access, in storage circuitry, information indicative of a gossip network indicating, for at least one character, a knowledge factor indicative of a likelihood of that character having access to an item of information; and processing circuitry to maintain the gossip network, wherein the processing circuitry is configured to determine, in dependence on the gossip network, whether a given character has access to the item of information. (2) The apparatus of clause 1, wherein: the processing circuitry is configured to process a game state of a game; and the processing circuitry is responsive to a player character interacting with the given character to process a game state of a game in dependence on whether given character has access to the item of information. (3) The apparatus of clause 2, wherein the processing circuitry is responsive to the player character interacting with the given character to determine, in dependence on whether given character has access to the item of information, at least one of: dialogue to be communicated by the given character; an action to be performed by the given character; a quest or task to be offered by the given character. (4) The apparatus of any preceding clause, wherein the processing circuitry is configured to: determine, based on the gossip network, a given knowledge factor associated with the given payer; compare the given knowledge factor to a threshold value; and determine, based on the comparison, whether the given character has access to the item of information. (5) The apparatus of any preceding clause, wherein: the processing circuitry is configured to detect a communication opportunity between a first character and a second character, each character having an associated knowledge factor; and the processing circuitry is responsive to detecting the communication opportunity between the first character and the second character to update the associated knowledge factor for each character in dependence on the associated knowledge factor for the other character. (6) The apparatus of clause 5, wherein the communication opportunity comprises at least one of: an interaction between the first character and the second character; and an instance of the first character and the second character coming within a predetermined distance of one another. (7) The apparatus of any preceding clause, wherein the gossip network indicates, for the at least one character, an associated communication factor indicative of a likelihood of the at least one character transmitting the item of information to another character. (8) The apparatus of clause 7, wherein: the processing circuitry is configured to detect a communication opportunity between a first character and a second character, each character having an associated knowledge factor and an associated communication factor; and the processing circuitry is responsive to detecting the communication opportunity between the first character and the second character to update the associated knowledge factor for each character in dependence on both the associated knowledge factor for the other character and the associated communication factor for the other character. (9) The apparatus of clause 7 or clause 8, wherein: the processing circuitry is configured to maintain the gossip network to indicate, for the at least one character, an associated communication factor for each of at least two other characters. (10) The apparatus of any of clauses 7 to 9, wherein the associated communication factor for the at least one character comprises an associated transmission factor indicative of a likelihood of the at least one character transmitting the item of information to the other character in response to an interaction between the at least one character and the other character. (11) The apparatus of any of clauses 7 to 10, wherein the associated communication factor for the at least one character comprises an associated proximity factor indicative of a likelihood of the at least one character transmitting the item of information to another character in response to the at least one character and the other character coming within a predetermined distance of one another. (12) The apparatus of any preceding clause, wherein the processing circuitry is configured to maintain the gossip network to indicate, for the at least one character, a corresponding knowledge factor associated with a corresponding event. (13) The apparatus of clause 12, wherein the processing circuitry is configured to maintain the gossip network to indicate, as the corresponding knowledge factor, a value dependent on whether the corresponding event is identified as a widely seen event. (14) The apparatus of any preceding clause, wherein: the processing circuitry is configured to maintain the gossip network to indicate, as the corresponding knowledge factor, a value dependent on at least one of: a pre-programed base knowledge factor; one or more attributes associated with the at least one character; an amount of time passed since an event associated with the knowledge factor. (15) The apparatus of any preceding clause, wherein the processing circuitry is configured to execute a machine learning algorithm to create and / or maintain the gossip network. (16) An entertainment device comprising the apparatus of any preceding clause. (17) A computer-implemented method for simulating communication of an item of 5 information between characters, the method comprising: accessing, in storage circuitry, information indicative of a gossip network indicating, for at least one character, a knowledge factor indicative of a likelihood of that character having access to the item of information; maintaining the gossip network; and 10 determining, in dependence on the gossip network, whether a given character has access to the item of information. (18) A computer program which, when executed on a computer, causes the computer to perform the method of clause 17. (19) A computer-readable storage medium to store the computer program of clause 15 18.
Claims
1. An apparatus for simulating communication of information between characters, the apparatus comprising:access circuitry to access, in storage circuitry, information indicative of a gossip network indicating, for at least one character, a knowledge factor indicative of a likelihood of that character having access to an item of information; andprocessing circuitry to maintain the gossip network,wherein the processing circuitry is configured to determine, in dependence on the gossip network, whether a given character has access to the item of information.
2. The apparatus of claim 1, wherein:the processing circuitry is configured to process a game state of a game; andthe processing circuitry is responsive to a player character interacting with the given character to process a game state of a game in dependence on whether given character has access to the item of information.
3. The apparatus of claim 2, whereinthe processing circuitry is responsive to the player character interacting with the given character to determine, in dependence on whether given character has access to the item of information, at least one of:dialogue to be communicated by the given character;an action to be performed by the given character;a quest or task to be offered by the given character.
4. The apparatus of any preceding claim, whereinthe processing circuitry is configured to:determine, based on the gossip network, a given knowledge factor associated with the given payer;compare the given knowledge factor to a threshold value; anddetermine, based on the comparison, whether the given character has access to the item of information.
5. The apparatus of any preceding claim, wherein:the processing circuitry is configured to detect a communication opportunity between a first character and a second character, each character having an associated knowledge factor; andthe processing circuitry is responsive to detecting the communication opportunity between the first character and the second character to update the associated knowledge factor for each character in dependence on the associated knowledge factor for the other character.
6. The apparatus of claim 5, whereinthe communication opportunity comprises at least one of:an interaction between the first character and the second character; andan instance of the first character and the second character coming within a predetermined distance of one another.
7. The apparatus of any preceding claim, whereinthe gossip network indicates, for the at least one character, an associated communication factor indicative of a likelihood of the at least one character transmitting the item of information to another character.
8. The apparatus of claim 7, wherein:the processing circuitry is configured to detect a communication opportunity between a first character and a second character, each character having an associated knowledge factor and an associated communication factor; andthe processing circuitry is responsive to detecting the communication opportunity between the first character and the second character to update the associated knowledge factor for each character in dependence on both the associated knowledge factor for the other character and the associated communication factor for the other character.
9. The apparatus of claim 7 or claim 8, wherein:the processing circuitry is configured to maintain the gossip network to indicate, for the at least one character, an associated communication factor for each of at least two other characters.
10. The apparatus of any of claims 7 to 9, whereinthe associated communication factor for the at least one character comprises an associated transmission factor indicative of a likelihood of the at least one character transmitting the item of information to the other character in response to an interaction between the at least one character and the other character.
11. The apparatus of any of claims 7 to 10, whereinthe associated communication factor for the at least one character comprises an associated proximity factor indicative of a likelihood of the at least one character transmitting the item of information to another character in response to the at least one character and the other character coming within a predetermined distance of one another.
12. The apparatus of any preceding claim, whereinthe processing circuitry is configured to maintain the gossip network to indicate, for the at least one character, a corresponding knowledge factor associated with a corresponding event.
13. The apparatus of claim 12, whereinthe processing circuitry is configured to maintain the gossip network to indicate, as the corresponding knowledge factor, a value dependent on whether the corresponding event is identified as a widely seen event.
14. The apparatus of any preceding claim, wherein:the processing circuitry is configured to maintain the gossip network to indicate, as the corresponding knowledge factor, a value dependent on at least one of:a pre-programed base knowledge factor;one or more attributes associated with the at least one character;an amount of time passed since an event associated with the knowledge factor.
15. The apparatus of any preceding claim, whereinthe processing circuitry is configured to execute a machine learning algorithm to create and / or maintain the gossip network.
16. An entertainment device comprising the apparatus of any preceding claim.
17. A computer-implemented method for simulating communication of an item ofinformation between characters, the method comprising:accessing, in storage circuitry, information indicative of a gossip network indicating, for at least one character, a knowledge factor indicative of a likelihood of that character having access to the item of information;maintaining the gossip network; anddetermining, in dependence on the gossip network, whether a given character has access to the item of information.
18. A computer program which, when executed on a computer, causes the computer to perform the method of claim 17.
19. A computer-readable storage medium to store the computer program of claim 18.19