Apparatus and method for moving a user's avatar in a virtual world

The use of a multigraph-based system to control avatar movements in virtual environments addresses the inefficiency of random exploration by facilitating interactions with users having common interests, thereby enhancing user engagement and community formation.

JP2026512803APending Publication Date: 2026-04-21SONY GROUP CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
SONY GROUP CORP
Filing Date
2024-03-15
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

Existing virtual environments often require extensive random exploration for users to find individuals with shared interests, leading to inefficient and unpredictable interactions.

Method used

An apparatus and method for moving a user's avatar in a virtual world using a multigraph, where nodes represent users and edges represent relationships, allowing the processing circuit to control avatar movements based on these connections to facilitate interactions with users having common interests.

Benefits of technology

Enhances user interactions by automatically guiding avatars to individuals with shared interests, increasing the likelihood of successful encounters and community formation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026512803000001_ABST
    Figure 2026512803000001_ABST
Patent Text Reader

Abstract

The present invention provides a device for moving a user's avatar in a virtual world. This device includes a processing circuit configured to select a second node adjacent to a first node in a multigraph. The first node represents the user. The second node and further nodes in the multigraph each represent one of several further users in the virtual world. The edges between the nodes in the multigraph represent the relationships between the users represented by the nodes in the multigraph. The processing circuit is further configured to control the user's avatar, represented by the first node, and move it to the position of the user's avatar, represented by the second node, in the virtual world.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to avatar movement in a virtual world based on a multigraph. In particular, examples of this disclosure relate to an apparatus and method for moving a user's avatar in a virtual world.

Background Art

[0002] New encounters with people in a virtual environment typically depend on the actions of individual users. For example, a user explores the virtual environment, communicates with other users, participates in virtual activities, and joins communities. New encounters with users occur randomly. Usually, a large amount of random exploration is required before a successful interaction that leads to a new friendship (e.g., a user meets another user with whom they share a common interest) occurs.

[0003] A user's interests are typically shared in a passive way. For example, they are published in the user's profile, discovered indirectly through participation in common activities, or discovered by being a member of a common virtual community. When information is provided, it is up to the user to take in that information and act based on it.

Summary of the Invention

Problems to be Solved by the Invention

[0004] Therefore, there may be a need to enable improved communication between users of a virtual environment.

Means for Solving the Problems

[0005] This need is met by an apparatus and method for moving a user's avatar in a virtual world according to the independent claims. Advantageous embodiments are defined by the dependent claims.

[0006] According to a first aspect, the disclosure provides a device for moving a user's avatar in a virtual world. The device includes a processing circuit configured to select a second node adjacent to a first node in a multigraph. The first node represents a user. The second node and further nodes in the multigraph each represent one of several further users in the virtual world. The edges between the nodes in the multigraph represent the relationships between the users represented by the nodes in the multigraph. The processing circuit is further configured to control the user's avatar represented by the first node and move it in the virtual world to the position of the user's avatar represented by the second node.

[0007] In a second aspect, the disclosure provides a method for moving a user's avatar in a virtual world. This method includes selecting a second node adjacent to a first node in a multigraph. The first node represents a user. The second node and further nodes in the multigraph each represent one of several further users in the virtual world. The edges between the nodes in the multigraph represent the relationships between the users represented by the nodes in the multigraph. Furthermore, the method includes controlling the user's avatar represented by the first node to move in the virtual world to the position of the user's avatar represented by the second node.

[0008] In a third aspect, the Disclosure provides a non-temporary machine-readable medium storing a program having program code for carrying out the method according to the second aspect, the program being executed on a processor or programmable hardware.

[0009] According to a fourth aspect, the disclosure provides a program having program code for carrying out the method according to the second aspect, which is executed on a processor or programmable hardware.

[0010] Some examples of apparatus and / or methods are described below, for illustrative purposes only, with reference to the attached drawings. [Brief explanation of the drawing]

[0011] [Figure 1] Figure 1 shows an example of a device for moving a user's avatar in a virtual world. [Figure 2] Figure 2 shows examples of various states in a multigraph in a virtual world and the corresponding avatar movements. [Figure 3] Figure 3 shows examples of various states in a multigraph in a virtual world and the corresponding avatar movements. [Figure 4] Figure 4 shows examples of various states in a multigraph in a virtual world and the corresponding avatar movements. [Figure 5] Figure 5 shows examples of various states in a multigraph in a virtual world and the corresponding avatar movements. [Figure 6] Figure 6 shows examples of various states in a multigraph in a virtual world and the corresponding avatar movements. [Figure 7] Figure 7 shows examples of various states of a multigraph in a virtual world and the corresponding avatar movements. [Figure 8] This flowchart shows an example of how to move a user's avatar in a virtual world. [Modes for carrying out the invention]

[0012] Several embodiments will be described in more detail with reference to the attached drawings. However, other possible embodiments are not limited to the features of these embodiments described in detail. Other embodiments may include modifications of features, as well as equivalents and substitutes of features. Furthermore, the terminology used herein to describe specific embodiments is not limited to further possible embodiments.

[0013] Throughout the description of the figures, identical or similar reference numerals refer to identical or similar elements and / or features. These may be identical or implemented in modified forms while providing identical or similar functions. The thickness of lines, layers, and / or areas in the figures may be exaggerated for clarity.

[0014] When two elements A and B are combined using "or," unless explicitly defined in a particular case, this is understood to disclose all possible combinations: A only, B only, and A and B. Alternative phrases for the same combinations may be "at least one of A and B" or "A and / or B." This applies equally to combinations of three or more elements.

[0015] Where singular forms such as "a, an" and "the" are used, and the use of a single element is not explicitly or implicitly defined as required, it is possible to perform the same function using multiple elements in further examples. Where a function performed using multiple elements is described below, it is possible to perform the same function using a single element or a single processing entity in further examples. Furthermore, the terms "have," "possess," "contain," and / or "contain" are understood, when used, to describe the existence of a specified feature, integer, step, operation, process, element, and / or group thereof, but not to exclude the existence or addition of one or more other features, integers, steps, operations, processes, elements, and / or groups thereof.

[0016] Figure 1 schematically shows an exemplary device 100 for moving a user's avatar 130 in a virtual world (virtual space). The virtual world is a simulated environment in which users can interact with each other through their avatars. The virtual world and its rules can be derived from the real or imaginary world. An avatar is a graphical representation of the user in the virtual world. A user's avatar can take the form of an image that reflects the user's real appearance, or it can take the form of a virtual character that is different from the real world.

[0017] The apparatus 100 includes at least a processing circuit 110. For example, the processing circuit 110 may be a single dedicated processor, a single shared processor, or a plurality of individual processors (some or all of which are shared), digital signal processor (DSP) hardware, an application-specific integrated circuit (ASIC), a neuromorphic processor, or a field-programmable gate array (FPGA). The processing circuit 110 may optionally be coupled to memory, for example, read-only memory (ROM), random access memory (RAM), and / or non-volatile memory for storing software. For example, the apparatus 100 may include memory configured to store instructions that cause the processing circuit 110 to perform the steps and methods described herein when executed by the processing circuit 110. Optionally, the apparatus 100 may include further circuits, such as interface circuits coupled to the processing circuit 110 and configured to receive input data to the processing circuit 110 and / or output data from the processing circuit 110.

[0018] The processing circuit 110 is configured to control the movement of the user's avatar 130 based on the multigraph 120. The nodes of the multigraph 120 represent different users in the virtual world. For example, node 121 may represent the first user in the virtual world, node 122 may represent a second user in the virtual world, node 123 may represent a third user in the virtual world, node 124 may represent a fourth user in the virtual world, and node 125 may represent a fifth user in the virtual world.

[0019] Nodes in the multigraph 120 are connected by edges. These edges represent relationships between users represented by the nodes in the multigraph 120. Different edges connecting pairs of nodes in the multigraph 120 indicate that the users represented by the nodes are related to each other in different ways. In the example in Figure 1, nodes 121 and 122 are connected by two edges. One of the edges might indicate, for example, that the users represented by nodes 121 and 122 share common interests (e.g., the users represented by nodes 121 and 122 are interested in the same sports activity or the same celebrity). The other edge might indicate, for example, that the users represented by nodes 121 and 122 have visited the same place (location) in the virtual world. However, this disclosure is not limited to the above examples. In general, edges between nodes in a multigraph can represent any kind of relationship or aspect of a relationship between users represented by the nodes. For example, edges between pairs of nodes in a multigraph can represent a confirmed friendship between users represented by the nodes. Similarly, edges between pairs of nodes in a multigraph can indicate active interaction between users represented by those nodes. This interaction can be of any kind, including verbal or nonverbal communication. In some examples, edges between pairs of nodes in a multigraph might indicate participation in or interaction in common activities such as (virtual) games or (virtual) performances by the users represented by those nodes.

[0020] Strength (weight, score) can be associated with (assigned to) each edge. This strength indicates how strongly the relationship represented by the edge connects (links) the users represented by the nodes. For example, if an edge between a pair of nodes in a multigraph indicates a confirmed friendship relationship between the users represented by the nodes, the strength will be high because the confirmed friendship strongly connects the users. On the other hand, if an edge between a pair of nodes on the multigraph indicates that the users represented by the nodes visited the same location in the virtual world, the strength may not be as high as that of a confirmed friendship. This is because visiting the same location may indicate a common interest or activity, but it may also be related to random exploration in the virtual world. The strength can be represented by, for example, a strength value selected from a predetermined value range such as from 0 to 1, or from 0% to 100%.

[0021] The multigraph 120 can be generated (e.g., calculated) based on various information describing the relationships between the users represented by the nodes in the multigraph. Some exemplary information has been described above. For example, the processing circuit 110 can receive data indicating the relationships between the users in the virtual world and generate the multigraph 120 based on the data indicating the relationships between the users in the virtual world. The generation of a multigraph based on such information itself is known and thus will not be described in detail herein.

[0022] Note that the number of nodes and the number of edges between the nodes in the multigraph 120 are selected for illustrative purposes only. In general, a multigraph can include any number of nodes (e.g., one corresponding to each user in the virtual world) and any number of edges between the nodes.

[0023] The movement of avatar 130 can be controlled in various ways by the processing circuit 110. For example, the processing circuit 110 can determine the target position of avatar 130 based on the multigraph 120 and control avatar 130 to move to that target position. For example, the processing circuit 110 can generate control data indicating the target position of avatar 130 and output (provide) this control data to software or circuit hosting (executing) the virtual world. In some examples, the software or circuit hosting (executing) the virtual world may be outside of the processing circuit 110 and / or device 100. In other examples, the software or circuit hosting the virtual world may be part of device 100. For example, when the processing circuit 110 and / or other processing circuits of the device execute a command, and are executed by the processing circuit 110 and / or other processing circuits, the processing circuit 110 and / or other processing circuits come to host the virtual world. The movement of avatar 130 is also diverse. For example, the processing circuit 110 may be configured to control the avatar 130 to walk to a target location in the virtual world, to control the avatar 130 to teleport to a target location in the virtual world, and / or to control the avatar 130 to move to a target location using a virtual means of transportation (virtual car, train, airplane, mythical creature, magic carpet, etc.) in the virtual world.

[0024] By controlling the movement of the avatar 130 in the virtual world based on the multigraph 120, it becomes possible to improve interaction between the user represented by the avatar 130 and other users in the virtual world. For example, the device 100 makes it easier for the user represented by the avatar 130 to meet new people.

[0025] Referring to Figures 2 through 7, an example of avatar movement based on a multigraph is described below.

[0026] On the left side of Figure 2, an example of a multigraph 210 is shown, consisting of nodes 211, ..., 216 representing users of the virtual world 220: John, Rob, Chuck, Cynthia, Jane, and Rebecca. As shown in nodes 211, ..., 216, each user has different interests. The edges between nodes 211, ..., 216 are based on the users' interests. The thickness of the edges indicates the strength of each edge. In the example in Figure 2, the thicker the edge, the stronger the edge.

[0027] The virtual world 220 is schematically shown on the right side of Figure 2. The virtual world contains avatars 221, ..., 226 for the users John, Rob, Chuck, Cynthia, Jane, and Rebecca, respectively. Avatars 221, ..., 226 are located in different positions within the virtual world.

[0028] In the following, we will use John, the user, to explain the proposed avatar movement in the virtual world. John is represented by avatar 221 in the virtual world 220, and by the first node 211 in the multigraph 210. The situation shown in Figure 2 can be understood as the start of the proposed avatar movement in the virtual world from the perspective of the user, John.

[0029] Figure 3 shows the first step of the proposed avatar movement in the virtual world. The processing circuit 110 selects a second node adjacent to the first node 211 in the multigraph 210. In the example in Figure 3, node 213, representing Chuck, is selected as the second node. Accordingly, the processing circuit 110 controls the avatar 221 of the user John (represented by the first node in the multigraph 210) and moves it (automatically) to the position of the avatar 223 of the user Chuck (represented by the second node in the multigraph 210) in the virtual world 220.

[0030] Various techniques can be used to select the second node. For example, the processing circuit 110 can select the second node 213 from among the multiple nodes 212 and 213 adjacent to the first node 211 based on the edges between the first node 211 and multiple nodes 212 and 213 adjacent to the first node 211. For example, the processing circuit 110 can select the second node 213 from among the multiple nodes 212 and 213 adjacent to the first node 211 based on the strength of the edges between the first node 211 and multiple nodes 212 and 213 adjacent to the first node 211. By selecting the second node based on the edges between the first node 211 and adjacent nodes, John can meet other users with very similar interests. Therefore, John is likely to have enjoyable interactions with the users represented by the selected second node. In the example in Figure 3, since John and Chuck both enjoy chess and Go, there is a very high probability that they will have enjoyable interactions in the virtual world 220, such as playing or discussing chess and Go. In another example, the processing circuit 110 can also randomly select the second node 213 from among several nodes 212 and 213 adjacent to the first node 211. This random selection allows John to meet not only other users who share the exact same hobbies as him (i.e., not only users with whom he has a strong connection), but also other users.

[0031] It should be noted that the selection of the second node is not limited to nodes directly adjacent to the first node 211, as seen in the example of nodes 212 and 213 in Figure 3. According to the examples of this disclosure, more distal nodes within the multigraph 210 may also be considered. For example, nodes 214 and 215 may also be considered in the selection of the second node. In other words, a node adjacent to the first node 211 refers to a) a directly adjacent node connected to the first node 211 by one or more edges, or b) a node connected to the first node 211 via one or more intermediate nodes within the multigraph 210. In other words, it is possible to select the second node from the first node 211 in one or more hops.

[0032] As described above, the movement of avatar 221 is diverse. For example, in order to control the user John's avatar 221 (represented by the first node 211 in the multigraph 210) and move it to the position of the user Chuck's avatar 223 (represented by the second node 213 selected in the multigraph 210) in the virtual world, the processing circuit 110 performs at least one of the following: A) Control avatar 221 to make it walk to the location of avatar 223 within the virtual world 220. B) Control avatar 221 to teleport it to the location of avatar 223 in the virtual world 220, and C) Control Avatar 221 and move it to the location of Avatar 223 using a virtual means of transportation within the virtual world 220.

[0033] Therefore, it appears that John's avatar 221 is intentionally moving toward Chuck. The proposed avatar movement in the virtual world 220 can be activated by John, who is the user represented by the first node 211. For example, the situation shown in Figure 2 may be the situation before (automatic) avatar movement is activated in the virtual world 220. This is indicated in Figure 2 by the graphical element 230' indicating that the proposed (automatic) avatar movement in the virtual world 220 is disabled. When John activates the proposed avatar movement in the virtual world 220, the above process takes place and John's avatar 221 automatically moves within the virtual world 220. This is indicated in Figure 2 by the graphical element 230' indicating that the proposed (automatic) avatar movement in the virtual world 220 is enabled. For example, John can activate the proposed avatar movement in the virtual world 220 via corresponding user input.

[0034] The processing circuit 110 receives data representing user input from, for example, the user John (represented by the first node 211 in the multigraph 210), and determines whether the user input is a predetermined user input. A predetermined user input is a user input that enables the proposed (automatic) avatar movement in the virtual world 220. For example, a predetermined user input could be a press, click, or hold of a predetermined button in a graphical user interface (GUI) for presenting the virtual world to John, or a press or hold of one or more predetermined buttons or keys on an input device (e.g., a controller, keyboard, joystick, etc.) by the user John. Similarly, a predetermined user input could be a predetermined input text string such as a predetermined command. In another example, a predetermined user input could be a predetermined gesture input or predetermined swipe input to the user John's input device (e.g., a touchscreen for recognizing swipes and other touch inputs, and / or one or more sensors such as a radar sensor or an optical time-of-flight (ToF) sensor for recognizing gesture inputs). Therefore, the processing circuit 110 can select a second node adjacent to the first node 211 only if it is determined that the user input is a predetermined user input. In other words, the selection of the second node and the automatic movement of the avatar 221 to the position of the selected second node occur only when the user, John, inputs a predetermined user input that enables the proposed (automatic) avatar movement in the virtual world 220.

[0035] However, it should be noted that this disclosure is not limited to activating proposed (automatic) avatar movement within the virtual world 220 based on user input by users of the virtual world 220. In other examples, a service provider or operator of the virtual world 220 may enable proposed (automatic) avatar movement in the virtual world 220. Figure 4 shows the situation after John's avatar 221 has moved to the position of Chuck's avatar 223.

[0036] In virtual world 220, when John's avatar 221 arrives at Chuck's avatar's location, both users can interact; for example, they can choose to start a conversation or not. Whether or not they interact is up to the users.

[0037] If the proposed (automatic) avatar movement in the virtual world 220 is activated by user input from John, such as pressing a predetermined button, John can release the button to stop the proposed (automatic) avatar movement in the virtual world 220 and be given time to interact with Chuck in the virtual world via avatars 221 and 223. This is shown in Figure 4 by a graphical element 230 indicating that the proposed (automatic) avatar movement in the virtual world 220 is disabled.

[0038] After John's avatar 221 moves to the position of Chuck's avatar 223, the processing circuit 110 can monitor whether there is ongoing interaction between John and Chuck's avatars 221 and 223. In particular, the processing circuit 110 can determine whether the interaction between John's avatar 221 and Chuck's avatar 223 has ended. For example, if John and Chuck's avatars 221 and 223 do not start any interaction at all, if John and Chuck's avatars 221 and 223 move away from each other, if one of John and Chuck's avatars 221 and 223 starts interacting with another user's avatar in the virtual world, or if one of John and Chuck makes a user input indicating the end of the interaction (e.g., a corresponding chat message or voice message), the processing circuit 110 can determine that the interaction between John's avatar 221 and Chuck's avatar 223 has ended. Similarly, if John and / or Chuck provide the aforementioned predetermined user inputs to enable the proposed (automatic) avatar movement in the virtual world 220, the processing circuit 110 can determine that the interaction between John's avatar 221 and Chuck's avatar 223 has ended. This is illustrated in Figure 5 by the graphical element 230' indicating that the proposed (automatic) avatar movement in the virtual world 220 has been enabled.

[0039] When it is determined that the AC has ended, the processing circuit 110 selects a third node adjacent to the second node 213 in the multigraph 210. In the example in Figure 5, node 214, representing Cynthia, is selected as the third node. Accordingly, the processing circuit 110 controls the avatar 221 of the user John (represented by the first node in the multigraph 210) and moves it (automatically) to the position of the user Cynthia's avatar 224 (represented by the third node in the multigraph 210) in the virtual world 220. Similar to the case where avatar 221 is moved to the position of avatar 223, the processing circuit 110 controls the avatar 221 of the user John and moves it to the position of the user Cynthia's avatar 224 in the virtual world 220.

[0040] Similar to the selection of the second node, various techniques can be used for selecting the third node. For example, the processing circuit can randomly select the third node 214 from a plurality of nodes 214 and 215 adjacent to the second node 213. Alternatively, the processing circuit 110 can select the third node 214 from a plurality of nodes 214 and 215 adjacent to the second node 213 based on the edges between the second node 213 and the plurality of nodes 214 and 215. For example, the processing circuit 110 can select the third node 214 from a plurality of nodes 214 and 215 adjacent to the second node 213 based on the strength of the edges between the second node 213 and the plurality of nodes 214 and 215.

[0041] Similar to the selection of the second node described above, the third node does not need to be selected from nodes directly adjacent to the second node 213, such as nodes 214 and 215 in the example in Figure 5. According to the examples of this disclosure, nodes further away in the multigraph 210 may also be considered. For example, node 212 may also be considered in the selection of the third node. In other words, a node adjacent to the second node 212 refers to a) a directly adjacent node that is directly connected to the second node 212 by one or more edges, or b) a node that is connected to the second node 212 via one or more intermediate nodes in the multigraph 210. In other words, the selection of the third node may involve one or more hops from the second node 212.

[0042] Figure 6 shows the situation after user John's avatar 221 has moved to the position of user Cynthia's avatar 224.

[0043] When John's avatar 221 arrives at Cynthia's avatar 224's location in virtual world 220, both users may or may not interact; for example, they may or may not initiate a conversation. The decision of whether or not to interact with each other is again left to the users.

[0044] If the proposed (automatic) avatar movement in virtual world 220 is activated by John's user input, such as pressing a predetermined button, John will release the button to stop the proposed (automatic) avatar movement in virtual world 220 and be given time to interact with Cynthia through avatars 221 and 224 in the virtual world. This is shown in Figure 6 by graphical element 230, which indicates that the proposed (automatic) avatar movement in virtual world 220 has been disabled.

[0045] After John's avatar 221 moves to the position of Cynthia's avatar 224, the processing circuit 110 can monitor whether there is ongoing interaction between John and Cynthia's avatars 221 and 224, as described above. If it is determined that the interaction has ended, a new node is selected in the multigraph 210.

[0046] Similar to the example above, a node adjacent to the third node 214 is selected as the fourth node, and John's avatar 221 is controlled to move to the location of the user's avatar represented by the fourth node in the virtual world 220. In the multigraph 210, if the next node is selected only from adjacent nodes of the currently selected node, a situation may arise where the user, John, is stuck in a certain part of the multigraph 210, potentially limiting John's opportunities to discover new people. To avoid this situation, node hopping may be restarted. Figure 7 shows an example of node hopping restart in the multigraph 210.

[0047] After it is determined that the interaction between John and Cynthia's avatars 221 and 224 has ended, the processing circuit 110 can determine, for example, whether to select a fourth node from among multiple nodes adjacent to the first node 211, or from among multiple nodes adjacent to the third node 214. This determination is made, for example, based on a predetermined probability value. The predetermined probability value indicates the probability that the fourth node will be selected from among multiple nodes adjacent to the first node 211. In other words, the predetermined probability value indicates the probability that one of the nodes adjacent to the initial node representing the user, John, will be selected next. The higher the predetermined probability value, the higher the probability that one of the nodes adjacent to the initial node representing the user, John, will be selected next.

[0048] Therefore, if it is determined that the fourth node is selected from among multiple nodes adjacent to the first node 211, the processing circuit 110 selects the fourth node from among the multiple nodes adjacent to the first node 211.

[0049] On the other hand, if it is determined that the fourth node is selected from among multiple nodes adjacent to the third node 214, the processing circuit 110 selects the fourth node from among the multiple nodes adjacent to the third node 214.

[0050] In the example in Figure 7, it is determined that the fourth node is selected from among several nodes adjacent to the first node 211. The processing circuit 110 selects node 212, which represents the user Rob, as the fourth node (for example, randomly), and moves the avatar 221 of the user John to the position of the avatar 222 of the user Rob in the virtual world 220 (automatically).

[0051] For example, the selection of the fourth node can be triggered by the user, John, entering a predetermined user input that enables the proposed (automatic) avatar movement in the virtual world 220, as shown in graphical element 230' in Figure 7.

[0052] Node hopping can be resumed at any node selection step. For example, in the situation shown in Figure 4, if it is determined that the interaction between John's avatar 221 and Chuck's avatar 223 has ended, the processing circuit 110 can determine whether to select a third node from among multiple nodes adjacent to the second node 213, as described above, or to select a third node from among multiple nodes adjacent to the first node 211. This determination is made based on a predetermined probability value, as described above. In this example, the predetermined probability value represents the probability that the third node will be selected from among multiple nodes adjacent to the first node 211. The predetermined probability value may be the same for each node selection step. Alternatively, different predetermined probability values ​​may be used for different node selection steps. For example, to increase the probability of resumption as the number of node selection steps increases, the predetermined probability value for selecting a fourth node can be set higher than the predetermined probability value for selecting a third node. This can prevent a stuck state in the multigraph 210.

[0053] If it is determined that a third node is selected from among multiple nodes adjacent to the second node 213, the processing circuit 110 selects the third node from among multiple nodes adjacent to the second node 213, as described above with respect to Figure 5.

[0054] On the other hand, if it is determined that a third node is selected from among multiple nodes adjacent to the first node 211, the processing circuit 110 selects the third node from among multiple nodes adjacent to the first node 211, similar to the example in Figure 7.

[0055] The aforementioned (automatic) avatar movement in the virtual world could allow user John to interact more frequently with other users who share his interests. This increases the likelihood of successful interactions. When users like John enter a space with people they don't know, instead of blindly exploring and encountering other users, they can be automatically guided to users with common interests, increasing the chances of successful long-term interactions (e.g., new friendships or business collaborations). As is clear from the above explanation, the proposed (automatic) avatar movement in the virtual world is a recursive process and may or may not involve more steps / avatar movements than the example above. If additional steps / avatar movements occur, those steps / avatar movements may be similar to those described above.

[0056] Interactions between John and other users may be used to further update the multigraph 210. For example, after John's avatar 221 moves to the position of Chuck's avatar 223 (see Figure 3), the processing circuit 210 may add, delete, or update one or more edges between the first node 211 and the selected second node 213 based on the interaction between John's avatar 221 and Chuck's avatar 223. For example, in the case of the first direct interaction between John and Chuck, an edge may be added between nodes 211 and 213. Alternatively, based on that interaction, the strength of the edge between nodes 211 and 213 may decrease or increase. For example, if the interaction between John and Chuck lasts for a long time, the strength of the edge may increase. Similarly, if the interaction between John and Chuck is short or there is no interaction, the strength of the edge may decrease. Existing edges between nodes 211 and 213 may be deleted, for example, if John and / or Chuck provide user input indicating that the friendship between John and Chuck has ended. The above example is merely one example, and it should be noted that many more options are available for updating the multigraph based on John's interactions with other users. In particular, any user movement or user interaction while the proposed (automatic) avatar movement is not enabled can be taken into consideration when updating the multigraph 210.

[0057] Furthermore, the proposed avatar movement based on multigraphs makes it possible to minimize the impact of threats in the virtual world. In particular, it can isolate users who engage in harmful behavior or fake users (accounts) from other users in the virtual world. Harmful behavior refers to the actions or continuous behavior of an individual who harms others. A fake user refers to a user who impersonates someone else to conceal their own identity. Harmful behavior and fake users negatively impact social interaction in the virtual world. When the processing circuit 110 receives data indicating that one of the users in the virtual world is exhibiting harmful behavior, or data indicating that one of the users in the virtual world is a fake user, the processing circuit 110 can delete or update the edge between the node representing the user / fake user exhibiting harmful behavior and adjacent nodes, thereby isolating the user / fake user exhibiting harmful behavior from other users in the virtual world exhibiting non-harmful behavior. For example, the processing circuit 110 can isolate the user / fake user exhibiting harmful behavior by reducing the strength of the edge between the node representing the user / fake user exhibiting harmful behavior and adjacent nodes. If harmful behavior is reported multiple times, the strength of the edge may be reduced more significantly or deleted, for example. This can reduce interaction between John and harmful / fake users. In some examples, the edge between two nodes represents the similarity of user behavior between the users represented by the nodes. If they exhibit similar harmful behavior, an edge will arise between these two nodes (for example, the edge strength will be high) because a similarity relationship exists. Edges can also exist between nodes / users exhibiting non-harmful behavior. Between nodes representing harmful users and non-harmful users, there may be no edge, or an edge with a very low weight, because their behaviors are significantly different. Combining this edge type with the proposed avatar movement could result in better isolation of harmful users from non-harmful users. This is a more natural way to reduce the probability of interaction with harmful users.

[0058] For example, user Rebecca may be identified as a harmful user in the multigraph 210. Accordingly, the edges between node 216 representing Rebecca and nodes 211, ..., 215 representing other users may be removed, isolating Rebecca from other users in the virtual world 220.

[0059] The processing circuit 110 may further output the multigraph to the user, John, for example, in a visually or audibly perceptible form. For example, the processing circuit 110 may output (provide) control data to software or circuit hosting (running) the virtual world, causing the software or circuit to display the multigraph to the user, John. For example, the multigraph may be presented to John as an overlay in the virtual world, as an overview to explain the (automatic) movement of his avatar 221. This allows John to understand the (automatic) movement of his avatar 221. Alternatively, or additionally, the processing circuit 110 may output (provide) control data to software or circuit hosting (running) the virtual world, causing the software or circuit to provide audio output related to the multigraph to the user, John. For example, the structure of the multigraph may be verbally explained to the user, John.

[0060] In the virtual world, it is assumed that not only the user John, but also other users in the virtual world, input predetermined user inputs to enable the proposed (automatic) avatar movement. For example, multiple users may input predetermined user inputs simultaneously, or the proposed (automatic) avatar movement may be enabled in the virtual world for a predetermined time (i.e., a sufficient length). In such a situation, the multigraph is clustered, and the users' avatars form corresponding clusters or communities in the virtual world. For example, the processing circuit 110 may receive data representing user inputs from the user John and multiple other users in the virtual world 220, such as Rob, Chuck, Cynthia, etc. Therefore, the processing circuit 110 determines whether the user inputs from the user John and multiple other users in the virtual world 220 are predetermined user inputs to enable the proposed (automatic) avatar movement in the virtual world 220. If it is determined that the user inputs are predetermined user inputs, the processing circuit 110 can optionally further determine whether the user inputs were given simultaneously or within a time frame (e.g., a predetermined length). If user input is determined to be a predetermined user input (and optionally, if user input is determined to have been given simultaneously or within a time frame), the processing circuit 110 can cluster the nodes representing the user John and multiple further users of the virtual world 220 into one or more clusters. Clustering may be an active process by the processing circuit 110, or it may be the result of multiple users providing predetermined user input. A cluster is a set of two or more nodes in the multigraph 210. For example, the nodes representing the user John and multiple further users of the virtual world 220 may be clustered based on the edges connecting the nodes. Specifically, they may be connected to cluster nodes of users with the same or similar interests, and / or to cluster nodes of users with confirmed friendships. However, this disclosure is not limited to these examples. In general, any relationship represented by an edge can be used to cluster nodes in the multigraph 220.Accordingly, the processing circuit 110 can control the user's avatar in each of one or more clusters and move it to its respective (collective) position for each cluster in the virtual world 220. For example, one position of the cluster's avatar can be selected as the position for each cluster. Alternatively, the position for each cluster can be selected based on one or more other parameters, such as the common interests of the users in the cluster. However, this disclosure is not limited to these examples. In general, any criteria may be used to determine the position of each cluster in the virtual world 220.

[0061] To further emphasize the avatar movement in the virtual world described above, Figure 8 shows a flowchart of method 800 for moving a user's avatar in the virtual world. Method 800 includes selecting a second node adjacent to a first node in a multigraph 802. The first node represents the user. The second node and further nodes in the multigraph each represent one of several further users in the virtual world. The edges between nodes in the multigraph represent the relationships between users represented by the nodes in the multigraph. Furthermore, method 800 includes controlling the user's avatar represented by the first node to move in the virtual world to the position of the user's avatar represented by the second node 804.

[0062] As described above, Method 800 makes it possible to improve interaction between users in the virtual world. In particular, Method 800 makes it easier for users to meet new people.

[0063] Details and embodiments of Method 800 will be described in relation to the proposed technology or one or more examples described above (for example, Figures 1 to 7). Method 800 may include one or more additional optional features corresponding to one or more embodiments of the proposed technology or one or more examples described above.

[0064] The proposed (automatic) avatar movement in the virtual world could accelerate the discovery of new people, promote successful user interaction, and facilitate the formation of virtual communities by actively interfering with and guiding user movement within the virtual world. In particular, the proposed technology can enable more frequent interaction with other users who share common interests, increasing the likelihood of successful user interaction.

[0065] The following examples relate to further embodiments. (1) A device for moving a user's avatar in a virtual world, In a multigraph, select a second node adjacent to the first node, The system includes a processing circuit configured to control the user's avatar, represented by the first node, and move it to the position of the user's avatar, represented by the second node, in the virtual world. A device in which the first node represents the user, the second node and further nodes of the multigraph each represent one of several further users of the virtual world, and the edges between the nodes of the multigraph represent the relationships between the users represented by the nodes of the multigraph. (2) The apparatus according to (1), wherein the processing circuit is configured to randomly select the second node from a plurality of nodes adjacent to the first node. (3) The apparatus according to (1), wherein the processing circuit is configured to select the second node from a plurality of nodes adjacent to the first node based on the edge between the first node and a plurality of nodes adjacent to the first node. (4) The apparatus according to (3), wherein the processing circuit is configured to select the second node from a plurality of nodes adjacent to the first node based on the strength of the edge between the first node and a plurality of nodes adjacent to the first node. (5) The processing circuit is The first node receives data representing the user input of the user, Determine whether the user input is a predetermined user input. The apparatus according to any one of (1) to (4), configured to select the adjacent second node only when the user input is determined to be the predetermined user input. (6) The processing circuit is After the user's avatar represented by the first node moves to the position of the user's avatar represented by the second node, it is determined whether the interaction between the user's avatar represented by the first node and the user's avatar represented by the second node has ended. If it is determined that the AC has ended, select the third node in the multigraph, The apparatus according to any one of (1) to (5), configured to control the user's avatar represented by the first node and move it to the position of the user's avatar represented by the third node in the virtual world. (7) The apparatus according to (6), wherein the third node is adjacent to the second node. (8) The apparatus according to (7), wherein the processing circuit is configured to randomly select the third node from a plurality of nodes adjacent to the second node. (9) The apparatus according to (7), wherein the processing circuit is configured to select the third node from a plurality of nodes adjacent to the second node based on the edge between the second node and a plurality of nodes adjacent to the second node. (10) If it is determined that the AC has ended, the processing circuit will Based on a predetermined probability value indicating the probability that the third node is selected from a plurality of nodes adjacent to the first node, it is determined whether to select the third node from a plurality of nodes adjacent to the first node or a plurality of nodes adjacent to the second node. If it is determined that the third node is selected from among multiple nodes adjacent to the first node, the third node is selected from among the multiple nodes adjacent to the first node. The apparatus according to any one of (6) to (9), wherein if it is determined that the third node is selected from a plurality of nodes adjacent to the second node, the apparatus is configured to select the third node from a plurality of nodes adjacent to the second node. (11) The processing circuit is Receive data showing the relationships between users in the virtual world, The apparatus according to any one of (1) to (10), configured to generate the multigraph based on data showing the relationships between the users in the virtual world. (12) The processing circuit is The apparatus according to any one of (1) to (11), wherein, after the user's avatar represented by the first node moves to the position of the user's avatar represented by the second node, it is configured to add, delete, or update one or more edges between the first node and the second node based on the interaction between the user's avatar represented by the first node and the user's avatar represented by the second node. (13) The apparatus according to any one of (1) to (12), wherein if the processing circuit receives data indicating harmful behavior of one of the users in the virtual world, the processing circuit is configured to delete or update the edge between the node representing the user indicating the harmful behavior and an adjacent node to isolate the user indicating the harmful behavior from other users in the virtual world indicating non-harmful behavior. (14) In order to control the user's avatar represented by the first node and move it in the virtual world to the position of the user's avatar represented by the second node, the processing circuit: Control the user's avatar represented by the first node to make it walk to the location of the user's avatar represented by the second node in the virtual world. Control the user's avatar represented by the first node to teleport it to the location of the user's avatar represented by the second node in the virtual world, and The apparatus according to any one of (1) to (13), configured to control the user's avatar represented by the first node and to move it to the location of the user's avatar represented by the second node in the virtual world using virtual means of movement. (15) The processing circuit is The first node receives data representing user input from the user represented by the first node and from multiple further users in the virtual world. Determine whether the user input of the user represented by the first node and any further users of the virtual world is a predetermined user input. If the user input is determined to be a predetermined user input, the user represented by the first node and the nodes representing multiple further users in the virtual world are clustered into one or more clusters. The apparatus according to any one of (1) to (14), configured to control the user's avatar in each of the one or more clusters and move it to the respective location in the virtual world corresponding to each cluster. (16) The apparatus according to (15), wherein the processing circuit is configured to cluster the nodes representing the user represented by the first node and a plurality of further users of the virtual world into one or more clusters based on the edges connecting the nodes representing the user represented by the first node and a plurality of further users of the virtual world. (17) The apparatus according to any one of (1) to (16), wherein the processing circuit is configured to output the multigraph to a user represented by the first node. (18) A method for moving a user's avatar in a virtual world, In a multigraph, select a second node adjacent to the first node, This includes controlling the user's avatar, represented by the first node, to move it to the position of the user's avatar, represented by the second node, in the virtual world. A method wherein the first node represents the user, the second node and further nodes of the multigraph each represent one of several further users of the virtual world, and the edges between the nodes of the multigraph represent the relationships between the users represented by the nodes of the multigraph. (19) A non-temporary machine-readable medium storing a program having program code for performing the method described in (18) when executed on a processor or programmable hardware. (20) A program having program code for performing the method described in (18) when executed on a processor or programmable hardware.

[0066] The aspects and features described in relation to a particular example above may also be combined with one or more further examples to replace identical or similar features in the further examples, or to introduce additional features in the further examples.

[0067] Examples further include (computer) programs that include program code for performing one or more of the above methods when the program is executed on a computer, processor, or other programmable hardware component. Thus, the steps, operations, or processes of the different methods described above may also be performed by a programmed computer, processor, or other programmable hardware component. Examples may also cover program storage devices such as digital data storage media that are readable by a machine, processor, or computer and encode and / or include machine-executable, processor-executable, or computer-executable programs and instructions. Program storage devices may include, for example, digital storage devices, magnetic storage media such as magnetic disks and magnetic tapes, hard disk drives, or optically readable digital data storage media. Other examples include computers, processors, control units, (field)programmable logic arrays ((F)PLAs), (field)programmable gate arrays ((F)PGAs), graphics processor units (GPUs), application-specific integrated circuits (ASICs), integrated circuits (ICs), or system-on-a-chip (SoC) systems programmed to perform the steps of the methods described above.

[0068] Furthermore, disclosures of certain steps, processes, operations, or functions disclosed in the specification or claims should not be construed as meaning that these operations necessarily depend on the order in which they are described, unless explicitly stated in the individual case or required for technical reasons. Therefore, the above description does not limit the execution of certain steps or functions to a specific order. Furthermore, in further examples, a single step, function, process, or operation may include and / or be divided into several sub-steps, functions, processes, or operations.

[0069] Where several embodiments are described in relation to a device or system, these embodiments shall also be understood as descriptions of the corresponding methods. For example, blocks, devices, and functional embodiments of a device or system may correspond to functions of the corresponding method, such as method steps. Accordingly, embodiments described in relation to a method shall also be understood as descriptions of the characteristics or functional features of the corresponding blocks, corresponding elements, corresponding devices, or corresponding systems.

[0070] The following claims are incorporated into the detailed description, and each claim can stand alone as an independent example. It should also be noted that even if a dependent claim refers to a specific combination with one or more other claims, other examples may include combinations of the subject matter of the dependent claim with that dependent claim or of the subject matter of the other dependent or independent claims. Unless explicitly stated otherwise in individual cases, such combinations are expressly proposed herein. Furthermore, features of a claim shall be included in any other independent claim, even if that claim is not defined as directly dependent on another independent claim.

Claims

1. A device for moving a user's avatar in a virtual world, In a multigraph, select a second node adjacent to the first node, The system includes a processing circuit configured to control the user's avatar, represented by the first node, and move it to the position of the user's avatar, represented by the second node, in the virtual world. A device in which the first node represents the user, the second node and further nodes of the multigraph each represent one of several further users of the virtual world, and the edges between the nodes of the multigraph represent the relationships between the users represented by the nodes of the multigraph.

2. The apparatus according to claim 1, wherein the processing circuit is configured to randomly select the second node from a plurality of nodes adjacent to the first node.

3. The apparatus according to claim 1, wherein the processing circuit is configured to select the second node from a plurality of nodes adjacent to the first node based on the edge between the first node and a plurality of nodes adjacent to the first node.

4. The apparatus according to claim 3, wherein the processing circuit is configured to select the second node from a plurality of nodes adjacent to the first node based on the strength of the edge between the first node and a plurality of nodes adjacent to the first node.

5. The aforementioned processing circuit is The first node receives data representing the user input of the user, Determine whether the user input is a predetermined user input. The apparatus according to claim 1, configured to select the adjacent second node only when it is determined that the user input is the predetermined user input.

6. The aforementioned processing circuit is After the user's avatar represented by the first node moves to the position of the user's avatar represented by the second node, it is determined whether the interaction between the user's avatar represented by the first node and the user's avatar represented by the second node has ended. If it is determined that the aforementioned AC has ended, select the third node in the multigraph, The apparatus according to claim 1, configured to control the user's avatar represented by the first node and move it to the position of the user's avatar represented by the third node in the virtual world.

7. The apparatus according to claim 6, wherein the third node is adjacent to the second node.

8. The apparatus according to claim 7, wherein the processing circuit is configured to randomly select the third node from a plurality of nodes adjacent to the second node.

9. The apparatus according to claim 7, wherein the processing circuit is configured to select the third node from a plurality of nodes adjacent to the second node based on the edge between the second node and a plurality of nodes adjacent to the second node.

10. If it is determined that the AC has ended, the processing circuit will: Based on a predetermined probability value indicating the probability that the third node is selected from a plurality of nodes adjacent to the first node, it is determined whether to select the third node from a plurality of nodes adjacent to the first node or a plurality of nodes adjacent to the second node. If it is determined that the third node is selected from a plurality of nodes adjacent to the first node, the third node is selected from the plurality of nodes adjacent to the first node. The apparatus according to claim 6, wherein if it is determined that the third node is selected from a plurality of nodes adjacent to the second node, the apparatus is configured to select the third node from the plurality of nodes adjacent to the second node.

11. The aforementioned processing circuit is The system receives data indicating the relationships between the users in the virtual world, The apparatus according to claim 1, configured to generate the multigraph based on data indicating the relationships between the users in the virtual world.

12. The aforementioned processing circuit is The apparatus according to claim 1, wherein, after the user's avatar represented by the first node moves to the position of the user's avatar represented by the second node, the apparatus is configured to add, delete, or update one or more edges between the first node and the second node based on the interaction between the user's avatar represented by the first node and the user's avatar represented by the second node.

13. The apparatus according to claim 1, wherein when the processing circuit receives data indicating harmful behavior of one of the users in the virtual world, the processing circuit is configured to delete or update the edge between the node representing the user exhibiting the harmful behavior and an adjacent node, thereby isolating the user exhibiting the harmful behavior from other users in the virtual world exhibiting non-harmful behavior.

14. In order to control the user's avatar represented by the first node and move it to the position of the user's avatar represented by the second node in the virtual world, the processing circuit: Control the user's avatar represented by the first node to make it walk in the virtual world to the location of the user's avatar represented by the second node. Control the user's avatar represented by the first node to teleport it to the location of the user's avatar represented by the second node in the virtual world, and The apparatus according to claim 1, configured to control the user's avatar represented by the first node and to move it in the virtual world to the location of the user's avatar represented by the second node using virtual means of movement.

15. The aforementioned processing circuit is The first node receives data representing user input from the user represented by the first node and from multiple further users in the virtual world. Determine whether the user input of the user represented by the first node and any further users of the virtual world is a predetermined user input. If the user input is determined to be a predetermined user input, the user represented by the first node and the nodes representing multiple further users in the virtual world are clustered into one or more clusters. The apparatus according to claim 1, wherein in each of the one or more clusters, the user's avatar is controlled to move to the respective location in the virtual world corresponding to each cluster.

16. The apparatus according to claim 15, wherein the processing circuit is configured to cluster the nodes representing the user represented by the first node and a plurality of further users of the virtual world into one or more clusters based on the edges connecting the user represented by the first node and the nodes representing a plurality of further users of the virtual world.

17. The apparatus according to claim 1, wherein the processing circuit is configured to output the multigraph to a user represented by the first node.

18. A method for moving a user's avatar in a virtual world, In a multigraph, select a second node adjacent to the first node, This includes controlling the user's avatar, represented by the first node, to move it to the position of the user's avatar, represented by the second node, in the virtual world. A method wherein the first node represents the user, the second node and further nodes of the multigraph each represent one of several further users of the virtual world, and the edges between the nodes of the multigraph represent the relationships between the users represented by the nodes of the multigraph.

19. A non-temporary machine-readable medium storing a program having program code for carrying out the method of claim 18 when executed on a processor or programmable hardware.

20. A program having a program code for carrying out the method of claim 18 when executed on a processor or programmable hardware.